Iron Wars development thread (download not available)

Post Reply
User avatar
IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8331
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘ జ్ఞ‌ా

Re: Take two, this time in space

Post by IskatuMesk »

A wait will stop it from attacking.

target range cond jump does weird stuff (aka ignores the range check) with loading units with transports (if you right click Syrius onto an overlord with drop in AO you're guaranteed to crash eventually), so I'm not sure about that.

/e

On second thought my range check might have failed because it was based on an attack. I think in the movement code it SHOULD stop before it reaches the targeted pick up unit.
User avatar
Ardis
Terran Nuclear Silo Safety Inspector
Terran Nuclear Silo Safety Inspector
Posts: 228
Joined: Tue Sep 05, 2006 5:03 pm
Location: Ohio, USA

Re: Take two, this time in space

Post by Ardis »

What would be a good range for that? I don't know what the measurement for the trgtrangecondjmp is. If it were by weapon range (going by weapons.dat, which is also twice the number in units.dat) I would probably go for 48-ish, maybe vary the number on each unit based on the size and speed of that unit.

Another idea I'm going to mess with on my warp experiment unit. I'm going to add a nobrkcodestart to the enter warp animation and add a nobrkcodeend to the exit warp animation. What this SHOULD do is make it so you can't give units orders mid-warp since the units are supposedly moving faster than light and communication should be impossible with them.
I'm not unstable.
Unstable implies that I could BECOME more dangerous than I am now.
User avatar
IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8331
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘ జ్ఞ‌ా

Re: Take two, this time in space

Post by IskatuMesk »

140 is the range for Syrius' teleport check, which is a pretty short range.

Be veeery careful with unbreakable code in walk animations, especially with Air units who don't always actually run the walk animation to begin with (this is why the Great Destroyer sometimes "freezes" and stops moving, he needs the walk code to teleport).
User avatar
Ardis
Terran Nuclear Silo Safety Inspector
Terran Nuclear Silo Safety Inspector
Posts: 228
Joined: Tue Sep 05, 2006 5:03 pm
Location: Ohio, USA

Re: Take two, this time in space

Post by Ardis »

Hmm... I seem to be doing something wrong because it's not even entering warp in the first place.

Here's what I have right now. Odds are I'm using the trgtrangecondjmp code wrong... But I don't really know how to use it right in the first place.
Spoiler

Code: Select all

DropshipWalking:
	trgtrangecondjmp 160 DropshipLocal03
	imgol          	225 0 0	# DropshipGlow (thingy\tdrGlow.grp)
	setvertpos     	0
	goto           	DropshipLocal00

DropshipLocal03:
	setflspeed	3200
	setvertpos     	0
	imgol		555 0 0 # EMP Shockwave Hit Part 1 (thingy\emp.grp)

DropshipMidwarp:
	trgtrangecondjmp	40 DropshipLocal04
	goto	DropshipMidwarp
	

DropshipLocal04:
	setflspeed	864
	setvertpos     	0
	imgol		555 0 0 # EMP Shockwave Hit Part 1 (thingy\emp.grp)
	wait		45
	goto           	DropshipLocal00
I'm not unstable.
Unstable implies that I could BECOME more dangerous than I am now.
User avatar
IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8331
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘ జ్ఞ‌ా

Re: Take two, this time in space

Post by IskatuMesk »

DropshipMidwarp:
trgtrangecondjmp 40 DropshipLocal04
goto DropshipMidwarp


^ that looks like a wonderful opportunity to crash sc since there isn't a wait between the header and goto.

Target range triggers at that range and anything below it. So Syrius teleports at 140 and any number lower than that.

Full Syrius code to get an idea how the teleport cycle works.
Spoiler

Code: Select all

# ----------------------------------------------------------------------------- #
# This is a decompile of the iscript.bin file 'data\scripts\iscript.bin'
# created on: Thu Nov 22 01:03:17 2007
# ----------------------------------------------------------------------------- #

# ----------------------------------------------------------------------------- #
# This header is used by images.dat entries:
# 033 InfestedKerrigan (zerg\uikerr.grp)
.headerstart
IsId           	20
Type           	26
Init           	InfestedKerriganInit
Death          	InfestedKerriganDeath
GndAttkInit    	InfestedKerriganGndAttkInit
AirAttkInit    	InfestedKerriganGndAttkInit
SpAbility1     	[NONE]
GndAttkRpt     	InfestedKerriganGndAttkInit
AirAttkRpt     	InfestedKerriganGndAttkInit
SpAbility2     	InfestedKerriganSpAbility2
GndAttkToIdle  	InfestedKerriganGndAttkToIdle
AirAttkToIdle  	InfestedKerriganGndAttkToIdle
SpAbility3     	[NONE]
Walking        	InfestedKerriganWalking
Other          	InfestedKerriganGndAttkToIdle
BurrowInit     	[NONE]
ConstrctHarvst 	[NONE]
IsWorking      	[NONE]
Landing        	[NONE]
LiftOff        	[NONE]
Unknown18      	[NONE]
Unknown19      	[NONE]
Unknown20      	[NONE]
Unknown21      	[NONE]
Unknown22      	[NONE]
Unknown23      	[NONE]
Unknown24      	[NONE]
Burrow         	[NONE]
UnBurrow       	[NONE]
Unknown27      	[NONE]
.headerend
# ----------------------------------------------------------------------------- #

InfestedKerriganInit:
	imgul09        	34 251 251	# InfestedKerriganShad 
InfestedKerriganGndAttkToIdle:
	tmprmgraphicend
	playfram       	0x00	# frame set 8
	wait           	2
	playfram       	0x11	# frame set 9
	wait           	2
	playfram       	0x22	# frame set 10
	wait           	2
	playfram       	0x33	# frame set 11
	wait           	2
	playfram       	0x44	# frame set 12
	wait           	2
	playfram       	0x55	# frame set 13
	wait           	2
	playfram       	0x77	# frame set 14
	wait           	2
	playfram       	0x88	# frame set 15
	wait           	2
	playfram       	0x99	# frame set 15
	wait           	2
	playfram       	0xaa	# frame set 15
	wait           	2
	playfram       	0xbb	# frame set 15
	wait           	2
	goto           	InfestedKerriganGndAttkToIdle

InfestedKerriganDeath:
	playsnd        	202	# Zerg\InfestedKerrigan\ZDeDth00.WAV
	imgol08        	333 0 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	wait           	1
	end            	

InfestedKerriganGndAttkInit:
	tmprmgraphicend
	__1e_condjmp   	25 local02
	nobrkcodestart 	
	playsndrand    	3 696 697 698
	shvertpos      	2
	playfram       	0x1dc	# frame set 16
	wait           	1
	playfram       	0x1ed	# frame set 17
	wait           	1
	playfram       	0x1fe	# frame set 18
	wait           	1
	playfram       	0x20f	# frame set 19
	wait           	1
	playfram       	0x220	# frame set 20
	wait           	1
	playfram       	0x231	# frame set 20
	wait           	1
	playsndrand	3 699 700 701		
	attack25	1 
	playfram       	0x242	# frame set 20
	wait           	1
	playfram       	0x253	# frame set 20
	wait           	1
	playfram       	0x264	# frame set 20
	wait           	1
	playfram       	0x275	# frame set 20
	wait           	1
	attack25	1 
	playsndrand	3 699 700 701	
	playfram       	0x286	# frame set 20
	wait           	1
	playfram       	0x297	# frame set 20
	wait           	1
	playfram       	0x2a8	# frame set 20
	wait           	1
	playfram       	0x2b9	# frame set 20
	wait           	1
	playfram       	0x2ca	# frame set 20
	wait           	1
	playfram       	0x2db	# frame set 20
	wait           	1
	shvertpos      	0
	nobrkcodeend   	
	gotorepeatattk 	
	goto           	InfestedKerriganGndAttkToIdle

local02:
	nobrkcodestart 	
	playsnd		691
	playfram       	0x2ec	# frame set 20
	wait           	1
	playfram       	0x2fd	# frame set 20
	wait           	1
	playfram       	0x30e	# frame set 20
	wait           	1
	playfram       	0x31f	# frame set 20
	wait           	1
	playfram       	0x330	# frame set 20
	wait           	1
	playfram       	0x341	# frame set 20
	wait           	1
	playfram       	0x352	# frame set 20
	wait           	1
	playfram       	0x363	# frame set 20
	wait           	1
	move		60
	playfram       	0x374	# frame set 20
	wait           	1
	move		60
	playfram       	0x385	# frame set 20
	wait           	1
	move		60
	playfram       	0x396	# frame set 20
	wait           	1
	move		60
	playfram       	0x3a7	# frame set 20
	wait           	1
	move		60
	playfram       	0x3b8	# frame set 20
	move		60
	wait           	1
	playsnd		692
	attack25	1 
	attack25	1 
	attack25	1 
	attack25	1 
	attack25	1 
	attack25	1 
	playfram       	0x3c9	# frame set 20
	wait           	1
	playfram       	0x3da	# frame set 20
	wait           	1
	playfram       	0x3eb	# frame set 20
	wait           	1
	nobrkcodeend   	
	gotorepeatattk 	
	goto           	InfestedKerriganGndAttkToIdle

local03:
	playfram       	0x2ec	# frame set 20
	wait           	1
	playfram       	0x2fd	# frame set 20
	wait           	1
	playfram       	0x30e	# frame set 20
	wait           	1
	playfram       	0x31f	# frame set 20
	wait           	1
	playfram       	0x330	# frame set 20
	wait           	1
	playfram       	0x341	# frame set 20
	wait           	1
	playfram       	0x352	# frame set 20
	wait           	1
	playsnd		693
	sprol0f		376 0 0
	sprol0f		376 0 10
	sprol0f		376 10 0
	sprol0f		376 10 10
	sprol0f		376 -10 -10
	sprol0f		376 0 -10
	sprol0f		376 -10 0
	tmprmgraphicstart

telecycle:
	#sprol0f		158	0 0
	trgtrangecondjmp 10 local03resume
	move		60
	wait		1
	goto telecycle

local03resume:
	tmprmgraphicend
	playfram       	0x363	# frame set 20
	wait           	1
	move		60
	playfram       	0x374	# frame set 20
	wait           	1
	move		60
	playfram       	0x385	# frame set 20
	wait           	1
	move		60
	playfram       	0x396	# frame set 20
	wait           	1
	move		60
	playfram       	0x3a7	# frame set 20
	wait           	1
	move		60
	playfram       	0x3b8	# frame set 20
	move		60
	wait           	1
	playsnd		692
	attack25	1 
	attack25	1 
	attack25	1 
	attack25	1 
	playfram       	0x3c9	# frame set 20
	wait           	1
	playfram       	0x3da	# frame set 20
	wait           	1
	playfram       	0x3eb	# frame set 20
	wait           	1
	gotorepeatattk 
	goto           	InfestedKerriganGndAttkToIdle


InfestedKerriganSpAbility2:
	tmprmgraphicend
	playfram       	0x00	# frame set 0
	nobrkcodestart 	
	playfram       	0x00	# frame set 0
	wait           	1
	playsnd        	71	# Bullet\ZGuFir00.wav
	playfram       	0x11	# frame set 1
	wait           	1
	playfram       	0x22	# frame set 2
	wait           	1
	playfram       	0x33	# frame set 3
	wait           	1
	playfram       	0x44	# frame set 4
	wait           	1
	playfram       	0x55	# frame set 5
	wait           	1
	playfram       	0x66	# frame set 6
	wait           	1
	playfram       	0x77	# frame set 7
	castspell      	
	wait           	1
	playfram       	0x88	# frame set 8
	wait           	1
	playfram       	0x99	# frame set 9
	nobrkcodeend   	
	gotorepeatattk 	
	sigorder       	2
	goto           	InfestedKerriganGndAttkToIdle

InfestedKerriganWalking:
	tmprmgraphicend
	playfram       	0xcc	# frame set 16
	move           	4
	wait		1
	trgtrangecondjmp 140 local03
	playfram       	0xdd	# frame set 17
	move           	4
	wait		1
	playfram       	0xee	# frame set 18
	move           	4
	wait		1
	trgtrangecondjmp 140 local03
	playfram       	0xff	# frame set 19
	move           	4
	wait		1
	playfram       	0x110	# frame set 20
	move           	4
	wait           	1
	trgtrangecondjmp 140 local03
	playfram       	0x121	# frame set 20
	move           	4
	wait           	1
	playfram       	0x132	# frame set 20
	move           	4
	wait           	1
	trgtrangecondjmp 140 local03
	playfram       	0x143	# frame set 20
	move           	4
	wait           	1
	playfram       	0x154	# frame set 20
	move           	4
	wait           	1
	trgtrangecondjmp 140 local03
	playfram       	0x165	# frame set 20
	move           	4
	wait           	1
	playfram       	0x176	# frame set 20
	move           	4
	wait           	1
	trgtrangecondjmp 140 local03
	playfram       	0x187	# frame set 20
	move           	4
	wait           	1
	playfram       	0x198	# frame set 20
	move           	4
	wait           	1
	trgtrangecondjmp 140 local03
	playfram       	0x1a9	# frame set 20
	move           	4
	wait           	1
	playfram       	0x1ba	# frame set 20
	move           	4
	wait           	1
	trgtrangecondjmp 140 local03
	playfram       	0x1cb	# frame set 20
	move           	4
	wait           	1

	goto           	InfestedKerriganWalking


For a warp cycle I imagine at the very start of the walk header you run the range check. If the range check confirms, it jumps to NORMAL movement speed. Otherwise it jumps to warp. Since the range check will check if it's targeting the minimum range you want. In the warp cycle, you constantly check for that same range with wait 1. If the check succeeds, it resumes normal speed.

edit/

Oh, Syrius' teleport doesn't work when moving, only attacking/clicking on friendly unit.

Crap now I forgot how I was going to do that.

/e 2

Okay, here's an alternate idea since I think target range needs an actual target and not the ground.

Have a wait in your movement code. This is the time it will take until the ship starts warp. Then goto warp after the wait completes. Otherwise it moves at normal speed. Walk to idle and idle reset the movement speed.

I am not sure if it's possible to check the range of geometry target or not.
Last edited by IskatuMesk on Fri Feb 19, 2010 5:15 pm, edited 1 time in total.
bajadulce
Terran Dropship Flight Attendant
Terran Dropship Flight Attendant
Posts: 155
Joined: Mon Jun 25, 2007 2:30 pm
Location: Santa Cruz, CA

Re: Take two, this time in space

Post by bajadulce »

I thought you meant "warp" as in through some kind of physical gate like the nydus canal etc. 

If you're just trying to make a unit go really fast while having the graphics disappear, then ya iscript + raw .grp manipulation will give you the desired effect.

Add some trick warp animations as well as a bright streak indicating the direction the unit just warped from.    Also the unit should accelerate before warping and decelerate coming out of warp for the full effect.  :)  Maybe a random chance for the ship to get off course or even blow up. 
User avatar
Ardis
Terran Nuclear Silo Safety Inspector
Terran Nuclear Silo Safety Inspector
Posts: 228
Joined: Tue Sep 05, 2006 5:03 pm
Location: Ohio, USA

Re: Take two, this time in space

Post by Ardis »

Wonderful indeed. Yeah, I caught the missing wait line and added it to the actual code block a few minutes after I posted that part and was too busy trying to fix the code to actually fix the post.

So far I have it to the point where it will enter warp, but won't go very fast since it's trying to pick up speed. I also need to figure out how to make it maintain the warp until it reaches its destination. Right now it's warping, trying to build speed (and not going very fast) then suddenly stopping before any speed can be built up, then starting the process over. And it's supposed to stop the moment it comes out of warp, now I just need to figure out how to make it stay in warp since I can't use trgrangecondjmp for movement without a unit target for its movement.

And yes, I know why it's stopping, I'm just out of ideas on how to make it maintain the warp, that wait code in Local03 is only temporary. If anything, I can make it so it has to warp for a very specific amount of time, but that could cause shorter warps to go too far and longer warps to fall short of their destination.

I think the setflspeed only sets the max speed and not the current speed, meaning it has to accelerate up to that speed. Either that or 32 ticks isn't enough time for it to change speed.

Don't mind the sounds I added, those are just there so I know which code block is being called since they both use the EMP Shockwave visual.

And I was planning on giving one of the factions jump gates, baja.
Spoiler

Code: Select all

DropshipWalking:
	imgol          	225 0 0	# DropshipGlow (thingy\tdrGlow.grp)
	setvertpos     	0
	wait		32
	goto           	DropshipLocal03

