Look no further than this.Arexack_Heretic wrote:* I'd have to investigate the method to retrieve systems nearby.
Mining OXP
Moderators: winston, another_commander
- Commander McLane
- ---- E L I T E ----
- Posts: 9520
- Joined: Thu Dec 14, 2006 9:08 am
- Location: a Hacker Outpost in a moderately remote area
- Contact:
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.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)
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.
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.
- pagroove
- ---- E L I T E ----
- Posts: 3035
- Joined: Wed Feb 21, 2007 11:52 pm
- Location: On a famous planet
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.
For P.A. Groove's music check
https://soundcloud.com/p-a-groove
Famous Planets v 2.7. (for Povray)
https://bb.oolite.space/viewtopic.php?f=4&t=13709
https://soundcloud.com/p-a-groove
Famous Planets v 2.7. (for Povray)
https://bb.oolite.space/viewtopic.php?f=4&t=13709
- Arexack_Heretic
- Dangerous Subversive Element
- Posts: 1876
- Joined: Tue Jun 07, 2005 7:32 pm
- Location: [%H] = Earth surface, Lattitude 52°10'58.19"N, longtitude 4°30'0.25"E.
- Contact:
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.
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.
- PhantorGorth
- ---- E L I T E ----
- Posts: 647
- Joined: Wed May 20, 2009 6:48 pm
- Location: Somewhere off the top left of Galaxy 1 map
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.
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.
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.
- Commander McLane
- ---- E L I T E ----
- Posts: 9520
- Joined: Thu Dec 14, 2006 9:08 am
- Location: a Hacker Outpost in a moderately remote area
- Contact:
- PhantorGorth
- ---- E L I T E ----
- Posts: 647
- Joined: Wed May 20, 2009 6:48 pm
- Location: Somewhere off the top left of Galaxy 1 map
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.docwild wrote:I think that would be possible if the ship.passenger property were read/write
Yes I was . I agree it would also be the same for an escape pod.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.
Hmm. I think it might be worth splitting this thread for the discussion on slaves.
- Lestradae
- ---- E L I T E ----
- Posts: 3095
- Joined: Tue Apr 17, 2007 10:30 pm
- Location: Vienna, Austria
...
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.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. ...
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.
Lestradae's idea will indeed achieve all you wanted and more!
Anyway, there's a lot more:
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 onehuman 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!
Anyway, there's a lot more:
What, something like that (and there's also the .passengers array)?docwild wrote:I think that would be possible if the ship.passenger property were read/write
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
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!
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
- PhantorGorth
- ---- E L I T E ----
- Posts: 647
- Joined: Wed May 20, 2009 6:48 pm
- Location: Somewhere off the top left of Galaxy 1 map
That fills up the cargo bay so that won't work.Lestradae wrote:and make your ex-slave passenger "special cargo"
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: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...
Kaks wrote:For each passenger, you do need to have a passenger berth, though.
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 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.
That makes sense.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.
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.
- PhantorGorth
- ---- E L I T E ----
- Posts: 647
- Joined: Wed May 20, 2009 6:48 pm
- Location: Somewhere off the top left of Galaxy 1 map
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)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.