Spell MUI Check

Bankde

Member
Reaction score
20
I now need help. I'm not really good with custom spell and I don't have enough people to check it.

My Check : The spell works really well.

But I'm not sure that is it able in MUI. And I know that Wait function is not good but I had never used other function like Countdown Timer before. Please give me some advise.

Trigger:
  • Rejuvenation
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Rejuvenation
    • Actions
      • Set Spell_Target_1[(Player number of (Owner of (Triggering unit)))] = (Target unit of ability being cast)
      • Special Effect - Create a special effect attached to the overhead of (Target unit of ability being cast) using Objects\Spawnmodels\NightElf\EntBirthTarget\EntBirthTarget.mdl
      • Special Effect - Destroy (Last created special effect)
      • Unit - Set life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))] to ((Life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))]) + (Real((Intelligence of (Triggering unit) (Include bonuses)))))
      • Wait 1.00 seconds
      • Unit - Set life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))] to ((Life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))]) + (Real((Intelligence of (Triggering unit) (Include bonuses)))))
      • Wait 1.00 seconds
      • Unit - Set life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))] to ((Life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))]) + (Real((Intelligence of (Triggering unit) (Include bonuses)))))
      • Wait 1.00 seconds
      • Unit - Set life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))] to ((Life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))]) + (Real((Intelligence of (Triggering unit) (Include bonuses)))))
      • Wait 1.00 seconds
      • Unit - Set life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))] to ((Life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))]) + (Real((Intelligence of (Triggering unit) (Include bonuses)))))
 

Happysmiley

New Member
Reaction score
22
I now need help. I'm not really good with custom spell and I don't have enough people to check it.

My Check : The spell works really well.

But I'm not sure that is it able in MUI. And I know that Wait function is not good but I had never used other function like Countdown Timer before. Please give me some advise.

Trigger:
  • Rejuvenation
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Rejuvenation
    • Actions
      • Set Spell_Target_1[(Player number of (Owner of (Triggering unit)))] = (Target unit of ability being cast)
      • Special Effect - Create a special effect attached to the overhead of (Target unit of ability being cast) using Objects\Spawnmodels\NightElf\EntBirthTarget\EntBirthTarget.mdl
      • Special Effect - Destroy (Last created special effect)
      • Unit - Set life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))] to ((Life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))]) + (Real((Intelligence of (Triggering unit) (Include bonuses)))))
      • Wait 1.00 seconds
      • Unit - Set life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))] to ((Life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))]) + (Real((Intelligence of (Triggering unit) (Include bonuses)))))
      • Wait 1.00 seconds
      • Unit - Set life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))] to ((Life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))]) + (Real((Intelligence of (Triggering unit) (Include bonuses)))))
      • Wait 1.00 seconds
      • Unit - Set life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))] to ((Life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))]) + (Real((Intelligence of (Triggering unit) (Include bonuses)))))
      • Wait 1.00 seconds
      • Unit - Set life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))] to ((Life of Spell_Target_1[(Player number of (Owner of (Triggering unit)))]) + (Real((Intelligence of (Triggering unit) (Include bonuses)))))

I'm almost positive that will screw up if used on multiple targets. Instead, I'd go about this as such:

Create a trigger with a periodic event that fires every second. Then you pick every unit in playable map area that has the buff your regeneration spell gives , and set the hp of them to what you want. Make sure to remove any possible leaks afterwards.
 

SineCosine

I'm still looking for my Tangent
Reaction score
77
@Happy
Nah, he can't use your suggestion =/
The HP has to increase based on the caster's INT.

@Bank
Use Jass =)
 

Carnerox

The one and only.
Reaction score
84
This was thrown together real quick and probably works much better than his.

Trigger:
  • Example Init
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set RegenGroup = (Units in (Playable map area) matching (((Matching unit) has buff YourBuff) Equal to True))



Trigger:
  • Example Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to YourSpell
    • Actions
      • Set RegenCaster[(Player number of (Owner of (Triggering unit)))] = (Triggering unit)
      • Wait until (((Target unit of ability being cast) has buff YourBuff) Equal to False), checking every 1.00 seconds
      • Unit Group - Remove (Target unit of ability being cast) from RegenGroup