DropshipLocal03:
	nobrkcodestart
	playsnd        	177	# Terran\BATTLE\tbaDth00.wav
	imgol		555 0 0 # EMP Shockwave Hit Part 1 (thingy\emp.grp)
	setflspeed	16400
	setvertpos     	0
	wait		32
	goto		DropshipLocal04

DropshipLocal04:
	setflspeed	0
	setvertpos     	0
	imgol		555 0 0 # EMP Shockwave Hit Part 1 (thingy\emp.grp)
	playsnd        	210	# Terran\Dropship\TDrDth00.wav
	wait		72
	setflspeed	864
	nobrkcodeend
	goto           	DropshipLocal00
I'm not unstable.
Unstable implies that I could BECOME more dangerous than I am now.
User avatar
Ardis
Terran Nuclear Silo Safety Inspector
Terran Nuclear Silo Safety Inspector
Posts: 228
Joined: Tue Sep 05, 2006 5:03 pm
Location: Ohio, USA

Re: Take two, this time in space

Post by Ardis »

Okay, I tried this instead:
Spoiler

Code: Select all

DropshipWalking:
	imgol          	225 0 0	# DropshipGlow (thingy\tdrGlow.grp)
	setvertpos     	0
	wait		64
	goto           	DropshipLocal03

DropshipLocal03:
	nobrkcodestart
	playsnd        	177	# Terran\BATTLE\tbaDth00.wav
	imgol		555 0 0 # EMP Shockwave Hit Part 1 (thingy\emp.grp)
	setflspeed	3200
	setvertpos     	0
	wait		128
	goto		DropshipMidwarp

