Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: [SOLVED] Reaver Hanger Count
[SOLVED] Reaver Hanger Count
This topic is locked. You can no longer write replies here.
May 14 2012, 6:07 pm
By: IAGG  

May 17 2012, 3:17 pm staxx Post #21



Add 0 to prevent the player owned reavers from building when theyre not supposed to.

you check when scarab is fired by the owner of it. when player 1 owns reaver a scarab is fired when a scarab enters the field trigger activates giving the scarab and reaver to another player. when the other player owns the reaver the add 0 doesnt affect it so u may add 1 to hanger and give the reaver back. At current this will add for all reavers unless you want to be more specific in which you could use center location to only affect reavers individually.



None.

May 18 2012, 2:15 am Roy Post #22

An artist's depiction of an Extended Unit Death

Quote from staxx
Add 0 to prevent the player owned reavers from building when theyre not supposed to.
Adding 0 doesn't do anything at all, so there's no point in doing that. You should not have an action that adds 0; it's pointless.

Quote from staxx
you check when scarab is fired by the owner of it. when player 1 owns reaver a scarab is fired when a scarab enters the field trigger activates giving the scarab and reaver to another player.
You still have yet to describe a way to find the Reaver that fired the Scarab. Keep in mind it was mentioned that there's over one hundred Reavers on the map, so it's not as simple as centering the location on Player 1's Reaver.

I assume your trigger for this would have the condition "Player 1 brings at least 1 Scarab to Anywhere." What would the actions be?

Quote from staxx
when the other player owns the reaver the add 0 doesnt affect it
The add 0 didn't affect the Reaver even when it was owned by Player 1.

Quote from staxx
so u may add 1 to hanger and give the reaver back.
Even if we actually found the correct Reaver and gave it to the correct player, your system would fail here because it doesn't consider the effect across multiple trigger cycles. Think about it: Player 1 fires a Reaver, so his Reaver is given to another player. The Reaver is then given +1 to its hangar and given back to Player 1. That part works. But Player 1 still has that Scarab on the field, so what happens? Well, since Player 1 has that Scarab still, his Reaver is given to another player, it receives +1 to its hangar, and then it's given back. This will repeat several times even though the Reaver only shot one Scarab, increasing the number of Scarabs to much higher than intended and thereby ruining the purpose of the system.

Quote from staxx
At current this will add for all reavers unless you want to be more specific in which you could use center location to only affect reavers individually.
This would have to be more specific. 100 Reavers all getting +1 to their hangar because one Reaver fired is going to be a serious issue. My suggestion of finding the firing Reaver was to move a location onto the fired Scarab, but that's a flawed system because if two or more Reavers are near each other, the wrong Reaver (or if you're foolish enough to "give all" at the location, multiple wrong Reavers) may be selected to be given to the other player.

There's a chance I'm not understanding your solution, but I think you're just missing the underlying issues with designing such a system. If you do in fact have a good solution for this problem that you've been trying to explain here, I'd like to see a proof-of-concept map, because you're omitting important details of it in your descriptions.




May 18 2012, 3:06 am staxx Post #23



Quote from Roy
Quote from staxx
Add 0 to prevent the player owned reavers from building when theyre not supposed to.
Adding 0 doesn't do anything at all, so there's no point in doing that. You should not have an action that adds 0; it's pointless.

When a reaver or carrier is attacked they auto build scarabs or interceptors. The always add 0 makes sure they never build them.

Quote from Roy
Quote from staxx
you check when scarab is fired by the owner of it. when player 1 owns reaver a scarab is fired when a scarab enters the field trigger activates giving the scarab and reaver to another player.
You still have yet to describe a way to find the Reaver that fired the Scarab. Keep in mind it was mentioned that there's over one hundred Reavers on the map, so it's not as simple as centering the location on Player 1's Reaver.

Player 1 owns the reaver. Player 1's Reaver fires a Scarab. Both the scarab and reaver are now given to Player 2. While Player 2 has ownership of the reaver 1 scarab is added to the hanger and then the reaver is returned to player 1 (not the scarab, just the reaver). Use the give all command so that all scarabs and reavers are given and this trigger will only fire one time per release of Player 1's scarab. If you prefer to individualize you may use the center location command so that u can affect 1 reaver at a time


