Over the passed few days I have been slowly manually converting a WC3 map into a SC2 one as the Legacy converter is either not finished or only supposed to convert terrain. But either way, I was... getting by. The GUI is changed a lot since WC3 and I need help converting this one set of two triggers.
If anyone could tell me how to do it, do it, or somehow (and it's probably doable) make it better/more efficient/etc, I would be incredibly thankful. From what I've seen of the SC2 GUI, there are a few missing functions form WC3 for some unholy reason, which makes what I've been attempting very difficult.
Anyways, here are the WC3 triggers
Trigger 1) Safety Ward Boundary Effect
Events:
+ Time - Every 1.00 seconds of game time
Conditions:
Actions:
+ Set Safety_Wards_exist = False
+ Unit Group - Pick every unit in (Units of type Safety Ward) and do (Actions)
Loop - Actions
Set Safety_Wards_exist = True
For each (Integer A) from 1 to 9, do (Actions)
Loop - Actions
If (((Owner of (Picked unit)) is an ally of Player 1 (Red)) Equal to True) then do (Special Effect - Create a special effect at ((Position of (Picked unit)) offset by 200.00 towards ((Real((Integer A))) x 40.00) degrees) using Doodads\Cinematic\GlowingRunes\GlowingRunes0.mdl) else do (Special Effect - Create a special effect at ((Position of (Picked unit)) offset by 200.00 towards ((Real((Integer A))) x 40.00) degrees) using Doodads\Cityscape\Props\MagicRunes\MagicRunes0.mdl)
Special Effect - Destroy (Last created special effect)
+ If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Safety_Wards_exist Equal to False
Then - Actions
Trigger - Turn off Safety Ward boundary effect <gen>
Trigger - Turn off Safety Ward safety effect <gen>
Trigger - Run Safety Ward safety effect <gen> (checking conditions)
Else - Actions
Trigger 2) Safety Ward Safety Effect
Events:
+ Time - Every 0.20 seconds of game time
Conditions:
Actions:
+ Unit Group - Pick every unit in (Units in (Playable map area)) and do (Unit Group - Remove (Picked unit) from Near_Safety_Ward)
+ Unit Group - Pick every unit in (Units of type Safety Ward) and do (Actions)
Loop - Actions
Unit Group - Pick every unit in (Units within 200.00 of (Position of (Picked unit)) matching (((Owner of (Matching unit)) is an ally of (Owner of (Picked unit))) Equal to True)) and do (Unit Group - Add (Picked unit) to Near_Safety_Ward)
Unit Group - Remove (Picked unit) from Near_Safety_Ward
+ Unit Group - Pick every unit in Has_Safety_Ward_Effect and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is in Near_Safety_Ward) Equal to False
Then - Actions
Unit - Remove Safe (Safety Ward) from (Picked unit)
Unit Group - Remove (Picked unit) from Has_Safety_Ward_Effect
Else - Actions
+ Unit Group - Pick every unit in Near_Safety_Ward and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is in Has_Safety_Ward_Effect) Equal to False
Then - Actions
Unit - Add Safe (Safety Ward) to (Picked unit)
Unit Group - Add (Picked unit) to Has_Safety_Ward_Effect
Else - Actions
And that's it.
There were a couple other triggers that correspond with these two, but they were much easier to remake.
And thanks in advance for anyone who helps. Oh, and sorry for not using code, I am not very proficient with it. Otherwise I wouldn't be using GUI haha.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Over the passed few days I have been slowly manually converting a WC3 map into a SC2 one as the Legacy converter is either not finished or only supposed to convert terrain. But either way, I was... getting by. The GUI is changed a lot since WC3 and I need help converting this one set of two triggers.
If anyone could tell me how to do it, do it, or somehow (and it's probably doable) make it better/more efficient/etc, I would be incredibly thankful. From what I've seen of the SC2 GUI, there are a few missing functions form WC3 for some unholy reason, which makes what I've been attempting very difficult. Anyways, here are the WC3 triggers
Trigger 1) Safety Ward Boundary Effect
Events:
+ Time - Every 1.00 seconds of game time
Conditions:
Actions:
+ Set Safety_Wards_exist = False
+ Unit Group - Pick every unit in (Units of type Safety Ward) and do (Actions)
Loop - Actions
Set Safety_Wards_exist = True
For each (Integer A) from 1 to 9, do (Actions)
Loop - Actions
If (((Owner of (Picked unit)) is an ally of Player 1 (Red)) Equal to True) then do (Special Effect - Create a special effect at ((Position of (Picked unit)) offset by 200.00 towards ((Real((Integer A))) x 40.00) degrees) using Doodads\Cinematic\GlowingRunes\GlowingRunes0.mdl) else do (Special Effect - Create a special effect at ((Position of (Picked unit)) offset by 200.00 towards ((Real((Integer A))) x 40.00) degrees) using Doodads\Cityscape\Props\MagicRunes\MagicRunes0.mdl)
Special Effect - Destroy (Last created special effect)
+ If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Safety_Wards_exist Equal to False
Then - Actions
Trigger - Turn off Safety Ward boundary effect <gen>
Trigger - Turn off Safety Ward safety effect <gen>
Trigger - Run Safety Ward safety effect <gen> (checking conditions)
Else - Actions
Trigger 2) Safety Ward Safety Effect
Events:
+ Time - Every 0.20 seconds of game time
Conditions:
Actions:
+ Unit Group - Pick every unit in (Units in (Playable map area)) and do (Unit Group - Remove (Picked unit) from Near_Safety_Ward)
+ Unit Group - Pick every unit in (Units of type Safety Ward) and do (Actions)
Loop - Actions
Unit Group - Pick every unit in (Units within 200.00 of (Position of (Picked unit)) matching (((Owner of (Matching unit)) is an ally of (Owner of (Picked unit))) Equal to True)) and do (Unit Group - Add (Picked unit) to Near_Safety_Ward)
Unit Group - Remove (Picked unit) from Near_Safety_Ward
+ Unit Group - Pick every unit in Has_Safety_Ward_Effect and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is in Near_Safety_Ward) Equal to False
Then - Actions
Unit - Remove Safe (Safety Ward) from (Picked unit)
Unit Group - Remove (Picked unit) from Has_Safety_Ward_Effect
Else - Actions
+ Unit Group - Pick every unit in Near_Safety_Ward and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is in Has_Safety_Ward_Effect) Equal to False
Then - Actions
Unit - Add Safe (Safety Ward) to (Picked unit)
Unit Group - Add (Picked unit) to Has_Safety_Ward_Effect
Else - Actions
And that's it.
There were a couple other triggers that correspond with these two, but they were much easier to remake.
And thanks in advance for anyone who helps. Oh, and sorry for not using code, I am not very proficient with it. Otherwise I wouldn't be using GUI haha.