DropshipMidwarp:
	wait		1
	move		30
	imgol		555 0 0 # EMP Shockwave Hit Part 1 (thingy\emp.grp)
	goto		DropshipMidwarp
	
Result was:
Unit started moving.
Unit enters warp with the proper effect and sound.
Unit immediately zooms off in a speed way beyond what I predicted (dropped the number to 20, change not shown on post)
Unit zooms across the map.
Unit gets stuck in corner and can't stop.
I shut StarCraft off, really confused.

If I can figure out how to maintain the warp and allow it to stop when it's supposed ot, then I think I'll have this set.

EDIT: Stupid! STUPID! I forgot about the nobrkcodestart when I got rid of the nobrkcodeend... I fixed it and got a pretty good result now.
Last edited by Anonymous on Fri Feb 19, 2010 6:48 pm, edited 1 time in total.
I'm not unstable.
Unstable implies that I could BECOME more dangerous than I am now.
User avatar
Ardis
Terran Nuclear Silo Safety Inspector
Terran Nuclear Silo Safety Inspector
Posts: 228
Joined: Tue Sep 05, 2006 5:03 pm
Location: Ohio, USA

Re: Take two, this time in space

Post by Ardis »

Okay, here's a mini-mod just to show that the warp works and how it works to see what you guys think of it.

