Start with Solar Panel Array

A place to discuss mods in development and concepts for new mods.
gunship256
Militia Commander
Militia Commander
Posts: 451
Joined: Sat Jul 25, 2015 11:41 pm
Location: repairing armor

[edit 2016 January 04] There's now an alpha version of this mod. Here's the relevant forum thread, which contains a link to the Xelerus download:

https://forums.kronosaur.com/viewtopic.php?f=24&t=7482

Original post below:
===
This mod allows the player to start the game with a solar panel array... for a price.

I've thrown it together to see what I can do. Please let me know if you find any problems or have feedback. Thanks!
d064_StartWithSolarPanelArray20151226.zip
(3.16 KiB) Downloaded 204 times
Last edited by gunship256 on Mon Jan 04, 2016 10:57 pm, edited 1 time in total.
User avatar
catfighter
Militia Commander
Militia Commander
Posts: 466
Joined: Fri Nov 08, 2013 5:17 am
Location: Laughing manically amidst the wreckage of the Iocrym fleet.

I love the idea, but it's a little too easy to avoid the...surprise. I just flew straight towards the Crescent (outrunning everything) and they took care of everything for me, leaving lots of good loot.
Behold my avatar, one of the few ships to be drawn out pixel by pixel in the dreaded... Microsoft Paint!

Day 31: "I have successfully completed my time reversal experiment! Muahahaha!!!"
Day 30: "I might have run into a little problem here."
gunship256
Militia Commander
Militia Commander
Posts: 451
Joined: Sat Jul 25, 2015 11:41 pm
Location: repairing armor

Thanks for the feedback! I've been trying to think of something the box could do to hurt the player. Would it be better if it reduced all of the player's armor segments to 50%?
JohnBWatson
Fleet Officer
Fleet Officer
Posts: 1452
Joined: Tue Aug 19, 2014 10:17 pm

gunship256 wrote:Thanks for the feedback! I've been trying to think of something the box could do to hurt the player. Would it be better if it reduced all of the player's armor segments to 50%?
The player could just repair immediately. A possibility is checking for when the player is far enough away from the crescent, then spawning the surprise so that it is between him and the crescent.
User avatar
catfighter
Militia Commander
Militia Commander
Posts: 466
Joined: Fri Nov 08, 2013 5:17 am
Location: Laughing manically amidst the wreckage of the Iocrym fleet.

JohnBWatson wrote:A possibility is checking for when the player is far enough away from the crescent, then spawning the surprise so that it is between him and the crescent.
But then they could just camp on a mining station instead. I think it would be better if it checked for when the player is a certain distance from any friendly station. And perhaps a message from the pirates along the lines of "Give it back!" so the player knows why they're getting ambushed.
Behold my avatar, one of the few ships to be drawn out pixel by pixel in the dreaded... Microsoft Paint!

Day 31: "I have successfully completed my time reversal experiment! Muahahaha!!!"
Day 30: "I might have run into a little problem here."
gunship256
Militia Commander
Militia Commander
Posts: 451
Joined: Sat Jul 25, 2015 11:41 pm
Location: repairing armor

Thanks for the feedback. I checked the XML for the Viking-II's top speed, and it's 20. It sounds like the strategy of running to a friendly station would work for the Sapphire or Wolfen no matter how far away the station was, since the player ship is going to have a head start.

I ran into this problem when I played the mod too. It's too easy to get away from the Vikings.

Would it work better for the box to EMP the player and then call for the Vikings to show up?
User avatar
catfighter
Militia Commander
Militia Commander
Posts: 466
Joined: Fri Nov 08, 2013 5:17 am
Location: Laughing manically amidst the wreckage of the Iocrym fleet.

gunship256 wrote:Would it work better for the box to EMP the player and then call for the Vikings to show up?
That thought had crossed my mind. But since it only happens when the box is opened, a knowledgeable player could then park on top of a friendly station to avoid the danger until the effect wore off.

Another thing I thought of was, why just use the vanilla Vikings? You could create a custom Viking ship with a slightly faster top speed than normal ones and spawn that instead. (example below, where maxSpeed="22" instead of "20")

Code: Select all

<!ENTITY scSpecialViking   "[whatever you want]">

<!-- Special Viking-class Gunship -->

