mirror of
				https://gitgud.io/c0ffeeeeeeee/rimworld-animations.git
				synced 2024-08-15 00:43:45 +00:00 
			
		
		
		
	voices
This commit is contained in:
		
							parent
							
								
									96986104d5
								
							
						
					
					
						commit
						0e9419b039
					
				
					 9 changed files with 120 additions and 3 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										21
									
								
								1.5/Defs/VoiceDefs/VoiceDef_Human.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								1.5/Defs/VoiceDefs/VoiceDef_Human.xml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,21 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
						<Rimworld_Animations.VoiceDef>
 | 
				
			||||||
 | 
							<defName>Voice_HumanFemale</defName>
 | 
				
			||||||
 | 
							<race>Human</race>
 | 
				
			||||||
 | 
							<gender>Female</gender>
 | 
				
			||||||
 | 
							<sounds>
 | 
				
			||||||
 | 
								<!-- <li><key>Moan</key><value>FemaleMoanSoundDefHere</value></li> -->
 | 
				
			||||||
 | 
							</sounds>
 | 
				
			||||||
 | 
						</Rimworld_Animations.VoiceDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<Rimworld_Animations.VoiceDef>
 | 
				
			||||||
 | 
							<defName>Voice_HumanMale</defName>
 | 
				
			||||||
 | 
							<race>Human</race>
 | 
				
			||||||
 | 
							<gender>Male</gender>
 | 
				
			||||||
 | 
							<sounds>
 | 
				
			||||||
 | 
								<!-- <li><key>Moan</key><value>MaleMoanSoundDefHere</value></li> -->
 | 
				
			||||||
 | 
							</sounds>
 | 
				
			||||||
 | 
						</Rimworld_Animations.VoiceDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||
							
								
								
									
										16
									
								
								1.5/Defs/VoiceDefs/VoiceDef_Orassan.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								1.5/Defs/VoiceDefs/VoiceDef_Orassan.xml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,16 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
						<!--
 | 
				
			||||||
 | 
						<Rimworld_Animations.VoiceDef>
 | 
				
			||||||
 | 
							<defName>Voice_Orassan</defName>
 | 
				
			||||||
 | 
							<race>Alien_Orassan</race>
 | 
				
			||||||
 | 
							<gender>Male</gender>
 | 
				
			||||||
 | 
							<traitDefs>
 | 
				
			||||||
 | 
								<li>Wimpy</li>
 | 
				
			||||||
 | 
							</traitDefs>
 | 
				
			||||||
 | 
							<sounds>
 | 
				
			||||||
 | 
								<li><key>Moan</key><value>CatMoans</value></li>
 | 
				
			||||||
 | 
							</sounds>
 | 
				
			||||||
 | 
						</Rimworld_Animations.VoiceDef>
 | 
				
			||||||
 | 
						-->
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||
							
								
								
									
										6
									
								
								1.5/Defs/VoiceDefs/VoiceTagDef.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								1.5/Defs/VoiceDefs/VoiceTagDef.xml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,6 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
						<Rimworld_Animations.VoiceTagDef>
 | 
				
			||||||
 | 
							<defName>Moan</defName>
 | 
				
			||||||
 | 
						</Rimworld_Animations.VoiceTagDef>
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||
| 
						 | 
					@ -52,7 +52,7 @@ namespace Rimworld_Animations
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    if (context.AnimationPriority() > priority)
 | 
					                    if (context.AnimationPriority() > priority)
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        //get highest priority context for fitting animation
 | 
					                        //get highest priority context for fitting animation, and its reorder
 | 
				
			||||||
                        priority = context.AnimationPriority();
 | 
					                        priority = context.AnimationPriority();
 | 
				
			||||||
                        reorder = context.AnimationReorder();
 | 
					                        reorder = context.AnimationReorder();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -252,11 +252,11 @@ namespace Rimworld_Animations {
 | 
				
			||||||
            //all voice options
 | 
					            //all voice options
 | 
				
			||||||
            List<VoiceDef> voiceOptions =
 | 
					            List<VoiceDef> voiceOptions =
 | 
				
			||||||
                DefDatabase<VoiceDef>.AllDefsListForReading
 | 
					                DefDatabase<VoiceDef>.AllDefsListForReading
 | 
				
			||||||
                .FindAll(voiceDef => voice.VoiceFitsPawn(pawn));
 | 
					                .FindAll(voiceDef => voiceDef.VoiceFitsPawn(pawn));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //all voice options, with priority (for traitdef specific voices)
 | 
					            //all voice options, with priority (for traitdef specific voices)
 | 
				
			||||||
            List<VoiceDef> voiceOptionsWithPriority =
 | 
					            List<VoiceDef> voiceOptionsWithPriority =
 | 
				
			||||||
                voiceOptions.FindAll(voiceDef => voice.takesPriority);
 | 
					                voiceOptions.FindAll(voiceDef => voiceDef.takesPriority);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (!voiceOptionsWithPriority.NullOrEmpty())
 | 
					            if (!voiceOptionsWithPriority.NullOrEmpty())
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										39
									
								
								1.5/Source/Voices/VoiceDef.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								1.5/Source/Voices/VoiceDef.cs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,39 @@
 | 
				
			||||||
 | 
					using RimWorld;
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using Verse;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Rimworld_Animations
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class VoiceDef : Def
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public ThingDef race;
 | 
				
			||||||
 | 
					        public Gender gender = Gender.None;
 | 
				
			||||||
 | 
					        public List<TraitDef> traits = new List<TraitDef>();
 | 
				
			||||||
 | 
					        public bool takesPriority = false;
 | 
				
			||||||
 | 
					        public float randomChanceFactor = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public Dictionary<VoiceTagDef, SoundDef> sounds = new Dictionary<VoiceTagDef, SoundDef>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public bool VoiceFitsPawn(Pawn pawn)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //doesn't match race
 | 
				
			||||||
 | 
					            if (pawn.def != race) return false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //doesn't match gender
 | 
				
			||||||
 | 
					            if (gender != Gender.None && pawn.gender != gender) return false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //if traits list is not empty, and pawn doesn't have any of the designated traits, doesn't match
 | 
				
			||||||
 | 
					            if (!traits.Empty() && !traits.Any(trait => pawn.story.traits.HasTrait(trait))) return false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										22
									
								
								1.5/Source/Voices/VoiceDefOf.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								1.5/Source/Voices/VoiceDefOf.cs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,22 @@
 | 
				
			||||||
 | 
					using RimWorld;
 | 
				
			||||||
 | 
					using rjw;
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Rimworld_Animations
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    [DefOf]
 | 
				
			||||||
 | 
					    public static class VoiceDefOf
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        static VoiceDefOf()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            DefOfHelper.EnsureInitializedInCtor(typeof(VoiceDefOf));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public static VoiceDef Voice_HumanMale;
 | 
				
			||||||
 | 
					        public static VoiceDef Voice_HumanFemale;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										13
									
								
								1.5/Source/Voices/VoiceTagDef.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								1.5/Source/Voices/VoiceTagDef.cs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,13 @@
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using Verse;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Rimworld_Animations
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class VoiceTagDef : Def
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue