665c5eb51e418

665c5eb51efbc
1 Guest is here.
 

Topic: SS2 Inventory Fumbler (SCP Minimod) Read 6612 times  

665c5eb51f7f4RoSoDude

665c5eb51f861
System Shock 2 - Inventory Fumbler (SCP Minimod) v1.00
by RoSoDude https://rosodudemods.wordpress.com/

This mod introduces new and old inventory micromanagement annoyances to System Shock 2:
-Hybrid Shotguns must be manually unloaded of their single slug round as in vanilla
-Recharging stations only charge items dragged one at a time from the inventory (frob distance is increased to accommodate)
-Med Bed keys, ICE picks, Auto-Repair Units, and French-Epstein Devices no longer stack in the inventory
-Game cartridges must be dragged onto the MFD game player to install them

Requires SCP Beta 4 (and hopefully supports future versions), install above it in Blue Mod Manager. Compatible with Rebalanced Skills and Disciplines 1.08, which re-enables device stacking if the player acquires the Pack Rat O/S Upgrade.

665c5eb51fad7goosefromtopgun

665c5eb51fb26
Nice work as usual. I am quite interested in this in concept, however the idea of all the hybrid shotguns floating around again because I want that one round from downed hybrids is also immersion breaking. Perhaps a version that does all of the above, minus manually unloading of the single slug would be good? I mean you still have to bring up the inventory screen to get the thing.

665c5eb51fc29ZylonBane

665c5eb51fc77
You're basically asking for a mod that was created to be annoying to be less annoying. That's like someone asking for a mod that was created to be ugly to be less ugly.

665c5eb5201f2RoSoDude

665c5eb520272
Nice work as usual. I am quite interested in this in concept, however the idea of all the hybrid shotguns floating around again because I want that one round from downed hybrids is also immersion breaking. Perhaps a version that does all of the above, minus manually unloading of the single slug would be good? I mean you still have to bring up the inventory screen to get the thing.