Only modded unit is the dropship which has the warp script (and an attack script which is supposed to be for the unit that will be using the script in the main mod.) but no weapons to attack with. It's also going to go a little slower because the script sets its flingy speed at 864 rather than the dropship's default 1400 flingy speed because that's the speed the unit in the mod will be using and I didn't feel like making a separate copy of the script. To get the dropship to warp, you have to get it to move for a certain amount of time. Right before warping, it will begin to accelerate towards a 3200 flingy speed and then warp kicks in before it reaches that speed.

The warp might be a little fast because I was testing this unit on a 256x256 map and my mind might have scaled the speed up with the map size. Part of this is because I want this mod to be played on bigger maps, too.

AND: Sorry for posting three times in a row, just kind of excited that I actually got it working.
You do not have the required permissions to view the files attached to this post.
I'm not unstable.
Unstable implies that I could BECOME more dangerous than I am now.
User avatar
IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8331
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘ జ్ఞ‌ా

Re: Take two, this time in space

Post by IskatuMesk »

You are correct, acceleration does not get changed. flingy.dat controls acceleration; you may want to raise it.
User avatar
Ardis
Terran Nuclear Silo Safety Inspector
Terran Nuclear Silo Safety Inspector
Posts: 228
Joined: Tue Sep 05, 2006 5:03 pm
Location: Ohio, USA

