4.60 star(s) 45 Votes

Daedalron

Member
Oct 19, 2018
157
139
Sure. Be careful if you add the parts in your JSON, as you will also need to add the defects for those parts as well.
 

Mr_Shaky

Member
Nov 6, 2017
219
205
Thanks, I took a look at the code and I was wondering if there's a way to move training from the part slots to the actual parts themselves?
Parts slots determine how much damage parts of that slot take from events (including training).
It's further modified from the parts damage multiplier.
For example in vanilla skins take 100% damage from combat which is then further modified by part modifier.
The arms and legs take 75% and 50% damage from combat which is then modified by part modifier.
So both are used.
But if you remove the event damage from the slot then the parts won't take damage at all. If you want parts to not take damage set their damage mult to 0.
 

Mr_Shaky

Member
Nov 6, 2017
219
205
If you plan to use additional part slots for your bots, Mr_Shaky has suggested a framework, that I used on my mod. The important thing is the name of the slots, in order for parts from one mod to be compatible with bots from another mod.

So far, the slots in the framework are respectively:
- bot_genitals
- bot_ears
- bot_horns
- bot_tail
- bot_wings
Want me to upload it? Haven't made any changes to it.
 

Sovenock

New Member
Jan 23, 2019
4
3
I have updated my mod to the 0.3.1 version, you can get it from the original post, here:
https://f95zone.to/threads/defective-sexbot-chop-shop-v0-3-1-radnor.104343/page-24#post-7379361

Note that the mod now REQUIRES to also download Mr_Shaky parts mod, which you can get here:
https://f95zone.to/threads/defective-sexbot-chop-shop-v0-3-1-radnor.104343/page-9#post-7303586

Mr_Shaky I'll let you update the description for my mod in your post that regroup all the mods. :)
Letting you know, that you probably forgot to tweak "all" value for widow4 after testing.
 
  • Like
Reactions: Daedalron
Apr 3, 2019
116
47
Parts slots determine how much damage parts of that slot take from events (including training).
It's further modified from the parts damage multiplier.
For example in vanilla skins take 100% damage from combat which is then further modified by part modifier.
The arms and legs take 75% and 50% damage from combat which is then modified by part modifier.
So both are used.
But if you remove the event damage from the slot then the parts won't take damage at all. If you want parts to not take damage set their damage mult to 0.
Ok guess I didn't look at the code thoroughly enough, ended up misunderstanding what the code was doing. I thought it was giving training for some reason, thanks for pointing out that it's actually taking damage from training.
 

Klaptrap

Newbie
Aug 16, 2016
72
87
I have updated my mod to the 0.3.1 version, you can get it from the original post, here:
https://f95zone.to/threads/defective-sexbot-chop-shop-v0-3-1-radnor.104343/page-24#post-7379361

Note that the mod now REQUIRES to also download Mr_Shaky parts mod, which you can get here:
https://f95zone.to/threads/defective-sexbot-chop-shop-v0-3-1-radnor.104343/page-9#post-7303586

Mr_Shaky I'll let you update the description for my mod in your post that regroup all the mods. :)
I keep finding several widowmaker V4 in a row at the dump site. When I opened the JSON it turns out it's got the ALL spawn chance on 8000.
 

AddictedTT

Member
Feb 22, 2018
213
111
Okay,
Here is the final version of my mod for base game version 2.1

I went ahead and shared the image pack. Its pretty hefty at around 2.6gb. it includes the original model images so if you have this mod you do not need the original restoration mod.

just unpack the file in the mods folder.

below is the JSON for the mod please ignore the ones above they were missing some of the spawn re-balances and one of the bot models.

At final count the mod includes; 19 models, 2 S rank, 4 A rank, 5 B rank, 6 C rank and 2 D rank. 22 new bot parts and 33 defects.

