PDA

View Full Version : ♥ Ravenor Mechanics



MacroHard
06-12-2012, 01:37 AM
Sorry this was late. I was on vacation for two weeks without an internet connection.

Ravenor - Melee Strength
http://www.heroesofnewerth.com/heroes.php?hero_id=222

Basic Hero Info

Str 23 + 2.5 (primary)
Agi 17 + 1.5
Int 21 + 2.2

Attack Range 128
Movespeed 300
Turnrate 450

Base Armor 2.00
Base Attack Cooldown 1.7
Base Damage 26-36 + 23 (str)

Level 1 Health 587
Level 1 Mana 273
Level 1 Armor 4.38

Level 25 Health 2107
Level 25 Mana 1219.4
Level 25 Armor 12.22

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

hero.entity


hero
name="Hero_Ravenor"
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/select_flavour_1.wav"
tauntedsound="sounds/voice/taunt_prior.wav"
tauntkillsound="sounds/voice/taunt_after.wav"

preglobalscale="2.1"
modelscale="1"
effectscale="0.9"
boundsheight="112"
boundsradius="24"
selectionradius="52"
targetoffset="0 0 92"

category="magic"
difficulty="3.5"

movespeed="300"
turnrate="450"
turnsmoothing="0.1"

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

armor="2.0"
magicarmor="5.5"

inventory0="Ability_Ravenor1"
inventory1="Ability_Ravenor2"
inventory2="Ability_Ravenor3"
inventory3="Ability_Ravenor4"
inventory4="Ability_AttributeBoost"
inventory5=""
inventory6=""
inventory8="Ability_Taunt"

attackduration="1000"
attackactiontime="450"
attackcooldown="1700"
attackdamagemin="26"
attackdamagemax="36"
attacknumanims="2"
attackoffset="0 100 110"
attackprojectile=""
attackrange="128"
attackstarteffect=""
attackactioneffect=""
attackimpacteffect="effects/impact.effect"
attacktype="melee"
combattype="Hero"

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

primaryattribute="Strength"
strength="23"
strengthperlevel="2.5"
agility="17"
agilityperlevel="1.5"
intelligence="21"
intelligenceperlevel="2.2"

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

storemodel="model_store.mdf"
storepos="0 0 -20"
storeangles="0 0 35"
storescale="1.50"


corpsetime="2500"
corpsefadetime="2500"
corpsefadeeffect="/shared/effects/corpse_sink.effect"

>
<recommendeditem name="Item_ManaPotion" />
<recommendeditem name="Item_MinorTotem" />
<recommendeditem name="Item_RunesOfTheBlight" />
<recommendeditem name="Item_HealthPotion" />
<recommendeditem name="Item_HomecomingStone" />

<recommendeditem name="Item_Strength5" />
<recommendeditem name="Item_Intelligence5" />
<recommendeditem name="Item_Bottle" />
<recommendeditem name="Item_EnhancedMarchers" />
<recommendeditem name="Item_PlatedGreaves" />
<recommendeditem name="Item_Replenish" />
<recommendeditem name="Item_Astrolabe" />
<recommendeditem name="Item_BarrierIdol" />
<recommendeditem name="Item_Damage10" />
<recommendeditem name="Item_Morph" />

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

preglobalscale="1.95"

passiveeffect="alt/effects/body.effect"
storepassiveeffect="alt/effects/store_body.effect"

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

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

storemodel="alt/model_store.mdf"
storepos="0 0 -20"
storeangles="0 0 35"
storescale="1.50"

infoheight="150"

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"
tauntedsound="alt/sounds/voice/taunt_prior.wav"
tauntkillsound="alt/sounds/voice/taunt_after.wav"
>
</modifier>

</hero>



Ability 1 - Ball Lightning

Fires a projectile at target location. Does damage and stuns first enemy hero it hits. If it hits a hero, can be activated again to teleport to that hero's location to damage and stun in an area.

Mana 90/105/120/135
Cooldown 15
Cast action time 100

Fires a projectile in target direction
Can be cast out of range
Projectile travels at 600 speed for 1400 distance (2.33 second lifetime)
Projectile has 100 touch radius (200 diameter)
Projectile has 500 clear vision radius while in flight

