That would be a good idea but it would have the same memory leak possibility.
I like the idea of having two tabs cargo viewing, regular and reserve. It would be possible to access everything from either tab, you would just have to choose which one. The only exception would be the 'U' key which would need to have a small config option somewhere (sort 'U' list to view regular-reserve, sort 'U' list to view reserve-regular, view only reserve, view only regular). All newly received items would appear in the regular hold. I don't see a reason for more than two holds as both tabs would be sorted in the way the hold is now.
Separate Personal and Ship Inventory
- Salvagebot 1.0
- Commonwealth Pilot
- Posts: 56
- Joined: Sat Oct 06, 2007 6:43 am
- Location: Tinker Sanford
Ahh, now I understand what Czert was talking about.
Yes, tabbed inventories would work, and you'd only really need 2 tabs. Good idea!
It would also be helpful if fuel had its own category so it'd sort the same way weapons, damaged weapons, ammo, shields, damaged shields, armor, and damaged armor are all sorted separately.
Medical supplies too. They should have their own sorting category.
And I want a Red Ryder BB gun, too!
Hmm, just to be clear:
All lists of items in the game are sorted first by category and second by level. This is readily apparent by the way weapons and shields and the like sort to the top, without high-level trade goods like ithalium ore getting in the way. So far so good.
The problem is the "miscellaneous" category. It's too big. There are items in this category which aren't really miscellaneous, particularly fuel.
If fuel had its own category it would mean all the fuel would be grouped together, followed by the hodgepodge of ore, food, and other trade goods.
"Sort by category" is a great idea and already implemented, we just need a couple more categories. This should be an extremely cheap way to improve inventory management.
Personal effects like ribbons and ID chips are a category.
Fuel is pretty clearly a category.
Medical supplies I believe should also be a category since there are 2 specific places they're worth far more than their resale value.
Ore because of its usefulness in the fabricator I'd also think should get its own category.
Illegals since you're always hiding them in the early game probably warrant a category as well.
I can't think of a reason to have other categories, but other players might.
Since there's already a sort order "category + level" it would mean very little work on the programmer's part: just change a few categorizations from "miscellaneous" to some newly-designated categories like "fuel". Problem solved.
Yes, tabbed inventories would work, and you'd only really need 2 tabs. Good idea!
It would also be helpful if fuel had its own category so it'd sort the same way weapons, damaged weapons, ammo, shields, damaged shields, armor, and damaged armor are all sorted separately.
Medical supplies too. They should have their own sorting category.
And I want a Red Ryder BB gun, too!
Hmm, just to be clear:
All lists of items in the game are sorted first by category and second by level. This is readily apparent by the way weapons and shields and the like sort to the top, without high-level trade goods like ithalium ore getting in the way. So far so good.
The problem is the "miscellaneous" category. It's too big. There are items in this category which aren't really miscellaneous, particularly fuel.
If fuel had its own category it would mean all the fuel would be grouped together, followed by the hodgepodge of ore, food, and other trade goods.
"Sort by category" is a great idea and already implemented, we just need a couple more categories. This should be an extremely cheap way to improve inventory management.
Personal effects like ribbons and ID chips are a category.
Fuel is pretty clearly a category.
Medical supplies I believe should also be a category since there are 2 specific places they're worth far more than their resale value.
Ore because of its usefulness in the fabricator I'd also think should get its own category.
Illegals since you're always hiding them in the early game probably warrant a category as well.
I can't think of a reason to have other categories, but other players might.
Since there's already a sort order "category + level" it would mean very little work on the programmer's part: just change a few categorizations from "miscellaneous" to some newly-designated categories like "fuel". Problem solved.
Problem solved, for the most part, perhaps. Then we have those categorized meds along with those illegal meds. Which should those be categorized in? Placing them in one or the other could cause accidental and unwarrented forgetfulness where the CW is concerned.
And one thing I hate most is losing my illegals due to forgetfulness.
But overall, I do like the idea of categorizing everything so they appear in their proper place in the hold. Would be so much easier in many respects.
![Mad :x](./images/smilies/icon_mad.gif)
And one thing I hate most is losing my illegals due to forgetfulness.
But overall, I do like the idea of categorizing everything so they appear in their proper place in the hold. Would be so much easier in many respects.
- Salvagebot 1.0
- Commonwealth Pilot
- Posts: 56
- Joined: Sat Oct 06, 2007 6:43 am
- Location: Tinker Sanford
Illegal meds are illegal first, as the most important thing about unlicensed cancer dust is that it will be taken from you if you're not careful with it.
Re: Tabs
Mr. Moromisato appears to have gone to great lengths to make all of the game except the intro keyboard-friendly. Once I click "Continue" I never touch the mouse again.
Tabs without hotkeys would require use of the mouse, breaking with the keyboard-friendly design. I'm not saying that's bad, but if you didn't want to lose that design feature then you'd need an easy way to work the tabs from the keyboard, like hotkeys that select the active tab. Bah, what am I saying, the left and right arrows could do it. Duuh. Never mind.
It would be pretty cool if the mouse complemented the keyboard, like if you could click on targets to target them, right-click on a target to dock with it, roll the mouse wheel to cycle weapons (like "Mount and Blade" only faster), etc. I can think of a couple of spots where I would find it useful, like right-clicking to dock on all the fiddly bits of a Sung Slave Camp you've just busted.
Re: Tabs
Mr. Moromisato appears to have gone to great lengths to make all of the game except the intro keyboard-friendly. Once I click "Continue" I never touch the mouse again.
Tabs without hotkeys would require use of the mouse, breaking with the keyboard-friendly design. I'm not saying that's bad, but if you didn't want to lose that design feature then you'd need an easy way to work the tabs from the keyboard, like hotkeys that select the active tab. Bah, what am I saying, the left and right arrows could do it. Duuh. Never mind.
It would be pretty cool if the mouse complemented the keyboard, like if you could click on targets to target them, right-click on a target to dock with it, roll the mouse wheel to cycle weapons (like "Mount and Blade" only faster), etc. I can think of a couple of spots where I would find it useful, like right-clicking to dock on all the fiddly bits of a Sung Slave Camp you've just busted.
- Ttech
- Fleet Admiral
- Posts: 2767
- Joined: Tue Nov 06, 2007 12:03 am
- Location: Traveling in the TARDIS
- Contact:
Personally, I'd go one further, a Weapons bay, so all weapons like missles, are in one place. IT makes more sense and logic then having in the cargo hold nad hte Misle system loading them? Little robots? ![Very Happy :D](./images/smilies/icon_biggrin.gif)
![Very Happy :D](./images/smilies/icon_biggrin.gif)
- Salvagebot 1.0
- Commonwealth Pilot
- Posts: 56
- Joined: Sat Oct 06, 2007 6:43 am
- Location: Tinker Sanford
I'm not sure what would be gained by a separate weapons bay, given that some merchants trade in items including weapons and some don't.
Its payoff would be negative -- it would add work in all situations where docked with stations that traded in both weapons and other kinds of merchandise, unless there's something about your idea I'm not understanding.
Its payoff would be negative -- it would add work in all situations where docked with stations that traded in both weapons and other kinds of merchandise, unless there's something about your idea I'm not understanding.
- Periculi
- Fleet Officer
- Posts: 1282
- Joined: Sat Oct 13, 2007 7:48 pm
- Location: Necroposting in a forum near you
It's easy to have any inventory screen filter out for certain types of items.
Creating several playership dockscreens to show 'equip' versus 'personal' items would be as easy as giving the items you want to seperate a modifier and filtering for it.
If you have a bunch of items you want to keep seperate, tag them differently.
Creating several playership dockscreens to show 'equip' versus 'personal' items would be as easy as giving the items you want to seperate a modifier and filtering for it.
If you have a bunch of items you want to keep seperate, tag them differently.
- Ttech
- Fleet Admiral
- Posts: 2767
- Joined: Tue Nov 06, 2007 12:03 am
- Location: Traveling in the TARDIS
- Contact:
Periculi wrote:It's easy to have any inventory screen filter out for certain types of items.
Creating several playership dockscreens to show 'equip' versus 'personal' items would be as easy as giving the items you want to seperate a modifier and filtering for it.
If you have a bunch of items you want to keep seperate, tag them differently.
Hmm how?
Wow, actually that's amazingly easy. Just tag each item and then have a hotkey (possibly including a special key such as ctrl to differentiate from undock and such) to display only [a]ll, llegal items, [w]eapons, [f]uel, [c]ommodities, etc.
- Periculi
- Fleet Officer
- Posts: 1282
- Joined: Sat Oct 13, 2007 7:48 pm
- Location: Necroposting in a forum near you
Code: Select all
<DockScreen UNID="&dsDeviceUpgrade1;"
name= "=(objGetName gSource)"
type= "itemPicker"
backgroundID= "&rsItemListScreen;"
>
<ListOptions
dataFrom= "player"
list= "dI; +upgrade"
/>
<Panes>
<Default
desc= "Pick available upgrade.">
<Initialize>
(block (thisItem)
(setq thisItem (scrGetItem gScreen))
(if thisItem
(block Nil
(setq gResult (shpCanRemoveDevice gPlayerShip thisItem))
; Make up the install cost
(setq gCost (divide (multiply gMargin (itmGetInstallCost thisItem)) 5))
(switch
(eq gResult 1)
(block Nil
(scrSetDesc gScreen "Your ship has too much cargo to be able to remove the cargo expansion.")
(setq thisItem Nil)
)
(not (eq gResult 0))
(block Nil
(scrSetDesc gScreen "The upgrade cannot be performed.")
(setq thisItem Nil)
)
(gr (itmGetMass thisItem) (objGetCargoSpaceLeft gPlayerShip))
(block Nil
(scrSetDesc gScreen "The technicians insist you clean some room in your holds for them to work in first.")
(setq thisItem Nil)
)
(ls (plyGetCredits gPlayer) gCost)
(scrSetDesc gScreen (cat "We can upgrade your ship for " gCost " credits. Unfortunately, you cannot afford the cost."))
(eq gCost 0)
(scrSetDesc gScreen (cat "This ship can be upgraded free of charge."))
(scrSetDesc gScreen
(cat "We can upgrade your ship for " gCost " credits.")
)
)
)
(scrSetDesc gScreen "We cannot perform any upgrading for your ship.")
)
; Enable/disable actions
(scrEnableAction gScreen 0
(and thisItem (geq (plyGetCredits gPlayer) gCost))
)
)
</Initialize>
<Actions>
<Action name="Upgrade your ship" imageID="&rsItemListScreen;" imageIndex="1" default="1" key="U">
(block (thisItem)
(setq thisItem (scrGetItem gScreen))
(if (and thisItem (geq (plyGetCredits gPlayer) gCost))
(block Nil
(shpRemoveDevice gPlayerShip (scrGetItemListCursor gScreen))
(plyCharge gPlayer gCost)
(scrShowScreen gScreen gPrevScreen gPrevPane)
)
)
)
</Action>
<Action name="Cancel" imageID="&rsItemListScreen;" imageIndex="0" cancel="1" key="C">
(scrShowScreen gScreen gPrevScreen gPrevPane)
</Action>
</Actions>
</Default>
</Panes>
</DockScreen>
Code: Select all
<ListOptions
dataFrom= "player"
list= "dI; +upgrade"
/>
The device is installed on a playership in the initial config, before the game starts. It is a blank device that merely occupies some device slots. When you go to the special remove page and 'upgrade' your ship, the device is removed and the device slots can now be used.
In order to hide the device as much as possible, I put in filters on the playership cargo and configuration view, normal device screens, or anywhere else I could find to put the filter.
The net result is a remove device screen for a special class of upgrade devices.
I just copied an existing dockscreen operation I needed and placed my filters in the right spot and now I have a mod to upgrade my playership with more device slots as the game progresses.
![Smile :)](./images/smilies/icon_smile.gif)
This same approach could be used to separate out any 'class' of items and only display them where you want- specialty shops, personal locker of the playership, whatever you like.
- Ttech
- Fleet Admiral
- Posts: 2767
- Joined: Tue Nov 06, 2007 12:03 am
- Location: Traveling in the TARDIS
- Contact:
Thanks... At some point, I will figure out what to do with this example.Periculi wrote:Here is the code for a dockscreen I added to commonwealth drydocks. What it does is exactly from the RemoveDevice dockscreen, except where the <ListOptions tag has been altered to only find devices with the tag 'upgrade' in the player inventory of installed devices.Code: Select all
<DockScreen UNID="&dsDeviceUpgrade1;" name= "=(objGetName gSource)" type= "itemPicker" backgroundID= "&rsItemListScreen;" > <ListOptions dataFrom= "player" list= "dI; +upgrade" /> <Panes> <Default desc= "Pick available upgrade."> <Initialize> (block (thisItem) (setq thisItem (scrGetItem gScreen)) (if thisItem (block Nil (setq gResult (shpCanRemoveDevice gPlayerShip thisItem)) ; Make up the install cost (setq gCost (divide (multiply gMargin (itmGetInstallCost thisItem)) 5)) (switch (eq gResult 1) (block Nil (scrSetDesc gScreen "Your ship has too much cargo to be able to remove the cargo expansion.") (setq thisItem Nil) ) (not (eq gResult 0)) (block Nil (scrSetDesc gScreen "The upgrade cannot be performed.") (setq thisItem Nil) ) (gr (itmGetMass thisItem) (objGetCargoSpaceLeft gPlayerShip)) (block Nil (scrSetDesc gScreen "The technicians insist you clean some room in your holds for them to work in first.") (setq thisItem Nil) ) (ls (plyGetCredits gPlayer) gCost) (scrSetDesc gScreen (cat "We can upgrade your ship for " gCost " credits. Unfortunately, you cannot afford the cost.")) (eq gCost 0) (scrSetDesc gScreen (cat "This ship can be upgraded free of charge.")) (scrSetDesc gScreen (cat "We can upgrade your ship for " gCost " credits.") ) ) ) (scrSetDesc gScreen "We cannot perform any upgrading for your ship.") ) ; Enable/disable actions (scrEnableAction gScreen 0 (and thisItem (geq (plyGetCredits gPlayer) gCost)) ) ) </Initialize> <Actions> <Action name="Upgrade your ship" imageID="&rsItemListScreen;" imageIndex="1" default="1" key="U"> (block (thisItem) (setq thisItem (scrGetItem gScreen)) (if (and thisItem (geq (plyGetCredits gPlayer) gCost)) (block Nil (shpRemoveDevice gPlayerShip (scrGetItemListCursor gScreen)) (plyCharge gPlayer gCost) (scrShowScreen gScreen gPrevScreen gPrevPane) ) ) ) </Action> <Action name="Cancel" imageID="&rsItemListScreen;" imageIndex="0" cancel="1" key="C"> (scrShowScreen gScreen gPrevScreen gPrevPane) </Action> </Actions> </Default> </Panes> </DockScreen>
The screen allows only devices with 'upgrade' tag to be seen on the item list and with some other changes it also can only be removed at this screen- the regular RemoveDevice screens I altered to be blind to the 'upgrade' tag.Code: Select all
<ListOptions dataFrom= "player" list= "dI; +upgrade" />
The device is installed on a playership in the initial config, before the game starts. It is a blank device that merely occupies some device slots. When you go to the special remove page and 'upgrade' your ship, the device is removed and the device slots can now be used.
In order to hide the device as much as possible, I put in filters on the playership cargo and configuration view, normal device screens, or anywhere else I could find to put the filter.
The net result is a remove device screen for a special class of upgrade devices.
I just copied an existing dockscreen operation I needed and placed my filters in the right spot and now I have a mod to upgrade my playership with more device slots as the game progresses.
This same approach could be used to separate out any 'class' of items and only display them where you want- specialty shops, personal locker of the playership, whatever you like.
![Smile :)](./images/smilies/icon_smile.gif)
- Periculi
- Fleet Officer
- Posts: 1282
- Joined: Sat Oct 13, 2007 7:48 pm
- Location: Necroposting in a forum near you
![Laughing :lol:](./images/smilies/icon_lol.gif)
/me pets lovely new prototype expansion mod weighing in at an unquotable 2.5 mb of xml. Good little code, debug. no! stop jumping! debug! down code, down! debug! Debug! Oh NO! Why do you crash without error reporting!! arrrgh..
ahrmhmm hey, you know... the personal inventory filter gives me an idea. You could have a few extra ship's interior screens to handle custom cargo holds- I wonder how hard it would be to create a working hyperhold- something that disappears the mass (and imaginary corresponding volume) of the items you stow in it.