Quote from Roy
Quote from staxx
when the other player owns the reaver the add 0 doesnt affect it
The add 0 didn't affect the Reaver even when it was owned by Player 1.
Sure it did...Read Top

Quote from Roy
Quote from staxx
so u may add 1 to hanger and give the reaver back.
Even if we actually found the correct Reaver and gave it to the correct player, your system would fail here because it doesn't consider the effect across multiple trigger cycles. Think about it: Player 1 fires a Reaver, so his Reaver is given to another player. The Reaver is then given +1 to its hangar and given back to Player 1. That part works. But Player 1 still has that Scarab on the field, so what happens? Well, since Player 1 has that Scarab still, his Reaver is given to another player, it receives +1 to its hangar, and then it's given back. This will repeat several times even though the Reaver only shot one Scarab, increasing the number of Scarabs to much higher than intended and thereby ruining the purpose of the system.
...My initial post stated the scarab ownership is transferred and only the reaver is given back to its original owner. Pretty sure scarabs only transfer ownership automatically while theyre inside the reaver. When theyre on the field they have to be given via trigger.

Quote from Roy
Quote from staxx
At current this will add for all reavers unless you want to be more specific in which you could use center location to only affect reavers individually.
This would have to be more specific. 100 Reavers all getting +1 to their hangar because one Reaver fired is going to be a serious issue. My suggestion of finding the firing Reaver was to move a location onto the fired Scarab, but that's a flawed system because if two or more Reavers are near each other, the wrong Reaver (or if you're foolish enough to "give all" at the location, multiple wrong Reavers) may be selected to be given to the other player.
Agreed. However, i'm unsure of how his/her map works. whether all 100 reavers will be constantly firing or only a few at a period of time. This is why i posted the one that will add 1 to all but also stated if theres a need to individualize then you can use center location. Location size would be the key in only affecting 1 reaver at a time.

Quote from Roy
There's a chance I'm not understanding your solution, but I think you're just missing the underlying issues with designing such a system. If you do in fact have a good solution for this problem that you've been trying to explain here, I'd like to see a proof-of-concept map, because you're omitting important details of it in your descriptions.
I see, when i get time i'll pm you with the proof-of-concept. There are also a couple other ways of doing this but i feel the above is one of more suited for his/her needs.

Post has been edited 1 time(s), last time on May 18 2012, 3:41 am by staxx.



None.

May 18 2012, 4:05 am Roy Post #24

An artist's depiction of an Extended Unit Death

Reavers are being given Scarabs via triggers; they're not building them. Therefore, the add 0 hangar is useless.
Quote from staxx
Player 1 owns the reaver. Player 1's Reaver fires a Scarab. Both the scarab and reaver are now given to Player 2.
Player 1 owns up to 100 Reavers. One random Reaver fires a Scarab. You give one random Reaver to Player 2? There's a 99% chance you gave the wrong Reaver unless you have some system for determining which Reaver fired the Scarab.

Quote from staxx
While Player 2 has ownership of the reaver 1 scarab is added to the hanger and then the reaver is returned to player 1 (not the scarab, just the reaver).
You can't give Scarabs to other players; you have to give the Reaver that owns the Scarab. Giving the Reaver also gives the Scarab. This works the same way with Interceptors and Carriers.

Quote from staxx
Use the give all command so that all scarabs and reavers are given and this trigger will only fire one time per release of Player 1's scarab.
I assume you mean this specifically for the give back only, so that means you still haven't mentioned how to individually select the firing Reaver out of a group of many Reavers.

Quote from staxx
...My initial post stated the scarab ownership is transferred and only the reaver is given back to its original owner. Pretty sure scarabs only transfer ownership automatically while theyre inside the reaver. When theyre on the field they have to be given via trigger.
You may want to back up your certainty with evidence. I've attached a map proving that using "Give Unit" on Scarabs doesn't do anything. Feel free to do more research on it if you'd like (in fact, I encourage it, and would suggest you make a similar test to see that Scarabs are given automatically when the Reaver is given, even if the Scarab is deployed; again, it's the same relationship an interceptor has to a Carrier).