<ShipClass UNID="&scSpecialViking;"
		manufacturer=		"Charon Pirates"
		class=				"Viking"
		type=				"gunship"
		level=				"2"

		attributes=			"charonPirates, genericClass"
			   
		mass=				"80"
		thrustRatio=		"4"
		maxSpeed=			"22"
		cargoSpace=			"5"

		leavesWreck=		"35"
		>

	<!-- Configuration -->

	<Armor
		armorID=			"&itReactiveArmor;"
		count=				"4"
		/>

	<Devices>
		<Device deviceID="&itTurbolaserCannon;"/>
	</Devices>

	<Maneuver
		maxRotationRate=	"7.0"
		rotationAccel=		"1.0"
		/>

	<Items>
		<Item count="2d6" item="&itHelium3FuelRod;"/>
	</Items>

	<!-- Image and Effects -->

	<Image imageID="&rsMediumShips1;" imageX="336" imageY="0" imageWidth="48" imageHeight="48"/>

	<Effects>
		<Effect type="thrustMain"		posAngle="155"	posRadius="10"	posZ="0"	rotation="180"/>
		<Effect type="thrustMain"		posAngle="-155"	posRadius="10"	posZ="0"	rotation="180"/>
	</Effects>
		
	<!-- AI and Behavior -->

	<AISettings
		fireRateAdj=		"30"
		fireRangeAdj=		"50"
		fireAccuracy=		"85"
		perception=			"4"
			
		combatStyle=		"advanced"
		/>

</ShipClass>
Behold my avatar, one of the few ships to be drawn out pixel by pixel in the dreaded... Microsoft Paint!

Day 31: "I have successfully completed my time reversal experiment! Muahahaha!!!"
Day 30: "I might have run into a little problem here."
gunship256
Militia Commander
Militia Commander
Posts: 451
Joined: Sat Jul 25, 2015 11:41 pm
Location: repairing armor

That's a really good idea! I'd thought about spawning a Molotok or Ferian warrior, which are both fast ships, but those ships would have looked out of place in the first system.

Now that you mention it, the mod could re-generate fast ships to chase the player periodically until he "pays back" the original owner by giving it back or by providing another solar panel array. That would involve more coding than I'm ready for at this point, though.
User avatar
catfighter
Militia Commander
Militia Commander
Posts: 466
Joined: Fri Nov 08, 2013 5:17 am
Location: Laughing manically amidst the wreckage of the Iocrym fleet.

Hmm, that actually might work! You could just steal the molotok code which sends them after the player until they pay off their black market bounty, then spawn a new station in the outer system or borrow one of the container habitats in the Cresent for the player to return the panels to. (or at least reimburse the cost)
Behold my avatar, one of the few ships to be drawn out pixel by pixel in the dreaded... Microsoft Paint!

Day 31: "I have successfully completed my time reversal experiment! Muahahaha!!!"
Day 30: "I might have run into a little problem here."
relanat
Militia Captain
Militia Captain
Posts: 941
Joined: Tue Nov 05, 2013 9:56 am

I love the idea, too. So much better than 'find a box, stuff might be in it'.
Plus the way you've laid out the code into separate modules is excellent. I'll probably be cutting and pasting that somewhen. Thanks :D .

I like the EMP idea as well. Maybe you could use EMP to drop the shields and ionize the reactor. If the numbers are right this would mean the player had the option of either letting the shields build up or firing weapons but not both, because both would overload the reactor shutting everything down.

Another idea is to have a warning. Maybe a dockscreen with "The only readable words on the faded label are '...Charon Pirates. Open...massive retaliation.'" With an option to Open Now or Open Later. Or something like that.

This is great. I've been racking my brain about how to introduce new devices, stations, missions, etc.

I also like catfighter's idea about the "Give it back" message. (And it has nothing to do with having message code that I can copy :roll: ).
Stupid code. Do what I want, not what I typed in!
gunship256
Militia Commander
Militia Commander
Posts: 451
Joined: Sat Jul 25, 2015 11:41 pm
Location: repairing armor

Thanks for the feedback and ideas. Sure - take whatever code you need!

I'd like to hear as many ideas as I can, as I too am looking for ways to keep the game balanced without forcing the player to stick to a stock ship with a "normal" playing style.

I like to play with no shields and minimal refuelling, but stock Transcendence makes this difficult because patcher arms and the solar panel array have a frequency of "rare".

The smart patch spider mod I'm working on now will offer a partial solution by providing a variety of armor repair devices with a frequency of "uncommon". It'd be nice to have a way to introduce some of these devices creatively, so please keep the ideas coming!

[edit] BTW, I already have two devices that are more advanced, and expensive, forms of the solar panel array. Would it be better for me to add the devices to this solar panel array mod so that they're available for purchase from shops, or would it be better to split the devices off into their own mod?
gunship256
Militia Commander
Militia Commander
Posts: 451
Joined: Sat Jul 25, 2015 11:41 pm
Location: repairing armor

Now that I think of it, it's a lot of trouble to have ships chase after the player for something that's worth less than a thousand credits. It seems like it wouldn't be worth the effort, either for the player or for the person whom the device was stolen from. A solar panel array also isn't useful to everyone; some players may just choose to sell it.

What about a portable fabricator that can create any other level 1-4 device? It could be on a timer with a long recharge time to keep the device from being overpowered before it became obsolete, or it might need to be fed food, energy, and armor: a weaker, human-grown copy of the Teraton fabricator. That way, players who desparately want solar armor, a patcher arm, or a targeting ROM have a way of fabricating it, but they'll have to put up with hordes of ever more powerful ships chasing them until they decide to return the fabricator to its original owner.

If it's not too distasteful, this could be a good reason to take care of a Microsaur. Feed it, and it fabricates devices for you. The bigger it grows, the higher the level of the devices it can make.
User avatar
catfighter
Militia Commander
Militia Commander
Posts: 466
Joined: Fri Nov 08, 2013 5:17 am
Location: Laughing manically amidst the wreckage of the Iocrym fleet.

relanat wrote:And it has nothing to do with having message code that I can copy :roll: ).
Just stick this in. :) If you wanted, I could put up my code for the Pawnbringer (a device that spawns wingmen and a welcoming message).

Code: Select all

(objSendMessage gSource Nil "Your text here.")

@gunship A fair enough point, although people have gotten sued for far less. It might be more sought after if it were some sort of super-solar-panel that has more functions beyond the recharge...
Behold my avatar, one of the few ships to be drawn out pixel by pixel in the dreaded... Microsoft Paint!

Day 31: "I have successfully completed my time reversal experiment! Muahahaha!!!"
Day 30: "I might have run into a little problem here."
relanat
Militia Captain
Militia Captain
Posts: 941
Joined: Tue Nov 05, 2013 9:56 am

gunship256 wrote:A solar panel array also isn't useful to everyone; some players may just choose to sell it.
Nothing wrong with that. I rarely used any of the loot from Arco Vaughn but I always did the mission. A large part of the game is selling loot.

The mod doesn't balance well ATM because EI500s die and the others run. Dual tlasers are a bit OTT in Eridani.

But the mini-fabricator idea is great, too. You could upgrade the attackers according to what level devices have been fabricated. Eg, make a level 3 device, get level 3 attackers coming at you. There is a mod that varies the level of Charon attackers when you open abandoned cargo crates (by PM I think, can't remember the name, someone will know) that you could steal code from .... I mean, acquire coding ideas from.
catfighter wrote:If you wanted, I could put up my code for the Pawnbringer.
Yes, please :D. I always learn more from actual examples of code use. But what would be really good is someone doing a topic on how to use objSendMessage and plyMessage, and what the difference between them is. I'm thinking one is the "Nice shooting" thing and the other is "Autopilot engaged/disengaged". I looked them up on the xelerus functionlist but I didn't really learn much from it.
Stupid code. Do what I want, not what I typed in!
User avatar
catfighter
Militia Commander
Militia Commander
Posts: 466
Joined: Fri Nov 08, 2013 5:17 am
Location: Laughing manically amidst the wreckage of the Iocrym fleet.

ObjSendMessage can actually send either kind of message. The code below is copied from the auton base class and spawns the "Nice shooting!" type of message on the auton which is acknowledging the "form up" command.

Code: Select all

(objSendMessage gSender gSource (objTranslate gSource 'FormUpAck "\"Acknowledged\""))
This is the Pawnbringer code (sorry it doesn't actually work without the resources/entities/etc; I'm leaving for a few days to a vacation without internet, but I can post the fully functional code/ship/etc when I get back, should you so desire)

Code: Select all

	<!-- Pawnbringer -->

	<ItemType UNID="&CAT_itPawnbringer;"
			name=				"Soulcaller's Locus(s);"
			level=				"15"
			value=				"5000000"
			mass=				"100"
			frequency=			"notRandom"
			attributes=			"MajorItem"

			description=		"This locus summons a spirit back from Domina's grasp to obey your every command."
			>

		<Image imageID="&rsItems1;" imageX="192" imageY="288" imageWidth="96" imageHeight="96"/>

		<Invoke key="A">
			(block (auton)
				; Create the soul-slave-auton-wingman-thingy
				(setq auton
					(sysCreateShip 
						&CAT_scSoulSlave;
						(objGetPos gSource)
						&svFriendlyAuton;
						"auton"
						)
					)

				; Escort the person who used it (the player)
				(shpOrderEscort auton gSource)

				; Send the welcome message
				(objSendMessage gSource Nil "Ackonwledge your vulnerability and you can always find aid.")
				)
		</Invoke>

	</ItemType>
Behold my avatar, one of the few ships to be drawn out pixel by pixel in the dreaded... Microsoft Paint!

Day 31: "I have successfully completed my time reversal experiment! Muahahaha!!!"
Day 30: "I might have run into a little problem here."
Post Reply