No more DotA( But Yes )

Crazy_Dead

New Member
Reaction score
24
I was lawing in my bed, thinking about this.

Or not.

I did just play DotA ( Defense of the Ancients ), and i played the character called "Crystal Maiden"

Her Ultimate. Is. Lovely.

Can someone show me the basics of that ability?
( Code Please ).

Thanks. :D

//Crazy
 

Bribe

vJass errors are legion
Reaction score
67
Can you please describe us the basics of that ability?
(Screenshots Welcome).

//Some of us don't do DotA
 

Crazy_Dead

New Member
Reaction score
24
OMG SORRY!
Did you check the link?

Nevermind:

skill-3.jpg


Causes many random icy explosions in an area surrounding Rylai. Enemy units in the Freezing Field are slowed. Can be improved by Aghanim's Scepter
• (**) Total area of effect of the spell.
• (***) Area of effect of each explosion.
• Damage type: magical
• The slow is applied on all enemy units within an AoE of 635, even if they aren't hit by any explosion (lasts 1 second).
• Every 0.1 seconds one explosion is made, for a total of 40 explosions.
• Can be improved by Aghanim's Scepter (* shows the improved values).

CLICK ICTURE
 

Executor

I see you
Reaction score
57
Well, where is the problem?

Base an ability on channel. On starting channeling add the caster to a unit group and add an slowing aura to the caster. Periodically every 0.1 seconds pick every unit in the group, pick every unit around a random point in range and deal damage to em. When stopping channeling remove the unit of the group.
 

the Immortal

I know, I know...
Reaction score
51
A rewritten, non-posted version of the Freezing Field from my outdated Icy Spells Pack. Not that it's hard to write or anything, but if you are feeling lazy, feel free to use it.
Zincie and no flashy special effects!
JASS:
//! zinc
library FreezingField requires TimerUtils
{ 
/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*
 *                                Freezing Field                                       *
 *                                                                                     *
 * Creates random explosions around the caster that damage nearby enemy units          *
 *  (Channeled; lasts until channeling stops)                                          *
 *                                                                                     *
 * To import:                                                                          *
 *  - Paste that trigger ("FreezingField") and the "TimerUtils" one in your map        *
 *  - Create (or import) a spell that is no-target, channeling and does nothing. (base)*
 *  - Configure the constants / functions below                                        *
 *                                                                             Ixtreon *
 *-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/

    //Constantz:
    
    //the raw code of the Freezing Field
    constant integer AbilRC = 'A000';
    
    //the rawcode of the 'tornado slow'-based slow aura
    constant integer SlowRC = 'A004';
    
    //the SFX to use
    constant string SFX = "Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl";
    
    //The Delay between each explosion
    constant real Delay = 0.01;
    
    //The min distance from each explosion to the caster
    constant real MinRange = 100;
    
    //The max distance from each explosion to the caster (the spell's range)
    constant real MaxRange = 600;
    
    //The AoE of each Frost Nova
    constant real NovaAoE = 150;
    
    //the damage dealt
    function Damage(integer level) -> real
    {
        return 25. + 50. * level;
    }

 //_____________________ Don't touch plox _____________________\\
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\\

    group g = CreateGroup();
    data d;
    
    struct data
    {
        integer o, lvl;
        real x, y;
        unit u;
    }
   
    function damageEm() -> boolean
    {
        if(IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(d.u)) && !IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) )
            UnitDamageTarget(d.u, GetFilterUnit(), Damage(d.lvl), false, false, ATTACK_TYPE_MAGIC, DAMAGE_TYPE_MAGIC, WEAPON_TYPE_WHOKNOWS);
        return false;
    }
    
    real tx, ty, a, r;
    
    function onChannel()
    {
        d = GetTimerData(GetExpiredTimer());
        
        //will cause bugs if spell duration >= spell cooldown
        //but who -in reality- would do such a thing ffs -.-
        if(d.o == GetUnitCurrentOrder(d.u))
        {
            a = GetRandomReal(0, bj_PI * 2);
            r = GetRandomReal(MinRange, MaxRange);
            tx = d.x + r * Cos(a);
            ty = d.y + r * Sin(a);
            
            GroupEnumUnitsInRange(g, tx, ty, NovaAoE, function damageEm);
            DestroyEffect(AddSpecialEffect(SFX, tx, ty));
        }
        else
        {
            UnitAddAbility(d.u, SlowRC);
            
            ReleaseTimer(GetExpiredTimer());
            d.destroy();
        }
    }

    function onCast()
    {
        timer t = NewTimer();
        d = data.create();
        
        SetTimerData(t, d);
        d.u = GetTriggerUnit();
        d.x = GetUnitX(d.u);
        d.y = GetUnitY(d.u);
        d.o = GetUnitCurrentOrder(d.u);
        
        UnitAddAbility(d.u, SlowRC);
        
        TimerStart(t, Delay, true, function onChannel);
        
        t = null;
    }

    function Conditions() -> boolean
    {
        if(GetSpellAbilityId() == AbilRC)
            onCast();
        return false;
    }
    
    function onInit()
    {
        trigger t = CreateTrigger();
        integer i = 0;
        while(i < bj_MAX_PLAYER_SLOTS)
        {
            TriggerRegisterPlayerUnitEvent(t, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null);
            i += 1;
        }
        TriggerAddCondition(t, Condition(function Conditions));
    }
}
//! endzinc
 
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