mirror of
				https://gitgud.io/c0ffeeeeeeee/rimworld-animations.git
				synced 2024-08-15 00:43:45 +00:00 
			
		
		
		
	bugfixing hediff variants and body type variants
This commit is contained in:
		
							parent
							
								
									df3a670d6f
								
							
						
					
					
						commit
						3cc7985515
					
				
					 5 changed files with 25 additions and 27 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
<Defs>
 | 
			
		||||
	<AnimationDef>
 | 
			
		||||
		<defName>TestAnimation2</defName>
 | 
			
		||||
		<durationTicks>120</durationTicks>
 | 
			
		||||
		<durationTicks>400</durationTicks>
 | 
			
		||||
		<startOnRandomTick>False</startOnRandomTick>
 | 
			
		||||
		<playWhenDowned>False</playWhenDowned>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -13,32 +13,35 @@
 | 
			
		|||
					<workerClass>Rimworld_Animations.AnimationWorker_KeyframesExtended</workerClass>
 | 
			
		||||
					<keyframes>
 | 
			
		||||
						<li Class="Rimworld_Animations.ExtendedKeyframe">
 | 
			
		||||
							<offset>(1, 0, 0)</offset>
 | 
			
		||||
							<tick>0</tick>
 | 
			
		||||
							<angle>0</angle>
 | 
			
		||||
							<rotation>North</rotation>
 | 
			
		||||
							<rotation>South</rotation>
 | 
			
		||||
						</li>
 | 
			
		||||
						<li Class="Rimworld_Animations.ExtendedKeyframe">
 | 
			
		||||
						  <offset>(0, 0, 0)</offset>
 | 
			
		||||
						  <tick>30</tick>
 | 
			
		||||
						  <angle>15</angle>
 | 
			
		||||
						  <rotation>North</rotation>
 | 
			
		||||
						  <tick>100</tick>
 | 
			
		||||
						  <angle>45</angle>
 | 
			
		||||
						  <rotation>South</rotation>
 | 
			
		||||
						</li>
 | 
			
		||||
						<li Class="Rimworld_Animations.ExtendedKeyframe">
 | 
			
		||||
						  <offset>(-1, 0, 0)</offset>
 | 
			
		||||
						  <tick>60</tick>
 | 
			
		||||
						  <tick>0</tick>
 | 
			
		||||
						  <offset>(-0.73, 0, -0.02)</offset>
 | 
			
		||||
						  <angle>0</angle>
 | 
			
		||||
						  <rotation>North</rotation>
 | 
			
		||||
						  <rotation>East</rotation>
 | 
			
		||||
						</li>
 | 
			
		||||
						<li Class="Rimworld_Animations.ExtendedKeyframe">
 | 
			
		||||
						  <offset>(0, 0, 0)</offset>
 | 
			
		||||
						  <tick>90</tick>
 | 
			
		||||
						  <angle>-15</angle>
 | 
			
		||||
						  <rotation>North</rotation>
 | 
			
		||||
						  <tick>200</tick>
 | 
			
		||||
						  <angle>90</angle>
 | 
			
		||||
						  <rotation>South</rotation>
 | 
			
		||||
						</li>
 | 
			
		||||
						<li Class="Rimworld_Animations.ExtendedKeyframe">
 | 
			
		||||
						  <tick>300</tick>
 | 
			
		||||
						  <angle>135</angle>
 | 
			
		||||
						  <rotation>South</rotation>
 | 
			
		||||
						</li>
 | 
			
		||||
					</keyframes>
 | 
			
		||||
				</value>
 | 
			
		||||
			</li>
 | 
			
		||||
			<!--
 | 
			
		||||
			<li>
 | 
			
		||||
				<key>Head</key>
 | 
			
		||||
				<value>
 | 
			
		||||
| 
						 | 
				
			
			@ -67,6 +70,7 @@
 | 
			
		|||
					</keyframes>
 | 
			
		||||
				</value>
 | 
			
		||||
			</li>
 | 
			
		||||
			-->
 | 
			
		||||
		</animationParts>
 | 
			
		||||
	</AnimationDef>
 | 
			
		||||
</Defs>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,16 +10,16 @@
 | 
			
		|||
					<li>
 | 
			
		||||
						<probability>3</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>TestAnimation3</li>
 | 
			
		||||
							<li>TestAnimation3</li>
 | 
			
		||||
							<li>TestAnimation2</li>
 | 
			
		||||
							<li>TestAnimation2</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
						
 | 
			
		||||
					</li>
 | 
			
		||||
					<li>
 | 
			
		||||
						<probability>1</probability>
 | 
			
		||||
						<animationDefs>
 | 
			
		||||
							<li>TestAnimation3</li>
 | 
			
		||||
							<li>TestAnimation3</li>
 | 
			
		||||
							<li>TestAnimation2</li>
 | 
			
		||||
							<li>TestAnimation2</li>
 | 
			
		||||
						</animationDefs>
 | 
			
		||||
					</li>
 | 
			
		||||
				</loopOptions>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -49,7 +49,6 @@ namespace Rimworld_Animations
 | 
			
		|||
        protected override void EnsureMaterialsInitialized()
 | 
			
		||||
        {
 | 
			
		||||
            variants = GraphicVariantsFor(this.tree.pawn);
 | 
			
		||||
            base.EnsureMaterialsInitialized();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,10 +36,10 @@ namespace Rimworld_Animations
 | 
			
		|||
                foreach (HediffDef hediffDef in texPathVariant_Hediff.hediffs)
 | 
			
		||||
                {
 | 
			
		||||
                    //if the pawn has that hediff,
 | 
			
		||||
                    if (pawn.health.hediffSet.hediffs.Any((Hediff hediff) => hediff.def == hediffDef))
 | 
			
		||||
                    if (pawn?.health?.hediffSet?.hediffs is List<Hediff> pawnHediffs && pawnHediffs.Any((Hediff hediff) => hediff.def == hediffDef))
 | 
			
		||||
                    {
 | 
			
		||||
                        //return that specific variant
 | 
			
		||||
                        curHediff = hediff.def;
 | 
			
		||||
                        curHediff = hediffDef;
 | 
			
		||||
                        return GenerateVariants(pawn, texPathVariant_Hediff.texPathVariantsDef);
 | 
			
		||||
 | 
			
		||||
                    }
 | 
			
		||||
| 
						 | 
				
			
			@ -56,18 +56,13 @@ namespace Rimworld_Animations
 | 
			
		|||
        protected override void EnsureMaterialsInitialized()
 | 
			
		||||
        {
 | 
			
		||||
            //if pawn no longer has the hediff,
 | 
			
		||||
            if (curHediff == null ||
 | 
			
		||||
            if (variants == null ||
 | 
			
		||||
                (this.tree.pawn.health?.hediffSet?.hediffs is List<Hediff> hediffs 
 | 
			
		||||
                && hediffs.Any((Hediff hediff) => hediff.def == curHediff)))
 | 
			
		||||
            {
 | 
			
		||||
                //redo graphicvariantsfor
 | 
			
		||||
                variants = GraphicVariantsFor(this.tree.pawn);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            base.EnsureMaterialsInitialized();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue