[Spell Request] "Marrowcrusher"

Jinxx

New Member
Reaction score
4
I usually don't have a habit of asking people to do my spells for me, but I'm at the end of my wits with this one - please, someone code it ASAP, or I fear I'll loose my sanity (what precious little is left of it by this point)! :banghead:

The Abomination leaps at the target location, tracing a high arc in the air and coming crashing down, damaging and slowing both itself and all enemies within 500 AoE of the landing zone for physical damage. The height of it's trajectory is determined by it's total STRENGTH score, which increases the apex of the arc, thus allowing it to jump higher and do more damage on impact. Casting range is 900 on all levels, with the slow lasting 5 seconds. Also digs permanent craters in the ground on impact, with the crater radius depending on the height of the jump.

Level 1 - Deals 1x[STR] damage, 5% slow.
Level 2 - Deals 2x[STR] damage, 10% slow.
Level 3 - Deals 3x[STR] damage, 15% slow.
Level 4 - Deals 4x[STR] damage, 20% slow.
Level 5 - Deals 5x[STR] damage, 25% slow.


I need the spell MUI/MPI - if you can pull it off in GUI, more power to you, but I don't mind if it's in JASS, as long as it's just plain JASS, not vJASS or anything else (I dislike having to rely on any outside apps besides the vanilla W3 Editor :p).

Anyway, cooooookiez and milk (and creditzz, ofcourse) to whoever can make this spell fast, clean, and leakless... :thup:
 

WCGMapMaker

New Member
Reaction score
3
bump, i dunno if i can in plain jass not that i have anything else quite yet but ill give it a shot for you, Damage and slow based on height which is based on strength, might want to add length to height as well
see what i can do, any1 else want to work on it while i am...
 

Curo

Why am I still playing this game...?
Reaction score
109
The hardest part is making the arc with a variable cast range and variable arc height. I tried a similar arc spell, but my math skills aren't good enough to come up with the right formula.

If someone does attempt this, I'd love to see how you calculate the arc part.

The rest should be pretty simple.
 

Jinxx

New Member
Reaction score
4
Damage and slow based on height...
No no, only the damage is based on the height, the slow is nothing extra, just a dummy casting a custom level 1/2/3/4/5 slow with +5% slow increase per level (up to 25% at leavel 5).


The hardest part is making the arc with a variable cast range and variable arc height. I tried a similar arc spell, but my math skills aren't good enough to come up with the right formula.

If someone does attempt this, I'd love to see how you calculate the arc part.

The rest should be pretty simple.
The parabola formula is easy, it's the *REST* of it (hashtables, MUI-ness) that's giving me a headache. Here's the formula for the height as a part of the function taking the caster's location on the ground and calculating the needed height each time the timer expires (0.04 seconds):

Y = -4 * (Height Maximum/Distance Maximum) * x * [(x/Distance Maximum) - 1]

Height Maximum -> must be defined beforehand, depends on "Distance Maximum"
Distance Maximum -> the length of the total distance from caster to target location

y -> the current height of the caster we're trying to calculate
x -> the current location of the caster along the parabola's "x" field

EDIT:
"Height Maximum" depends on the caster's STR score, as well as the "Distance Maximum"!

Height Maximum = [(1/2 * Distance Maximum) + (Spell Level) * (Caster's Total STR)]
So if the spell was maxed to level 5, and if the caster had a total STR score of 100, and s/he clicked a location 1,000 units away as the spell's target, then the maximum height of the parabola would be [(1/2 * 1,000) + 5 * 100] = 1,000. Also, for simplicity's sake, they should probably be called "Max Height" and "Max Distance", but english isn't my native language, so bear with me please...


Also, here's the crater function, taking into account the parabola's length...

call TerrainDeformationCraterBJ(0.01, true, locCasterPosition, 0.2 * rDistance, 0.1 * rDistance))

where rDistance is...

local real rDistance = DistanceBetweenPoints(locCasterPosition, locTargetPosition)

I know I should be using x,y coordinates instead of locations, but I'm lazy... ;)

EDIT: Typos... ugh... it's 2AM here... I'm going to sleep...
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top