mirror of
https://gitgud.io/c0ffeeeeeeee/rimworld-animations.git
synced 2024-08-15 00:43:45 +00:00
better bodytype offsets for hulk
This commit is contained in:
parent
ce09ac0b2a
commit
04717154e3
7 changed files with 67 additions and 2 deletions
|
@ -16,6 +16,7 @@ namespace Rimworld_Animations {
|
|||
public bool isFucking = false;
|
||||
public bool isFucked = false;
|
||||
public bool controlGenitalAngle = false;
|
||||
public BodyTypeOffset bodyTypeOffset = new BodyTypeOffset();
|
||||
public Vector3 offset = new Vector2(0, 0);
|
||||
}
|
||||
}
|
||||
|
|
18
Source/Actors/BodyTypeOffset.cs
Normal file
18
Source/Actors/BodyTypeOffset.cs
Normal file
|
@ -0,0 +1,18 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Rimworld_Animations {
|
||||
public class BodyTypeOffset {
|
||||
|
||||
public Vector2? Male;
|
||||
public Vector2? Female;
|
||||
public Vector2? Thin;
|
||||
public Vector2? Hulk;
|
||||
public Vector2? Fat;
|
||||
|
||||
}
|
||||
}
|
|
@ -78,10 +78,10 @@ namespace Rimworld_Animations {
|
|||
|
||||
//TESTING ANIMATIONS ONLY REMEMBER TO COMMENT OUT BEFORE PUSH
|
||||
/*
|
||||
if (x.defName != "Cowgirl")
|
||||
if (x.defName != "Doggystyle")
|
||||
return false;
|
||||
*/
|
||||
|
||||
*/
|
||||
|
||||
if (x.actors[i].isFucking && !rjw.xxx.can_fuck(localParticipants[i])) {
|
||||
Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " can't fuck");
|
||||
|
|
|
@ -105,6 +105,30 @@ namespace Rimworld_Animations {
|
|||
anchor.z += raceOffset.offset.y;
|
||||
}
|
||||
|
||||
//change the offset based on pawn body type
|
||||
if(pawn?.story?.bodyType != null) {
|
||||
if (pawn.story.bodyType == BodyTypeDefOf.Fat && anim?.actors[actor]?.bodyTypeOffset?.Fat != null) {
|
||||
anchor.x += anim.actors[actor].bodyTypeOffset.Fat.Value.x * (mirror ? -1f : 1f);
|
||||
anchor.z += anim.actors[actor].bodyTypeOffset.Fat.Value.y;
|
||||
}
|
||||
else if (pawn.story.bodyType == BodyTypeDefOf.Female && anim?.actors[actor]?.bodyTypeOffset?.Female != null) {
|
||||
anchor.x += anim.actors[actor].bodyTypeOffset.Female.Value.x * (mirror ? -1f : 1f);
|
||||
anchor.z += anim.actors[actor].bodyTypeOffset.Female.Value.y;
|
||||
}
|
||||
else if (pawn.story.bodyType == BodyTypeDefOf.Male && anim?.actors[actor]?.bodyTypeOffset?.Male != null) {
|
||||
anchor.x += anim.actors[actor].bodyTypeOffset.Male.Value.x * (mirror ? -1f : 1f);
|
||||
anchor.z += anim.actors[actor].bodyTypeOffset.Male.Value.y;
|
||||
}
|
||||
else if (pawn.story.bodyType == BodyTypeDefOf.Thin && anim?.actors[actor]?.bodyTypeOffset?.Thin != null) {
|
||||
anchor.x += anim.actors[actor].bodyTypeOffset.Thin.Value.x * (mirror ? -1f : 1f);
|
||||
anchor.z += anim.actors[actor].bodyTypeOffset.Thin.Value.y;
|
||||
}
|
||||
else if (pawn.story.bodyType == BodyTypeDefOf.Hulk && anim?.actors[actor]?.bodyTypeOffset?.Hulk != null) {
|
||||
anchor.x += anim.actors[actor].bodyTypeOffset.Hulk.Value.x * (mirror ? -1f : 1f);
|
||||
anchor.z += anim.actors[actor].bodyTypeOffset.Hulk.Value.y;
|
||||
}
|
||||
}
|
||||
|
||||
pawn.jobs.posture = PawnPosture.Standing;
|
||||
|
||||
this.actor = actor;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue