4.60 star(s) 45 Votes

Radnor

Member
Game Developer
Nov 9, 2021
365
944
How in depth is the character creation again?
It was supposed to be extended with 0.3, but personality system still needs some more experiments and time to develop, so for now it is just setting initial skills.
 

Henryhyde

Member
May 25, 2017
140
47
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
i apologize in advance. How do you copy the Json from here to place it in the game. I am running widows 10.

thanks for whatever assistance
 

Daedalron

Member
Oct 19, 2018
157
136
i apologize in advance. How do you copy the Json from here to place it in the game. I am running widows 10.

thanks for whatever assistance
Create a text file, copy the code from the post into the text file, save the text file as "whatevername.json"
Then copy the json file you created into the <game>\game\mods directory
 
  • Like
Reactions: Henryhyde

Daedalron

Member
Oct 19, 2018
157
136
It was supposed to be extended with 0.3, but personality system still needs some more experiments and time to develop, so for now it is just setting initial skills.
About the personality system for bots, not sure if it was mentioned before or not (it probably was, but just in case...), but it would be nice if we could specify in the json a personality type a bot would tend towards. For many bots, it could be purely random, but for some bots I think they could be designed to tend towards a specific personality. Not necessarily a 100% chance to get that personality, but at least a higher chance.
 

Radnor

Member
Game Developer
Nov 9, 2021
365
944
About the personality system for bots, not sure if it was mentioned before or not (it probably was, but just in case...), but it would be nice if we could specify in the json a personality type a bot would tend towards. For many bots, it could be purely random, but for some bots I think they could be designed to tend towards a specific personality. Not necessarily a 100% chance to get that personality, but at least a higher chance.
Yes, it was planned. Personality traits, "feelings" stats and model-specific personality tendencies. Just need to experiment more to make it special/entertaining enough and not just flavor skills.

What about their appearances?
Can change it by adding different image to right path.
Create <game>/game/mods/mymod/assets/images/characters/mc/ folders, place avatar.png/jpg/webp image there. Game should use it instead of default image.
Similar with backgrounds and some other assets. Check 0050_base_content.zip for paths.

Also someone asked about background music, same thing.
<game>/game/mods/mymod/assets/audio/main_menu_bgm.mp3 - for main menu music
<game>/game/mods/mymod/assets/audio/locations/home/bgm.mp3 - for location specific music
<game>/game/mods/mymod/assets/audio/default_bgm/whatever.mp3 - for background music to play if there is no specific found, if there are multiple music files in this folder they will play randomly
Main menu and location specific files should be named main_menu_bgm.<ext> and bgm.<ext> specifically.
Default music files can be named as you like.
Formats supported mp3, ogg, flak, opus.
 
  • Like
Reactions: X-Topic

Radnor

Member
Game Developer
Nov 9, 2021
365
944
Also someone asked about background music, same thing.
Oh, some random internet degenerate made some music pack?! Can't say i approve their music taste, but here is a link:
 

cooperdk

Engaged Member
Jul 23, 2017
3,457
5,065
Radnor - a question, or rather, a comment.

It is explained in the mod install info that you must place the <modname>.json and the assets directly in the mods folder.
I can see a million issues with this when the underlying folder structure is always the same, ie. mods>assets>>images><some-folder-name> etc.
The problem is, if you don't place the mod in a subfolder under mods, there is a risk of overwriting if two mod developers choose the same paths and filenames.

You may want to advise people to actually place the mods in a subfolder of their own choice, because that is possible.

Also, there is a factual error in the game. In the NetConsole, your IP is listed as an IPv4 address. At a time with sex bots, these addresses would have been defunct for a loooooong time. You should at least use an IPv6 address to make it more believable.

Finally, I just wanted to play again and I am not told that my save is from an unsupprted version.
This is one of the best examples of why Ren'Py is an awful game engine. Otherwise, devs should really design conversion scripts like the SummerTimeSaga dev does. (This is possible, but any ex. Unity save system supports updated games, the same with Unreal and both support relatively easy 2D game creation). I think I mentioned it before but again: Ren'Py is out of time, unsafe, and not really that stable anymore (due to loss of updates, many OS-specific functions have begun to fail).
 