Trigger:
  • Example Loop
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in RegenGroup and do (Actions)
        • Loop - Actions
          • Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + (Real((Intelligence of RegenCaster[(Player number of (Owner of (Triggering unit)))] (Include bonuses)))))
 

SineCosine

I'm still looking for my Tangent
Reaction score
77
Failed code is failed.
No ofense =x

Trigger:
  • * Example Loop
    • o Events
      • + Time - Every 1.00 seconds of game time
    • o Conditions
    • o Actions
      • + Unit Group - Pick every unit in RegenGroup and do (Actions)
        • # Loop - Actions
          • * Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + (Real((Intelligence of RegenCaster[(Player number of (Owner of (Triggering unit)))] (Include bonuses)))))


What is "Triggering Unit"? There is no event response, afaik
 

vypur85

Hibernate
Reaction score
803
Code:
Rejuvenation
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Rejuvenation 
    Actions
        Custom script:  local unit udg_Target
        Custom script:  local integer i == 0
        Set Target = (Target unit of ability being cast)
        Special Effect - Create a special effect attached to the overhead of (Target unit of ability being cast) using Objects\Spawnmodels\NightElf\EntBirthTarget\EntBirthTarget.mdl
        Special Effect - Destroy (Last created special effect)
        Custom script:  loop
        Custom script:  exitwhen i > 4
        Custom script:  set i = i + 1
        Unit - Set life of Target to ((Life of Target) + (Real((Intelligence of (Triggering unit) (Include bonuses)))))
        Wait 1.00 seconds
        Custom script:  endloop
        Set Target = (No unit)

This may work. It's MUI. Not tested though. (It's been a long time since I trigger :p)

Your trigger is only MPI. And it messes up when you cast on more than one target before the former target duration finishes.
 

Bankde

Member
Reaction score
20
Code:
Rejuvenation
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Rejuvenation 
    Actions
        Custom script:  local unit udg_Target
        Custom script:  local integer i == 0
        Set Target = (Target unit of ability being cast)
        Special Effect - Create a special effect attached to the overhead of (Target unit of ability being cast) using Objects\Spawnmodels\NightElf\EntBirthTarget\EntBirthTarget.mdl
        Special Effect - Destroy (Last created special effect)
        Custom script:  loop
        Custom script:  exitwhen i > 4
        Custom script:  set i = i + 1
        Unit - Set life of Target to ((Life of Target) + (Real((Intelligence of (Triggering unit) (Include bonuses)))))
        Wait 1.00 seconds
        Custom script:  endloop
        Set Target = (No unit)

This still not work.

Custom script: local integer i == 0

I found that this custom script does not work. It tell me error so I change to

"Custom script: local integer i = 0"

It then work but only for first seconds then other 4 seconds notthing happen.
 

Carnerox

The one and only.
Reaction score
84
This worked for me.

JASS:
function Trig_Rejuv_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == 'A004'
endfunction

function Trig_Rejuv_Actions takes nothing returns nothing
    local unit t = GetTriggerUnit()
    local integer i = 0
    local real x = GetUnitX(t)
    local real y = GetUnitY(t)
    call DestroyEffect (AddSpecialEffect("Objects\\Spawnmodels\\NightElf\\EntBirthTarget\\EntBirthTarget.mdl", x, y))
    loop
        exitwhen (i >= 4)
        call SetUnitState (t, UNIT_STATE_LIFE, (GetUnitState(t, UNIT_STATE_LIFE) + I2R(GetHeroInt(t, true))))
        call TriggerSleepAction(RMaxBJ(bj_WAIT_FOR_COND_MIN_INTERVAL, 1))
    endloop
    set t = null
endfunction

//===========================================================================
function InitTrig_Rejuv takes nothing returns nothing
    local trigger t = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ (t, EVENT_PLAYER_UNIT_SPELL_EFFECT)
    call TriggerAddCondition (t, Condition( function Trig_Rejuv_Conditions))
    call TriggerAddAction (t, function Trig_Rejuv_Actions)
endfunction
 
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