Re: Take two, this time in space

Post by Ardis »

I did away with that problem just by using the move code I saw you using for your Syrius. Right now, all of large ships for the IWE faction enter warp after 425 ticks in the script, they accelerate towards 3200 flingy speed for another 92 ticks then go full warp.

Here's the current warp script. Might tinker with the numbers later, but this is it right now.
Spoiler

Code: Select all

DropshipWalking:
	imgol          	225 0 0	# DropshipGlow (thingy\tdrGlow.grp)
	setvertpos     	0
	wait		425
	goto           	DropshipLocal03

DropshipLocal03: # might add a sound for when it's charging warp
	setflspeed	3200
	setvertpos     	0
	wait		92
	playsnd        	110	# Deflier Attack? (bullet\zdeatt00.wav) might change sound
	imgol		555 0 0 # EMP Shockwave Hit Part 1 (thingy\emp.grp)
	imgol		556 0 0 # EMP Shockwave Hit Part 2 (thingy\emp.grp) # makes a boom sound as it goes full warp
	goto		DropshipMidwarp

DropshipMidwarp:
	wait		1
	move		25 # Larger units are kind of skippy at this pace, might need to tinker with the number to reduce skipping
	imgol		555 0 0 # EMP Shockwave Hit Part 1 (thingy\emp.grp) # makes it blurry as it zooms through space
	goto		DropshipMidwarp
	
Currently the factions long range travel solutions are as follows:

Iron Wolves Empire (Terran): Warp (refer to script above)
Earth Forces (Protoss): Two-way jump gates, might give some units a warp-like ability... Maybe...
Unnamed third faction (Zerg): Special unit, a semi-mobile one-way wormhole generator (recall basically.) This will also be the only unit in the third faction to have warp to make moving it around easier, but the charge time will be higher and it won't go as fast in warp.
I'm not unstable.
Unstable implies that I could BECOME more dangerous than I am now.
User avatar
Ardis
Terran Nuclear Silo Safety Inspector
Terran Nuclear Silo Safety Inspector
Posts: 228
Joined: Tue Sep 05, 2006 5:03 pm
Location: Ohio, USA

Re: Take two, this time in space

Post by Ardis »

Another idea I had in mind for the mod regarding addons. I asked about this earlier, but was wondering if it would be possible to give addons an option to dismantle itself and give the player a set amount of resources as well as freeing up the addon slot on that building. I'm going to mess around with addons and morphing in a moment and I wanted to see if you guys had any ideas on how to do this in case addons on morphing buildings doesn't work out well (if at all.)
I'm not unstable.
Unstable implies that I could BECOME more dangerous than I am now.
User avatar
Ardis
Terran Nuclear Silo Safety Inspector
Terran Nuclear Silo Safety Inspector
Posts: 228
Joined: Tue Sep 05, 2006 5:03 pm
Location: Ohio, USA

Re: Take two, this time in space

Post by Ardis »

Almost ready to let other people try out the first faction of the mod, the Iron Wolves Empire.