Quote from staxx
Agreed. However, i'm unsure of how his/her map works. whether all 100 reavers will be constantly firing or only a few at a period of time. This is why i posted the one that will add 1 to all but also stated if theres a need to individualize then you can use center location. Location size would be the key in only affecting 1 reaver at a time.
If they were all firing at the same time and/or constantly, we could just replenish hangar count based on a timer. Unfortunately, this doesn't seem to be the case.

I'd still like to hear how you would center a location on the correct Reaver. Are you going to cycle through all Reavers and somehow figure out when to stop, or are you taking a similar approach to my idea of just grabbing the nearest Reaver to a fired Scarab?




Edit: Here's a possible solution you could use for this problem, AIGG, but it's expensive:

Check when Player A brings at least 1 Scarab to Anywhere. When this happens, cycle through Player A's Reavers by giving to Player B, and if Player B brings at least 1 Scarab to Anywhere during this cycle, give the last given Reaver to Player C. When you finish cycling through Player A's Reavers, give all Reavers owned by Player B back to Player A. Remove all Scarabs for Player A via the "Remove Unit" action, which will remove Scarabs from the hangar. Now give Player C's Reavers back to Player A.

In the above scenario, you can reuse Player B for different players, and if this is done in the same trigger cycle, you can reuse Player C for different players as well. However, doing this many gives every trigger cycle is likely to cause performance issues, so you can modify the above to not give Player C's Reavers back to Player A for a certain amount of time (preferably using a death count timer). The drawback to this is that it forces Player C to be unique to Player A.

As for the cycling bit, it's ugly. You're gonna have to do this:

Trigger #1:
C: Current Player suffered exactly 0 deaths of Stage
C: Current Player brings at least 1 Scarab to Anywhere
A: Set deaths of Stage for Current Player to 1
A: Preserve Trigger

Trigger #2a:
C: Current Player suffered exactly 1 deaths of Stage
C: Current Player brings at least 1 Reaver to Anywhere
A: Move Location CurrentReaver on Reaver owned by Player A at Anywhere
A: Give 1 Reaver owned by Player A at Anywhere to Player B
A: Preserve Trigger

Trigger #2b:
C: Current Player suffered exactly 1 deaths of Stage
C: Player B brings at least 1 Scarab to Anywhere
A: Give all Reaver owned by Player B at CurrentReaver to Player C
A: Preserve Trigger

... Then you repeat Trigger #2 (both parts a and b, in alternation) n times, where n is the max number of Reavers the player can have. At some point, Player A will no longer have any Reavers to give, and the process continues:

Trigger #3
C: Current Player suffered exactly 1 deaths of Stage
C: Current Player brings exactly 0 Reaver to Anywhere
A: Set deaths of Stage for Current Player: Set to 2
A: Give all Reaver owned by Player B at Anywhere to Current Player
A: Remove all Scarab for Current Player
A: Add at most 1 unit hangar for all Reaver owned by Current Player
A: Set deaths of Wait for Current Player: Set to 12 (Optional)
A: Preserve Trigger

Trigger #4 (Optional)
C: Always
A: Set deaths of Wait for Current Player: Subtract 1
A: Preserve Trigger

Trigger #5:
C: Current Player suffered exactly 2 deaths of Stage
C: Current Player suffered exactly 0 deaths of Wait (Optional)
A: Give all Reaver owned by Player C to Current Player
A: Set deaths of Stage for Current Player: Set to 0
A: Preserve Trigger

Post has been edited 5 time(s), last time on May 23 2012, 12:56 am by Roy.




May 18 2012, 8:09 am Sacrieur Post #25

Still Napping

Roy's method is pretty much one of the easiest ways of doing it, it's also the most reliable. The map being used is Temple Siege, so there are a few things:

1) Players 7 and 8 are computer controlled and on opposing teams.

2) Players can construct cybernetics cores, which spawn reavers. There is no limit to how many can spawn, and often more than one core is built. This strategy only works if there are enough reavers to overwhelm the opposition.