Projectile does 50/80/110/140 magic damage and stuns for 0.5 seconds to first enemy hero it contacts
Applies a state to enemy hero on impact for 4.1 seconds which gives clear vision around enemy hero (does not reveal)
During this time Ravenor may activate Ball Lightning's secondary ability
Secondary ability expires if enemy gets more than 3000 distance from Ravenor

Secondary ability, on activation, teleports Ravenor to enemy hero
Deals 50/80/110/140 magic damage and stuns for 1.5 seconds to all enemies within 250 radius on arrival

Projectile touch has no effect type (will work against all targets)
State has no effect type (Ravenor can reveal and teleport to magic or physical immune targets)
Damage and stun effect type is magic

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

ability.entity


<ability
name="Ability_Ravenor1"

statuseffecttooltip=""
icon="icon.tga"

anim="ability_1"
casttime="600"
castactiontime="100"
casteffect=""

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

actiontype="target_position"
targetscheme="enemy_heroes"
casteffecttype="Magic"

range="1400"
forcerange="1400"
allowoutofrangecast="true"
allowoutofboundscast="true"

manacost="90,105,120,135"
cooldowntime="15000"

>
<onimpact>
<spawnunit name="Gadget_Ravenor_Ability1" count="1" target="source_entity" pushentity="true" facing="target_position" />
<spawnprojectile name="Projectile_Ravenor_Ability1" source="source_entity" target="target_position" bind="stack_entity" proxy="this_entity" offset="0 100 0"/>
</onimpact>

<modifier key="Ravenor_port" modpriority="100"
ignorecooldown="true"
anim=""
icon="icon1.tga"
casttime="0"
castactiontime="0"
manacost="0"
actiontype="no_target"
cooldowntime="0"
>
<onimpact>
<disjoint target="source_entity" />
<expirestate name="State_Ravenor_Ability1" target="this_owner_entity"/>
<playeffect effect="effects/portout.effect" target="source_position" source="source_position" occlude="true" />
<compare a="this_proxy_entity" b="0" op="ne">
<teleport source="this_owner_entity" target="proxy_position" interpolate="false" />
</compare>
<playeffect effect="effects/arrive.effect" source="source_position" occlude="true" />
<spawnaffector name="Affector_Ravenor_Ability1" source="target_entity" />
<expirestate name="State_Enemy_Ravenor_Ability1" target="proxy_entity" />
<expirestate name="State_Ravenor_Ability1" target="source_entity" />
</onimpact>
</modifier>
</ability>


affector.entity


<affector
name="Affector_Ravenor_Ability1"

radius="250"

icon="icon.tga"
passiveeffect="effects/state_slow.effect"

targetselection="all"
targetscheme="enemy_units"
effecttype="Magic"

>
<onimpact>
<applystate name="State_Stunned" duration="1500" />
<damage effecttype="Magic" amount="50,80,110,140" />
</onimpact>

</affector>

gadget_reveal.entity


<gadget
name="Gadget_Ravenor_Ability1"

icon=""
portrait=""
model=""
passiveeffect=""
impacteffect=""

boundsheight="0"
boundsradius="0"
isselectable="false"
iscontrollable="false"
selectionradius="0"
targetoffset="0 0 0"

canrotate="false"
ismobile="false"

attacktype="none"
combattype="Ranged"

sightrangeday="500"
sightrangenight="500"
clearvision="true"
unitwalking="true"
canattack="false"
deathtime="0"
corpsetime="0"
invulnerable="true"
flying="false"
drawonmap="false"

lifetime="3000"
>
</gadget>

projectile.entity


<projectile
name="Projectile_Ravenor_Ability1"

speed="600"
gravity="0"

modelscale="1.5"
model="/shared/models/invis.mdf"
traileffect="effects/trail.effect"
flying="true"
flyheight="50"
effectscale="1.5"
impacteffect="effects/impact.effect"
touchradius="100"
maxtouches="1"
touchtargetscheme="enemy_heroes"
toucheffecttype=""

deatheffect="effects/death.effect"

lifetime="-1"