Last edited:

Radnor

Member
Game Developer
Nov 9, 2021
365
944
Radnor - a question.

It is explained in the mod install info that you must place the <modname>.json and the assets directly in the mods folder.
I can see a million issues with this when the underlying folder structure is always the same, ie. mods>assets>>images><some-folder-name> etc.
The problem is, if you don't place the mod in a subfolder under mods, there is a risk of overwriting if two mod developers choose the same paths and filenames.

Also, I just wanted to play again and I am not told that my save is from an unsupprted version.
This is one of the best examples of why Ren'Py is an awful game engine.
Yes, mod names/folders should be unique to avoid clashes, also i often recommend adding unique-enough id prefixes, if you add bot model, part or anything with id. It is really up to modders to do it right, i don't think there is any reasonable way to ensure modding is easy enough and robust. I tried to do what i could, but modders need to read the docs/vanilla json and use common sense for game to work as expected.

As for saving compatibility, it is not really a RenPy issue, there are enough mechanisms to avoid it if done right, i have even added some on top of RenPy. But at this stage i change too many things and save breaks is necessary evil. I really hope with 0.4+ save breaks will be rare. This is why i have added many code stubs with 0.3, not just these listed in changelog, so there will be currently unused variables in your saves which will become used when i add actual mechanics and without need to break things or write save upgrade code.
While RenPy can be annoying sometimes or have some unexplainable quirk here and there, it's not really that bad.
 

phupdup

Well-Known Member
Oct 24, 2019
1,391
1,097
Lot of butthurt there. Sounds like someone's projecting. You've got me projecting some shouted inanity down there too. I'm merely pointing out that I don't trust small time devs who actively shroud their source. If you are so concerned about your precious IP, throw it under a license. Like nearly 100% of the content I find on this site, there's no copyright.txt with license information on it and some sort of anti-tamper thrown in via a public/private key hash using gnuPGP or similar. This separates you from the likes of M$, Oracle, Apple, etc whose binaries I'm forced to trust because of their size and influence. Besides, I know they will be siccing lawyers on each other like sharks when someone tries to pull a fast one. They will also be exposing themselves to hell from state actors like the US govt who are also their users.

No, this is just some little trifle that I check on from time to time to either see if you come to your senses or if something bad really did happen under the hood. I'm not going to throw good money into some cryptocurrency scam just to see some source that I'm not even sure you can prove is your own or legally licensed to you. Speaking of BTC and NFTs, now there's a good grift to get into. Did you see the idiot rapper woman who was just popped with her bf while trying to launder $billions stolen from an exchange? It's funny how blockchain was supposed to keep johnny law off of your back, but DOJ found them anyway.

If i would want to send malwares on pirate site i would be making throw-away accounts and spamming "full 100% save" posts. Code injection technique is pretty same.
While i understand your concerns and am paranoid myself you being too paranoid in this specific case.

I have large "Use VirtualMachine/Sandbox to run indie/pirated games" warning both on discord and in modding.txt.
Main reason i have obfuscated rpyc files is i have used private code i did for other commercial games, and while there is no NDA or any sort of strictly-private code, i don't want to release it to public, i do code commissions too, don't see why should i release things i do commercially for free. rpyc protection is simple, and anyone dedicated/experienced enough can remove it no problem, if you can't do it, it is your personal problem, not mine.

If you feeling generous you can commission me, donating agreed value in BTC/ETH and i will fully opensource game next day. Otherwise, thank you for your interest, but please don't spam "OH IT IS HIDING SOMETHING BAD THERE, BECAUSE I CAN'T DECOMPILE IT".

Sorry not sorry for being a little bit too emotional, but please understand your concerns are been noted, but i will not change how i do it just because you don't like it. Thank you for understanding.
 
  • Angry
Reactions: Akren

AuRon884

New Member
Sep 7, 2020
5
0
That was easy.
You're using names instead of IDs

