Page 3 of 4

Posted: Sat Jul 24, 2010 11:50 am
by Commander McLane
Arexack_Heretic wrote:
* I'd have to investigate the method to retrieve systems nearby.
Look no further than this. :wink:

Posted: Sat Jul 24, 2010 12:32 pm
by Svengali
Arexack_Heretic wrote:
edit: you do realise that 'resqued' pilots are perfectly able to reach port in their escapepods, right? otherwise, A small bit of scripting could remove a tonne of slaves when you scooped an E-pod just before docking, and display a consoleMessage from the resqued pilot. IIRC legal records are erased after jumping ship, but the type of thanks you get may vary according to the rating of the resquee.
...might want to add a missionscreen, first time. What to do with the pilot? Free him/sell him/free always/always sell them. (no more screens)
The Vector does already something like this for special cargo-pods and escape-capsules (free/give back/sell/and other options for more experienced Commanders). Additionally the coming version has a new feature. If you want to check it out give me a pm and I'll send you a link and infos.

Posted: Sat Jul 24, 2010 11:47 pm
by docwild
Okay, I've oopified it and added the option of non-slave mining. Not surprisingly this has cut the code in half, making bug hunting and feature adding much easier.

It may be harder to take over claimed mines now, as they have a tendancy to explode. This wont kill anyone but if you're too close it will drain your shields. The station will automatically eject you if you don't do it yourself, to avoid the damage you can use injectors. Claimed mines run the risk of pirates, which I have run out of time to test today.

When docking you'll be given the option of which resources to invest, (20t machinery + 5t computers OR 20t food + 5t slaves). Slave mining is twice as profitable. The illicit goods are still taken automatically but I will add options to the mission screen for them too. Some kind of management page, I imagine.

The economy of it still sucks, I'll work on that next and then I'll add in better AIs.

I will add the option of freeing slaves too, as it reminds me of John Newton. Amazing Grace and all that. Maybe adding personalities with abolitionist's names (Wilberforce etc).

There's probably other stuff which I've forgotten.

Please bear in mind that this is still alpha, the oopification is good in many ways but it makes testing much more difficult as the logic is generated on the fly.

Thanks for all the suggestions, do keep them coming.

Posted: Sun Jul 25, 2010 12:07 am
by pagroove
How about counting in the government of a system too. A mine in a communism system would operate differently from a mine in a decmocracy. For example in the first systems slave use is legal while in the last system it would be illegal. Maybe the police should come to check this once in a while.

Posted: Sun Jul 25, 2010 10:42 am
by Arexack_Heretic
if you pay your slaves workers, it is no longer exactly slavery...as long as they have the option to leave. (outside of a bodybag).

Posted: Sun Jul 25, 2010 6:22 pm
by docwild
I like the idea of police checks in stable governments, another way to increase variety.

Paying slaves may be worth considering but it seems at odds with buying them in the first place. However, perhaps a new ship AI, "emancipators" could be added who think slaves are better off dead. When a player is in range of a station they could attack it and the player would then decide if it's worth defending. I don't recall seeing any station defence missions other than the excellent Asteroid storm so it might be of some gameplay value.

It is my intention to better hide the asteroids, but not in initial testing as it would give me a headache. :P

Posted: Sun Jul 25, 2010 11:52 pm
by PhantorGorth
To add to the slave emanicipation idea. I have been thinking that there should be a way to convert 1 TC Slaves => 1 Passenger (with no destination) + 1 TC Machinery.

Details:
No passenger berth is required as the freed slave has to sleep in the slave cargo pod (now machinery). Berths are for traveling in comfort.

The new passenger has no destination and will depart at the next main station (or may be some other stations too.)

You also can not sell or eject the same number of machinery cargo cannisters as freed slaves until the freed slaves have disembarked.

For an evil twist on this you should also have the option to do 1 Passenger + 1 TC Machinery = 1 TC Slaves.

A restriction should be no enslaving if you have freed slaves on board (it causes riots) Maybe the same the other way too.

This would require changes to core Oolite to support this.

Posted: Mon Jul 26, 2010 1:05 am
by docwild
I think that would be possible if the ship.passenger property were read/write but it probably could be done outside the realms of passenger, adding the info to the mission screen or something. I'm not sure I understand where the machinery comes from, am I missing something? Mining gear stolen by the disgruntled slave maybe.

Posted: Mon Jul 26, 2010 6:51 am
by Commander McLane
docwild wrote:
I'm not sure I understand where the machinery comes from, am I missing something?
I guess Phantor is assuming that a slave pod must have some minimal life support system. That would turn into machinery. Same would go for an escape pod, by the way.

Posted: Mon Jul 26, 2010 7:44 am
by PhantorGorth
docwild wrote:
I think that would be possible if the ship.passenger property were read/write
This is why I said "This would require changes to core Oolite to support this.". But we would not only need just the read/write, there would need to be code that makes passengers with no destination disembark at the next main station. Further, we would need code to stop you ejecting or selling that machinery until the ex-slaves disembark, otherwise they won't have anywhere to sleep/live. It might be possible to do this without core changes but I think that it would be difficult.
Commander McLane wrote:
I guess Phantor is assuming that a slave pod must have some minimal life support system. That would turn into machinery. Same would go for an escape pod, by the way.
Yes I was :-) . I agree it would also be the same for an escape pod.

Hmm. I think it might be worth splitting this thread for the discussion on slaves.

...

Posted: Mon Jul 26, 2010 9:05 am
by Lestradae
PhantorGorth wrote:
... This is why I said "This would require changes to core Oolite to support this.". But we would not only need just the read/write, there would need to be code that makes passengers with no destination disembark at the next main station. Further, we would need code to stop you ejecting or selling that machinery until the ex-slaves disembark, otherwise they won't have anywhere to sleep/live. It might be possible to do this without core changes but I think that it would be difficult. ...
Perhaps a workaround could be to use the special cargo option already available, and make your ex-slave passenger "special cargo". And simultanously remove the "Slave" cargo. All this is .js doable atm, no core game changes are nescessary.

Have a look here:

http://wiki.alioth.net/index.php/Methods
useSpecialCargo: <description of cargo>
// fills the cargo bay withthe cargo described, effectively
// disabling the use of the cargo bay until the cargo is removed.

Posted: Mon Jul 26, 2010 9:55 am
by Kaks
Lestradae's idea will indeed achieve all you wanted and more! :)

Anyway, there's a lot more:
docwild wrote:
I think that would be possible if the ship.passenger property were read/write
What, something like that (and there's also the .passengers array)?

Ok, at the moment you just can't make passengers vanish, but it would be fairly feasible to add a removePassenger('passenger name') function. There would be some difficulties introducing a similar removeContract() function, since the mechanics are quite different (you can already add/remove cargo that's part of a contract, & you get a penalty if you show up without the fully agreed tonnage. With passengers, it's 'a bit' more difficult to deliver -say- just 43% of a person...)

So, not as originally envisaged, but slaves=>passengers is very much doable. For each passenger, you do need to have a passenger berth, though.

I don't quite get the concept of 1 ton - weight of one human sentient - used consumables = 1 ton... I'd do 1 ton slaves = 1 passenger + .6 of a ton, and round it down. So you don't get any salvaged machinery / alloy (In my mind, it wouldn't make much economic sense for the slavers if the value of the salvaged stuff is higher than the original ton of slaves) if you just 'convert' 1 slave, but you do get a rounded down value if you have 2 or more of those. Also, considering that those cargo pods are meant to be self contained, you'd need a specific piece of equipment to open up a slave pod without killing the cargo, something that might well cause some damage to the pod's systems hence the handy machinery => alloy conversion... :)

And you can't have passengers without destination, at least for the foreseeable future. However, if you really want to make your life complicated, you could find out all the systems in range, and figure out their stats (no feudals for newly freed slaves, I suspect). At 'liberation time' you can have a mission screen with something along the lines of 'the freed slave, a (type of sentient) called (name) [for these look no further than here], would like to be dropped at (name of closest system) main station, but it's too much of an inconvenience they can be persuaded to go elsewhere.': dynamically generated choices: '1: sure!', '2:I'm going to (other system name)', '3:what about if I drop him/her/it at (3rd system name) and so on and so forth...

That way you don't need to have hybrid machinery/life support pods... :)


If you want the easier option for freeing slaves, and indeed plan for slaves to stay in their slavers pods until the first opportunity to disembark, then you've already got a way of doing it. It just requires a bit of lateral thinking. Remove the slave pods, add the 'specal machinery' pods (ones that will shrink a bit on docking, and will show up as normal tons of machinery on the manifest screen). Then use a missionVariable to keep the number of freed slaves in. You can then have a mission info saying something along the lines of 'You have 5 freed slaves on board, kept inside their specially modified 'machinery' pods.

If you dock anywhere you free the slaves & shrink the machinery/convert it to alloys, so no restriction there either...

If you try to dump the 'machinery' in space, you can wait until machinery is down to the number of freed slaves, then subtract one to the number of freed slaves for each ton of machinery dumped.


Simples! :)

To recap, there are no technical obstacles to freeing slaves. You can't convert a passenger to a slave yet, though!

Posted: Mon Jul 26, 2010 10:38 am
by docwild
As a compromise between the simple and the complicated: an emancipated slave could demand passage somewhere. Freeing slaves might be a costly business. Especially if the "owner" caught up with you.

Posted: Mon Jul 26, 2010 10:34 pm
by PhantorGorth
Lestradae wrote:
and make your ex-slave passenger "special cargo"
That fills up the cargo bay so that won't work.
Kaks wrote:
I don't quite get the concept of 1 ton - weight of one human sentient - used consumables = 1 ton... I'd do 1 ton slaves = 1 passenger + .6 of a ton, and round it down. So you don't get any salvaged machinery / alloy (In my mind, it wouldn't make much economic sense for the slavers if the value of the salvaged stuff is higher than the original ton of slaves) if you just 'convert' 1 slave, but you do get a rounded down value if you have 2 or more of those. Also, considering that those cargo pods are meant to be self contained, you'd need a specific piece of equipment to open up a slave pod without killing the cargo, something that might well cause some damage to the pod's systems hence the handy machinery => alloy conversion...
Yes I agree that the conversion of 1 empty slave pod is 1 tonne of machinery isn't that sensible (mostly because of the higher price issue) the but I was trying to keep the idea simple. But your idea of x0.6 rounded down works for me. The equipment would likely be the codes to open the pods that are kept with ship's captain to stop any crew member from opening them but I won't rule out the idea of a special piece of equipment.
Kaks wrote:
For each passenger, you do need to have a passenger berth, though.
Kaks wrote:
If you want the easier option for freeing slaves, and indeed plan for slaves to stay in their slavers pods until the first opportunity to disembark, then you've already got a way of doing it. It just requires a bit of lateral thinking. Remove the slave pods, add the 'specal machinery' pods (ones that will shrink a bit on docking, and will show up as normal tons of machinery on the manifest screen). Then use a missionVariable to keep the number of freed slaves in. You can then have a mission info saying something along the lines of 'You have 5 freed slaves on board, kept inside their specially modified 'machinery' pods.
I was aware that berths are a limitation to my original suggestion at the moment. Your simpler solution looks a closer option to my idea. It wouldn't matter to have them disembarking in a feudal system as at the Galcop main station slaves are not supposed to be legal so they can hopefully find passage to elsewhere but to factor in that idea we could have a message saying that "the freed slaves do not wish to disembark in a feudal system" and they remain on the ship unless you sell the "reduced number" of machinery or alloy. (10 freed slaves = 10 x 0.6 machinery = 6T; you sell 2T leaves 4T; 4T / 0.6 = 6.6667 freed slaves ; so you keep 6 freed slaves and 4 are put ashore.). There is nothing to stop them not wanting to disembark at other places too with this idea.
Kaks wrote:
If you try to dump the 'machinery' in space, you can wait until machinery is down to the number of freed slaves, then subtract one to the number of freed slaves for each ton of machinery dumped.
That makes sense.

The main issue now is how to do the action of freeing slaves in Oolite. I wouldn't want a mission screen appear every time I bought or scooped a slave and on F5-F5-F5 I already (or rather soon will) add a mission screen that I use for my Visas OXP so I don't want this to interfere.

Posted: Mon Jul 26, 2010 10:51 pm
by PhantorGorth
docwild wrote:
As a compromise between the simple and the complicated: an emancipated slave could demand passage somewhere. Freeing slaves might be a costly business. Especially if the "owner" caught up with you.
I think more along the lines of "beggars can't be choosers". Also there wouldn't be owners as you purchase them on a open market. (They are your's until you sell them)