WIP Newbie needs help with testmap :)

Infiriel

New Member
Reaction score
0
Hello guyz
I`ve gotta serious problems with making a testmap for my hero suggestion on playdota.com LINK
Would any of you like to help me with testmap?
 

Nherwyziant

Be better than you were yesterday :D
Reaction score
96
Your paralyzing shot's anti hp regeneration is quite impossible.
Inner Purification's pure damage is not possible either.
And I can't help you now, and I don't think anyone will help you make this hero.

Anyway, Wrong section and read the Forum Rules.
 
Reaction score
91
> Your paralyzing shot's anti hp regeneration is quite impossible.
No, actually HP/MP regeneration can be disabled but requires adding some additional code to every healing spell (which aren't that many so I doubt it would be a problem).
 

Nherwyziant

Be better than you were yesterday :D
Reaction score
96
> Your paralyzing shot's anti hp regeneration is quite impossible.
No, actually HP/MP regeneration can be disabled but requires adding some additional code to every healing spell (which aren't that many so I doubt it would be a problem).

I know that, but that would be boring to do lol.
 

SineCosine

I'm still looking for my Tangent
Reaction score
77
What do you guys mean by anti-regen is impossible? o.0

Just make a trigger using J4L's T32..

Then, make it such that in the beginning of the struct..
It will save the target's current hp to a certain value..
Let's say this value is 300.00

Then, call startPeriodic.

After that, every tick, check
[lJASS]if GetWidgetLife(Target) < VariableWithTarget's HP then[/lJASS]

if it is..
set the variable to the Target's current life.

[lJASS]else[/lJASS]

set Target's life to the one in the variable

[lJASS]endif[/lJASS]

It CAN be done =)

(Yes, I am lazy to type out a proper piece of code)



[EDIT]
Free-hand AND untested..
And you need T32..

JASS:
globals
    private constant real AntiRegenDuration = 3.00
    private constant integer Tick = R2I(AntiRegenDuration / 0.03125) + 1
endglobals


struct AntiRegen

    unit Target
    real HP
    integer ticks
    
    private method periodic takes nothing returns nothing
        local AntiRegen ar = this
        
        if ar.ticks &lt; Tick then
        
            if GetWidgetLife(ar.Target) &gt; ar.HP then
                call SetUnitState(ar.Target, UNIT_STATE_LIFE, ar.HP)
            else
                set ar.HP = GetWidgetLife(ar.Target)
            endif
        
        set ar.ticks = ar.ticks + 1
        else
            call ar.stopPeriodic()
            call ar.destroy()
        endif
    endmethod
    
    implement T32x

    static method BEGIN takes unit u returns nothing
        local AntiRegen ar = AntiRegen.allocate()
        
        set ar.Target = u
        set ar.HP = GetWidgetLife(ar.Target)
        set ar.ticks = 1
        
        call ar.startPeriodic()
    endmethod
    
    method onDestroy takes nothing returns nothing
        set .Target = null
    endmethod
endstruct


To use this, just make a trigger that detects when your Hero is attacking an enemy and calculate a random chance.
Then,[lJASS] call AntiRegen.BEGIN(GetTriggerUnit())[/lJASS]

That's if you are using "When unit is attacked" or something like that.
 

Viikuna

No Marlo no game.
Reaction score
265
Stopping regeneration is no problem, if all regeneration is controlled with some system.. ( Some UnitProperties like bonus system )


However, most of DotAs code is really old, so this is not really possible for DotA. You can try to fake it with fast periodic timer, but its quite ugly way to do it. ( I would not do it )



Inner Purification pure damage is easily done with some damage detection system.
Changing attacks UI element is another story, though. ( Impossible ) So it will still show your old damage type, which kinda sucks.



edit. Spell making for DotA is few times harder than for your own map for example, because DotA lacks most of essential stuff and systems for controlling thingies that cant be controlled with natives only.

Youll find out that many spells that are possible to make, are not really possible to make for DotA. ( Unless all the spells in that map are remaked, and proper systems are created, which would be a damn big job. )

edit2. Anyways, all your spells are possible to make with right systems, so one could make a map or a test map with this hero.
 

Viikuna

No Marlo no game.
Reaction score
265
Its possible way to do it, but not as good as controlling the regeneration and healing with some systems. ( Also it looks ugly, because you can see hp going up and down between periods. )


When spell starts, you save heroes health to some [lJASS]old health[/lJASS] variable. When hero takes damage, you modify [lJASS]old health[/lJASS] so that its [lJASS]old health - damage taken[/lJASS]. After this modify units health equal to [lJASS]old health[/lJASS].



And every .025 sec, you change units health to [lJASS]old health[/lJASS] amount to undo healing and regeneration effects.



Sadly, with this method, you cant tell the difference between regenerationa and healing, unlike with proper bonus and healing systems.

( Disabling only regeneration and not healing, could be done with negative unholy aura, though. But that method has its own downsides too. )
 

Infiriel

New Member
Reaction score
0
It`s good to hear that these skills are quite easy to code :)
Anyway as i said in first post i`m full spectrum newbie even when using GUI :/ (JASS is black magic for me)
 

Nherwyziant

Be better than you were yesterday :D
Reaction score
96
@SinceCode, nice, I didn't notice that. :) OH MY,THE FILE EXISTS IS OVER ^_^
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top