Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: Using Unburrow Detection
Using Unburrow Detection
Dec 10 2014, 6:11 pm
By: x)aCe(x  

Dec 10 2014, 6:11 pm x)aCe(x Post #1



Say I want to detect when a drone unburrows as a means of activating a revive.

What method could I use to detect whether burrowed or unburrowed?



None.

Dec 10 2014, 6:37 pm Zoan Post #2

Math + Physics + StarCraft = Zoan

Here are the steps you need to have the triggers follow:

1: center a small 1 pixel by 1 pixel location on the drone

2: move an arbitrary but small unit owned by a computer player, say a terran civilian, from an arbitrary, isolated location to the 1 pixel by 1 pixel location you centered on the drone

3: in a separate trigger, detect whether the terran civilian is at the 1 pixel by 1 pixel location. If he is, the drone is burrowed. If he is not, the drone is unburrowed.

4: move the civilian back to it's arbitrary, isolated location, using a 'move all terran marine for -computer player- at location anywhere to 'isolated location''.

Post has been edited 1 time(s), last time on Dec 11 2014, 8:31 pm by Zoan.



\:rip\:ooooo\:wob\:ooooo \:angel\: ooooo\:wob\:ooooo\:rip\:

Dec 12 2014, 2:19 am x)aCe(x Post #3



Is there an EUD method?




Dec 12 2014, 2:41 am Roy Post #4

An artist's depiction of an Extended Unit Death

Quote from x)aCe(x
Is there an EUD method?
Yes. From Unitnode Structure:
+0xDC - DWORD dwStatus
00000001(0x1) - Is Completed
00000010(0x2) - Is on ground? or is it is unit...
00000100(0x4) - Is in air
00001000(0x8) - Checked for disabled, if it is 00001000, then the unit is disabled(/unpowered?)
00010000(0x10) - Checked for burrowing purposes, if it is 00010000, then the unit is burrowed
00100000(0x20) - Unit is entering a building
01000000(0x40) - unit is entering a transport
10000000(0x80) -

00000001(0x100) - Checked for invisible purposes, if it is 00000001, then the unit requires a detector?
00000010(0x200) - checked for cloak?
00000100(0x400) - deals with doodad states? if set, is disabled
00001000(0x800) - Unit cloaking doesn't need energy decrease
00010000(0x1000) - Unit is in unbreakable code section? Cannot receive orders
00100000(0x2000) - Set by nobrkcodestart
01000000(0x4000) -
10000000(0x8000) - cannot attack if set

00000001(0x10000)
00000010(0x20000) - Is a Building?

00000100(0x4000000) - Invincible

00010000(0x10000000) - Speed upgrade
00100000(0x20000000) - cooldown upgrade

You'll have to see what other flags are set on these bytes for the unit of interest to get the exact values, and of course +0xDC means how far it is from the start of the unit struct at a particular index. I'd probably opt for the method Zoan suggested for the sake of simplicity, though (it's what I used for Fireball's burrow detection).




Dec 12 2014, 2:51 am jjf28 Post #5

Cartography Artisan

Would suggest using a more modern reference:

https://code.google.com/p/bwapi/source/browse/trunk/bwapi/BWAPI/Source/BW/UnitStatusFlags.h
https://code.google.com/p/bwapi/source/browse/trunk/bwapi/BWAPI/Source/BW/CUnit.h



TheNitesWhoSay - Clan Aura - github

Reached the top of StarCraft theory crafting 2:12 AM CST, August 2nd, 2014.

Dec 24 2014, 8:03 pm rockz Post #6

ᴄʜᴇᴇsᴇ ɪᴛ!

I find using scarabs, interceptors, or siege tanks infinitely easier than a burrowed unit.



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Dec 25 2014, 7:36 pm Sacrieur Post #7

Still Napping

You could put a power-up (owned by player 12) over the drone. Detect when the player brings the power-up to the location. When the worker picks up the power-up, it will be read as being owned by the player's worker. Killing the unit drops the power-up, returning its ownership to player 12.

Supposing this is in some controlled environment where you don't have to worry about anyone else picking it up. It won't be as fast as other methods listed above though, since there is a delay between when the drone unburrows and when it picks up the power-up.



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[01:19 pm]
Vrael -- IM GONNA MANUFACTURE SOME SPORTBALL EQUIPMENT WHERE THE SUN DONT SHINE BOY
[2024-5-02. : 1:35 am]
Ultraviolet -- Vrael
Vrael shouted: NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
Gonna put deez sportballs in your mouth
[2024-5-01. : 1:24 pm]
Vrael -- NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
[2024-4-30. : 5:08 pm]
Oh_Man -- https://youtu.be/lGxUOgfmUCQ
[2024-4-30. : 7:43 am]
NudeRaider -- Vrael
Vrael shouted: if you're gonna link that shit at least link some quality shit: https://www.youtube.com/watch?v=uUV3KvnvT-w
Yeah I'm not a big fan of Westernhagen either, Fanta vier much better! But they didn't drop the lyrics that fit the situation. Farty: Ich bin wieder hier; nobody: in meinem Revier; Me: war nie wirklich weg
[2024-4-29. : 6:36 pm]
RIVE -- Nah, I'm still on Orange Box.
[2024-4-29. : 4:36 pm]
Oh_Man -- anyone play Outside the Box yet? it was a fun time
[2024-4-29. : 12:52 pm]
Vrael -- if you're gonna link that shit at least link some quality shit: https://www.youtube.com/watch?v=uUV3KvnvT-w
[2024-4-29. : 11:17 am]
Zycorax -- :wob:
[2024-4-27. : 9:38 pm]
NudeRaider -- Ultraviolet
Ultraviolet shouted: NudeRaider sing it brother
trust me, you don't wanna hear that. I defer that to the pros.
Please log in to shout.


Members Online: Moose