>
<ontouch>
<combatevent effecttype="AbilityBasedProjectile">
<onimpact>
<playeffect effect="effects/impact.effect" source="target_position"/>
<cantarget effecttype="Magic">
<applystate effecttype="Magic" name="State_Stunned" duration="500" />
<damage effecttype="Magic" amount="50,80,110,140" />
</cantarget>
<applystate name="State_Enemy_Ravenor_Ability1" target="target_entity" duration="4100" pushentity="true" />
<setproxy entity="stack_entity" target="this_proxy_entity" />
<setproxy entity="this_proxy_entity" target="target_entity" />
<applystate name="State_Ravenor_Ability1" target="source_entity" proxy="target_entity" duration="4000" pushentity="true" />
</onimpact>
</combatevent>
<kill target="this_entity" source="" />
</ontouch>

</projectile>

state.entity


<state
name="State_Ravenor_Ability1"

icon="icon.tga"
passiveeffect=""

effecttype=""
modifierkey="Ravenor_port"
>
<onframe>
<targettype target="this_proxy_entity" type="all" />
<else>
<expirestate name="State_Ravenor_Ability1"/>
</else>
</onframe>
</state>

state_enemy.entity


<state
name="State_Enemy_Ravenor_Ability1"

icon="icon.tga"
passiveeffect="effects/state.effect"

effecttype=""

>
<aura
gadget="Gadget_Ravenor_Ability1"
radius="0"
targetscheme="self"
/>

<onframe>
<distance />
<compare a="result" b="3000" op="gt">
<expire entity="this_proxy_entity" />
<expire />
<expirestate name="State_Ravenor_Ability1" target="source_entity" />
</compare>
</onframe>

<onexpired>
<expirestate name="State_Ravenor_Ability1" target="source_entity" />
</onexpired>

</state>


Ability 2 - Storm Blades

Gives Ravenor bonus magic damage and attack speed to his next two auto attacks. The magic damage will propogate to nearby enemies.

Mana 80/90/100/110
Cooldown 12
Cast range n/a
Cast action time 0

Applies state to self for 6 seconds

Grants 50/75/100/125 bonus magic damage and 50% attack speed for next two regular attacks
(Attack speed also expires after the two attacks)

Deals 50/75/100/125 magic damage that bounces to 1/2/3/4 additional nearby enemy units
Each bounce will apply to nearest enemy unit within 300 distance of the previous unit
Each bounce has a 0.1 second delay

The first bounce will not bounce to the target you originally attacked

The buff to Ravenor is a state that cannot be purged or transferred
Effect type of bonus damage is magical (will ignore/skip magic immune targets)

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

ability.entity


<ability
name="Ability_Ravenor2"

icon="icon.tga"

statuseffecttooltip="State_Ravenor_Ability2"

anim="ability_2"
casttime="0"
castactiontime="0"
inheritmovement="true"
frontqueue="true"

casteffect="effects/cast.effect"

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

actiontype="target_self"
casteffecttype="Magic"

manacost="80,90,100,110"
cooldowntime="12000"
>
<onimpact>
<applystate name="State_Ravenor_Ability2" duration="6000" />
</onimpact>
</ability>

affector.entity


<affector
name="Affector_Ravenor_Ability2"

radius="300"

impactdelay="100"
maximpactsperinterval="1"
maximpactspertarget="1"
targetscheme="visible_enemy_units"
targetselection="closest"
effecttype="Magic"
persist="true"

impacteffect="effects/lightning.effect"
linkeffect="effects/link.effect"
>
<onimpact>
<chain count="1,2,3,4" />
<damage effecttype="Magic" amount="50,75,100,125" />
</onimpact>
</affector>

state.entity


<state
name="State_Ravenor_Ability2"

icon="icon.tga"
passiveeffect="effects/state_self.effect"

attackspeed="0.5"
effecttype=""
>
<oninflict>
<addcharges count="2" />
</oninflict>

<onattackimpact>
<cantarget targetscheme="enemy_buildings" >
<removecharge />
<spawnaffector name="Affector_Ravenor_Ability2" target="target_entity" ignore="target_entity" />
</cantarget>

<cantarget targetscheme="enemy_units" >
<removecharge />
<damage effecttype="Magic" amount="50,75,100,125" />
<spawnaffector name="Affector_Ravenor_Ability2" target="target_entity" ignore="target_entity" />
</cantarget>

<compare a="charges" b="0" op="eq" >
<expire />
</compare>
</onattackimpact>

<onframe />

<modifier key="Alt" modpriority="1"
passiveeffect="/heroes/ravenor/alt/ability_02/effects/state_self.effect"
>
</modifier>
</state>


Ability 3 - Electrical Feedback

Applies a state to Ravenor that damages nearby enemy units whenever he is attacked.

Mana 75
Cooldown 16
Cast range n/a
Cast action time 0

Applies state to self for 8 seconds

Activates every time Ravenor is attacked by an organic unit during this duration
Deal 20/40/60/80 magic damage to attacker
Deals 20/40/60/80 magic damage to 2 random enemy organic units within a 90 degree cone in direction of attacker up to 700 distance

Can only proc once every 0.9 seconds

State is a status buff and can be purged or transferred

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

ability.entity


<ability
name="Ability_Ravenor3"

icon="icon.tga"

statuseffecttooltip="State_Ravenor_Ability3_Buff"

anim="ability_3"

casttime="0"
castactiontime="0"
frontqueue="true"
inheritmovement="true"
noninterrupting="true"

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

actiontype="target_self"
casteffecttype="Magic"

manacost="75"
cooldowntime="16000"
>
<onimpact>
<applystate name="State_Ravenor_Ability3_Buff" target="source_entity" duration="8000" />
</onimpact>
</ability>

affector.entity


<affector
name="Affector_Ravenor_Ability3"

radius="700"
arc="90"

maxtotalimpacts="2"
maximpactspertarget="1"
targetselection="random"
targetscheme="visible_enemy_units"
repeattargetimpacts="false"
effecttype="Magic"

bridgeeffect="effects/lightning_link.effect"
>
<onimpact>
<playeffect effect="effects/impact_self.effect" target="" source="source_entity"/>
<playeffect effect="effects/impact.effect" target="target_entity" source="target_entity"/>
<damage effecttype="Magic" amount="20,40,60,80"/>
</onimpact>
</affector>

state_buff.entity


<state
name="State_Ravenor_Ability3_Buff"

icon="icon.tga"
passiveeffect="effects/state.effect"

effecttype="StatusBuff"
allowtransfer="true"
>

<onattackedpostimpact>
<combateffecttype effecttype="Attack">
<cantarget targetscheme="organic_enemy_units" >
<hasmodifier name="Storm_Cooldown" entity="this_owner_entity" />
<else>
<playeffect effect="effects/impact_self.effect" target="" source="source_entity"/>
<playeffect effect="effects/lightning_link.effect" target="target_entity" source="source_entity" />
<playeffect effect="effects/impact.effect" target="target_entity" source="target_entity"/>
<damage effecttype="Magic" amount="20,40,60,80"/>
<spawnaffector name="Affector_Ravenor_Ability3" target="source_position" direction="target_entity" ignore="target_entity"/>
<applystate name="State_Storm_Cooldown" target="source_entity" duration="900" />
</else>
</cantarget>
</combateffecttype>
</onattackedpostimpact>

<onframe />
</state>

storm_cooldown.entity


<state
name="State_Storm_Cooldown"

serverentity="true"
modifierkey="Storm_Cooldown"
>
</state>


Ability 4 - Power Overwhelming

Passively gives Ravenor bonus magic damage and movespeed to his attacks every time he does magic damage to a target.

Mana n/a
Cooldown n/a
Cast action time n/a

Adds 4/6/8 charges to self every time instance of magic damage to an enemy hero
Adds 1 charge for every instance of magic damage to a non-hero enemy

Gives +1 base movespeed per charge
Gives +1 magic damage to attacks per charge

60/90/120 maximum charges
Charges begin to expire after 8 seconds of not doing magic damage
Charges expire at a rate of 1 charge every 0.2 seconds

Works with all non-DOT magic effect types (Codex and Frostfield but not Mock of Brilliance)
This ability adds a magic instance to attacks, so once it is started additional attacks will continue to build on itself

Example with level 3 Power Overwhelming and 4 Storm Blades against 3 heroes and 2 creeps:
First attack deals 5 instances of magic damage (primary plus 4 bounces)
These instances add 8 + 8 + 8 + 1 + 1 = 26 charges
Second attack deals 6 instances of magic damage (primary plus 4 bounces, plus bonus damage from the ultimate)
These instances add 8 + 8 + 8 + 1 + 1 + 8 = 34 charges
60 total charges after just two attacks!

Bonus attack damage from this ability is non-lethal

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

ability.entity


<ability
name="Ability_Ravenor4"

icon="icon.tga"

anim="ability_4"

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

actiontype="passive"
maxcharges="60,90,120"