It's straightforward to remove any feature you don't like. Just go into DMM\SCP-Inventory-Fumbler_X.XX\shockscp.gam.dml and remove or comment out (syntax // for an individual line or /* [...] */ for a block comment) the parts you don't want. In this case, just remove the following code block:

Code: [Select]
////Forces the player to manually loot Hybrid Shotguns again
//Add one slug back to Hybrid Shotguns
+ObjProp -4073 "GunState" //Hybrid_Shotgun
{
    "Ammo" 1
}
//Remove "NVGuaranteedLoot0="OneRifledSlug";" from OG-Shotgun
+ObjProp -175 ObjList = "NVRelayTrap2On="BeginScript"; NVRelayTrap2Off="Null"; NVRelayTrap2TDest="[Me]"; NVRelayTrap2TOn="Init"; NVRelayTrap2OnDelay=500; NVRelayTrap2TCount=1; NVCreateAndLinkOn="Init"; NVCreateAndLinkCount=1; NVCreateAndLinkCreate="og-shot flash"; NVCreateAndLinkLinkType="~DetailAttachement"; NVCreateAndLinkLinkData1Field="Type"; NVCreateAndLinkLinkData1Value="2"; NVCreateAndLinkLinkData2Field="vhot/sub #"; NVCreateAndLinkLinkData2Value="0"; NVCreateAndLinkLinkData3Field="joint"; NVCreateAndLinkLinkData3Value="12"; NVCreateAndLinkLinkData4Field="rel pos"; NVCreateAndLinkLinkData4Value="0, -1.5, 0"; NVCreateAndLinkLinkData5Field="rel rot"; NVCreateAndLinkLinkData5Value="270"; NVCreateAndLink2On="Init"; NVCreateAndLink2Count=1; NVCreateAndLink2Create="og-shot eject"; NVCreateAndLink2LinkType="~DetailAttachement"; NVCreateAndLink2LinkData1Field="Type"; NVCreateAndLink2LinkData1Value="2"; NVCreateAndLink2LinkData2Field="vhot/sub #"; NVCreateAndLink2LinkData2Value="0"; NVCreateAndLink2LinkData3Field="joint"; NVCreateAndLink2LinkData3Value="10"; NVCreateAndLink2LinkData4Field="rel pos"; NVCreateAndLink2LinkData4Value="0, -1, 0"; NVCreateAndLink2LinkData5Field="rel rot"; NVCreateAndLink2LinkData5Value="180"; NVRelayTrapTDest="&~DetailAttachement"; NVRelayTrapOn="EffectFire"; NVRelayTrapTOn="TurnOn";" //OG-Shotgun

665c5eb520519goosefromtopgun

665c5eb52057e
ZylonBane My intention was to gently critique rather than complain or to ask for a personalized mod.

665c5eb520a8bgoosefromtopgun

665c5eb520ae7
RoSoDudeInteresting. Will try. Keep up the nice work mate.

665c5eb521019sarge945

665c5eb521072
You're basically asking for a mod that was created to be annoying to be less annoying. That's like someone asking for a mod that was created to be ugly to be less ugly.

This literally happened to the migraine cyberspace mod. People wanted the env map removed.

665c5eb521127ZylonBane

665c5eb52117b
Yes Sarge, it's like I picked that example for a reason. Gold star.

665c5eb52136agoosefromtopgun

665c5eb5213c5
ZylonBaneI'll keep that in mind when commenting in the future and try to be more thoughtful with my opinions. Genuinely was trying to offer what I thought may have been useful feedback like I have done so with his Deus Ex mods.

665c5eb5214aeRoSoDude

665c5eb5214fd
I discovered that Inventory Fumbler has a compatibility issue with RealSG, since both overwrite the ObjList on OG-Shotgun (-175). I guess the only way to fix it on my end is to produce a distinct RealSG version of Inventory Fumbler?

EDIT: Or I could use DML fingerprinting to check for RealSG stuff, I suppose. Will look into that.
« Last Edit: 13. January 2022, 02:10:00 by RoSoDude »

665c5eb52163fvoodoo47

665c5eb5216c5
if you want compatibility, you'll probably have to create a RealSG version that will replicate the RealSG code in your ObjList. hmm.. maybe moving your ObjList to a metaprop and slapping it onto -175 could work?

665c5eb521894RoSoDude

665c5eb5218e5
The problem is I need to remove a param from the -175 ObjList, be it SCP's or RealSG's. I managed to fix compatibility by DML fingerprinting for the ObjList property on -1377 which RealSG adds (and I can think of little reason any other mod would need), then applying the merged ObjList there.

In dbmods\realsgfix.dml:

Code: [Select]
DML1

//RealSG edits the same OG-Shotgun (-175) ObjList as we do
//So we'll just check for RealSG's added Objlist property to Broken Shotgun (-1377)
FINGERPRINT
{
   PROP -1377 ObjList
}

//and then change the ObjList to match RealSG but without the OneRifledSlug loot
+ObjProp -175 ObjList = "NVRelayTrap2On="BeginScript"; NVRelayTrap2Off="Null"; NVRelayTrap2TDest="[Me]"; NVRelayTrap2TOn="Init"; NVRelayTrap2OnDelay=500; NVRelayTrap2TCount=1; NVCreateAndLinkOn="Init"; NVCreateAndLinkCount=1; NVCreateAndLinkCreate="og-shot flash"; NVCreateAndLinkLinkType="~DetailAttachement"; NVCreateAndLinkLinkData1Field="Type"; NVCreateAndLinkLinkData1Value="2"; NVCreateAndLinkLinkData2Field="vhot/sub #"; NVCreateAndLinkLinkData2Value="0"; NVCreateAndLinkLinkData3Field="joint"; NVCreateAndLinkLinkData3Value="12"; NVCreateAndLinkLinkData4Field="rel pos"; NVCreateAndLinkLinkData4Value="0.12, -1.6, 0"; NVCreateAndLinkLinkData5Field="rel rot"; NVCreateAndLinkLinkData5Value="274"; NVCreateAndLink2On="Init"; NVCreateAndLink2Count=1; NVCreateAndLink2Create="og-shot eject"; NVCreateAndLink2LinkType="~DetailAttachement"; NVCreateAndLink2LinkData1Field="Type"; NVCreateAndLink2LinkData1Value="2"; NVCreateAndLink2LinkData2Field="vhot/sub #"; NVCreateAndLink2LinkData2Value="0"; NVCreateAndLink2LinkData3Field="joint"; NVCreateAndLink2LinkData3Value="10"; NVCreateAndLink2LinkData4Field="rel pos"; NVCreateAndLink2LinkData4Value="0, -1, 0"; NVCreateAndLink2LinkData5Field="rel rot"; NVCreateAndLink2LinkData5Value="180"; NVRelayTrapTDest="&~DetailAttachement"; NVRelayTrapOn="EffectFire"; NVRelayTrapTOn="TurnOn"; NVRelayTrap3On="Slain"; NVRelayTrap3Off="null"; NVRelayTrap3TDest="&Contains"; NVRelayTrap3TOn="shotlink"; NVRelayTrap3OnDelay=10; NVRelayTrap4On="shotfrob"; NVRelayTrap4Off="null"; NVRelayTrap4TDest="&~DetailAttachement"; NVRelayTrap4TOn="shotkill";" //OG-Shotgun


If you think it's good to go I'll update to 1.01 with this.

665c5eb521990voodoo47

665c5eb5219e4
yeah, that sounds good, and should work, assuming the -1377 prop is processed before your mod does the check. dbmod.log should be explored to verify.

665c5eb521ae0RoSoDude

665c5eb521b30
Unfortunately fingerprinting happens before application of any DML patch, so this doesn't work. When I said "I fixed compatibility" I actually meant "I forgot I already turned off Inventory Fumbler in the mod manager while attempting to test compatibility".

However, there's a cleaner solution I overlooked -- I can merely remove "NVGuaranteedLoot" from Once-Grunts (-396) so that ObjList param on -175 never executes. As long as another mod doesn't add it back it works just fine.

Your name:
This box must be left blank:

How can you ____ a perfect, immortal machine? (Fill in the missing word):
1 Guest is here.
This is dreadful! Poor Ethel has been hit over the head and killed!
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
665c5eb522b3c