JSON:
{
  "mod_id": "Megamod",
  "mod_description": "Adds 19 new models from the Diadek Corporation, incorporates original models mod and adds 22 new parts from Sendai Components complete with faults and defects",
  "mod_priority": 100,
  "asset_packs":[
  ("bots agmx_9","mod_bots agmx_9"),
  ("bots agrx_10","mod_bots agrx_10"),
  ("bots agptech","mod_bots agptech"),
  ("bots akira","mod_bots akira"),
  ("bots jkb_12","mod_bots jkb_12"),
  ("bots DiadekBS245","mod_bots DiadekBS245"),
  ("bots DiadekCC074","mod_bots DiadekCC074"),
  ("bots DiadekSC729","mod_bots DiadekSC729"),
  ("bots DiadekLL940","mod_bots DiadekLL940"),
  ("bots DiadekLL970","mod_bots DiadekLL970"),
  ("bots DiadekVB270","mod_bots DiadekVB270"),
  ("bots DiadekDD178","mod_bots DiadekDD178"),
  ("bots DiadekGL700","mod_bots DiadekGL700"),
  ("bots DiadekAR312","mod_bots DiadekAR312"),
  ("bots DiadekKG535","mod_bots DiadekKG535"),
  ("bots DiadekSH817","mod_bots DiadekSH817"),
  ("bots DiadekKS161","mod_bots DiadekKS161"),
  ("bots DiadekTH899","mod_bots DiadekTH899"),
  ("bots DiadekEL777","mod_bots DiadekEL777"),
  ("bots DiadekMM645","mod_bots DiadekMM645"),
  ("bots DiadekJR034","mod_bots DiadekJR034"),
  ("bots DiadekHM581","mod_bots DiadekHM581"),
  ("bots DiadekJK222","mod_bots DiadekJK222"),
  ("bots DiadekTT890","mod_bots DiadekTT890"),


  ],

  "bot_models":[{
    "model_id": "DiadekTH899",
    "model_name": "Diadek TH899",
    "model_description": "Diadek's ultra premium offering, only available to select clientele",
    "name_variants": "european_names",
    "gender": "female",
    "rate": "S",
    "price_mult": 2,
    "psychocore_stability_decay_mult": 0.2,
    "part_damage_mult": 0.2,
    "default_traits": [
    "sex_smart_inherent",
    "tech_smart_inherent",
    ],
    "default_parts":{
    "skin": "OrgSkin",
    "cpu": "MCP1",
    "eyes": "EE4",
    "vocoder": "VS34",
    "powercore": "taurus",
    "arms": "ha5",
    "legs": "hl5",
    },
    "list_target_chances":{

    },
    "list_target_tag_chances": {
    "all": 5,
    "luxury": 15,
    "good": 10,
    "nice": 11,
    "cheap": 1,
    },
    "generate_bot_mind_table": "default",
  },
  {
    "model_id": "DiadekGL700",
    "model_name": "DiadekGL700",
    "model_description": "An experimental bot developed by Diadek and released in a limited Beta test run. This bot when equipped with Diadeks Cybernetic components is fully cabible of being impregnated, gestating the child to term, birthing the child, nursing the child and raising the child as its mother. The model who provided her likeness for the bots appearance also provided her DNA for the cloned ovum in the ovaries. The reproductive system can be used for surrogacy of implanted embryos or for those inclined for a per pregnancy licencing fee children can be concieved with the bot. This bot represents the ultimate vision of Diadeks founder Alexios Diadochi, to remove the reproductive monopoly held by human women.",
    "name_variants": "european_names",
    "gender": "female",
    "rate": "S",
    "price_mult": 2,
    "psychocore_stability_decay_mult": 0.2,
    "part_damage_mult": 0.2,
    "default_traits": [
    "sex_smart_inherent",
    "tech_smart_inherent",
    ],
    "default_parts":{
    "skin": "DDOrgSkin",
    "cpu": "MCP1",
    "eyes": "EE4",
    "vocoder": "VS34",
    "powercore": "taurus",
    "arms": "ha5",
    "legs": "hl5",
    },
    "list_target_chances":{

    },
    "list_target_tag_chances": {
    "all": 2,
    "luxury": 7,
    "good": 5,
    "nice": 4,
    "cheap": 1,
    },
    "generate_bot_mind_table": "default",
  },
  {
    "model_id": "DiadekDD178",
    "model_name": "Diadek DD178",
    "model_description": "Diadek's premium consumer sex bot",
    "name_variants": "european_names",
    "gender": "female",
    "rate": "A",
    "price_mult": 1.7,
    "psychocore_stability_decay_mult": 0.7,
    "part_damage_mult": 0.7,
    "default_traits": [
    "sex_smart_inherent",
    ],
    "default_parts":{
    "skin": "SynthSkin",
    "cpu": "neurotech7",
    "eyes": "FE2",
    "vocoder": "OU56Q",
    "powercore": "ORU429",
    "arms": "mt6",
    "legs": "PL5",
    },
    "list_target_chances":{

    },
    "list_target_tag_chances": {
    "all": 10,
    "luxury": 10,
    "good": 15,
    "nice": 8,
    "cheap": 4,
    },
    "generate_bot_mind_table": "default",
  },
  {
    "model_id": "DiadekEL777",
    "model_name": "Diadek EL777",
    "model_description": "An appearance variant model of diadeks flagship premium consumer sex bot",
    "name_variants": "european_names",
    "gender": "female",
    "rate": "A",
    "price_mult": 1.7,
    "psychocore_stability_decay_mult": 0.7,
    "part_damage_mult": 0.7,
    "default_traits": [
    "tech_smart_inherent",
    ],
    "default_parts":{
    "skin": "SynthSkin",
    "cpu": "neurotech7",
    "eyes": "FE2",
    "vocoder": "OU56Q",
    "powercore": "ORU429",
    "arms": "mt6",
    "legs": "PL5",
    },
    "list_target_chances":{

    },
    "list_target_tag_chances": {
    "all": 10,
    "luxury": 10,
    "good": 15,
    "nice": 8,
    "cheap": 4,
    },
    "generate_bot_mind_table": "default",
  },
  {
  "model_id": "DiadekSH817",
  "model_name": "Diadek SH817",
  "model_description": "The EA series was originally designed as a secretarial bot for office applications and without sexual function, by popular demand however Diadek included sexual function starting with the 813 series.",
  "name_variants": "japanese_names",
  "gender": "female",
  "rate": "A",
  "price_mult": 1.2,
  "psychocore_stability_decay_mult": 0.7,
  "part_damage_mult": 0.7,
  "default_traits": [
  "sex_smart_inherent",
  ],
  "default_parts": {
    "skin": "SynthSkin",
    "cpu": "neurotech7",
    "eyes": "FE2",
    "vocoder": "OU56Q",
    "powercore": "ORU429",
    "arms": "mt6",
    "legs": "PL5",
  },
  "list_target_chances": {},
  "list_target_tag_chances":{
    "all": 5,
    "luxury": 10,
    "good": 15,
    "nice": 8,
    "cheap": 4,
  },
  "generate_bot_mind_table": "default",
  },
  {
    "model_id": "DiadekKG535",
    "model_name": "Diadek KG535",
    "model_description": "A tenth aniversary remaster of the bestselling VQ series, featuring the beloved form factor with support for modern components any enthuisiast would be proud to own.",
    "name_variants": "european_names",
    "gender": "female",
    "rate": "A",
    "price_mult": 1.2,
    "psychocore_stability_decay_mult": 0.6,
    "part_damage_mult": 0.7,
    "default_traits": [
    "tech_smart_inherent",
    ],
    "default_parts": {
    "skin": "SynthSkin",
    "cpu": "neurotech7",
    "eyes": "FE2",
    "vocoder": "OU56Q",
    "powercore": "ORU429",
    "arms": "mt6",
    "legs": "PL5",
    },
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 5,
    "luxury": 15,
    "good": 10,
    "nice": 8,
    "cheap": 4,
    },
    "generate_bot_mind_table": "default",
  },

  {
    "model_id": "DiadekLL940",
    "model_name": "Diadek LL940",
    "model_description": "A pleasure model targeted at the upper middle class domestic market. Diadek succeeded in creating an affordable high end sex bot at the cost of reduced duribility.",
    "name_variants": "european_names",
    "gender": "female",
    "rate": "B",
    "price_mult": 1.5,
    "psychocore_stability_decay_mult": 1.0,
    "part_damage_mult": 1.3,
    "default_traits": [],
    "default_parts":{
    "skin": "SynthSkin",
    "cpu": "QPU77k",
    "eyes": "HE7",
    "vocoder": "aria",
    "powercore": "klaxon",
    "arms": "arms_composite",
    "legs": "legs_composite",
    },
    "list_target chances": {

    },
    "list_target_tag_chances":{
    "all": 10,
    "luxury": 4,
    "good": 15,
    "nice": 10,
    "cheap": 8,
    },
    "generate_bot_mind_table": "default",
  },
  {
    "model_id": "DiadekVB270",
    "model_name": "Diadek VB270",
    "model_description": "Last generations VB series of sex bots from Diadek has a solid track record in domestic use applications",
    "name_variants": "european_names",
    "gender": "female",
    "rate": "B",
    "price_mult": 1.3,
    "psychocore_stability_decay_mult": 1.0,
    "part_damage_mult": 0.8,
    "default_traits": [],
    "default_parts":{
    "skin": "SynthSkin",
    "cpu": "QPU77k",
    "eyes": "HE7",
    "vocoder": "aria",
    "powercore": "klaxon",
    "arms": "arms_composite",
    "legs": "legs_composite",
    },
    "list_target_chances":{

    },
    "list_target_tag_chances": {
    "all": 10,
    "luxury": 4,
    "good": 15,
    "nice": 10,
    "cheap": 8,
    },
    "generate_bot_mind_table": "default",
  },
  {
    "model_id": "DiadekLL970",
    "model_name": "Diadek LL970",
    "model_description": "A variant model of the LL series targeted at the upper middle class market, this variant is more expensive but mitigates the durability issues of the 940 a great deal.",
    "name_variants": "european_names",
    "gender": "female",
    "rate": "B",
    "price_mult": 1.6,
    "psychocore_stability_decay_mult": 1.0,
    "part_damage_mult": 1.1,
    "default_traits": [],
    "default_parts":{
    "skin": "SynthSkin",
    "cpu": "QPU77k",
    "eyes": "HE7",
    "vocoder": "aria",
    "powercore": "klaxon",
    "arms": "arms_composite",
    "legs": "legs_composite",
    },
    "list_target chances": {

    },
    "list_target_tag_chances":{
    "all": 10,
    "luxury": 4,
    "good": 15,
    "nice": 10,
    "cheap": 8,
    },
    "generate_bot_mind_table": "default",
  },
  {
    "model_id": "DiadekBS245",
    "model_name": "Diadek BS245",
    "model_description": "The Diadek BS245 was the upper middle class offering offering 5 years ago, while production of this line has ceased as of last year its still common to find 'old new' stock being sold at discount in stores today",
    "name_variants": "european_names",
    "gender": "female",
    "rate": "B",
    "price_mult": 1.3,
    "psychocore_stability_decay_mult": 1.2,
    "part_damage_mult": 1.4,
    "default_traits": [],
    "default_parts":{
    "skin": "SynthSkin",
    "cpu": "QPU77k",
    "eyes": "HE7",
    "vocoder": "aria",
    "powercore": "klaxon",
    "arms": "arms_composite",
    "legs": "legs_composite",
    },
    "list_target chances": {

    },
    "list_target_tag_chances":{
    "all": 10,
    "luxury": 4,
    "good": 15,
    "nice": 10,
    "cheap": 8,
    },
    "generate_bot_mind_table": "default",
  },
  {
    "model_id": "DiadekJK222",
    "model_name": "Diadek JK222",
    "model_description": "This model of bot is intended to be Diadek's first foray into the Japanese market, Unfortunately the market dominiance of local manufacturors proved too much to be overcome by this well featured sexbot. This line is set to be discontinued next year.",
    "name_variants": "japanese_names",
    "gender": "female",
    "rate": "B",
    "price_mult": 1.3,
    "psychocore_stability_decay_mult": 1.2,
    "part_damage_mult": 1.2,
    "default_traits": [],
    "default_parts":{
    "skin": "SynthSkin",
    "cpu": "QPU77k",
    "eyes": "HE7",
    "vocoder": "aria",
    "powercore": "klaxon",
    "arms": "arms_composite",
    "legs": "legs_composite",
    },
    "list_target chances": {

    },
    "list_target_tag_chances":{
    "all": 10,
    "luxury": 4,
    "good": 15,
    "nice": 10,
    "cheap": 8,
    },
    "generate_bot_mind_table": "default",
  },
  {
    "model_id": "DiadekKS161",
    "model_name": "Diadek KS161",
    "model_description": "A variant model of the popular AR Series of domestic bot targeted at the lower middle class market, this unit excells at domestic chores",
    "name_variants": "japanese_names",
    "gender": "female",
    "rate": "C",
    "price_mult": 1,
    "psychocore_stability_decay_mult": 1,
    "part_damage_mult": 1,
    "default_traits":[],
    "default_parts": {
    "skin": "domskin",
    "cpu": "QPU77k",
    "eyes": "PE1",
    "vocoder": "aria",
    "powercore": "klaxon",
    "arms": "arms_composite",
    "legs": "legs_composite",
    },
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 10,
    "luxury": 4,
    "good": 10,
    "nice": 15,
    "cheap": 8,
    },
    "generate_bot_mind_table": "default",
  },
  {
    "model_id": "DiadekMM645",
    "model_name": "Diadek MM645",
    "model_description": "A variant model of the popular AR Series of domestic bot targeted at the lower middle class market, this unit excells at domestic chores",
    "name_variants": "european_names",
    "gender": "female",
    "rate": "C",
    "price_mult": 1,
    "psychocore_stability_decay_mult": 1,
    "part_damage_mult": 1,
    "default_traits":[],
    "default_parts": {
    "skin": "domskin",
    "cpu": "QPU77k",
    "eyes": "PE1",
    "vocoder": "aria",
    "powercore": "klaxon",
    "arms": "arms_composite",
    "legs": "legs_composite",
    },
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 10,
    "luxury": 4,
    "good": 10,
    "nice": 15,
    "cheap": 8,
    },
    "generate_bot_mind_table": "default",
  },
  {
    "model_id": "DiadekCC074",
    "model_name": "Diadek CC074",
    "model_description": "A common model middle market bot, due to its appearance it is often referred to as the 'milfbot'.",
    "name_variants": "european_names",
    "gender": "female",
    "rate": "C",
    "price_mult": 1,
    "psychocore_stability_decay_mult": 1,
    "part_damage_mult": 1,
    "default_traits":[],
    "default_parts": {
    "skin": "domskin",
    "cpu": "QPU77k",
    "eyes": "PE1",
    "vocoder": "aria",
    "powercore": "klaxon",
    "arms": "arms_composite",
    "legs": "legs_composite",
    },
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 10,
    "luxury": 4,
    "good": 10,
    "nice": 15,
    "cheap": 8,
    },
    "generate_bot_mind_table": "default",
  },
  {
    "model_id": "DiadekSC729",
    "model_name": "Diadek SC729",
    "model_description": "This model of bot was designed with 'sister' models to serve as staff in Hotels and stately manors, although each bot isnt particualary fully featured each of the 'sisters' was designed to excel at a specific role. This bot was designed to be a seamstress and laundress, making alterations to its owners clothing and overseeing the wardrobe.",
    "name_variants": "european_names",
    "gender": "female",
    "rate": "C",
    "price_mult": 0.7,
    "psychocore_stability_decay_mult": 1,
    "part_damage_mult": 1,
    "default_traits":[],
    "default_parts": {
    "skin": "domskin",
    "cpu": "QPU77k",
    "eyes": "PE1",
    "vocoder": "aria",
    "powercore": "klaxon",
    "arms": "arms_composite",
    "legs": "legs_composite",
    },
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 10,
    "luxury": 4,
    "good": 10,
    "nice": 15,
    "cheap": 8,
    },
    "generate_bot_mind_table": "default",
  },
  {
    "model_id": "DiadekHM581",
    "model_name": "Diadek HM581",
    "model_description": "This model of bot was designed with 'sister' models to serve as staff in Hotels and stately manors, although each bot isnt particualary fully featured each of the 'sisters' was designed to excel at a specific role. This bot was designed to be a personal trainer assisting either the master of the house or hotel guests in thier workout routines.",
    "name_variants": "japanese_names",
    "gender": "female",
    "rate": "C",
    "price_mult": 0.7,
    "psychocore_stability_decay_mult": 1,
    "part_damage_mult": 1,
    "default_traits":[],
    "default_parts": {
    "skin": "domskin",
    "cpu": "QPU77k",
    "eyes": "PE1",
    "vocoder": "aria",
    "powercore": "klaxon",
    "arms": "arms_composite",
    "legs": "legs_composite",
    },
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 10,
    "luxury": 4,
    "good": 10,
    "nice": 15,
    "cheap": 8,
    },
    "generate_bot_mind_table": "default",
  },
  {
    "model_id": "DiadekAR312",
    "model_name": "Diadek AR312",
    "model_description": "Diadeks offering targeting the lower middle class market, this bot performs adequately at household chores.",
    "name_variants": "european_names",
    "gender": "female",
    "rate": "C",
    "price_mult": 1,
    "psychocore_stability_decay_mult": 1,
    "part_damage_mult": 1,
    "default_traits": [],
    "default_parts": {
    "skin": "domskin",
    "cpu": "QPU77k",
    "eyes": "PE1",
    "vocoder": "aria",
    "powercore": "klaxon",
    "arms": "arms_composite",
    "legs": "legs_composite",
    },
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 10,
    "luxury": 4,
    "good": 10,
    "nice": 15,
    "cheap": 8,
    },
    "generate_bot_mind_table": "default",
  },
  {
    "model_id": "DiadekJR034",
    "model_name": "Diadek JR034",
    "model_description": "Ten years ago this model of bot was Diadeks ultra premium option along with the variant model TT890. Five years ago it was a respectable mid range choice for those on a budget, and today its an affordable general purpose bot found in thrift stores and flea markets the world over. With expertise and a little work this unit can be made compatible with modern components",
    "name_variants": "european_names",
    "gender": "female",
    "rate": "D",
    "price_mult": 0.5,
    "psychocore_stability_decay_mult": 0.4,
    "part_damage_mult": 0.6,
    "default_traits": [],
    "default_parts":{
    "skin": "domskin",
    "cpu": "neurotech4",
    "eyes": "irida",
    "vocoder": "invox",
    "powercore": "nova",
    "arms": "arms_plastan",
    "legs": "legs_plastan",
    },
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 13,
    "luxury": 1,
    "good": 5,
    "nice": 13,
    "cheap": 18,
    },
    "generate_bot_mind_table": "default",
  },
  {
    "model_id": "DiadekTT890",
    "model_name": "Diadek TT890",
    "model_description": "Ten years ago this model of bot was Diadeks ultra premium option along with the variant model JR034. Five years ago it was a respectable mid range choice for those on a budget, and today its an affordable general purpose bot found in thrift stores and flea markets the world over. With expertise and a little work this unit can be made compatible with modern components",
    "name_variants": "european_names",
    "gender": "female",
    "rate": "D",
    "price_mult": 0.5,
    "psychocore_stability_decay_mult": 0.4,
    "part_damage_mult": 0.6,
    "default_traits": [],
    "default_parts":{
    "skin": "domskin",
    "cpu": "neurotech4",
    "eyes": "irida",
    "vocoder": "invox",
    "powercore": "nova",
    "arms": "arms_plastan",
    "legs": "legs_plastan",
    },
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 13,
    "luxury": 1,
    "good": 5,
    "nice": 13,
    "cheap": 18,
    },
    "generate_bot_mind_table": "default",
  }
  ],
  "bot_parts":[{
    "id": "EE4",
    "name": "Eagle Eye 4",
    "description": "Featuring 32K resolution per eye and the ability to view light in the visible, ultra violet and infrared spectrum, Sendai Optics is proud to bring you the bleeding edge in robot optics",
    "rate": "S",
    "price_mult": 3.0,
    "slot": "bot_eyes",
    "damage_mult": 3.0,
    "possible_defects": [
    (None, 100,100),(None,0,0),
    ("paralax",25,2),
    ("RotFail",50,3),("RotFail",25,10),("RotFail",0,0),
    ("dead_pixels",5,1),
    ("shatlens",0,99999),
    ],
    "repair_skills": [
    ("mechanics", 30),
    ("electronics", 60),
    ("computers", 10),
    ],
    "difficulty": 4.0,
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 4,
    "luxury": 15,
    "good": 10,
    "nice": 8,
    "cheap": 4,
    },
  },
  {
    "id": "FE2",
    "name": "Falcon Eye 2",
    "description": "Featuring 32k resolution per eye in a mil spec frame the Falcon Eye 2 by Sendai is the choice for those who like to live dangerously",
    "rate" : "A",
    "price_mult": 2,
    "slot": "bot_eyes",
    "damage_mult": 0.5,
    "possible_defects":[
    (None, 100,100),(None,0,0),
    ("paralax",25,2),
    ("RotFail",25,10),("RotFail",0,0),
    ("dead_pixels",5,1),
    ("shatlens",0,99999),
    ],
    "repair_skills": [
    ("mechanics", 30),
    ("electronics", 60),
    ("computers", 10),
    ],
    "difficulty": 3,
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 8,
    "luxury": 10,
    "good": 15,
    "nice": 8,
    "cheap": 4,
    },
  },
  {
    "id": "HE7",
    "name": "Hawk Eye 7",
    "description": "Featuring 16k resolution per eye as well as night vision mode the Sendai Components Hawk Eye series is a great product for the enthusiast with a budget",
    "rate": "B",
    "price_mult": 1.8,
    "slot": "bot_eyes",
    "damage_mult": 1.6,
    "possible_defects": [
    (None, 100,100),(None,0,0),
    ("paralax",25,2),
    ("RotFail",75,2),("RotFail",50,3),("RotFail",25,10),("RotFail",0,0),
    ("dead_pixels",5,1),
    ("shatlens",0,99999),
    ],
    "repair_skills": [
    ("mechanics", 30),
    ("electronics", 60),
    ("computers", 10),
    ],
    "difficulty": 2.0,
    "list_target_chances":{
    },
    "list_target_tag_chances":{
    "all": 8,
    "luxury": 4,
    "good": 10,
    "nice": 15,
    "cheap": 8,
    },
    },
    {
    "id": "PE1",
    "name": "Parrot Eye 1",
    "description": "Featuring 8K resolution per eye and Sendai's patented vision co-processor for hardware auto error correction this product is the best bang for buck optics available",
    "rate": "C",
    "price_mult": 1,
    "slot": "bot_eyes",
    "damage_mult": 1.3,
    "possible_defects":[
    (None, 100,100),(None,0,0),
    ("paralax",25,2),
    ("RotFail",75,2),("RotFail",50,3),("RotFail",25,10),("RotFail",0,0),
    ("dead_pixels",5,1),
    ("shatlens",0,99999),
    ],
    "repair_skills": [
    ("mechanics", 30),
    ("electronics", 60),
    ("computers", 10),
    ],
    "difficulty": 1,
    "list_target_chances":{
    },
    "list_target_tag_chances":{
    "all": 10,
    "luxury": 4,
    "good": 8,
    "nice": 15,
    "cheap": 10,
    },
    },
    {
    "id": "CE9",
    "name": "Chicken Eye 1",
    "description": "featuring 4k resolution per eye the chicken eye 1 is typically used by high schools to teach students the fundamentals of bot optics on a cheap platform.",
    "rate": "D",
    "price_mult": 0.5,
    "slot": "bot_eyes",
    "damage_mult": 1,
    "possible_defects":[
    (None, 100,100),(None,0,0),
    ("paralax",25,2),
    ("RotFail",75,2),("RotFail",50,3),("RotFail",25,10),("RotFail",0,0),
    ("chiplet",5,1),
    ("shatlens",0,99999),
    ],
    "repair_skills": [
    ("mechanics", 70),
    ("electronics", 20),
    ("computers", 10),
    ],
    "difficulty": 0.3,
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 10,
    "luxury": 0,
    "good": 5,
    "nice": 11,
    "cheap": 20,
    },
    },
    {
    "id": "Q9984T",
    "name": "Q-994T",
    "description": "Sendai sends its customers this unit while they wait for the repair under warranty for their actual eyes, they don't even ask for it back after.",
    "rate": "E",
    "price_mult": 0.1,
    "slot": "bot_eyes",
    "damage_mult": 0.1,
    "possible_defects":[
    (None, 100,100),(None,0,0),
    ("paralax",25,2),
    ("RotFail",90,1),("RotFail",75,2),("RotFail",50,3),("RotFail",25,10),("RotFail",0,0),
    ("dead_pixels",5,1),
    ("shatlens",0,99999),
    ],
    "repair_skills":[
    ("mechanics", 80),
    ("electronics", 15),
    ("computers", 5),
    ],
    "difficulty": 0.1,
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 10,
    "luxury": 0,
    "good": 0,
    "nice": 11,
    "cheap": 20,
    },
    },


    {
    "id":"MCP1",
    "name": "MCP v 1",
    "description": "The Meta-Cognitive Processor is the cutting edge of Quantum CPU Tech. By law a sentience limiter must be hardwired into this product",
    "rate": "S",
    "price_mult": 3.0,
    "slot": "bot_cpu",
    "damage_mult": 0.2,
    "possible_defects":[
    (None, 100,100),(None,0,0),
    ("bentsock",25,2),
    ("therthrot",90,1),("therthrot",75,2),("therthrot",50,3),("therthrot",25,10),("therthrot",0,0),
    ("chiplet",5,1),
    ("quantunn",0,99999),
    ],
    "repair_skills": [
    ("electronics", 80),
    ("computers", 20),
    ],
    "difficulty": 4.0,
    "list_target_chances": {

    },
    "list_target_tag_chances": {
    "all": 4,
    "luxury": 15,
    "good": 10,
    "nice": 8,
    "cheap": 4,
    },
    },
    {
    "id":"QPU77k",
    "name": "QPU 77k",
    "description": "Quantum Processor Unit model 77k is a solid entry level quantum style CPU",
    "rate": "B",
    "price_mult": 1.8,
    "slot": "bot_cpu",
    "damage_mult": 0.8,
    "possible_defects":[
    (None, 100,100),(None,0,0),
    ("bentsock",25,2),
    ("therthrot",90,1),("therthrot",75,2),("therthrot",50,3),("therthrot",25,10),("therthrot",0,0),
    ("chiplet",5,1),
    ("quantunn",0,99999),
    ],
    "repair_skills": [
    ("electronics", 80),
    ("computers", 20),
    ],
    "difficulty": 2.0,
    "list_target_chances": {},
    "list_target_tag_chances": {
    "all": 10,
    "luxury": 4,
    "good": 10,
    "nice": 15,
    "cheap": 8,
    },

  },
  {
    "id": "OrgSkin",
    "name": "Cybernetic Skin",
    "description": "Cloned Human Flesh complete with reproductive organs (infertile) and hormonal / immune systems maintained and fed via nanobots, it looks and feels real because it is real. The unit comes in the form of a single use device that can be programed with the DNA on file for compatible bot models and applied. When a bot is designed its appearance is taken from a human professional model who in bots that are desinged to be compatible with cybenetics has also provided thier DNA for the purposes of coding cybernetic compenents.",
    "rate": "S",
    "price_mult": 4.0,
    "slot": "bot_skin",
    "damage_mult": 0.1,
    "possible_defects": [
    (None, 100,100),(None,0,0),
    ("cancer",25,2),
    ("Ufreck",60,2),("wart",50,3),("wart",25,10),("wart",0,0),
    ("Cfreck", 80,1),
    ("dead",0,99999),
    ],
    "repair_skills": [
    ("computers", 100),
    ],
    "difficulty": 4.0,
    "list_target_chances": {},
    "list_target_tag_chances": {
    "all": 5,
    "luxury": 15,
    "good": 10,
    "nice": 8,
    "cheap": 4,
    },
  },
  {
    "id": "DDOrgSkin",
    "name": "BioSkin",
    "description": "This experimental Bioskin is made from Cloned Human Flesh complete with fully functional reproductive organs and hormonal / immune systems maintained and fed via nanobots, it looks and feels real because it is real. This unit is experimental and can be found only in the Diadek GL700 Beta",
    "rate": "S",
    "price_mult": 4.0,
    "slot": "bot_skin",
    "damage_mult": 0.1,
    "possible_defects": [
    (None, 100,100),(None,0,0),
    ("cancer",25,2),
    ("Ufreck",60,2),("wart",50,3),("wart",25,10),("wart",0,0),
    ("Cfreck", 80,1),
    ("dead",0,99999),
    ],
    "repair_skills": [
    ("computers", 100),
    ],
    "difficulty": 4.0,
    "list_target_chances": {},
    "list_target_tag_chances": {
    "all": 0,
    "luxury": 0,
    "good": 0,
    "nice": 0,
    "cheap": 0,
    },
  },
  {
    "id": "SynthSkin",
    "name": "Synth Skin",
    "description": "The closet to real skin you can get without it being real, 90% of people surveyed can't tell the difference.",
    "rate": "A",
    "price_mult": 3.0,
    "slot": "bot_skin",
    "damage_mult": 0.4,
    "possible_defects": [
    (None, 100,100),(None,0,0),
    ("skeldet",25,2),
    ("muscle",90,1),("muscle",75,2),("muscle",50,3),("muscle",25,10),("muscle",0,0),
    ("deglove",5,1),
    ("brn",0,99999),
    ],
    "repair_skills": [
    ("mechanics", 30),
    ("electronics", 30),
    ("computers", 40),
    ],
    "difficulty": 3.0,
    "list_target_chances": {},
    "list_target_tag_chances": {
    "all": 5,
    "luxury": 10,
    "good": 15,
    "nice": 8,
    "cheap": 4,
    },
  },
  {
    "id": "milskin",
    "name": "Mil-Spec Skin",
    "description": "The civilian version of Sendai's military spec bot skin, Substantially more durable than other types making it popular in industrial applications, looks off and no one who touches it would mistake it for real  human skin.",
    "rate": "B",
    "price_mult": 2.0,
    "slot": "bot_skin",
    "damage_mult": 0.1,
    "possible_defects": [
    (None, 100,100),(None,0,0),
    ("skeldet",25,2),
    ("muscle",90,1),("muscle",75,2),("muscle",50,3),("muscle",25,10),("muscle",0,0),
    ("deglove",5,1),
    ("brn",0,99999),
    ],
    "repair_skills":[
    ("mechanics", 60),
    ("electronics", 30),
    ("computers", 10),
    ],
    "difficulty": 1.0,
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 8,
    "luxury": 4,
    "good": 10,
    "nice": 15,
    "cheap": 8,
    },
  },
  {
    "id": "domskin",
    "name": "domestic skin",
    "description": "This bot skin is designed for domestic applications and can stand up to typical household chores, looks real but feels slightly off",
    "rate": "C",
    "price_mult": 1,
    "slot": "bot_skin",
    "damage_mult": 1,
    "possible_defects":[
    (None, 100,100),(None,0,0),
    ("skeldet",25,2),
    ("muscle",90,1),("muscle",75,2),("muscle",50,3),("muscle",25,10),("muscle",0,0),
    ("deglove",5,1),
    ("brn",0,99999),
    ],
    "repair_skills":[
    ("mechanics", 60),
    ("electronics", 30),
    ("computers", 10),
    ],
    "difficulty": 0.8,
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 15,
    "luxury": 4,
    "good": 8,
    "nice": 15,
    "cheap": 10,
    },
  },

  {
    "id": "VS34",
    "name": "VS 34",
    "description": "The Vocal Simulacrum differs from other vocoders as it is a cloned human mouth (XX or XY per request),tongue, teeth, facial muscles, trachea, wind pipe and lung. All fed, cleaned and maintained by nanobots this unit speaks the same way a human does via inhalation and exhalation through vocal cords. When a bot is designed its appearance is taken from a human professional model who in bots that are desinged to be compatible has also provided thier DNA for the purposes of cybernetic compenents.",
    "rate": "S",
    "price_mult": 4,
    "slot": "bot_vocoder",
    "damage_mult": 0.1,
    "possible_defects": [
    (None, 100,100),(None,0,0),
    ("cancer",25,2),
    ("wart",25,10),("wart",0,0),
    ("dead",0,99999),
    ],
    "repair_skills": [
    ("computers", 100),
    ],
    "difficulty": 4.0,
    "list_target_chances":{},
    "list_target_tag_chances": {
    "all": 3,
    "luxury": 15,
    "good": 10,
    "nice": 8,
    "cheap": 4,
    },
  },
  {
   "id": "OU56Q",
   "name": "Oration Unit",
   "description": "This unit mimics a human mouth complete with facial muscles for seamless lip syncing and saliva (water). Pitch ,tone and accent can adjusted and speech impediments can be activated if one wishes",
   "rate": "A",
   "price_mult": 3,
   "slot": "bot_vocoder",
   "damage_mult": 0.5,
   "possible_defects": [
    (None, 100,100),(None,0,0),
    ("langcorr",25,2),
    ("muscle",90,1),("muscle",75,2),("muscle",50,3),("muscle",25,10),("muscle",0,0),
    ("decmembrane",5,1),
    ("magfail",0,99999),
   ],
   "repair_skills":[
   ("computers", 20),
   ("mechanics", 40),
   ("electronics", 40),
   ],
   "difficulty": 3.0,
   "list_target_chances":{},
   "list_target_tag_chances":{
    "all": 5,
    "luxury": 10,
    "good": 15,
    "nice": 8,
    "cheap": 4,
   },
  },
  {
  "id":"parlez",
  "name": "Parlez",
  "description": "Mass market vocoder by Sendai. Affordable and sounds right but lip sync is tied to the lips only and not the underlying facial 'muscles' giving a slight uncanny valley effect when the bot speaks",
  "rate": "C",
  "price_mult": 1,
  "slot": "bot_vocoder",
  "damage_mult": 1,
  "possible_defects": [
    (None, 100,100),(None,0,0),
    ("langcorr",25,2),
    ("muscle",90,1),("muscle",75,2),("muscle",50,3),("muscle",25,10),("muscle",0,0),
    ("decmembrane",5,1),
    ("magfail",0,99999),
  ],
  "repair_skills":[
  ("computers", 20),
  ("mechanics", 40),
  ("electronics", 40),
  ],
  "difficulty": 1,
  "list_target_chances":{},
  "list_target_tag_chances":{
    "all": 15,
    "luxury": 4,
    "good": 8,
    "nice": 15,
    "cheap": 10,
  },
  },
  {
    "id": "taurus",
    "name": "Taurus",
    "description": "The Taurus is the pinnacle of bot powercore tech, the fuel pellets on board last for 80 years and the unit self maintains anything other than severe damage",
    "rate": "S",
    "price_mult": 4,
    "slot": "bot_powercore",
    "damage_mult": 0.2,
    "possible_defects":[
    (None, 100,100),(None,0,0),
    ("ccasing",25,2),
    ("uvolt",50,3),("uvolt",25,10),("uvolt",0,0),
    ("EMFF",5,1),
    ("deppel",0,99999),
    ],
    "repair_skills": [
    ("electronics", 70),
    ("mechanics", 20),
    ("computers", 10),
    ],
    "difficulty": 4.0,
    "list_target_chances":{},
    "list_target_tag_chances": {
    "all": 2,
    "luxury": 15,
    "good": 10,
    "nice": 8,
    "cheap": 4,
    },
  },
  {
    "id": "ORU429",
    "name": "Organic Reactor",
    "description": "The Organic Reactor can be powered via the consumption of carbohydrates, sugars and proteins. This is popular in bot brothels as an average ejaculations worth of semen contains enough protein to power the bot for 3 hours",
    "rate": "A",
    "price_mult": 3,
    "slot": "bot_powercore",
    "damage_mult": 0.7,
    "possible_defects":[
    (None, 100,100),(None,0,0),
    ("biota",25,2),
    ("bachinf",90,1),("bachinf",75,2),("bachinf",50,3),("bachinf",25,10),("bachinf",0,0),
    ("partcorrosion",5,1),
    ("biocorrosion",0,99999),
    ],
    "repair_skills":[
    ("electronics", 70),
    ("mechanics", 20),
    ("computers", 10),
    ],
    "difficulty": 3.0,
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 7,
    "luxury": 10,
    "good": 15,
    "nice": 8,
    "cheap": 4,
    },
  },
  {
    "id": "klaxon",
    "name": "Klaxon mk 2",
    "description": "The Klaxon mk 2 is Sendai's Mil-Spec powercore, offering rugged durability.",
    "rate": "B",
    "price_mult": 2,
    "slot": "bot_powercore",
    "damage_mult": 0.1,
    "possible_defects":[
    (None, 100,100),(None,0,0),
    ("ccasing",25,2),
    ("uvolt",75,2),("uvolt",50,3),("uvolt",25,10),("uvolt",0,0),
    ("EMFF",5,1),
    ("catdam",0,99999),
    ],
    "repair_skills":[
    ("electronics", 70),
    ("mechanics", 20),
    ("computers", 10),
    ],
    "difficulty": 2.0,
    "list_target_chances":{},
    "list_target_tag_chances":{
    "all": 10,
    "luxury": 4,
    "good": 10,
    "nice": 15,
    "cheap": 8,
    },
  },
  {
    "id": "ha5",
    "name": "Hyper Arms",
    "description": "These arms are made from a proprietary hyper alloy making them both stronger than steel and lighter than human bone, coupled with bleeding edge actuators and med-tech sensors these arms provide unmatched dexterity and real time physiological data.",
    "rate": "S",
    "price_mult": 4,
    "slot": "bot_arms",
    "damage_mult": 0.1,
    "possible_defects": [
    (None, 100,100),(None,0,0),
    ("BlAct",25,2),
    ("Sticky",75,2),("Sticky",50,3),("Sticky",25,10),("Sticky",0,0),
    ("frozjoin",5,1),
    ("snap",0,99999),
    ],
    "repair_skills": [
    ("mechanics", 85),
    ("electronics", 10),
    ("computers", 5),
    ],
    "difficulty": 4.0,
    "list_target_chances": {},
    "list_target_tag_chances": {
    "all": 5,
    "luxury": 15,
    "good": 10,
    "nice": 8,
    "cheap": 4,
    },
  },
  {
    "id": "hl5",
    "name": "Hyper Legs",
    "description": "These legs are made from a proprietary hyper alloy making them both stronger than steel and lighter than human bone, coupled with bleeding edge actuators these arms provide unmatched dexterity.",
    "rate": "S",
    "price_mult": 4,
    "slot": "bot_legs",
    "damage_mult": 0.1,
    "possible_defects": [
    (None, 100,100),(None,0,0),
    ("BlAct",25,2),
    ("Sticky",75,2),("Sticky",50,3),("Sticky",25,10),("Sticky",0,0),
    ("frozjoin",5,1),
    ("snap",0,99999),
    ],
    "repair_skills": [
    ("mechanics", 85),
    ("electronics", 10),
    ("computers", 5),
    ],
    "difficulty": 4.0,
    "list_target_chances": {},
    "list_target_tag_chances": {
    "all": 5,
    "luxury": 15,
    "good": 10,
    "nice": 8,
    "cheap": 4,
    },
  },
  {
    "id": "PL5",
    "name": "Precision Legs",
    "description": "These legs are constructed from carbon composites and contain industry leading actuators for high performance dexterity",
    "rate": "A",
    "price_mult": 3,
    "slot": "bot_legs",
    "damage_mult": 0.6,
    "possible_defects": [
    (None, 100,100),(None,0,0),
    ("BlAct",25,2),
    ("Sticky",75,2),("Sticky",50,3),("Sticky",25,10),("Sticky",0,0),
    ("frozjoin",5,1),
    ("snap",0,99999),
    ],
    "repair_skills": [
    ("mechanics", 85),
    ("electronics", 10),
    ("computers", 5),
    ],
    "difficulty": 3.0,
    "list_target_chances": {},
    "list_target_tag_chances": {
    "all": 7,
    "luxury": 10,
    "good": 15,
    "nice": 8,
    "cheap": 4,
    },
  },
  {
    "id": "mt6",
    "name": "Med-Tech arms",
    "description": "These arms contain a suite of sensors allowing the bot to monitor heart rate, blood O2, temperature and muscle tension. While designed for medical applications these units are also popular in sex bots as the sensor data allows bots to respond to their partners physiological signs during intercourse",
    "rate": "A",
    "price_mult": 3,
    "slot": "bot_arms",
    "damage_mult": 0.4,
    "possible_defects": [
    (None, 100,100),(None,0,0),
    ("BlAct",25,2),
    ("uncalisens",90,1),("Sticky",75,2),("Sticky",50,3),("Sticky",25,10),("Sticky",0,0),
    ("frozjoin",5,1),
    ("snap",0,99999),
    ],
    "repair_skills": [
    ("mechanics", 40),
    ("electronics", 40),
    ("computers", 20),
    ],
    "difficulty": 3.0,
    "list_target_chances": {},
    "list_target_tag_chances": {
    "all": 7,
    "luxury": 10,
    "good": 15,
    "nice": 8,
    "cheap": 4,
    },
  }
  ],

  "bot_part_defects":[
    {
    "id": "dead_pixels",
    "name": "Dead pixels",
    "description": "Eyes' iris display has some dead pixels, breaking iris patterns.",
    "part_price_mult": 0.25,
    "repairable": False,
    },
    {
    "id": "wart",
    "name": "Wart",
    "description": "A Wart like growth has appeared on this organic component",
    "can_apply_multiple": True,
    "part_price_mult": 0.8,
    "repairable": True,
    "fix_requirements": [],
    "difficulty": 3.5,
    "disabling": False,
    "destroyed": False,
    },
    {
    "id": "Cfreck",
    "name": "Cute Freckles",
    "description": "The bot has developed freckles, normally a defect these actually improve the bots appearance",
    "can_apply_multiple": False,
    "part_price_mult": 1.2,
    "repairable": True,
    "fix_requirements": [],
    "difficulty": 3.5,
    "disabling": False,
    "destroyed": False,
    },
    {
    "id": "Ufreck",
    "name": "Ugly Freckles",
    "description": "The bot has developed freckles that detract from its appearance",
    "can_apply_multiple": True,
    "part_price_mult": 0.8,
    "repairable": True,
    "fix_requirements": [],
    "difficulty": 3.5,
    "disabling": False,
    "destroyed": False,
    },
    {
    "id": "cancer",
    "name": "Cancer",
    "description": "This organic component has developed cancer beyond what its nanites can correct causing unsightly growths",
    "can_apply_multiple": True,
    "part_price_mult": 0.1,
    "repairable": False,
    "fix_requirements": [],
    "difficulty": 3.5,
    "disabling": False,
    "destroyed": False,
    },
    {
    "id": "dead",
    "name": "Dead",
    "description": "The organic part of this component is dead, throw it in the garbage before it starts to stink",
    "can_apply_multiple": False,
    "part_price_mult": 0,
    "repairable": False,
    "fix_requirements": [],
    "difficulty": 100,
    "destroyed": True,
    },
    {
    "id": "Sticky",
    "name": "Sticky Actuator",
    "description": "An actuator has started to stick inhibiting freedom of movement in the limb",
    "can_apply_multiple": True,
    "part_price_mult": 0.6,
    "repairable": True,
    "fix_requirements": [],
    "difficulty": 1,
    "disabling": False,
    "destroyed": False,
    },
    {
    "id": "frozjoin",
    "name": "Frozen Joint",
    "description": "A major joint has fused, while the other limb has full mobility this one cannot be fixed and must be replaced.",
    "can_apply_multiple": False,
    "part_price_mult": 0.2,
    "repairable": False,
    "fix_requirements":[],
    "difficulty": 100,
    "disabling": False,
    "destroyed": False,
    },
    {
    "id": "BlAct",
    "name": "Blown Actuator",
    "description": "An actuator has failed replacement required.",
    "can_apply_multiple": False,
    "part_price_mult": 0.3,
    "repairable": True,
    "fix_requirements": [],
    "difficulty": 2,
    "disabling": True,
    "destroyed": False,
    },
    {
    "id":"uncalisens",
    "name": "Uncalibrated Sensor",
    "description": "A sensor has lost calibration",
    "can_apply_multiple": True,
    "part_price_mult": 0.6,
    "repairable": True,
    "fix_requirements": [],
    "difficulty": 1,
    "disabling": False,
    "destroyed": False,
    },
    {
    "id": "snap",
    "name": "Snapped Limb",
    "description": "The limp has snapped completely and is dangling by cables held in place only by the skin",
    "can_apply_multiple": False,
    "part_price_mult": 0.1,
    "repairable": False,
    "fix_requirements": [],
    "difficulty": 100,
    "destroyed": True,
    },
    {
    "id": "paralax",
    "name": "Parallax Calc Error",
    "description": "The software than runs parallax calculations for depth perception is returning NAN to function calls",
    "can_apply_multiple": False,
    "part_price_mult": 0.5,
    "repairable": True,
    "fix_requirements": [],
    "difficulty": 1.4,
    "disabling": True,
    "destroyed": False,
    },
    {
    "id": "RotFail",
    "name": "Rotation failure",
    "description": "An eye actuator is damaged reducing the range of movement in the eye.",
    "can_apply_multiple": True,
    "part_price_mult": 0.8,
    "repairable": True,
    "fix_requirements": [],
    "difficulty": 1.0,
    "disabling": False,
    "destroyed": False,
    },
    {
    "id": "shatlens",
    "name": "Shattered Lens",
    "description": "The Lens on the eye is completely shattered",
    "can_apply_multiple": False,
    "part_price_mult": 0.1,
    "repairable": False,
    "fix_requirements": [],
    "difficulty": 100,
    "destroyed": True,
    },
    {
    "id": "quantunn",
    "name": "Quantum Tunneling",
    "description": "Electrons moving through the processor have begun teleporting via quantum tunneling, the processor cannot function",
    "can_apply_multiple": False,
    "part_price_mult": 0.1,
    "repairable": False,
    "fix_requirements": [],
    "difficulty": 100,
    "destroyed": True,
    },
    {
    "id": "therthrot",
    "name": "Thermal Throttling",
    "description": "The cooling on this processor has failed to keep pace with thermal output causing a thermal throttle",
    "can_apply_multiple": True,
    "part_price_mult": 0.6,
    "repairable": True,
    "fix_requirements": [],
    "difficulty": 1.1,
    "disabling": False,
    "destroyed": False,
    },
    {
    "id": "bentsock",
    "name": "Bent Socket",
    "description": "The socket connector on the CPU has bent",
    "can_apply_multiple": False,
    "part_price_mult": 0.3,
    "repairable": True,
    "fix_requirements": [],
    "difficulty": 1.1,
    "disabling": True,
    "destroyed": False,
    },
    {
    "id": "chiplet",
    "name": "Bad Chiplet",
    "description": "One of the several chiplets on the CPU has irreparably failed, CPU still functions but at diminished capacity",
    "can_apply_multiple": False,
    "part_price_mult": 0.4,
    "repairable": False,
    "fix_requirements": [],
    "difficulty": 1.1,
    "disabling": true,
    "destroyed": False,
    },
    {
    "id": "muscle",
    "name": "Muscle Tense",
    "description": "The simulated muscle under the skin has locked into an always tense state, the bot looks like it's flexing the 'muscle' constantly",
    "can_apply_multiple": True,
    "part_price_mult": 0.8,
    "repairable": True,
    "fix_requirements":[],
    "difficulty": 1,
    "disabling": False,
    "destroyed": False,
    },
    {
    "id": "skeldet",
    "name": "Skeletal Detachment",
    "description": "The Skin has detached from the bots endo-skeleton",
    "can_apply_multiple": False,
    "part_price_mult": 0.2,
    "repairable": True,
    "fix_requirements": [],
    "difficulty": 1,
    "disabling": True,
    "destroyed": False,
    },
    {
    "id": "deglove",
    "name": "Degloved",
    "description": "The 'flesh' covering the bots hand has been completely torn off, while still functional the hand is unsightly and internal components are exposed to the elements.",
    "can_apply_multiple": False,
    "part_price_mult": 0.2,
    "repairable": False,
    "fix_requirements": [],
    "difficulty": 100,
    "disabling": False,
    "destroyed": False,
    },
    {
    "id": "brn",
    "name": "Burns",
    "description": "The skin sub system has been subjected to electrical overload causing severe burns. The unit is non functional and cannot be repaired.",
    "can_apply_multiple": False,
    "part_price_mult": 0.1,
    "repairable": False,
    "fix_requirements": [],
    "difficulty": 100,
    "disabling": False,
    "destroyed": True,
    },
    {
    "id": "langcorr",
    "name": "Corrupted Kernal",
    "description": "Language compiler has detected a fatal kernel error. The vocoders bios will need to be re-flashed.",
    "can_apply_multiple": False,
    "part_price_mult": 0.3,
    "repairable": True,
    "fix_requirements":[],
    "difficulty": 1,
    "disabling": True,
    },
    {
    "id": "magfail",
    "name": "Magnetic driver failure",
    "description": "The electro-magnet that drove the membrane has failed.",
    "can_apply_multiple": False,
    "part_price_mult": 0.2,
    "repairable": False,
    "difficulty": 100,
    "destroyed": True,
    },
    {
    "id": "decmembrane",
    "name": "Decoupled membrane",
    "description": "The vibration membrane has decoupled from its housing and cannot be re-seated, while the unit still functions it sounds like an old FM radio when you drive into a tunnel",
    "can_apply_multiple": False,
    "part_price_mult": 0.1,
    "repairable": False,
    "fix_requirements": [],
    "difficulty": 100,
    "disabling": False,
    "destroyed": False,
    },
    {
    "id":"deppel",
    "name": "Oxidised Pellet",
    "description": "The fuel pellet that powered this Taurus unit has been exposed to oxygen which has oxydised the pellet and is thus no longer capable of generating power",
    "can_apply_multiple": False,
    "part_price_mult": 0.1,
    "repairable": False,
    "fix_requirements":[],
    "difficulty": 100,
    "destroyed": True,
    },
    {
    "id":"biocorrosion",
    "name": "Organic corrosion",
    "description": "The internal contacts in the organic reactor have corroded, the device is no longer functional",
    "can_apply_multiple": False,
    "part_price_mult": 0.1,
    "repairable": False,
    "fix_requirements":[],
    "difficulty": 100,
    "destroyed": True,
    },
    {
    "id":"partcorrosion",
    "name": "Partial corrosion",
    "description": "The internal contacts in the organic reactor have partially corroded, the device functions at diminished capacity",
    "can_apply_multiple": False,
    "part_price_mult": 0.1,
    "repairable": False,
    "fix_requirements":[],
    "difficulty": 100,
    "disabling": False,
    "destroyed": False,
    },
    {
    "id": "bachinf",
    "name": "Bacterial Infestation",
    "description": "The organic reactors reaction chamber has become host to a strain of bacteria that is reducing the efficiency of the catalyzation process",
    "can_apply_multiple": True,
    "part_price_mult": 0.8,
    "repairable": True,
    "fix_requirements":[],
    "difficulty": 1,
    "disabling": False,
    "destroyed": False,
    },
    {
    "id": "biota",
    "name": "Microbiota failure",
    "description": "The organic reactor functions with the assistance of helpful bacteria, this bacteria has died and must be replaced for the unit to function",
    "can_apply_multiple": False,
    "part_price_mult": True,
    "repairable": True,
    "fix_requirements": [],
    "difficulty": 1,
    "disabling": True,
    "destroyed": False,
    },
    {
    "id": "uvolt",
    "name": "Under Volt",
    "description": "The powercore is not outputting the expected voltage while still functional it is operating at a reduced capacity",
    "can_apply_multiple": True,
    "part_price_mult": 0.5,
    "repairable": True,
    "fix_requirements": [],
    "difficulty": 1,
    "disabling": False,
    "destroyed": False,
    },
    {
    "id": "ccasing",
    "name": "Cracked Casing",
    "description": "An internal casing has cracked preventing the unit from generating power.",
    "can_apply_multiple": False,
    "part_price_mult": 0.3,
    "repairable": True,
    "fix_requirements": [],
    "difficulty": 1,
    "disabling": True,
    },
    {
    "id": "EMFF",
    "name": "EMF Failure",
    "description": "Failure might be a bit strong but the magnetic containment has diminished forcing the unit to operate at a diminished capacity, its cheaper to replace the whole unit than replace the magnets",
    "can_apply_multiple": False,
    "part_price_mult": 0.2,
    "repairable": False,
    "fix_requirements":[],
    "difficulty": 100,
    "disabling": False,
    "destroyed": False,
    },
    {
    "id": "catdam",
    "name": "Catastrophic Internal Damage",
    "description": "The internal components look like someone hit it with a frag grenade.",
    "part_price_mult": 0.1,
    "repairable": False,
    "fix_requirements": [],
    "difficulty": 100,
    "destroyed": True,
    }
    ]
  }
