This spell is not working correctly =/ any suggs will be appretiated

Tholdalf

New Member
Reaction score
2
What i want this spell to do is to raise all nerby friendly heroes Str, Agi and Int for a set time. The raising part is working but for some reason they wount reset after those 20s.

heres the code


Code:
Prayer of Might
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Prayer of Might 
    Actions
        Set Prayer_of_Might_levelcheck = (Level of Prayer of Might  for (Triggering unit))
        Hero - Modify Strength of (Triggering unit): Add (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Agility of (Triggering unit): Add (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Intelligence of (Triggering unit): Add (2 x (Level of Prayer of Might  for (Triggering unit)))
        Unit Group - Pick every unit in (Units within 1200.00 of (Position of (Triggering unit))) and do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        ((Picked unit) is A Hero) Equal to True
                        ((Picked unit) belongs to an ally of (Owner of (Triggering unit))) Equal to True
                    Then - Actions
                        Set Prayer_of_Might_Unit[(Player number of (Owner of (Picked unit)))] = (Picked unit)
                        Hero - Modify Strength of Prayer_of_Might_Unit[(Player number of (Owner of (Picked unit)))]: Add (2 x (Level of Prayer of Might  for (Triggering unit)))
                        Hero - Modify Agility of Prayer_of_Might_Unit[(Player number of (Owner of (Picked unit)))]: Add (2 x (Level of Prayer of Might  for (Triggering unit)))
                        Hero - Modify Intelligence of Prayer_of_Might_Unit[(Player number of (Owner of (Picked unit)))]: Add (2 x (Level of Prayer of Might  for (Triggering unit)))
                        Wait 20.00 seconds
                        Hero - Modify Strength of Prayer_of_Might_Unit[(Player number of (Owner of (Picked unit)))]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
                        Hero - Modify Agility of Prayer_of_Might_Unit[(Player number of (Owner of (Picked unit)))]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
                        Hero - Modify Intelligence of Prayer_of_Might_Unit[(Player number of (Owner of (Picked unit)))]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
                        Hero - Modify Strength of (Triggering unit): Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
                        Hero - Modify Agility of (Triggering unit): Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
                        Hero - Modify Intelligence of (Triggering unit): Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
                    Else - Actions
                        Do nothing
 

Cilla

is watching you! Ahh, fresh meat!
Reaction score
39
Eh, you cant use this 'Wait 20.00 seconds' I would say.

You need to store the 'picked units/players' in variables to use them again...

€:
JASS could do the trick ofcourse, GUI variables are a sometimes bit messy to use..
 

Flare

Stops copies me!
Reaction score
662
waits inside a UG loop are bad. when your map is saved, your GUI code is converted to JASS. and in JASS, unit group loops are given a separate function to themselves such as
JASS:
function GroupActions takes nothing returns nothing
//Add X to stat
//Wait 20 seconds
//Subtract X from stat
endfunction

That'll add the stat, wait 20 seconds, remove the stat THEN move onto the next unit in the group, so it will take 20x(numbers of units in the unit group) seconds for everything to be back to normal

instead, try this

Code:
Set TempGroup = Units in X range matching conditions (bla bla bla)
Pick every unit in TempGroup and do:
   Add X (stat) to picked unit
//This is OUTSIDE the ug loops
Wait 20 seconds
//Another UG loop
Pick every unit in TempGroup and do:
  Subtract X (stat) from picked unit
 

Tholdalf

New Member
Reaction score
2
Triggering units can survive waits and i do set the targeted unit to an intreger
Code:
Set Prayer_of_Might_Unit[(Player number of (Owner of (Picked unit)))] = (Picked unit)
 

San-D

New Member
Reaction score
15
I second that with the "Wait" action. Also something souds wrong whe I read that "First add 2,than Substract 2". I dont like it.
 

Tholdalf

New Member
Reaction score
2
Ok thanks all i got it to work by ysing this code :D (the set blabla unit to no unit is to avoid bugs)

Code:
Prayer of Might
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Prayer of Might 
    Actions
        Set Prayer_of_Might_levelcheck = (Level of Prayer of Might  for (Triggering unit))
        Hero - Modify Strength of (Triggering unit): Add (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Agility of (Triggering unit): Add (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Intelligence of (Triggering unit): Add (2 x (Level of Prayer of Might  for (Triggering unit)))
        Unit Group - Pick every unit in (Units within 1200.00 of (Position of (Triggering unit))) and do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        ((Picked unit) is A Hero) Equal to True
                        ((Picked unit) belongs to an ally of (Owner of (Triggering unit))) Equal to True
                        (Unit-type of (Picked unit)) Not equal to Giant Spider
                        (Unit-type of (Picked unit)) Not equal to Bear
                    Then - Actions
                        Set Prayer_of_Might_Unit[(Player number of (Owner of (Picked unit)))] = (Picked unit)
                        Hero - Modify Strength of Prayer_of_Might_Unit[(Player number of (Owner of (Picked unit)))]: Add (2 x (Level of Prayer of Might  for (Triggering unit)))
                        Hero - Modify Agility of Prayer_of_Might_Unit[(Player number of (Owner of (Picked unit)))]: Add (2 x (Level of Prayer of Might  for (Triggering unit)))
                        Hero - Modify Intelligence of Prayer_of_Might_Unit[(Player number of (Owner of (Picked unit)))]: Add (2 x (Level of Prayer of Might  for (Triggering unit)))
                    Else - Actions
                        Do nothing
        Wait 20.00 seconds
        Hero - Modify Strength of Prayer_of_Might_Unit[2]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Agility of Prayer_of_Might_Unit[2]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Intelligence of Prayer_of_Might_Unit[2]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Strength of Prayer_of_Might_Unit[3]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Agility of Prayer_of_Might_Unit[3]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Intelligence of Prayer_of_Might_Unit[3]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Strength of Prayer_of_Might_Unit[4]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Agility of Prayer_of_Might_Unit[4]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Intelligence of Prayer_of_Might_Unit[4]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Strength of Prayer_of_Might_Unit[5]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Agility of Prayer_of_Might_Unit[5]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Intelligence of Prayer_of_Might_Unit[5]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Strength of Prayer_of_Might_Unit[6]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Agility of Prayer_of_Might_Unit[6]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Intelligence of Prayer_of_Might_Unit[6]: Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Strength of (Triggering unit): Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Agility of (Triggering unit): Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Hero - Modify Intelligence of (Triggering unit): Subtract (2 x (Level of Prayer of Might  for (Triggering unit)))
        Set Prayer_of_Might_Unit[2] = No unit
        Set Prayer_of_Might_Unit[3] = No unit
        Set Prayer_of_Might_Unit[4] = No unit
        Set Prayer_of_Might_Unit[5] = No unit
        Set Prayer_of_Might_Unit[6] = No unit
 

Syndrome

You can change this now in User CP.
Reaction score
126
Suggestion:

Better to use Unit Groups cause it will eliminate all those codes to one set.
 
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