"default_parts":{
"skin": "the Waifu skin",
"cpu": "the Heart",
"eyes": "'True' eyes",
"vocoder": "Waifu Vocals",
"powercore": "Fusion Reactor",
"arms": "the Fairy touch",
"legs": "the Wolf paws",

"id": "waifu_corp_cpu_s", <--- Use these
"name": "the Heart", <--- Not these

Edit: I think I know what you used as a template for the parts xD I see the remnants of my descriptions
Ho! I see! thank you, it was simpler than I though... BIG thank!
 

cantwakeup111

Member
Mar 3, 2018
250
432
i played this for a few hours. probably more than i should have considering the current lack of content.

can't wait for more bots, more parts, more quests, more places to visit, more..... well, more. you have a very cool concept here my dude and so far a good execution too.

at some point i recommend having an ingame index to clear up some mechanics though.

like psychocore stability for example. i noticed it went down way quicker on more "experienced" bots with more quirks/traits and it seemed easier to get quirks/traits by having low stability. i noticed absolutely no downsides to having 0% stability either.
also is psychocore stability affected by the CPU or other parts?

on a side note, i heavily endorse Corvus' mod pack. it's extra nice that the bot models actually resemble model numbers.

edit: also how the HELL do i get high quality parts, semi-reliably. the greynet only sets high tier cpus and just working and refreshing the marketplace hoping for an A/S tier part is very tedious.
 
  • Like
Reactions: Radnor

cantwakeup111

Member
Mar 3, 2018
250
432
It was suggested before, i'm still not sure how/if i want it this way. Plus social is more of innate thing, you not supposed to go from shut-in nerd to outgoing playboy overnight. Usually.
that's a reasonable thought but that just leads to there being a very clearly optimal build, dumping everything into combat and social, as you can just passively level up the rest by just working and sexing your bots. meanwhile those two... not really.
 

Radnor

Member
Game Developer
Nov 9, 2021
365
944
Lot of butthurt there. Sounds like someone's projecting. You've got me projecting some shouted inanity down there too. I'm merely pointing out that I don't trust small time devs who actively shroud their source. If you are so concerned about your precious IP, throw it under a license. Like nearly 100% of the content I find on this site, there's no copyright.txt with license information on it and some sort of anti-tamper thrown in via a public/private key hash using gnuPGP or similar. This separates you from the likes of M$, Oracle, Apple, etc whose binaries I'm forced to trust because of their size and influence. Besides, I know they will be siccing lawyers on each other like sharks when someone tries to pull a fast one. They will also be exposing themselves to hell from state actors like the US govt who are also their users.

No, this is just some little trifle that I check on from time to time to either see if you come to your senses or if something bad really did happen under the hood. I'm not going to throw good money into some cryptocurrency scam just to see some source that I'm not even sure you can prove is your own or legally licensed to you. Speaking of BTC and NFTs, now there's a good grift to get into. Did you see the idiot rapper woman who was just popped with her bf while trying to launder $billions stolen from an exchange? It's funny how blockchain was supposed to keep johnny law off of your back, but DOJ found them anyway.
Regarding closed sources, you complain same about unity/unreal games? These are not open sources, you can actually do pretty much anything out-of-box.
License? You aware we speak about it on pirate site, right? How license have helped any daz asset or game around?

Once again. If you want to play this (or any other indie) game, but don't trust me/devs, use VirtualMachine. I actually recommend it at many places, specifically so players will stay safe in case of bad devs or stealthy-infected dev mechines of good devs or just some obscure hack through posted save files. Don't think there is anything else i can do about it.
If you don't want to do so, no one is "forcing you to trust" me/devs, just ignore game/devs and move along.

Rest of your post is just making my head hurt. I doubt this discussion will end with anything good, so unless you have game-related questions i will report your future posts as offtopic/shitposting. Have a nice day.
 

Radnor

Member
Game Developer
Nov 9, 2021
365
944
that's a reasonable thought but that just leads to there being a very clearly optimal build, dumping everything into combat and social, as you can just passively level up the rest by just working and sexing your bots. meanwhile those two... not really.
With updates skills get more use, more way to train and affect more interactions. Just need time to do so :D
My goal is to make reasonably small base mc/bots state and have every part of it used somewhere. But for now it is what it is.
 

phupdup

Well-Known Member
Oct 24, 2019
1,391
1,097
Unreal/Unity is used by big and small alike. Like I said, I don't trust small devs. You keep mentioning sandbox/vm, etc, but that's just dodging the central issue.

I choose to warn rather than ignore. Someone else with no programming knowledge might thank me for it at some point.

Copyrighting your IP allows you to go after folk who steal your work. You can even get support from the likes of the EFF when you do it and someone infringes on it.

Regarding closed sources, you complain same about unity/unreal games? These are not open sources, you can actually do pretty much anything out-of-box.
License? You aware we speak about it on pirate site, right? How license have helped any daz asset or game around?

Once again. If you want to play this (or any other indie) game, but don't trust me/devs, use VirtualMachine. I actually recommend it at many places, specifically so players will stay safe in case of bad devs or stealthy-infected dev mechines of good devs or just some obscure hack through posted save files. Don't think there is anything else i can do about it.
If you don't want to do so, no one is "forcing you to trust" me/devs, just ignore game/devs and move along.

Rest of your post is just making my head hurt. I doubt this discussion will end with anything good, so unless you have game-related questions i will report your future posts as offtopic/shitposting. Have a nice day.
 
Sep 1, 2019
328
456
This game has so much potential. One of the few adult games that has a gameplay loop that I don't hate. Trying to find good parts and making the best bots is a lot of fun for me. Super excited for new updates to the story and new bots and parts. Good luck with this dev.
 

cooperdk

Engaged Member
Jul 23, 2017
3,457
5,065
Regarding closed sources, you complain same about unity/unreal games? These are not open sources, you can actually do pretty much anything out-of-box.
License? You aware we speak about it on pirate site, right? How license have helped any daz asset or game around?
1)
Whether or not Unity and Unreal is closed source is completely irrelevant because they are development tools just like Ren'Py is. And with a game you include it's runtimes (well, interpreter, which is sloooow). The difference is that Unity's and Unreal's runtimes are compiled for your project and I do mean really compiled and not "python-compiled". This makes those games many times faster, esp considering that Python 2.7 (base of Ren'Py) is beaten by Python 3 which is up to five times faster or more.
Tom should have updated Ren'Py in 2015. He has plans to update it to Py3 but that will never happen. He KNOWS that the engine is out of date and it seems like he doesn't want to do the effort.

Ren'Py is, but it is completely uninteresting to work with anymore due to it's old requirements: Python 2.7, which is slower than sluggish, and an old PyGame codebase which has moved to Py3 ages ago. With Ren'Py, we're talking a framework which is close to ten years old in it's current form.


Anyway... what is actually interesting is what goes out to gamers. With the other tools, you get ready-to-run software which will (usually) work. You cannot be sure with Ren'Py anymore because the interpreter is so old that many of the libraries don't actually work with a current OS. It's patch on patch and in addition, it is inherently unsafe on a modern system. There are libraries with every Ren'Py games which could easily destroy all disks on your computer and it just requires a small rpy injection before the damage is done.

But another issue is that somewhere between 80 and 250 MB of every Ren'Py game is the same f##king Ren'py runtimes and libraries. I have maybe 100 Ren'Py games one my game disk. That means that between 8 and 25 GB of data consists of the same libraries and runtimes.
At least some other tools understand how to create an architecture where you don't need to download runtimes and libraries more than once. With Unity and Unreal it's different as the compiled code is specific for your project and works only with that.
That's not the issue with Ren'Py. The libraries are identical in every Ren'Py game, some games just use more of them. But, Tom could have created a required standard pack to install somewhere central, and then your game (specifically) would take up only about 3 megabytes!
Tell me that isn't unintelligent, please.

2) Rendered pictures do not require a license to the assets Whoever renders them do, but this not a game developer's fault when we're talking about mods.
Also, you're mistaken.
F95zone is not actually a pirate site. It is a site for sharing free adult games, but it is most definitely not focused on piracy. You'd want another site then.

BTW, you lock your own code with homemade protections. Don't mention Ren'Py's codebase as open source because you're closing your own, so that's a really bad statement.

STILL... it's a great game and I do play it. I just wish that you spent your skills on a proper and modern gaming platform.
 
Last edited:
  • Angry
Reactions: Majordeathwish
4.60 star(s) 45 Votes