This is me spent until next main game version. Props to Radnor for making a compelling game to build upon.

EDIT1: corrected a couple of errors in vocoder defects
EDIT2: Corrected Spelling Error in experimental bioskin

Hey there, any chance to upload your mod to a different website? pixeldrain does not work for me. Thanks
 

Daedalron

Member
Oct 19, 2018
157
139
Letting you know, that you probably forgot to tweak "all" value for widow4 after testing.
Oh shit...
Correction added with version 2.1, thanks for the report.

I keep finding several widowmaker V4 in a row at the dump site. When I opened the JSON it turns out it's got the ALL spawn chance on 8000.
Yeah, I had an issue with that bot, and improved the value for testing, and pressed for time, I forgot to switch it back before posting... :'(
 

clockwinding

Member
Nov 10, 2019
388
156
Hey,

I'm trying to make a BBS offer mod with more luxury oriented requests, based on the existing templates in the vanilla offers.json
The problem is some requirements are either ignored/not showing up in game, as written below. i've also tried other keywords like part/parts/bot_part/bot_parts without success. I'd really like to add some bot part quality requirements / trait requirements / psychocore health requirement to the requests but don't know if it's possible currently. At least i don't know the proper keywords and syntax for it.

there's also an error line 75 i can't wrap my head around. the 1st request alone works fine if taken by itself.

