Jump to content

[mod] RimJobWorld - Extension


Recommended Posts

  • 2 weeks later...
  • 1 month later...

What's a hololock and where do you get it from?

 

I decided to edit the XML, to remove the hololock requirement. I created a few and then I saw a hash on each item that is created. It's still a mystery to me where the hololock comes from though. Is this item in the vanilla game or is this something that was added in this mod?  I wanna know cause I probably won't be able to remove these items if I put them on.

Edited by Grojcig
Link to comment
7 hours ago, Grojcig said:

What's a hololock and where do you get it from?

 

I decided to edit the XML, to remove the hololock requirement. I created a few and then I saw a hash on each item that is created. It's still a mystery to me where the hololock comes from though. Is this item in the vanilla game or is this something that was added in this mod?  I wanna know cause I probably won't be able to remove these items if I put them on.

its a lock for bondage items so the cant be removed, without key, that is generated when item is put on

you craft it

its part of rjw, i think

Link to comment
On 2/20/2023 at 8:33 AM, Ed86 said:

its a lock for bondage items so the cant be removed, without key, that is generated when item is put on

you craft it

its part of rjw, i think

 

It's all good, I figured it out. You can craft hololocks at the fabrication bench. It's pretty expensive.

Link to comment
  • 4 weeks later...

Bug: Pawns never equip plugs, even if they are expected to via Ideoligion.

 

I think the issue is that they are in the ThingCategoryDef Bondage and that is rigged by RJW to never be auto-equipped.

 

Possible Solutions:

  • It would be best to patch (or just flat out alter?) function bondage_gear::GetSpecialApparelScoreOffset in RJW to account for desired apparel and only return the low score for non-desired apparel. This has the additional charm that it works for _all_ such articles: If you want all your men in chastity cages - now you can!
  • It would probably be "good enough" to just remove the ThingCategoryDef from non-locking plugs - it's not as if butt plugs were a particularly bondagey sex toy to begin with.

Side note: I found it a bit odd that RJW comes with all the code for the apparel, even though it ships with zero items. This creates the unfortunate situation that one mod has to update even though the broken item is part of another one. ... But they have the same maintainer anyway, so I guess it does not matter.

 

Feature Request: Make Inflatable Plug non-locking

 

It is the "one size fits all" upgrade over the earlier low-tech plugs, but unfortunately it is also a locking device. If such a device is required (for Cumslut training, etc.) maybe an actual Anal Lock would be a better fit (and may, from what I have seen of real-world items, basically keep the current Inflatable Plug mechanics 1:1).

Edited by Zsar
wording
Link to comment
  • 4 weeks later...

@Bingusasdf: You select one of your own colonists, right-click the item in question and it should provide you with a context menu of actions:

  • Force wear <item>
  • Equip on

... It seems with similar menus that pawns currently in some sort of "blocking" interaction sometimes do not get listed - generally it helps to just try again after some in-game time has passed.

Link to comment
On 4/14/2023 at 7:54 AM, Zsar said:

@Bingusasdf: You select one of your own colonists, right-click the item in question and it should provide you with a context menu of actions:

  • Force wear <item>
  • Equip on

... It seems with similar menus that pawns currently in some sort of "blocking" interaction sometimes do not get listed - generally it helps to just try again after some in-game time has passed.

I meant the chair

Link to comment
On 3/21/2023 at 11:42 PM, Zsar said:

Bug: Pawns never equip plugs, even if they are expected to via Ideoligion.

 

I think the issue is that they are in the ThingCategoryDef Bondage and that is rigged by RJW to never be auto-equipped.

 

Possible Solutions:

  • It would be best to patch (or just flat out alter?) function bondage_gear::GetSpecialApparelScoreOffset in RJW to account for desired apparel and only return the low score for non-desired apparel. This has the additional charm that it works for _all_ such articles: If you want all your men in chastity cages - now you can!
  • It would probably be "good enough" to just remove the ThingCategoryDef from non-locking plugs - it's not as if butt plugs were a particularly bondagey sex toy to begin with.

Side note: I found it a bit odd that RJW comes with all the code for the apparel, even though it ships with zero items. This creates the unfortunate situation that one mod has to update even though the broken item is part of another one. ... But they have the same maintainer anyway, so I guess it does not matter.

 

Feature Request: Make Inflatable Plug non-locking

 

It is the "one size fits all" upgrade over the earlier low-tech plugs, but unfortunately it is also a locking device. If such a device is required (for Cumslut training, etc.) maybe an actual Anal Lock would be a better fit (and may, from what I have seen of real-world items, basically keep the current Inflatable Plug mechanics 1:1).

no idea how to alter GetSpecialApparelScoreOffset, well.. i probably do but so far its not working

not sure if category has anything to do with this, afaik its used for menues

 

bondage used to be in rjw but now its not

 

added non lockable infl plug

rjw-ex.zip

Edited by Ed86
Link to comment

@Bingusasdf: Ah sorry, I misread. I do not think this is currently possible - I cannot find a job definition or FloatMenuOption for it in either RJW-Extension or RJW itself.

 