3) Players 1, 2, 3, 4, 5, and 6 are player controlled, they can have reavers outside of this system. The exceptions are the light mage, with his l2 and l4 (it literally spawns reavers under his command, if only for a few moments) and magician, with his l3 he can take control of an allied computer controlled unit (not common knowledge, but he can seize control of reavers).

4) Large amounts of reavers shoved into a small space tends to make them stack on top of each other. It rarely reaches the point where this happens, but it can happen.



None.

May 19 2012, 7:05 am Vrael Post #26



Quote from IAGG
Im having an issue with the hanger count for reavers. is it possible to keep the hanger count constantly at 1 or 2 scarabs? obviously it will be at 0 or 1 when it attacks for a split second. when i use modify hanger count to add at most 1 or 2 it will set its hanger count to 10. its instant cause im using hyper triggers. Im assuming the problem is "Add" at most and the conditions are "Always", so its just maxing the hanger count at all times. If there is suggestions on how to keep it at 1 or 2 to prevent a map max in my map please comment. Thanks
A better explanation of what you're trying to achieve in this map with your reavers may also result in a solution. Sometimes people come up with outside-the-box solutions to problems when they know the big picture that they can't think of when you only provide a small detail.



None.

May 22 2012, 3:34 am IAGG Post #27



Quote from Vrael
Quote from IAGG
Im having an issue with the hanger count for reavers. is it possible to keep the hanger count constantly at 1 or 2 scarabs? obviously it will be at 0 or 1 when it attacks for a split second. when i use modify hanger count to add at most 1 or 2 it will set its hanger count to 10. its instant cause im using hyper triggers. Im assuming the problem is "Add" at most and the conditions are "Always", so its just maxing the hanger count at all times. If there is suggestions on how to keep it at 1 or 2 to prevent a map max in my map please comment. Thanks
A better explanation of what you're trying to achieve in this map with your reavers may also result in a solution. Sometimes people come up with outside-the-box solutions to problems when they know the big picture that they can't think of when you only provide a small detail.

My Apologize, What Sacrieur said is all the information and probably better than I would of described it. Is it possible to do Roy's Suggestion with this knowledge? And on a side note, is there anyway possible for any of player 9-12 to be used for this? And yes im aware 9 and 10 have trigger issues. I really like his suggestion and pretty much covers what I need to do.

@Roy, I tried to download the file but its saying it doesnt exist



None.

May 23 2012, 1:00 am Roy Post #28

An artist's depiction of an Extended Unit Death

You can use Player 9-11 for my suggestion, maybe, depending on how scarabs work when they're given to those players. It sounds like something worth testing.

The main drawback of my suggestion, like I mentioned, is that it is expensive; implementing it could cause performance issues. But yes, for the scenario described, it should work.

Quote from IAGG
@Roy, I tried to download the file but its saying it doesnt exist
I was cleaning up my attachments and deleted it, it seems. I reattached the map to the post.




Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[05:02 am]
Oh_Man -- whereas just "press X to get 50 health back" is pretty mindless
[05:02 am]
Oh_Man -- because it adds anotherr level of player decision-making where u dont wanna walk too far away from the medic or u lose healing value
[05:01 am]
Oh_Man -- initially I thought it was weird why is he still using the basic pre-EUD medic healing system, but it's actually genius
[03:04 am]
Ultraviolet -- Vrael
Vrael shouted: I almost had a heart attack just thinking about calculating all the offsets it would take to do that kind of stuff
With the modern EUD editors, I don't think they're calculating nearly as many offsets as you might imagine. Still some fancy ass work that I'm sure took a ton of effort
[12:51 am]
Oh_Man -- definitely EUD
[09:35 pm]
Vrael -- I almost had a heart attack just thinking about calculating all the offsets it would take to do that kind of stuff
[09:35 pm]
Vrael -- that is insane
[09:35 pm]
Vrael -- damn is that all EUD effects?
[2024-5-04. : 10:53 pm]
Oh_Man -- https://youtu.be/MHOZptE-_-c are yall seeing this map? it's insane
[2024-5-04. : 1:05 am]
Vrael -- I won't stand for people going around saying things like im not a total madman
Please log in to shout.


Members Online: jun3hong