passiveeffect=""

movespeedpercharge="1"
>
<aura state="State_Remove_Charges_Ravenor_Ability4" radius="0" targetscheme="self" notooltip="true" ignoreinvulnerable="true" />

<ondamage>
<damageeffecttype effecttype="Magic">
<damageeffecttype effecttype="DOT" />
<else>
<addcharges count="1" />
<applystate name="State_Check_Ravenor_Ability4" target="source_entity" duration="8000" />
<starttimer duration="8000" />
<targettype type="hero" >
<addcharges count="3,5,7" />
</targettype>
</else>
</damageeffecttype>
</ondamage>

<onframe>
<compare a="charges" b="0" op="eq" >
<setactivemodifierkey name="" />
</compare>
<else>
<compare a="charges" b="15,22,30" op="lt">
<setactivemodifierkey name="Ravenor_Ult_Effect_Low" />
</compare>
<else>
<compare a="charges" b="30,44,60" op="lt">
<setactivemodifierkey name="Ravenor_Ult_Effect_Mid" />
</compare>
<else>
<compare a="charges" b="45,66,90" op="lt">
<setactivemodifierkey name="Ravenor_Ult_Effect_High" />
</compare>
<compare a="charges" b="60,90,120" op="ge">
<setactivemodifierkey name="Ravenor_Ult_Effect_Full" />
</compare>
</else>
</else>
</else>
</onframe>

<onattackimpact>
<cantarget effecttype="Magic">
<cantarget targetscheme="organic_enemy_units" >
<setvar0 a="charges" b="1" op="mult" />
<damage effecttype="Magic" target="target_entity" amount="1" b="var0" op="mult" nonlethal="true" />
<compare a="charges" b="1" op="ge" >
<popup name="execution" a="var0" source="target_entity" target="source_entity" />
</compare>
</cantarget>
</cantarget>
</onattackimpact>

<ondeath>
<hasmodifier name="ihazatokenoflife" />
<else>
<setcharges a="0" />
</else>
</ondeath>

<modifier key="Ravenor_Ult_Effect_Low" modpriority="100"
passiveeffect="effects/state_self_low.effect"
/>

<modifier key="Ravenor_Ult_Effect_Mid" modpriority="100"
passiveeffect="effects/state_self_mid.effect"
/>

<modifier key="Ravenor_Ult_Effect_High" modpriority="100"
passiveeffect="effects/state_self_high.effect"
/>

<modifier key="Ravenor_Ult_Effect_Full" modpriority="100"
passiveeffect="effects/state_self_full.effect"
/>
</ability>

state_check.entity


<state
name="State_Check_Ravenor_Ability4"

icon="icon.tga"
serverentity="true"
modifierkey="Ravenor_Charges"
>

</state>

state_remove_charges.entity


<state
name="State_Remove_Charges_Ravenor_Ability4"

icon="icon.tga"
impactinterval="200"
serverentity="true"
>
<onimpact>
<hasmodifier name="Ravenor_Charges" entity="this_owner_entity" />
<else>
<removecharge entity="this_spawner_entity" />
</else>
</onimpact>
</state>

MacroHard
06-12-2012, 01:41 AM
Ravenor Damage Progression:
http://i.imgur.com/Q6S1Z.png

Assumptions:
Damage listed is against primary target only and does not include any damage to nearby enemies
Damage shows bonus magic damage only and does not include physical listed attack damage
Order of occurrence:
Ball Lightning/Teleport
Activate Storm Blades/Electrical Feedback
Attack
Feedback shock
Attack
Feedback shock
Attack
Feedback shock
Attack
Four attacks total
Three Feedback shocks total
All charges for Power Overwhelming are from abilities and subsequent attacks on primary target (no nearby units taking damage)

SomethingOdd
06-12-2012, 01:45 AM
Working for S2 is paying off I see. :P.
Looking forward for something nifty.

rSeaL
06-12-2012, 06:53 AM
Thank
ups:
60/90/80 maximum charges - 60/90/120

MacroHard
06-12-2012, 11:15 AM
^ fixed. Thanks. =)

MacroHard
06-12-2012, 12:08 PM
IMPORTANT:

The "double damage" from Ravenor's Storm Blades turned out to be an unintended bug. It has been fixed server side. The affector from Storm Blades can no longer hit the attacked target.