@Ed86: Had a look via RW-Decompile and think it cannot be done using GetSpecialApparelScoreOffset . JobGiver_OptimizeApparel::ApparelScoreRaw has to be changed (there we can access prospective wearers before they don the item). Presumably that can/should be done via one of these Harmony patches? Not really a Rimworld modder myself, so idk.

 

Re category: Nevermind, I was completely wrong here: The binding happens via XML tag thingClass . Plugs have the thingClass 'anal_plug', which is an empty child of class 'bondage_gear' and thence uses the same 'GetSpecialApparelScoreOffset'.

 

Re not-locking expanding plug: Thank you for the quick response, but I think it's a bit too rushed:

  • it has identical graphical representation to the existing plug, which is not user friendly
  • it still has the "blocks_anus" tag, which, if I understand correctly, should only be used on locking apparel (none of the other not-locking plugs have it)
  • its mass is identical to the locking plug, even though .5 of .8 of the latter come from the hololock
    (side-note: Taking care of such "sanity check" issues is a huge drag; maybe something from the mod StuffMassMatters could help automate generating consistent product mass?)

It is not a huge issue, thence I think it would be better to properly implement it for the next regular release, rather than produce a rush job that will likely have to be amended immediately.

Edited by Zsar
Link to comment
33 minutes ago, Zsar said:

@Bingusasdf: Ah sorry, I misread. I do not think this is currently possible - I cannot find a job definition or FloatMenuOption for it in either RJW-Extension or RJW itself.

 

@Ed86: Had a look via RW-Decompile and think it cannot be done using GetSpecialApparelScoreOffset . JobGiver_OptimizeApparel::ApparelScoreRaw has to be changed (there we can access prospective wearers before they don the item). Presumably that can/should be done via one of these Harmony patches? Not really a Rimworld modder myself, so idk.

 

Re category: Nevermind, I was completely wrong here: The binding happens via XML tag thingClass . Plugs have the thingClass 'anal_plug', which is an empty child of class 'bondage_gear' and thence uses the same 'GetSpecialApparelScoreOffset'.

 

Re not-locking expanding plug: Thank you for the quick response, but I think it's a bit too rushed:

  • it has identical graphical representation to the existing plug, which is not user friendly
  • it still has the "blocks_anus" tag, which, if I understand correctly, should only be used on locking apparel (none of the other not-locking plugs have it)
  • its mass is identical to the locking plug, even though .5 of .8 of the latter come from the hololock
    (side-note: Taking care of such "sanity check" issues is a huge drag; maybe something from the mod StuffMassMatters could help automate generating consistent product mass?)

It is not a huge issue, thence I think it would be better to properly implement it for the next regular release, rather than produce a rush job that will likely have to be amended immediately.

ive tried moving GetSpecialApparelScoreOffset to JobGiver_OptimizeApparel but failed with harmony paramemters, maybe someday in future

and idk  how ideology gear coded

 

well i guess someone would need to supply hololock plugs new art, i dont remember current having hi tech looks

 

im not sure sanity apply to rw, i guess it can be set to 0.4

Link to comment
18 hours ago, Zsar said:

@Bingusasdf: Ah sorry, I misread. I do not think this is currently possible - I cannot find a job definition or FloatMenuOption for it in either RJW-Extension or RJW itself.

 

@Ed86: Had a look via RW-Decompile and think it cannot be done using GetSpecialApparelScoreOffset . JobGiver_OptimizeApparel::ApparelScoreRaw has to be changed (there we can access prospective wearers before they don the item). Presumably that can/should be done via one of these Harmony patches? Not really a Rimworld modder myself, so idk.

 

Re category: Nevermind, I was completely wrong here: The binding happens via XML tag thingClass . Plugs have the thingClass 'anal_plug', which is an empty child of class 'bondage_gear' and thence uses the same 'GetSpecialApparelScoreOffset'.

 

Re not-locking expanding plug: Thank you for the quick response, but I think it's a bit too rushed:

  • it has identical graphical representation to the existing plug, which is not user friendly
  • it still has the "blocks_anus" tag, which, if I understand correctly, should only be used on locking apparel (none of the other not-locking plugs have it)
  • its mass is identical to the locking plug, even though .5 of .8 of the latter come from the hololock
    (side-note: Taking care of such "sanity check" issues is a huge drag; maybe something from the mod StuffMassMatters could help automate generating consistent product mass?)

It is not a huge issue, thence I think it would be better to properly implement it for the next regular release, rather than produce a rush job that will likely have to be amended immediately.

 

ok, ive made patch

            if (ap.HasThingCategory(ThingCategoryDef.Named("Bondage")))
            {
                if (ap.Wearer == pawn)
                    __result += 0f;
                else if(ap.AllComps.Any(x=> x.props is CompProperties_HoloCryptoStamped))
                    __result -= 1e5f;
                else
                    __result += 0f;

                //Log.Message("bondage_score_offset " + __result);

            }

so theoretically plugs should have 0 score penalty