JSON:
##clockwinding's BBS requests
##you're gonna need MrShaky's parts mod filling in the part grades blanks from vanilla, and other mods adding bots too or you won't be able to complete the luxury bot requests. I'm using Daeldaron's and Corvus' myself.

{
  "mod_id": "Luxury goods for questionable purposes",
  "mod_description": "Grey Market BBS offers for high-end bots.",
  "mod_priority": 20,
  "grey_market_offers": [
    {
      "id": "wtb_believable_store_manager",
      "title": "I don't ask where you got the parts, don't ask me what i'll do with the bot. Looking for a storefront manager, details below.",
      "chance": 15,
      "duration": (3,9),
      "cooldown": (3,10),
      "request": {
        "type": "bot",
        "rate": "DCBAS",
        "minimal_integrity": 80,
        "minimal_stability": 75,
        "skills": {
          "social": "BAS",
          "mechanics": "CBAS",
          "electronics": "CBAS",
        },
        "part": {
          "vocoder": "BAS",
          "skin": "DCBAS",
          "cpu": "CBAS",
        "price_mods": {
          "skill_mods": {
            "bot_social":      (1.0,"mul_exp3",0.0,5.0),
          },
        },
      },
      "reward": {
        "type": "money",
        "value": "min(150000,request_price*1.75)",
      },
    },
    {
      "id": "buying_sextoy_luxury",
      "title": "Need an escort for a business meeting and the following party. Beauty and social skills are a must, being able to act as a bodyguard is a bonus. Money isn't a problem, I need quality and speed on a ready-to-use luxury good.",
      "chance": 5,
      "duration": (3,3),
      "cooldown": (3,10),
      "request": {
        "type": "bot",
        "rate": "AS",
        "gender": "female",
        "minimal_integrity": 100,
        "minimal_stability": 100,
        "skills": {
          "sex": "AS",
          "social": "AS",
        },
        "part": {
          "vocoder": "AS",
          "skin": "AS",
          "cpu": "AS",
          "powercore": "BAS",
          "eyes": "AS",
      },
        "price_mods": {
          "skill_mods": {
            "bot_sex":         (1.0,"mul_exp3",0.0,1.5),
            "bot_social":      (1.0,"mul_exp3",0.0,2.0),
        "bot_combat":      (1.0,"mul_exp3",0.0,1.0),
          },
        },
      },
      "reward": {
        "type": "money",
        "value": "max(100000,request_price*2.0)",
      },
    },
    {
      "id": "buying_honeytrap",
      "title": "WTB honeytrap. Good luck calibrating the psychocore, i'm not dealing with that. And don't go too crazy on the bot, i'm kinda tight on the money.",
      "chance": 10,
      "duration": (3,9),
      "cooldown": (3,10),
      "request": {
        "type": "bot",
        "rate": "BAS",
        "minimal_integrity": 100,
    "minimal_stability": 100,
        "skills": {
          "combat": "BAS",
      "social": "BAS",
        },
    "part": {
      "skin": "BAS",
      "arm": "BAS",
      "vocoder": "BAS",
      },
        "price_mods": {
          "skill_mods": {
            "bot_social": (1.0,"mul_exp3",0.0,2.0),
            "bot_combat":   (1.0,"mul_exp3",0.0,3.0),
          },
        },
      },
      "reward": {
        "type": "money",
        "value": "min(125000,request_price)",
      },
    },
  ],
}
 
Last edited:

dmmt

Well-Known Member
May 8, 2020
1,007
979
Here's the V2 of my mod, edited for version 0.3.1 of the game.

In order for the mod to work, you will need 3 files:

- First, the mod now REQUIRES to also use Mr_Shaky's part filler mod/ShakyMod_Parts, which you can find here (click on Spoiler:Mods, and download from the Mega link):
https://f95zone.to/threads/defective-sexbot-chop-shop-v0-3-1-radnor.104343/page-9#post-7303586
- Second, the zip file for this mod assets (DSCS Assets Daedalron.zip), which can be downloaded from this Mega link
- Third, the JSON file for this mod, "Daedalron_bots.JSON" (download it from the file attached in this post)

I have kept the JSON file excluded from the archive so that it is easier to tweak and replace for later updates (hopefully you'll just need to downloaded the new JSON).

The mod includes only 28 additionnal sexbots (7 D-rank, 6 C-rank, 6 B-rank, 6 A-rank, 3 S-rank), with 25 different looks (3 models are variants with different parts/psychocore, but with the same look). The mod also includes some parts for new slots (vaginas, ears, horns, tails, wings).

I used only 3D animations (no real porn), and mostly tried to match the rank with how "human-like" the woman was. The mod is quite heavy, since I used multiple videos for each bot, to ensure some diversity while playing. If you prefer a lighter version, the number of videos in each folder can easily be cut down.


Bots are (not by rank order):
- Kara (Detroit Become Human)
- D.Va (Overwatch)
- Mercy (Overwatch)
- Widowmaker (Overwatch)
- Jinx (League of legends)
- Linkle (Legend of Zelda)
- Nyotengu (DOA)
- Marie-rose (DOA)
- Kanna (DOA)
- Mai Shiranui (King of fighters)
- Tifa (FF7)
- Jessie (FF7)
- Aerith (FF7)
- Yshtola (FF14)
- Lunafreya (FF15)
- Iris (FF15)
- 2B (Nier Automata)
- Max (Life is strange)
- Chloe (Life is strange)
- Brooke (Life is strange)
- Rachel (Life is strange)
- Succubus

Special thanks to Squib2187 for the Med-Tech arms. :)

Is this an updated/expanded version of your mod indicated in KEROS post on page 41? If so, to load this mod vs that one, will this overwrite it, or should I delete the old mod and then extract this one? (along with your indicated required mods for it)

I will also say...I like the game, and I REALLY like your mod and its additions TO the game.

json file referenced above; attached
 
Last edited:

saneulae

Member
Sep 18, 2020
115
62
Hey,

I'm trying to make a BBS offer mod with more luxury oriented requests, based on the existing templates in the vanilla offers.json
The problem is some requirements are either ignored/not showing up in game, as written below. i've also tried other keywords like part/parts/bot_part/bot_parts without success. I'd really like to add some bot part quality requirements / trait requirements / psychocore health requirement to the requests but don't know if it's possible currently. At least i don't know the proper keywords and syntax for it.

there's also an error line 75 i can't wrap my head around. the 1st request alone works fine if taken by itself.

JSON:
##clockwinding's BBS requests
##you're gonna need MrShaky's parts mod filling in the part grades blanks from vanilla, and other mods adding bots too or you won't be able to complete the luxury bot requests. I'm using Daeldaron's and Corvus' myself.

{
  "mod_id": "Luxury goods for questionable purposes",
  "mod_description": "Grey Market BBS offers for high-end bots.",
  "mod_priority": 20,
  "grey_market_offers": [
    {
      "id": "wtb_believable_store_manager",
      "title": "I don't ask where you got the parts, don't ask me what i'll do with the bot. Looking for a storefront manager, details below.",
      "chance": 15,
      "duration": (3,9),
      "cooldown": (3,10),
      "request": {
        "type": "bot",
        "rate": "DCBAS",
        "minimal_integrity": 80,
        "minimal_stability": 75,
        "skills": {
          "social": "BAS",
          "mechanics": "CBAS",
          "electronics": "CBAS",
        },
        "part": {
          "vocoder": "BAS",
          "skin": "DCBAS",
          "cpu": "CBAS",
        "price_mods": {
          "skill_mods": {
            "bot_social":      (1.0,"mul_exp3",0.0,5.0),
          },
        },
      },
      "reward": {
        "type": "money",
        "value": "min(150000,request_price*1.75)",
      },
    },
    {
      "id": "buying_sextoy_luxury",
      "title": "Need an escort for a business meeting and the following party. Beauty and social skills are a must, being able to act as a bodyguard is a bonus. Money isn't a problem, I need quality and speed on a ready-to-use luxury good.",
      "chance": 5,
      "duration": (3,3),
      "cooldown": (3,10),
      "request": {
        "type": "bot",
        "rate": "AS",
        "gender": "female",
        "minimal_integrity": 100,
        "minimal_stability": 100,
        "skills": {
          "sex": "AS",
          "social": "AS",
        },
        "part": {
          "vocoder": "AS",
          "skin": "AS",
          "cpu": "AS",
          "powercore": "BAS",
          "eyes": "AS",
      },
        "price_mods": {
          "skill_mods": {
            "bot_sex":         (1.0,"mul_exp3",0.0,1.5),
            "bot_social":      (1.0,"mul_exp3",0.0,2.0),
        "bot_combat":      (1.0,"mul_exp3",0.0,1.0),
          },
        },
      },
      "reward": {
        "type": "money",
        "value": "max(100000,request_price*2.0)",
      },
    },
    {
      "id": "buying_honeytrap",
      "title": "WTB honeytrap. Good luck calibrating the psychocore, i'm not dealing with that. And don't go too crazy on the bot, i'm kinda tight on the money.",
      "chance": 10,
      "duration": (3,9),
      "cooldown": (3,10),
      "request": {
        "type": "bot",
        "rate": "BAS",
        "minimal_integrity": 100,
    "minimal_stability": 100,
        "skills": {
          "combat": "BAS",
      "social": "BAS",
        },
    "part": {
      "skin": "BAS",
      "arm": "BAS",
      "vocoder": "BAS",
      },
        "price_mods": {
          "skill_mods": {
            "bot_social": (1.0,"mul_exp3",0.0,2.0),
            "bot_combat":   (1.0,"mul_exp3",0.0,3.0),
          },
        },
      },
      "reward": {
        "type": "money",
        "value": "min(125000,request_price)",
      },
    },
  ],
}
Ha!! your luxury escort will pay me 19M for my S bot! I like your style.
The only error I had to fix to run, was adding a closing bracket to "part" under store manager. My OCD added a few spaces here and there through the rest of the script.
psychocore stability works fine just the way you have it. I thought Rad mentioned something about a minimum part slot requirement a few pages back, but I didn't find it again right away...
 
Apr 3, 2019
116
47
ran into an error after editing one of my .json files, not really sure what the issue is:

Edit 1: Ok I figured out what happened, I tried to add an XP boost to one of the new part classes and it broke the game. It's kind of weird because every other part in that class has a boost but for some reason adding one to it broke the game.

Edit 2: I'm a dumbass, the problem was I forgot to place a bracket to close the argument, works just fine now. *shakes head at self*
 
Last edited:

Daedalron

Member
Oct 19, 2018
157
139
Is this an updated/expanded version of your mod indicated in KEROS post on page 41? If so, to load this mod vs that one, will this overwrite it, or should I delete the old mod and then extract this one? (along with your indicated required mods for it)

I will also say...I like the game, and I REALLY like your mod and its additions TO the game.
I tried as a test, and it seems it would still work even if you keep the older version of the mod (they have different file names, but the id of every model is the same). But it would be much better if you delete the older version of the mod, every older model is included in the v2.1 as well, with different parts though (the v1 only used the base game parts, while the v2 now use Mr_Shaky mod for a wider range of ranks). Assuming you keep the Assets in zip form, you would also waste a lot of hard drive space by having the old assets unziped and the new assets ziped.

So, my advice, delete the older version.
 
Last edited:
4.60 star(s) 45 Votes