List of things I need to do before it is ready:
-Figure out what I'm going to do with the vespene geysers/gas resource system. Probably going to make the geysers into planets and the gas into a credit system. Also probably going to add some kind of credits over time per base and colonized world, but I might have to read up some tutorials on the triggers.
-Finish the graphics and scripts for a few units and buildings.
-Make a space tileset for the mod (I have no idea how to do this one... I have the tools, but don't know how to use them.)
-Balance out unit damage, health and armor numbers a bit more.
-Might need to adjust the numbers for warp since they were made for HUGE (256x256) maps.
-Still need to script the dropship and other transports to eject units on death as soon as I figure out how, if at all possible.
-Figure out why certain defensive buildings are refusing to follow orders


Lastly, an idea to make fights between smaller units look like more than just groups of units piling up and shooting at each other from across an imaginary line. I'm thinking about adding move codes into the attacks for all of the fighters to make things look a bit more like an actual dogfight when flying units are fighting each other. I am most likely not going to do this one, but I thought I would see if it sounded like ti would be "interesting to see" or a "headache to watch."

Also, for the randcondjump code, what does it go by for the chance? Is it a percent chance out of one hundred or one in that many times. Example would to to set the chance to 25 for the attack block to fire an extra missile at the end. Would it be a 1 in 25 chance for an extra missile to fire in an attack block, or would 25 make it a 25% chance?
I'm not unstable.
Unstable implies that I could BECOME more dangerous than I am now.
User avatar
Ardis
Terran Nuclear Silo Safety Inspector
Terran Nuclear Silo Safety Inspector
Posts: 228
Joined: Tue Sep 05, 2006 5:03 pm
Location: Ohio, USA

Re: Take two, this time in space

Post by Ardis »

Okay, one last thing I need help with before I can let anyone else mess with the mod. I have an idea for the gas resource system, but I might need a bit of help getting it to work. I've turned vespene geysers into planets (no sprite yet, have to actually make the planet for it, maybe even find a way to make multiple planets and randomize them to give a bit of variety.)

Anyways, what I'm thinking of doing with the triggers, since I don't know how to really make it work any other way is I'm going to make a long list of triggers saying something along the lines of:

Code: Select all

Trigger(Player 1):
	Conditions:
		Command(Player 1, At Least, 1, 110)
	Actions:
		SetResources(Player 1, Add, 5, Gas)
		SetResources(Player 1, Add, 3, Ore)
		Wait(5000)
		PreserveTrigger()
And make a trigger for owning at least 2, 3, 4 and so on for each player with each gas harvester building in mind since each one is another faction's colony (or I might make colonies upgradable)... And making one for bases as well, upgradable bases will gain more resources over time obviously. And gathering units will still be able to pull gas from them as a way to increase your gains from it. Numbers will be adjusted as well depending on how slow or fast it comes out to.

It's gonna be a big headache making all of those triggers, but stuff like Copy, Paste and Replace All (on separate documents) should speed things up a bit. Anyone know how well this would work? Or is there a more efficient way to do something like this?

And yes, I foresee a problem where maps will have a limit to how many planets you will own, probably going to make the triggers run up to sixteen for now and expand it if I think maps need more than sixteen geysers/planets.
I'm not unstable.
Unstable implies that I could BECOME more dangerous than I am now.
bajadulce
Terran Dropship Flight Attendant
Terran Dropship Flight Attendant
Posts: 155
Joined: Mon Jun 25, 2007 2:30 pm
Location: Santa Cruz, CA

Re: Take two, this time in space

Post by bajadulce »

if the gas increases at a constant rate according to how many refineries you own, you could build a macro with poiuy_qwert's fantastic ProTrg.  Make a request in his thread (I'm sure there's one here on the program) explaining what it is you want to do and I'm sure he'll gladly respond with the code to make it happen.

Also, not sure why you would need to do this for each player?  Seems you could use AllPlayers + CurrentPlayer etc)? 
Trigger(AllPlayers)
Commands(Current Player, .....)

You should also look at AdAstras  triggers as they use a similar concept with Plantes (Geysers) and payouts according to how many you own.  Planar Erratus uses refineries as tax breaks and something that might help you as well.  I believe the trigs are even posted here at CC.org.

Good luck w/ your trigs and your mod.  This section of CC.org is somewhat a ghost town and nice to see a few still plodding away at the timeless classic that is BWar.
Post Reply