ive set policy to allow plugs but im not sure that is working
 

Link to comment
On 4/22/2023 at 2:55 PM, pyrobladeich said:

Is there a way to get moans from RJW Voice Patch into the machine animations? I have been trying to figure it out but with no luck.

this might be a bad workaround for someone like me who doesnt know modding too well, but in a simple audio editor like veed.io you can layer audio clips, layer a moan from voice patch on top of the clip fmthrust and replace the fmthrust file with that.

Link to comment
On 4/17/2023 at 10:59 AM, Ed86 said:

 

ok, ive made patch

            if (ap.HasThingCategory(ThingCategoryDef.Named("Bondage")))
            {
                if (ap.Wearer == pawn)
                    __result += 0f;
                else if(ap.AllComps.Any(x=> x.props is CompProperties_HoloCryptoStamped))
                    __result -= 1e5f;
                else
                    __result += 0f;

                //Log.Message("bondage_score_offset " + __result);

            }

so theoretically plugs should have 0 score penalty

ive set policy to allow plugs but im not sure that is working

Will test.

 

Note that this does not simply extend the previous behaviour, though. That would be (I think):

if (ap.HasThingCategory(ThingCategoryDef.Named("Bondage")) && ((bondage_gear)ap).has_lock())
	__result += ap.Wearer == pawn ? -1e5f : 1e5f;

 

Because this is more limited than my original proposal of also supporting locked apparel, it can also be done completely within the existing bondage_gear class:

public override float GetSpecialApparelScoreOffset()
{
	return this.has_lock()
		? (Wearer == null)
		? -1e5f
		: 1e5f
		: 0f;
}

 

  • Would you like me to create a pull request after testing?
  • Would you prefer to restrict automatic functionality to non-locking apparel, as you did here?
    • If you'd be okay with extending it to all apparel, would you mind sharing your full harmony patch? I don't really know how to do those yet. Will not have issues with extending / golfing an existing one, though, I'd think.

Re new non-locking inflatable plug: Would you be alright with rebranding the locking variant as "anal lock"? That would make finding new images easier. I can try to rasterise some stock image and create a PR for that as well. (But, issue is: I have no clue how a locking and non-locking plug should differ in apparence.)

Link to comment
15 hours ago, Zsar said:

Will test.

 

Note that this does not simply extend the previous behaviour, though. That would be (I think):

if (ap.HasThingCategory(ThingCategoryDef.Named("Bondage")) && ((bondage_gear)ap).has_lock())
	__result += ap.Wearer == pawn ? -1e5f : 1e5f;

 

Because this is more limited than my original proposal of also supporting locked apparel, it can also be done completely within the existing bondage_gear class:

public override float GetSpecialApparelScoreOffset()
{
	return this.has_lock()
		? (Wearer == null)
		? -1e5f
		: 1e5f
		: 0f;
}

 

  • Would you like me to create a pull request after testing?
  • Would you prefer to restrict automatic functionality to non-locking apparel, as you did here?
    • If you'd be okay with extending it to all apparel, would you mind sharing your full harmony patch? I don't really know how to do those yet. Will not have issues with extending / golfing an existing one, though, I'd think.

Re new non-locking inflatable plug: Would you be alright with rebranding the locking variant as "anal lock"? That would make finding new images easier. I can try to rasterise some stock image and create a PR for that as well. (But, issue is: I have no clue how a locking and non-locking plug should differ in apparence.)

my patch is

	[HarmonyPatch(typeof(JobGiver_OptimizeApparel))]
	[HarmonyPatch("ApparelScoreRaw")]
	internal static class PATCH_JobGiver_OptimizeApparel_ApparelScoreRaw
	{
		[HarmonyPostfix]
		static void bondage_score_offset(Pawn pawn, Apparel ap, ref float __result, JobGiver_OptimizeApparel __instance)
		{
			if (ap.HasThingCategory(ThingCategoryDef.Named("Bondage")))
			{
				if (ap.Wearer == pawn)
					__result += 0f;
				else if(ap.AllComps.Any(x=> x.props is CompProperties_HoloCryptoStamped))
					__result -= 1e5f;
				else
					__result += 0f;

				//Log.Message("bondage_score_offset " + __result);

			}
		}
	}

 

i think its probably? better than messing with GetSpecialApparelScoreOffset

as it actually gives access to pawn, so it can maybe modded by other mods(ideology?)

can maybe move code from patch to bondage_gear_extensions, so its easier to patch

 

not sure what is this "anal lock", so idk

Link to comment
  • 5 months later...

Currently my colonists will automatically try to equip bondage gear if available. If I forbid them from clothing policy, they will indefinitely try to remove locked gear unless it was force equipped. This just leaves them hanging there forever. Is this intentional or some form of bug?

Edited by Derenriche
Link to comment
16 hours ago, Derenriche said:

Currently my colonists will automatically try to equip bondage gear if available. If I forbid them from clothing policy, they will indefinitely try to remove locked gear unless it was force equipped. This just leaves them hanging there forever. Is this intentional or some form of bug?

bug i guess

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use