Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [HarmonyPostfix, HarmonyPatch(typeof(HScene), "SetStartVoice")]
- public static void AddPColliders(HScene __instance)
- {
- inHScene = true;
- male_list = __instance.GetMales().Where(male => male != null).ToArray();
- fem_list = __instance.GetFemales().Where(female => female != null).ToArray();
- Console.WriteLine("ItJustWerks(tm)");
- foreach (var male in male_list.Where(male => male != null))
- {
- foreach (var penisshaft in male.GetComponentsInChildren<Transform>().Where(shaft=>shaft.name.Contains("cm_J_dan101_00")))
- {
- dbcshaft = penisshaft.GetComponent<DynamicBoneCollider>();
- if (dbcshaft == null)
- {
- Console.WriteLine("No collider found in penis shaft, adding");
- dbcshaft = penisshaft.gameObject.AddComponent(typeof(DynamicBoneCollider)) as DynamicBoneCollider;
- Console.WriteLine("Collider added to penis shaft");
- }
- else
- {
- Console.WriteLine("Collider exists at penis shaft");
- }
- //dbc.m_Direction = DynamicBoneColliderBase.Direction.Z;
- dbcshaft.m_Direction = _realDBShaftDirection;
- //dbc.m_Center = new Vector3(0, 0, -0.91f);
- dbcshaft.m_Center = new Vector3(_dbshaftcenter_x.Value, _dbshaftcenter_y.Value, _dbshaftcenter_z.Value);
- //dbc.m_Bound = DynamicBoneColliderBase.Bound.Outside;
- dbcshaft.m_Bound = _realDBShaftBound;
- //dbc.m_Radius = 0.20f;
- dbcshaft.m_Radius = _dbshaftRadius.Value;
- //dbc.m_Height = 2.2f;
- dbcshaft.m_Height = _dbshaftHeight.Value;
- foreach (var penistip in penisshaft.GetComponentsInChildren<Transform>().Where(x => x.name.Contains("cm_J_dan109_00")))
- {
- dbc = penistip.GetComponent<DynamicBoneCollider>();
- Console.WriteLine("Checking to see if the penis tip has a collider");
- if (dbc == null)
- {
- Console.WriteLine("No collider found in penis head, adding");
- dbc = penistip.gameObject.AddComponent(typeof(DynamicBoneCollider)) as DynamicBoneCollider;
- Console.WriteLine("Collider added to penis head");
- }
- else
- {
- Console.WriteLine("Collider exists at penis head");
- }
- //dbc.m_Direction = DynamicBoneColliderBase.Direction.Z;
- dbc.m_Direction = _realDBDirection;
- //dbc.m_Center = new Vector3(0, 0, -0.91f);
- dbc.m_Center = new Vector3(_dbcenter_x.Value, _dbcenter_y.Value, _dbcenter_z.Value);
- //dbc.m_Bound = DynamicBoneColliderBase.Bound.Outside;
- dbc.m_Bound = _realDBBound;
- //dbc.m_Radius = 0.20f;
- dbc.m_Radius = _dbRadius.Value;
- //dbc.m_Height = 2.2f;
- dbc.m_Height = _dbHeight.Value;
- }
- }
- }
- foreach(var female in fem_list.Where(female => female != null))
- {
- Console.WriteLine("Checking for additional vagina dynamic bones");
- foreach (DynamicBone db in female.GetComponentsInChildren<DynamicBone>().Where(x => x.m_Root.name.Contains("cf_J_Vagina")))
- {
- if (db != null)
- {
- Console.WriteLine("Vagina bones found, adding penis colliders to collider lists.");
- //foreach (var male in __instance.GetMales().Where(male => male != null))
- //{
- //foreach (var dbc in male.GetComponentsInChildren<DynamicBoneCollider>().Where(x => x.name.Contains("cm_J_dan109_00")))
- //{
- vagBones.Add(db);
- if (db.m_Colliders.Contains(dbcshaft))
- {
- Console.WriteLine("Instance of " + dbcshaft.name + " already exists in list for DB " + db.m_Root.name);
- }
- else
- {
- db.m_Colliders.Add(dbcshaft);
- Console.WriteLine(dbcshaft.name + " added to " + female.name + " for bone " + db.m_Root.name);
- }
- if (db.m_Colliders.Contains(dbc))
- {
- Console.WriteLine("Instance of " + dbc.name + " already exists in list for DB " + db.m_Root.name);
- }
- else
- {
- db.m_Colliders.Add(dbc);
- Console.WriteLine(dbc.name + " added to " + female.name + " for bone " + db.m_Root.name);
- }
- //}
- //}
- }
- else
- {
- Console.WriteLine("No vagina dynamic bones found.");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement