整理目录
							
								
								
									
										2
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,2 +0,0 @@
 | 
				
			|||||||
# Auto detect text files and perform LF normalization
 | 
					 | 
				
			||||||
* text=auto
 | 
					 | 
				
			||||||
@ -1,29 +1,14 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
<Defs>
 | 
					<Defs>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<ThingDef Name="SimpleLootBoxBase" ParentName="ResourceBase" Abstract="True">
 | 
					 | 
				
			||||||
		<thingClass>ThingWithComps</thingClass>
 | 
					 | 
				
			||||||
		<graphicData>
 | 
					 | 
				
			||||||
			<graphicClass>Graphic_Single</graphicClass><!-- Using Graphic_StackCount, the item's texture will reflect its stack count -->
 | 
					 | 
				
			||||||
		</graphicData>
 | 
					 | 
				
			||||||
		<stackLimit>10</stackLimit><!-- Stack count of the item -->
 | 
					 | 
				
			||||||
		<techLevel>Medieval</techLevel><!-- The item's tech level; it does not affect any functionality and is purely a special tag -->
 | 
					 | 
				
			||||||
		<thingCategories><!-- Item category -->
 | 
					 | 
				
			||||||
			<li>Artifacts</li>
 | 
					 | 
				
			||||||
		</thingCategories>
 | 
					 | 
				
			||||||
		<tradeTags><!-- Item trade tags -->
 | 
					 | 
				
			||||||
			<li>Artifacts</li>
 | 
					 | 
				
			||||||
		</tradeTags>
 | 
					 | 
				
			||||||
	</ThingDef>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	<ThingDef ParentName="SimpleLootBoxBase">
 | 
						<ThingDef ParentName="SimpleLootBoxBase">
 | 
				
			||||||
		<defName>SimpleLootBoxExampleA</defName><!-- Definition name of the loot box -->
 | 
							<defName>SimpleLootBoxExampleA</defName>
 | 
				
			||||||
		<label>白银大行动武器箱</label><!-- The name of the loot box, which can be localized for translation -->
 | 
							<label>白银大行动武器箱</label>
 | 
				
			||||||
		<description>每周掉落或者击杀掉落的常驻武器箱</description><!-- The description of the loot box, which can be localized for translation -->
 | 
							<description>每周掉落或者击杀掉落的常驻武器箱</description>
 | 
				
			||||||
		<graphicData>
 | 
							<graphicData>
 | 
				
			||||||
			<texPath>SimpleLootBox/ExampleA</texPath><!-- The texture path of the loot box -->
 | 
								<texPath>SimpleLootBox/ExampleA</texPath>
 | 
				
			||||||
			<graphicClass>Graphic_Single</graphicClass>
 | 
								<graphicClass>Graphic_Single</graphicClass>
 | 
				
			||||||
			<drawSize>1.5</drawSize>
 | 
								<drawSize>2.5</drawSize>
 | 
				
			||||||
		</graphicData>
 | 
							</graphicData>
 | 
				
			||||||
		<statBases>
 | 
							<statBases>
 | 
				
			||||||
			<Mass>1.0</Mass><!-- The mass of the loot box -->
 | 
								<Mass>1.0</Mass><!-- The mass of the loot box -->
 | 
				
			||||||
@ -43,7 +28,7 @@
 | 
				
			|||||||
				<lootBoxList>
 | 
									<lootBoxList>
 | 
				
			||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>SimpleLootBoxExampleA</thingDef><!-- The loot box's defName, added to the global drop list for killing creatures; if you have a custom key item, consider adding it here as well -->
 | 
											<thingDef>SimpleLootBoxExampleA</thingDef><!-- The loot box's defName, added to the global drop list for killing creatures; if you have a custom key item, consider adding it here as well -->
 | 
				
			||||||
						<chance>0.01</chance><!-- The drop chance of this loot box; defaults to 0.05 (5%) if not specified -->
 | 
											<chance>0.05</chance><!-- The drop chance of this loot box; defaults to 0.05 (5%) if not specified -->
 | 
				
			||||||
						<lootBoxSpawnGroup>SimpleLootBoxGroupX</lootBoxSpawnGroup><!-- To spawn a loot box every daysBetweenLootBoxSpawns, assign it to a lootBoxSpawnGroup. All loot boxes in the same group share the chance to spawn, based on their assigned weightInGroup -->
 | 
											<lootBoxSpawnGroup>SimpleLootBoxGroupX</lootBoxSpawnGroup><!-- To spawn a loot box every daysBetweenLootBoxSpawns, assign it to a lootBoxSpawnGroup. All loot boxes in the same group share the chance to spawn, based on their assigned weightInGroup -->
 | 
				
			||||||
						<weightInGroup>5</weightInGroup><!-- The generation weight of this loot box in its group; default is 1 -->
 | 
											<weightInGroup>5</weightInGroup><!-- The generation weight of this loot box in its group; default is 1 -->
 | 
				
			||||||
						<daysBetweenLootBoxSpawns>7</daysBetweenLootBoxSpawns><!-- The frequency of spawning the loot box. daysBetweenLootBoxSpawns = 7, meaning spawn of a such a lootbox every 7 days in the game. All loot boxes in the same lootBoxSpawnGroup should have the same daysBetweenLootBoxSpawns. No default-->
 | 
											<daysBetweenLootBoxSpawns>7</daysBetweenLootBoxSpawns><!-- The frequency of spawning the loot box. daysBetweenLootBoxSpawns = 7, meaning spawn of a such a lootbox every 7 days in the game. All loot boxes in the same lootBoxSpawnGroup should have the same daysBetweenLootBoxSpawns. No default-->
 | 
				
			||||||
@ -54,14 +39,30 @@
 | 
				
			|||||||
				<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound><!-- The sound effect played when entering the loot box opening screen; if not set, no sound will be played -->
 | 
									<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound><!-- The sound effect played when entering the loot box opening screen; if not set, no sound will be played -->
 | 
				
			||||||
				<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound><!-- The sound effect played during the spinning; it's a looping Sustainer that plays a single audio clip -->
 | 
									<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound><!-- The sound effect played during the spinning; it's a looping Sustainer that plays a single audio clip -->
 | 
				
			||||||
				<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSoundA</lootBoxBackgroundMusicSound><!-- Background music for the loot box opening window; it's a single-loop Sustainer -->
 | 
									<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSoundA</lootBoxBackgroundMusicSound><!-- Background music for the loot box opening window; it's a single-loop Sustainer -->
 | 
				
			||||||
				<lootBoxBackgroundTexturePath>SimpleLootBox/LootBoxBackgroundA</lootBoxBackgroundTexturePath><!-- Background image for the loot box window; the UI resolution is:700*800 -->
 | 
					
 | 
				
			||||||
				<lootBoxOpenCost>Silver</lootBoxOpenCost><!-- The item required to open the loot box. It can be silver, a custom key, or any other item. If not specified, no item is required by default -->
 | 
									<lootBoxOpenCost>Silver</lootBoxOpenCost><!-- The item required to open the loot box. It can be silver, a custom key, or any other item. If not specified, no item is required by default -->
 | 
				
			||||||
				<lootBoxOpenCostCount>128</lootBoxOpenCostCount><!-- The number of items required to open the loot box. Defaults to 0 if not specified -->
 | 
									<lootBoxOpenCostCount>128</lootBoxOpenCostCount><!-- The number of items required to open the loot box. Defaults to 0 if not specified -->
 | 
				
			||||||
				<lootBoxThingDef>
 | 
									<lootBoxThingDef>
 | 
				
			||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
 | 
											<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
 | 
				
			||||||
						<count>1</count><!-- 该物品生成的数量 -->
 | 
											<count>1</count><!-- 该物品生成的数量 -->
 | 
				
			||||||
						<weight>13.14</weight><!-- 这项奖励的生成权重 -->
 | 
											<weight>15.2</weight><!-- 这项奖励的生成权重 -->
 | 
				
			||||||
 | 
											<rarity>1</rarity><!-- 这项奖励的稀有度(使用的颜色与文本)可用选项 0 1 2 3 4 5 ,不填默认为0,数字越大稀有度越高-->
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
				
			||||||
 | 
										</li>
 | 
				
			||||||
 | 
										<li>
 | 
				
			||||||
 | 
											<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
 | 
				
			||||||
 | 
											<count>5</count><!-- 该物品生成的数量 -->
 | 
				
			||||||
 | 
											<weight>15.2</weight><!-- 这项奖励的生成权重 -->
 | 
				
			||||||
 | 
											<rarity>1</rarity><!-- 这项奖励的稀有度(使用的颜色与文本)可用选项 0 1 2 3 4 5 ,不填默认为0,数字越大稀有度越高-->
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
				
			||||||
 | 
										</li>
 | 
				
			||||||
 | 
										<li>
 | 
				
			||||||
 | 
											<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
 | 
				
			||||||
 | 
											<count>15</count><!-- 该物品生成的数量 -->
 | 
				
			||||||
 | 
											<weight>15.2</weight><!-- 这项奖励的生成权重 -->
 | 
				
			||||||
						<rarity>1</rarity><!-- 这项奖励的稀有度(使用的颜色与文本)可用选项 0 1 2 3 4 5 ,不填默认为0,数字越大稀有度越高-->
 | 
											<rarity>1</rarity><!-- 这项奖励的稀有度(使用的颜色与文本)可用选项 0 1 2 3 4 5 ,不填默认为0,数字越大稀有度越高-->
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
				
			||||||
@ -69,7 +70,7 @@
 | 
				
			|||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
 | 
											<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
 | 
				
			||||||
						<count>10</count><!-- 该物品生成的数量 -->
 | 
											<count>10</count><!-- 该物品生成的数量 -->
 | 
				
			||||||
						<weight>13.14</weight><!-- 这项奖励的生成权重 -->
 | 
											<weight>15.2</weight><!-- 这项奖励的生成权重 -->
 | 
				
			||||||
						<rarity>1</rarity><!-- 这项奖励的稀有度(使用的颜色与文本)可用选项 0 1 2 3 4 5 ,不填默认为0,数字越大稀有度越高-->
 | 
											<rarity>1</rarity><!-- 这项奖励的稀有度(使用的颜色与文本)可用选项 0 1 2 3 4 5 ,不填默认为0,数字越大稀有度越高-->
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
				
			||||||
@ -77,55 +78,55 @@
 | 
				
			|||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
 | 
											<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
 | 
				
			||||||
						<count>20</count><!-- 该物品生成的数量 -->
 | 
											<count>20</count><!-- 该物品生成的数量 -->
 | 
				
			||||||
						<weight>13.14</weight><!-- 这项奖励的生成权重 -->
 | 
											<weight>15.2</weight><!-- 这项奖励的生成权重 -->
 | 
				
			||||||
						<rarity>1</rarity><!-- 这项奖励的稀有度(使用的颜色与文本)可用选项 0 1 2 3 4 5 ,不填默认为0,数字越大稀有度越高-->
 | 
											<rarity>1</rarity><!-- 这项奖励的稀有度(使用的颜色与文本)可用选项 0 1 2 3 4 5 ,不填默认为0,数字越大稀有度越高-->
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
				
			||||||
					</li>
 | 
										</li>
 | 
				
			||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
 | 
											<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
 | 
				
			||||||
						<count>30</count><!-- 该物品生成的数量 -->
 | 
											<count>25</count><!-- 该物品生成的数量 -->
 | 
				
			||||||
						<weight>13.14</weight><!-- 这项奖励的生成权重 -->
 | 
											<weight>15.2</weight><!-- 这项奖励的生成权重 -->
 | 
				
			||||||
						<rarity>1</rarity><!-- 这项奖励的稀有度(使用的颜色与文本)可用选项 0 1 2 3 4 5 ,不填默认为0,数字越大稀有度越高-->
 | 
											<rarity>1</rarity><!-- 这项奖励的稀有度(使用的颜色与文本)可用选项 0 1 2 3 4 5 ,不填默认为0,数字越大稀有度越高-->
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
				
			||||||
					</li>
 | 
										</li>
 | 
				
			||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
 | 
											<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
 | 
				
			||||||
						<count>50</count><!-- 该物品生成的数量 -->
 | 
											<count>3</count><!-- 该物品生成的数量 -->
 | 
				
			||||||
						<weight>13.14</weight><!-- 这项奖励的生成权重 -->
 | 
											<weight>15.2</weight><!-- 这项奖励的生成权重 -->
 | 
				
			||||||
						<rarity>1</rarity><!-- 这项奖励的稀有度(使用的颜色与文本)可用选项 0 1 2 3 4 5 ,不填默认为0,数字越大稀有度越高-->
 | 
											<rarity>1</rarity><!-- 这项奖励的稀有度(使用的颜色与文本)可用选项 0 1 2 3 4 5 ,不填默认为0,数字越大稀有度越高-->
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
				
			||||||
					</li>
 | 
										</li>
 | 
				
			||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>Silver</thingDef>
 | 
											<thingDef>Silver</thingDef>
 | 
				
			||||||
						<count>648</count>
 | 
											<count>127</count>
 | 
				
			||||||
						<weight>3.24</weight>
 | 
											<weight>3.8</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
					</li>
 | 
										</li>
 | 
				
			||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>Silver</thingDef>
 | 
											<thingDef>Silver</thingDef>
 | 
				
			||||||
						<count>748</count>
 | 
											<count>157</count>
 | 
				
			||||||
						<weight>3.24</weight>
 | 
											<weight>3.8</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
					</li>
 | 
										</li>
 | 
				
			||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>Silver</thingDef>
 | 
											<thingDef>Silver</thingDef>
 | 
				
			||||||
						<count>666</count>
 | 
											<count>180</count>
 | 
				
			||||||
						<weight>3.24</weight>
 | 
											<weight>3.8</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
					</li>
 | 
										</li>
 | 
				
			||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>Silver</thingDef>
 | 
											<thingDef>Silver</thingDef>
 | 
				
			||||||
						<count>888</count>
 | 
											<count>260</count>
 | 
				
			||||||
						<weight>3.24</weight>
 | 
											<weight>3.8</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -134,8 +135,8 @@
 | 
				
			|||||||
						<thingDef>Silver</thingDef>
 | 
											<thingDef>Silver</thingDef>
 | 
				
			||||||
						<stuff>WoodLog</stuff><!-- 如果这个物品是stuffable,会使用这里设置的stuff -->
 | 
											<stuff>WoodLog</stuff><!-- 如果这个物品是stuffable,会使用这里设置的stuff -->
 | 
				
			||||||
						<quality>Masterwork</quality><!-- 如果这个物品有品质,会使用这里设置的品质,可用的品质为 Awful Poor Normal Good Excellent Masterwork Legendary-->
 | 
											<quality>Masterwork</quality><!-- 如果这个物品有品质,会使用这里设置的品质,可用的品质为 Awful Poor Normal Good Excellent Masterwork Legendary-->
 | 
				
			||||||
						<count>5000</count>
 | 
											<count>1500</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.6</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -144,8 +145,8 @@
 | 
				
			|||||||
						<thingDef>Silver</thingDef>
 | 
											<thingDef>Silver</thingDef>
 | 
				
			||||||
						<stuff>WoodLog</stuff><!-- 如果这个物品是stuffable,会使用这里设置的stuff -->
 | 
											<stuff>WoodLog</stuff><!-- 如果这个物品是stuffable,会使用这里设置的stuff -->
 | 
				
			||||||
						<quality>Masterwork</quality><!-- 如果这个物品有品质,会使用这里设置的品质,可用的品质为 Awful Poor Normal Good Excellent Masterwork Legendary-->
 | 
											<quality>Masterwork</quality><!-- 如果这个物品有品质,会使用这里设置的品质,可用的品质为 Awful Poor Normal Good Excellent Masterwork Legendary-->
 | 
				
			||||||
						<count>6000</count>
 | 
											<count>1800</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.6</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -154,8 +155,8 @@
 | 
				
			|||||||
						<thingDef>Silver</thingDef>
 | 
											<thingDef>Silver</thingDef>
 | 
				
			||||||
						<stuff>WoodLog</stuff><!-- 如果这个物品是stuffable,会使用这里设置的stuff -->
 | 
											<stuff>WoodLog</stuff><!-- 如果这个物品是stuffable,会使用这里设置的stuff -->
 | 
				
			||||||
						<quality>Masterwork</quality><!-- 如果这个物品有品质,会使用这里设置的品质,可用的品质为 Awful Poor Normal Good Excellent Masterwork Legendary-->
 | 
											<quality>Masterwork</quality><!-- 如果这个物品有品质,会使用这里设置的品质,可用的品质为 Awful Poor Normal Good Excellent Masterwork Legendary-->
 | 
				
			||||||
						<count>8000</count>
 | 
											<count>2200</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.6</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -164,8 +165,8 @@
 | 
				
			|||||||
						<thingDef>Silver</thingDef>
 | 
											<thingDef>Silver</thingDef>
 | 
				
			||||||
						<stuff>WoodLog</stuff><!-- 如果这个物品是stuffable,会使用这里设置的stuff -->
 | 
											<stuff>WoodLog</stuff><!-- 如果这个物品是stuffable,会使用这里设置的stuff -->
 | 
				
			||||||
						<quality>Masterwork</quality><!-- 如果这个物品有品质,会使用这里设置的品质,可用的品质为 Awful Poor Normal Good Excellent Masterwork Legendary-->
 | 
											<quality>Masterwork</quality><!-- 如果这个物品有品质,会使用这里设置的品质,可用的品质为 Awful Poor Normal Good Excellent Masterwork Legendary-->
 | 
				
			||||||
						<count>9999</count>
 | 
											<count>2500</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.6</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -174,7 +175,7 @@
 | 
				
			|||||||
						<thingDef>Mechlink</thingDef>
 | 
											<thingDef>Mechlink</thingDef>
 | 
				
			||||||
						<quality>Legendary</quality>
 | 
											<quality>Legendary</quality>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.18</weight>
 | 
											<weight>0.1</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<effecterDef>GiantExplosion</effecterDef>
 | 
											<effecterDef>GiantExplosion</effecterDef>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
@ -183,7 +184,7 @@
 | 
				
			|||||||
						<thingDef>GoldenCube</thingDef>
 | 
											<thingDef>GoldenCube</thingDef>
 | 
				
			||||||
						<quality>Legendary</quality>
 | 
											<quality>Legendary</quality>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.18</weight>
 | 
											<weight>0.1</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<isHidden>true</isHidden>
 | 
											<isHidden>true</isHidden>
 | 
				
			||||||
						<effecterDef>GiantExplosion</effecterDef>
 | 
											<effecterDef>GiantExplosion</effecterDef>
 | 
				
			||||||
@ -191,24 +192,24 @@
 | 
				
			|||||||
					</li>
 | 
										</li>
 | 
				
			||||||
				    <li>
 | 
									    <li>
 | 
				
			||||||
						<thingDef>Silver</thingDef>
 | 
											<thingDef>Silver</thingDef>
 | 
				
			||||||
						<count>22222</count>
 | 
											<count>8000</count>
 | 
				
			||||||
						<weight>0.54</weight>
 | 
											<weight>0.3</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
					</li>
 | 
										</li>
 | 
				
			||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>Silver</thingDef>
 | 
											<thingDef>Silver</thingDef>
 | 
				
			||||||
						<count>33333</count>
 | 
											<count>9000</count>
 | 
				
			||||||
						<weight>0.54</weight>
 | 
											<weight>0.3</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
					</li>
 | 
										</li>
 | 
				
			||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>Silver</thingDef>
 | 
											<thingDef>Silver</thingDef>
 | 
				
			||||||
						<count>114514</count>
 | 
											<count>9999</count>
 | 
				
			||||||
						<weight>0.54</weight>
 | 
											<weight>0.3</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -228,14 +229,14 @@
 | 
				
			|||||||
		<graphicData>
 | 
							<graphicData>
 | 
				
			||||||
			<texPath>SimpleLootBox/ExampleB</texPath>
 | 
								<texPath>SimpleLootBox/ExampleB</texPath>
 | 
				
			||||||
			<graphicClass>Graphic_Single</graphicClass>
 | 
								<graphicClass>Graphic_Single</graphicClass>
 | 
				
			||||||
			<drawSize>1.5</drawSize>
 | 
								<drawSize>2.5</drawSize>
 | 
				
			||||||
		</graphicData>
 | 
							</graphicData>
 | 
				
			||||||
		<statBases>
 | 
							<statBases>
 | 
				
			||||||
			<Mass>1.0</Mass>
 | 
								<Mass>1.0</Mass>
 | 
				
			||||||
			<MarketValue>10</MarketValue>
 | 
								<MarketValue>10</MarketValue>
 | 
				
			||||||
		</statBases>
 | 
							</statBases>
 | 
				
			||||||
		<useHitPoints>false</useHitPoints>
 | 
							<useHitPoints>false</useHitPoints>
 | 
				
			||||||
		<tradeability>Sellable</tradeability>
 | 
							<tradeability>None</tradeability>
 | 
				
			||||||
		<comps>
 | 
							<comps>
 | 
				
			||||||
			<li Class="CompProperties_Usable">
 | 
								<li Class="CompProperties_Usable">
 | 
				
			||||||
				<useJob>UseArtifact</useJob>
 | 
									<useJob>UseArtifact</useJob>
 | 
				
			||||||
@ -248,7 +249,7 @@
 | 
				
			|||||||
				<lootBoxList>
 | 
									<lootBoxList>
 | 
				
			||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>SimpleLootBoxExampleB</thingDef><!-- The loot box's defName, added to the global drop list for killing creatures; if you have a custom key item, consider adding it here as well -->
 | 
											<thingDef>SimpleLootBoxExampleB</thingDef><!-- The loot box's defName, added to the global drop list for killing creatures; if you have a custom key item, consider adding it here as well -->
 | 
				
			||||||
						<chance>0.01</chance><!-- The drop chance of this loot box; defaults to 0.05 (5%) if not specified -->
 | 
											<chance>0.05</chance><!-- The drop chance of this loot box; defaults to 0.05 (5%) if not specified -->
 | 
				
			||||||
						<lootBoxSpawnGroup>SimpleLootBoxGroupX</lootBoxSpawnGroup><!-- To spawn a loot box every daysBetweenLootBoxSpawns, assign it to a lootBoxSpawnGroup. All loot boxes in the same group share the chance to spawn, based on their assigned weightInGroup -->
 | 
											<lootBoxSpawnGroup>SimpleLootBoxGroupX</lootBoxSpawnGroup><!-- To spawn a loot box every daysBetweenLootBoxSpawns, assign it to a lootBoxSpawnGroup. All loot boxes in the same group share the chance to spawn, based on their assigned weightInGroup -->
 | 
				
			||||||
						<weightInGroup>5</weightInGroup><!-- The generation weight of this loot box in its group; default is 1 -->
 | 
											<weightInGroup>5</weightInGroup><!-- The generation weight of this loot box in its group; default is 1 -->
 | 
				
			||||||
						<daysBetweenLootBoxSpawns>7</daysBetweenLootBoxSpawns><!-- The frequency of spawning the loot box. daysBetweenLootBoxSpawns = 7, meaning spawn of a such a lootbox every 7 days in the game. All loot boxes in the same lootBoxSpawnGroup should have the same daysBetweenLootBoxSpawns. No default-->
 | 
											<daysBetweenLootBoxSpawns>7</daysBetweenLootBoxSpawns><!-- The frequency of spawning the loot box. daysBetweenLootBoxSpawns = 7, meaning spawn of a such a lootbox every 7 days in the game. All loot boxes in the same lootBoxSpawnGroup should have the same daysBetweenLootBoxSpawns. No default-->
 | 
				
			||||||
@ -259,14 +260,13 @@
 | 
				
			|||||||
				<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound>
 | 
									<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound>
 | 
				
			||||||
				<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound>
 | 
									<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound>
 | 
				
			||||||
				<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSoundA</lootBoxBackgroundMusicSound>
 | 
									<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSoundA</lootBoxBackgroundMusicSound>
 | 
				
			||||||
				<lootBoxBackgroundTexturePath>SimpleLootBox/LootBoxBackgroundB</lootBoxBackgroundTexturePath>
 | 
					 | 
				
			||||||
				<lootBoxOpenCost>Silver</lootBoxOpenCost>
 | 
									<lootBoxOpenCost>Silver</lootBoxOpenCost>
 | 
				
			||||||
                <lootBoxOpenCostCount>128</lootBoxOpenCostCount>
 | 
					                <lootBoxOpenCostCount>128</lootBoxOpenCostCount>
 | 
				
			||||||
				<lootBoxPawnKindDef>
 | 
									<lootBoxPawnKindDef>
 | 
				
			||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<pawnKindDef>Baby_Example</pawnKindDef>
 | 
											<pawnKindDef>Baby_Example</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>5</weight>
 | 
											<weight>15.2</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
                        <lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
					                        <lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
@ -274,7 +274,7 @@
 | 
				
			|||||||
					<li MayRequire="rooandgloomy.dragonianracemod">
 | 
										<li MayRequire="rooandgloomy.dragonianracemod">
 | 
				
			||||||
						<pawnKindDef>Dragonian_Boxed</pawnKindDef><!-- 龙娘 -->
 | 
											<pawnKindDef>Dragonian_Boxed</pawnKindDef><!-- 龙娘 -->
 | 
				
			||||||
						<count>1</count><!-- 该人物生成的数量 -->
 | 
											<count>1</count><!-- 该人物生成的数量 -->
 | 
				
			||||||
						<weight>0.6</weight><!-- 这项奖励的生成权重 -->
 | 
											<weight>0.3</weight><!-- 这项奖励的生成权重 -->
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
				
			||||||
@ -282,7 +282,7 @@
 | 
				
			|||||||
					<li MayRequire="ayameduki.harchaoura">
 | 
										<li MayRequire="ayameduki.harchaoura">
 | 
				
			||||||
						<pawnKindDef>HAR_Chaoura_Player_kami</pawnKindDef><!-- 混沌 -->
 | 
											<pawnKindDef>HAR_Chaoura_Player_kami</pawnKindDef><!-- 混沌 -->
 | 
				
			||||||
						<count>1</count><!-- 该人物生成的数量 -->
 | 
											<count>1</count><!-- 该人物生成的数量 -->
 | 
				
			||||||
						<weight>0.2</weight><!-- 这项奖励的生成权重 -->
 | 
											<weight>0.1</weight><!-- 这项奖励的生成权重 -->
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
				
			||||||
@ -290,7 +290,7 @@
 | 
				
			|||||||
					<li MayRequire="ayameduki.harneclose">
 | 
										<li MayRequire="ayameduki.harneclose">
 | 
				
			||||||
						<pawnKindDef>HAR_Neclose_Player_kami</pawnKindDef><!-- 细菌 -->
 | 
											<pawnKindDef>HAR_Neclose_Player_kami</pawnKindDef><!-- 细菌 -->
 | 
				
			||||||
						<count>1</count><!-- 该人物生成的数量 -->
 | 
											<count>1</count><!-- 该人物生成的数量 -->
 | 
				
			||||||
						<weight>0.6</weight><!-- 这项奖励的生成权重 -->
 | 
											<weight>0.3</weight><!-- 这项奖励的生成权重 -->
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
				
			||||||
@ -298,7 +298,7 @@
 | 
				
			|||||||
					<li MayRequire="ayameduki.harsilkiera">
 | 
										<li MayRequire="ayameduki.harsilkiera">
 | 
				
			||||||
						<pawnKindDef>HAR_Silkiera_Player_kami</pawnKindDef><!-- 兽娘 -->
 | 
											<pawnKindDef>HAR_Silkiera_Player_kami</pawnKindDef><!-- 兽娘 -->
 | 
				
			||||||
						<count>1</count><!-- 该人物生成的数量 -->
 | 
											<count>1</count><!-- 该人物生成的数量 -->
 | 
				
			||||||
						<weight>3.6</weight><!-- 这项奖励的生成权重 -->
 | 
											<weight>3.8</weight><!-- 这项奖励的生成权重 -->
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
				
			||||||
@ -306,7 +306,7 @@
 | 
				
			|||||||
					<li MayRequire="ayameduki.hareveliet">
 | 
										<li MayRequire="ayameduki.hareveliet">
 | 
				
			||||||
						<pawnKindDef>HAR_Eveliet_Player_kami</pawnKindDef><!-- 伊娃 -->
 | 
											<pawnKindDef>HAR_Eveliet_Player_kami</pawnKindDef><!-- 伊娃 -->
 | 
				
			||||||
						<count>1</count><!-- 该人物生成的数量 -->
 | 
											<count>1</count><!-- 该人物生成的数量 -->
 | 
				
			||||||
						<weight>0.2</weight><!-- 这项奖励的生成权重 -->
 | 
											<weight>0.1</weight><!-- 这项奖励的生成权重 -->
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
				
			||||||
@ -314,7 +314,7 @@
 | 
				
			|||||||
					<li MayRequire="ayameduki.haridhale">
 | 
										<li MayRequire="ayameduki.haridhale">
 | 
				
			||||||
						<pawnKindDef>HAR_Idhale_Player_kami</pawnKindDef><!-- 幽灵 -->
 | 
											<pawnKindDef>HAR_Idhale_Player_kami</pawnKindDef><!-- 幽灵 -->
 | 
				
			||||||
						<count>1</count><!-- 该人物生成的数量 -->
 | 
											<count>1</count><!-- 该人物生成的数量 -->
 | 
				
			||||||
						<weight>1</weight><!-- 这项奖励的生成权重 -->
 | 
											<weight>0.6</weight><!-- 这项奖励的生成权重 -->
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
				
			||||||
@ -322,7 +322,7 @@
 | 
				
			|||||||
					<li MayRequire="ayameduki.harxenoorca">
 | 
										<li MayRequire="ayameduki.harxenoorca">
 | 
				
			||||||
						<pawnKindDef>HAR_Xenoorca_Player_kami</pawnKindDef><!-- 鱼人 -->
 | 
											<pawnKindDef>HAR_Xenoorca_Player_kami</pawnKindDef><!-- 鱼人 -->
 | 
				
			||||||
						<count>1</count><!-- 该人物生成的数量 -->
 | 
											<count>1</count><!-- 该人物生成的数量 -->
 | 
				
			||||||
						<weight>3.6</weight><!-- 这项奖励的生成权重 -->
 | 
											<weight>3.8</weight><!-- 这项奖励的生成权重 -->
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
				
			||||||
@ -330,7 +330,7 @@
 | 
				
			|||||||
					<li MayRequire="ayameduki.harnexaga">
 | 
										<li MayRequire="ayameduki.harnexaga">
 | 
				
			||||||
						<pawnKindDef>HAR_Nexaga_Player_kami</pawnKindDef><!-- 混血 -->
 | 
											<pawnKindDef>HAR_Nexaga_Player_kami</pawnKindDef><!-- 混血 -->
 | 
				
			||||||
						<count>1</count><!-- 该人物生成的数量 -->
 | 
											<count>1</count><!-- 该人物生成的数量 -->
 | 
				
			||||||
						<weight>3.6</weight><!-- 这项奖励的生成权重 -->
 | 
											<weight>3.8</weight><!-- 这项奖励的生成权重 -->
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
 | 
				
			||||||
@ -338,7 +338,7 @@
 | 
				
			|||||||
					<li MayRequire="miho.fortifiedoutremer">
 | 
										<li MayRequire="miho.fortifiedoutremer">
 | 
				
			||||||
						<pawnKindDef>Miho_PlayerColonist_kami</pawnKindDef><!-- 美狐 -->
 | 
											<pawnKindDef>Miho_PlayerColonist_kami</pawnKindDef><!-- 美狐 -->
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>1</weight>
 | 
											<weight>0.6</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<effecterDef>ExtinguisherExplosion</effecterDef>
 | 
											<effecterDef>ExtinguisherExplosion</effecterDef>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
@ -346,7 +346,7 @@
 | 
				
			|||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<pawnKindDef>Megascarab</pawnKindDef><!-- 虫子 -->
 | 
											<pawnKindDef>Megascarab</pawnKindDef><!-- 虫子 -->
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>14.6</weight>
 | 
											<weight>15.2</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<isHostile>true</isHostile>
 | 
											<isHostile>true</isHostile>
 | 
				
			||||||
						<effecterDef>ExtinguisherExplosion</effecterDef>
 | 
											<effecterDef>ExtinguisherExplosion</effecterDef>
 | 
				
			||||||
@ -355,7 +355,7 @@
 | 
				
			|||||||
					<li MayRequire="verniy709.racenhux">
 | 
										<li MayRequire="verniy709.racenhux">
 | 
				
			||||||
						<pawnKindDef>NHUX_PlayerA</pawnKindDef><!-- ux -->
 | 
											<pawnKindDef>NHUX_PlayerA</pawnKindDef><!-- ux -->
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>3.6</weight>
 | 
											<weight>3.8</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<effecterDef>ExtinguisherExplosion</effecterDef>
 | 
											<effecterDef>ExtinguisherExplosion</effecterDef>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
@ -363,7 +363,7 @@
 | 
				
			|||||||
					<li MayRequire="ayameduki.harnearmare">
 | 
										<li MayRequire="ayameduki.harnearmare">
 | 
				
			||||||
						<pawnKindDef>HAR_Nearmaere_Player_kami</pawnKindDef><!-- 魅魔 -->
 | 
											<pawnKindDef>HAR_Nearmaere_Player_kami</pawnKindDef><!-- 魅魔 -->
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>3.6</weight>
 | 
											<weight>3.8</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<effecterDef>ExtinguisherExplosion</effecterDef>
 | 
											<effecterDef>ExtinguisherExplosion</effecterDef>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
@ -371,7 +371,7 @@
 | 
				
			|||||||
					<li MayRequire="ayameduki.harlittluna">
 | 
										<li MayRequire="ayameduki.harlittluna">
 | 
				
			||||||
						<pawnKindDef>HAR_Littluna_Player_kami</pawnKindDef><!-- 伪神 -->
 | 
											<pawnKindDef>HAR_Littluna_Player_kami</pawnKindDef><!-- 伪神 -->
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.2</weight>
 | 
											<weight>0.1</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<effecterDef>ExtinguisherExplosion</effecterDef>
 | 
											<effecterDef>ExtinguisherExplosion</effecterDef>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
@ -379,7 +379,7 @@
 | 
				
			|||||||
					<li MayRequire="rooandgloomy.dragonianracemod">
 | 
										<li MayRequire="rooandgloomy.dragonianracemod">
 | 
				
			||||||
						<pawnKindDef>Dragonian_baby</pawnKindDef><!-- 小龙 -->
 | 
											<pawnKindDef>Dragonian_baby</pawnKindDef><!-- 小龙 -->
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>1</weight>
 | 
											<weight>0.6</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<effecterDef>ExtinguisherExplosion</effecterDef>
 | 
											<effecterDef>ExtinguisherExplosion</effecterDef>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
@ -387,7 +387,7 @@
 | 
				
			|||||||
					<li MayRequire="oark.ratkinfaction.oberoniaaurea">
 | 
										<li MayRequire="oark.ratkinfaction.oberoniaaurea">
 | 
				
			||||||
						<pawnKindDef>OA_RK_Colonist_A_glod</pawnKindDef><!-- 金鼠 -->
 | 
											<pawnKindDef>OA_RK_Colonist_A_glod</pawnKindDef><!-- 金鼠 -->
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.6</weight>
 | 
											<weight>0.3</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<effecterDef>ExtinguisherExplosion</effecterDef>
 | 
											<effecterDef>ExtinguisherExplosion</effecterDef>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
@ -397,7 +397,7 @@
 | 
				
			|||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>Wastepack</thingDef>
 | 
											<thingDef>Wastepack</thingDef>
 | 
				
			||||||
						<count>5</count>
 | 
											<count>5</count>
 | 
				
			||||||
						<weight>14.6</weight>
 | 
											<weight>15.2</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -405,7 +405,7 @@
 | 
				
			|||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>Leather_Human</thingDef>
 | 
											<thingDef>Leather_Human</thingDef>
 | 
				
			||||||
						<count>5</count>
 | 
											<count>5</count>
 | 
				
			||||||
						<weight>14.6</weight>
 | 
											<weight>15.2</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -413,7 +413,7 @@
 | 
				
			|||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>Silver</thingDef>
 | 
											<thingDef>Silver</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>14.6</weight>
 | 
											<weight>15.2</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -421,14 +421,12 @@
 | 
				
			|||||||
					<li MayRequire="verniy709.racenhux">
 | 
										<li MayRequire="verniy709.racenhux">
 | 
				
			||||||
						<thingDef>Meat_NHUX</thingDef>
 | 
											<thingDef>Meat_NHUX</thingDef>
 | 
				
			||||||
						<count>8</count>
 | 
											<count>8</count>
 | 
				
			||||||
						<weight>14.6</weight>
 | 
											<weight>15.2</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
					</li>
 | 
										</li>
 | 
				
			||||||
					</lootBoxThingDef>
 | 
										</lootBoxThingDef>
 | 
				
			||||||
 | 
					 | 
				
			||||||
			
 | 
					 | 
				
			||||||
			</li>
 | 
								</li>
 | 
				
			||||||
		</comps>
 | 
							</comps>
 | 
				
			||||||
	</ThingDef>
 | 
						</ThingDef>
 | 
				
			||||||
@ -1,19 +1,5 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
<Defs>
 | 
					<Defs>
 | 
				
			||||||
	<ThingDef Name="SimpleLootBoxBase" ParentName="ResourceBase" Abstract="True">
 | 
					 | 
				
			||||||
		<thingClass>ThingWithComps</thingClass>
 | 
					 | 
				
			||||||
		<graphicData>
 | 
					 | 
				
			||||||
			<graphicClass>Graphic_Single</graphicClass><!-- Using Graphic_StackCount, the item's texture will reflect its stack count -->
 | 
					 | 
				
			||||||
		</graphicData>
 | 
					 | 
				
			||||||
		<stackLimit>10</stackLimit><!-- Stack count of the item -->
 | 
					 | 
				
			||||||
		<techLevel>Medieval</techLevel><!-- The item's tech level; it does not affect any functionality and is purely a special tag -->
 | 
					 | 
				
			||||||
		<thingCategories><!-- Item category -->
 | 
					 | 
				
			||||||
			<li>Artifacts</li>
 | 
					 | 
				
			||||||
		</thingCategories>
 | 
					 | 
				
			||||||
		<tradeTags><!-- Item trade tags -->
 | 
					 | 
				
			||||||
			<li>Artifacts</li>
 | 
					 | 
				
			||||||
		</tradeTags>
 | 
					 | 
				
			||||||
	</ThingDef>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<ThingDef ParentName="SimpleLootBoxBase">
 | 
						<ThingDef ParentName="SimpleLootBoxBase">
 | 
				
			||||||
		<defName>SimpleLootBoxExampleziyuan</defName><!-- Definition name of the loot box -->
 | 
							<defName>SimpleLootBoxExampleziyuan</defName><!-- Definition name of the loot box -->
 | 
				
			||||||
@ -22,14 +8,14 @@
 | 
				
			|||||||
		<graphicData>
 | 
							<graphicData>
 | 
				
			||||||
			<texPath>SimpleLootBox/ExampleC</texPath><!-- The texture path of the loot box -->
 | 
								<texPath>SimpleLootBox/ExampleC</texPath><!-- The texture path of the loot box -->
 | 
				
			||||||
			<graphicClass>Graphic_Single</graphicClass>
 | 
								<graphicClass>Graphic_Single</graphicClass>
 | 
				
			||||||
			<drawSize>1.5</drawSize>
 | 
								<drawSize>2.5</drawSize>
 | 
				
			||||||
		</graphicData>
 | 
							</graphicData>
 | 
				
			||||||
		<statBases>
 | 
							<statBases>
 | 
				
			||||||
			<Mass>1.0</Mass><!-- The mass of the loot box -->
 | 
								<Mass>1.0</Mass><!-- The mass of the loot box -->
 | 
				
			||||||
			<MarketValue>10</MarketValue><!-- The market value of the loot box itself -->
 | 
								<MarketValue>10</MarketValue><!-- The market value of the loot box itself -->
 | 
				
			||||||
		</statBases>
 | 
							</statBases>
 | 
				
			||||||
		<useHitPoints>false</useHitPoints>
 | 
							<useHitPoints>false</useHitPoints>
 | 
				
			||||||
		<tradeability>Sellable</tradeability><!-- Whether the loot box can be traded. Some literal values are available for this setting: None Sellable Buyable All -->
 | 
							<tradeability>None</tradeability><!-- Whether the loot box can be traded. Some literal values are available for this setting: None Sellable Buyable All -->
 | 
				
			||||||
		<comps>
 | 
							<comps>
 | 
				
			||||||
			<li Class="CompProperties_Usable">
 | 
								<li Class="CompProperties_Usable">
 | 
				
			||||||
				<useJob>UseArtifact</useJob>
 | 
									<useJob>UseArtifact</useJob>
 | 
				
			||||||
@ -42,7 +28,7 @@
 | 
				
			|||||||
				<lootBoxList>
 | 
									<lootBoxList>
 | 
				
			||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>SimpleLootBoxExampleziyuan</thingDef><!-- The loot box's defName, added to the global drop list for killing creatures; if you have a custom key item, consider adding it here as well -->
 | 
											<thingDef>SimpleLootBoxExampleziyuan</thingDef><!-- The loot box's defName, added to the global drop list for killing creatures; if you have a custom key item, consider adding it here as well -->
 | 
				
			||||||
						<chance>0.01</chance><!-- The drop chance of this loot box; defaults to 0.05 (5%) if not specified -->
 | 
											<chance>0.05</chance><!-- The drop chance of this loot box; defaults to 0.05 (5%) if not specified -->
 | 
				
			||||||
						<lootBoxSpawnGroup>SimpleLootBoxGroupX</lootBoxSpawnGroup><!-- To spawn a loot box every daysBetweenLootBoxSpawns, assign it to a lootBoxSpawnGroup. All loot boxes in the same group share the chance to spawn, based on their assigned weightInGroup -->
 | 
											<lootBoxSpawnGroup>SimpleLootBoxGroupX</lootBoxSpawnGroup><!-- To spawn a loot box every daysBetweenLootBoxSpawns, assign it to a lootBoxSpawnGroup. All loot boxes in the same group share the chance to spawn, based on their assigned weightInGroup -->
 | 
				
			||||||
						<weightInGroup>5</weightInGroup><!-- The generation weight of this loot box in its group; default is 1 -->
 | 
											<weightInGroup>5</weightInGroup><!-- The generation weight of this loot box in its group; default is 1 -->
 | 
				
			||||||
						<daysBetweenLootBoxSpawns>7</daysBetweenLootBoxSpawns><!-- The frequency of spawning the loot box. daysBetweenLootBoxSpawns = 7, meaning spawn of a such a lootbox every 7 days in the game. All loot boxes in the same lootBoxSpawnGroup should have the same daysBetweenLootBoxSpawns. No default-->
 | 
											<daysBetweenLootBoxSpawns>7</daysBetweenLootBoxSpawns><!-- The frequency of spawning the loot box. daysBetweenLootBoxSpawns = 7, meaning spawn of a such a lootbox every 7 days in the game. All loot boxes in the same lootBoxSpawnGroup should have the same daysBetweenLootBoxSpawns. No default-->
 | 
				
			||||||
@ -53,14 +39,14 @@
 | 
				
			|||||||
				<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound><!-- The sound effect played when entering the loot box opening screen; if not set, no sound will be played -->
 | 
									<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound><!-- The sound effect played when entering the loot box opening screen; if not set, no sound will be played -->
 | 
				
			||||||
				<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound><!-- The sound effect played during the spinning; it's a looping Sustainer that plays a single audio clip -->
 | 
									<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound><!-- The sound effect played during the spinning; it's a looping Sustainer that plays a single audio clip -->
 | 
				
			||||||
				<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSoundA</lootBoxBackgroundMusicSound><!-- Background music for the loot box opening window; it's a single-loop Sustainer -->
 | 
									<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSoundA</lootBoxBackgroundMusicSound><!-- Background music for the loot box opening window; it's a single-loop Sustainer -->
 | 
				
			||||||
				<lootBoxBackgroundTexturePath>SimpleLootBox/LootBoxBackgroundA</lootBoxBackgroundTexturePath><!-- Background image for the loot box window; the UI resolution is:700*800 -->
 | 
					
 | 
				
			||||||
				<lootBoxOpenCost>Silver</lootBoxOpenCost><!-- The item required to open the loot box. It can be silver, a custom key, or any other item. If not specified, no item is required by default -->
 | 
									<lootBoxOpenCost>Silver</lootBoxOpenCost><!-- The item required to open the loot box. It can be silver, a custom key, or any other item. If not specified, no item is required by default -->
 | 
				
			||||||
				<lootBoxOpenCostCount>128</lootBoxOpenCostCount><!-- The number of items required to open the loot box. Defaults to 0 if not specified -->
 | 
									<lootBoxOpenCostCount>128</lootBoxOpenCostCount><!-- The number of items required to open the loot box. Defaults to 0 if not specified -->
 | 
				
			||||||
				<lootBoxThingDef>
 | 
									<lootBoxThingDef>
 | 
				
			||||||
				 <li>
 | 
									 <li>
 | 
				
			||||||
						<thingDef>Meat_NHUX</thingDef>
 | 
											<thingDef>Meat_NHUX</thingDef>
 | 
				
			||||||
						<count>10</count>
 | 
											<count>10</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -68,15 +54,15 @@
 | 
				
			|||||||
				 <li>
 | 
									 <li>
 | 
				
			||||||
						<thingDef>Wastepack</thingDef>
 | 
											<thingDef>Wastepack</thingDef>
 | 
				
			||||||
						<count>5</count>
 | 
											<count>5</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
				</li>
 | 
									</li>
 | 
				
			||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>steel</thingDef>
 | 
											<thingDef>Steel</thingDef>
 | 
				
			||||||
						<count>5</count>
 | 
											<count>5</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -84,7 +70,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>WoodLog</thingDef>
 | 
											<thingDef>WoodLog</thingDef>
 | 
				
			||||||
						<count>5</count>
 | 
											<count>5</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -92,7 +78,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>MedicineHerbal</thingDef>
 | 
											<thingDef>MedicineHerbal</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -100,15 +86,15 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>ComponentIndustrial</thingDef>
 | 
											<thingDef>ComponentIndustrial</thingDef>
 | 
				
			||||||
						<count>2</count>
 | 
											<count>2</count>
 | 
				
			||||||
						<weight>5.4</weight>
 | 
											<weight>5.7</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
				</li>
 | 
									</li>
 | 
				
			||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>steel</thingDef>
 | 
											<thingDef>Steel</thingDef>
 | 
				
			||||||
						<count>50</count>
 | 
											<count>50</count>
 | 
				
			||||||
						<weight>5.4</weight>
 | 
											<weight>5.7</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -116,7 +102,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Gold</thingDef>
 | 
											<thingDef>Gold</thingDef>
 | 
				
			||||||
						<count>20</count>
 | 
											<count>20</count>
 | 
				
			||||||
						<weight>5.4</weight>
 | 
											<weight>5.7</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -124,7 +110,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>DevilstrandCloth</thingDef>
 | 
											<thingDef>DevilstrandCloth</thingDef>
 | 
				
			||||||
						<count>20</count>
 | 
											<count>20</count>
 | 
				
			||||||
						<weight>5.4</weight>
 | 
											<weight>5.7</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -132,15 +118,15 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>WoodLog</thingDef>
 | 
											<thingDef>WoodLog</thingDef>
 | 
				
			||||||
						<count>200</count>
 | 
											<count>200</count>
 | 
				
			||||||
						<weight>5.4</weight>
 | 
											<weight>5.7</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
				</li>
 | 
									</li>
 | 
				
			||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Medicinelndustrial</thingDef>
 | 
											<thingDef>MedicineIndustrial</thingDef>
 | 
				
			||||||
						<count>5</count>
 | 
											<count>5</count>
 | 
				
			||||||
						<weight>5.4</weight>
 | 
											<weight>5.7</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -148,7 +134,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>ComponentIndustrial</thingDef>
 | 
											<thingDef>ComponentIndustrial</thingDef>
 | 
				
			||||||
						<count>30</count>
 | 
											<count>30</count>
 | 
				
			||||||
						<weight>1.5</weight>
 | 
											<weight>0.9</weight>
 | 
				
			||||||
						<rarity>3 </rarity>
 | 
											<rarity>3 </rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -156,7 +142,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>steel</thingDef>
 | 
											<thingDef>steel</thingDef>
 | 
				
			||||||
						<count>600</count>
 | 
											<count>600</count>
 | 
				
			||||||
						<weight>1.5</weight>
 | 
											<weight>0.9</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -164,7 +150,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Gold</thingDef>
 | 
											<thingDef>Gold</thingDef>
 | 
				
			||||||
						<count>200</count>
 | 
											<count>200</count>
 | 
				
			||||||
						<weight>1.5</weight>
 | 
											<weight>0.9</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -172,7 +158,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>DevilstrandCloth</thingDef>
 | 
											<thingDef>DevilstrandCloth</thingDef>
 | 
				
			||||||
						<count>250</count>
 | 
											<count>250</count>
 | 
				
			||||||
						<weight>1.5</weight>
 | 
											<weight>0.9</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -180,7 +166,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Plasteel</thingDef>
 | 
											<thingDef>Plasteel</thingDef>
 | 
				
			||||||
						<count>400</count>
 | 
											<count>400</count>
 | 
				
			||||||
						<weight>1.5</weight>
 | 
											<weight>0.9</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -188,7 +174,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>VanometricPowerCell</thingDef>
 | 
											<thingDef>VanometricPowerCell</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>1.5</weight>
 | 
											<weight>0.9</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -196,7 +182,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Plasteel</thingDef>
 | 
											<thingDef>Plasteel</thingDef>
 | 
				
			||||||
						<count>1000</count>
 | 
											<count>1000</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -204,7 +190,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Techprint_PolarisSecretArchives</thingDef>
 | 
											<thingDef>Techprint_PolarisSecretArchives</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -212,7 +198,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>MechSerumHealer</thingDef>
 | 
											<thingDef>MechSerumHealer</thingDef>
 | 
				
			||||||
						<count>2</count>
 | 
											<count>2</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -220,7 +206,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>PsychicAmplifier</thingDef>
 | 
											<thingDef>PsychicAmplifier</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -228,7 +214,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>PolarisBondorudoDiary</thingDef>
 | 
											<thingDef>PolarisBondorudoDiary</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -236,7 +222,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>ComponentSpacer</thingDef>
 | 
											<thingDef>ComponentSpacer</thingDef>
 | 
				
			||||||
						<count>35</count>
 | 
											<count>35</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -244,7 +230,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>ComponentSpacer</thingDef>
 | 
											<thingDef>ComponentSpacer</thingDef>
 | 
				
			||||||
						<count>80</count>
 | 
											<count>80</count>
 | 
				
			||||||
						<weight>0.3</weight>
 | 
											<weight>0.15</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -252,7 +238,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>PolarisVoidKey</thingDef>
 | 
											<thingDef>PolarisVoidKey</thingDef>
 | 
				
			||||||
						<count>2</count>
 | 
											<count>2</count>
 | 
				
			||||||
						<weight>0.3</weight>
 | 
											<weight>0.15</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -260,7 +246,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Miho_CelestialScale</thingDef>
 | 
											<thingDef>Miho_CelestialScale</thingDef>
 | 
				
			||||||
						<count>1680</count>
 | 
											<count>1680</count>
 | 
				
			||||||
						<weight>0.3</weight>
 | 
											<weight>0.15</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -268,7 +254,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>GoldenCube</thingDef>
 | 
											<thingDef>GoldenCube</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.3</weight>
 | 
											<weight>0.15</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<isHidden>true</isHidden>
 | 
											<isHidden>true</isHidden>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
@ -277,7 +263,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>PolarisRestorer</thingDef>
 | 
											<thingDef>PolarisRestorer</thingDef>
 | 
				
			||||||
						<count>5</count>
 | 
											<count>5</count>
 | 
				
			||||||
						<weight>0.3</weight>
 | 
											<weight>0.15</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -288,16 +274,16 @@
 | 
				
			|||||||
				<li>	
 | 
									<li>	
 | 
				
			||||||
				<pawnKindDef>Fingerspike</pawnKindDef>
 | 
									<pawnKindDef>Fingerspike</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<isHostile>true</isHostile>
 | 
											<isHostile>true</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
                        <lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
					                        <lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
                </li>
 | 
					                </li>
 | 
				
			||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>rat</pawnKindDef>
 | 
									<pawnKindDef>Rat</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -1,19 +1,5 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
<Defs>
 | 
					<Defs>
 | 
				
			||||||
	<ThingDef Name="SimpleLootBoxBase" ParentName="ResourceBase" Abstract="True">
 | 
					 | 
				
			||||||
		<thingClass>ThingWithComps</thingClass>
 | 
					 | 
				
			||||||
		<graphicData>
 | 
					 | 
				
			||||||
			<graphicClass>Graphic_Single</graphicClass><!-- Using Graphic_StackCount, the item's texture will reflect its stack count -->
 | 
					 | 
				
			||||||
		</graphicData>
 | 
					 | 
				
			||||||
		<stackLimit>10</stackLimit><!-- Stack count of the item -->
 | 
					 | 
				
			||||||
		<techLevel>Medieval</techLevel><!-- The item's tech level; it does not affect any functionality and is purely a special tag -->
 | 
					 | 
				
			||||||
		<thingCategories><!-- Item category -->
 | 
					 | 
				
			||||||
			<li>Artifacts</li>
 | 
					 | 
				
			||||||
		</thingCategories>
 | 
					 | 
				
			||||||
		<tradeTags><!-- Item trade tags -->
 | 
					 | 
				
			||||||
			<li>Artifacts</li>
 | 
					 | 
				
			||||||
		</tradeTags>
 | 
					 | 
				
			||||||
	</ThingDef>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<ThingDef ParentName="SimpleLootBoxBase">
 | 
						<ThingDef ParentName="SimpleLootBoxBase">
 | 
				
			||||||
		<defName>SimpleLootBoxExamplejiu</defName><!-- Definition name of the loot box -->
 | 
							<defName>SimpleLootBoxExamplejiu</defName><!-- Definition name of the loot box -->
 | 
				
			||||||
@ -22,14 +8,14 @@
 | 
				
			|||||||
		<graphicData>
 | 
							<graphicData>
 | 
				
			||||||
			<texPath>SimpleLootBox/ExampleE</texPath><!-- The texture path of the loot box -->
 | 
								<texPath>SimpleLootBox/ExampleE</texPath><!-- The texture path of the loot box -->
 | 
				
			||||||
			<graphicClass>Graphic_Single</graphicClass>
 | 
								<graphicClass>Graphic_Single</graphicClass>
 | 
				
			||||||
			<drawSize>1.5</drawSize>
 | 
								<drawSize>2.5</drawSize>
 | 
				
			||||||
		</graphicData>
 | 
							</graphicData>
 | 
				
			||||||
		<statBases>
 | 
							<statBases>
 | 
				
			||||||
			<Mass>1.0</Mass><!-- The mass of the loot box -->
 | 
								<Mass>1.0</Mass><!-- The mass of the loot box -->
 | 
				
			||||||
			<MarketValue>10</MarketValue><!-- The market value of the loot box itself -->
 | 
								<MarketValue>10</MarketValue><!-- The market value of the loot box itself -->
 | 
				
			||||||
		</statBases>
 | 
							</statBases>
 | 
				
			||||||
		<useHitPoints>false</useHitPoints>
 | 
							<useHitPoints>false</useHitPoints>
 | 
				
			||||||
		<tradeability>Sellable</tradeability><!-- Whether the loot box can be traded. Some literal values are available for this setting: None Sellable Buyable All -->
 | 
							<tradeability>None</tradeability><!-- Whether the loot box can be traded. Some literal values are available for this setting: None Sellable Buyable All -->
 | 
				
			||||||
		<comps>
 | 
							<comps>
 | 
				
			||||||
			<li Class="CompProperties_Usable">
 | 
								<li Class="CompProperties_Usable">
 | 
				
			||||||
				<useJob>UseArtifact</useJob>
 | 
									<useJob>UseArtifact</useJob>
 | 
				
			||||||
@ -42,7 +28,7 @@
 | 
				
			|||||||
				<lootBoxList>
 | 
									<lootBoxList>
 | 
				
			||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>SimpleLootBoxExamplejiu</thingDef><!-- The loot box's defName, added to the global drop list for killing creatures; if you have a custom key item, consider adding it here as well -->
 | 
											<thingDef>SimpleLootBoxExamplejiu</thingDef><!-- The loot box's defName, added to the global drop list for killing creatures; if you have a custom key item, consider adding it here as well -->
 | 
				
			||||||
						<chance>0.01</chance><!-- The drop chance of this loot box; defaults to 0.05 (5%) if not specified -->
 | 
											<chance>0.05</chance><!-- The drop chance of this loot box; defaults to 0.05 (5%) if not specified -->
 | 
				
			||||||
						<lootBoxSpawnGroup>SimpleLootBoxGroupX</lootBoxSpawnGroup><!-- To spawn a loot box every daysBetweenLootBoxSpawns, assign it to a lootBoxSpawnGroup. All loot boxes in the same group share the chance to spawn, based on their assigned weightInGroup -->
 | 
											<lootBoxSpawnGroup>SimpleLootBoxGroupX</lootBoxSpawnGroup><!-- To spawn a loot box every daysBetweenLootBoxSpawns, assign it to a lootBoxSpawnGroup. All loot boxes in the same group share the chance to spawn, based on their assigned weightInGroup -->
 | 
				
			||||||
						<weightInGroup>5</weightInGroup><!-- The generation weight of this loot box in its group; default is 1 -->
 | 
											<weightInGroup>5</weightInGroup><!-- The generation weight of this loot box in its group; default is 1 -->
 | 
				
			||||||
						<daysBetweenLootBoxSpawns>7</daysBetweenLootBoxSpawns><!-- The frequency of spawning the loot box. daysBetweenLootBoxSpawns = 7, meaning spawn of a such a lootbox every 7 days in the game. All loot boxes in the same lootBoxSpawnGroup should have the same daysBetweenLootBoxSpawns. No default-->
 | 
											<daysBetweenLootBoxSpawns>7</daysBetweenLootBoxSpawns><!-- The frequency of spawning the loot box. daysBetweenLootBoxSpawns = 7, meaning spawn of a such a lootbox every 7 days in the game. All loot boxes in the same lootBoxSpawnGroup should have the same daysBetweenLootBoxSpawns. No default-->
 | 
				
			||||||
@ -53,14 +39,14 @@
 | 
				
			|||||||
				<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound><!-- The sound effect played when entering the loot box opening screen; if not set, no sound will be played -->
 | 
									<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound><!-- The sound effect played when entering the loot box opening screen; if not set, no sound will be played -->
 | 
				
			||||||
				<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound><!-- The sound effect played during the spinning; it's a looping Sustainer that plays a single audio clip -->
 | 
									<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound><!-- The sound effect played during the spinning; it's a looping Sustainer that plays a single audio clip -->
 | 
				
			||||||
				<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSoundA</lootBoxBackgroundMusicSound><!-- Background music for the loot box opening window; it's a single-loop Sustainer -->
 | 
									<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSoundA</lootBoxBackgroundMusicSound><!-- Background music for the loot box opening window; it's a single-loop Sustainer -->
 | 
				
			||||||
				<lootBoxBackgroundTexturePath>SimpleLootBox/LootBoxBackgroundA</lootBoxBackgroundTexturePath><!-- Background image for the loot box window; the UI resolution is:700*800 -->
 | 
					
 | 
				
			||||||
				<lootBoxOpenCost>Silver</lootBoxOpenCost><!-- The item required to open the loot box. It can be silver, a custom key, or any other item. If not specified, no item is required by default -->
 | 
									<lootBoxOpenCost>Silver</lootBoxOpenCost><!-- The item required to open the loot box. It can be silver, a custom key, or any other item. If not specified, no item is required by default -->
 | 
				
			||||||
				<lootBoxOpenCostCount>128</lootBoxOpenCostCount><!-- The number of items required to open the loot box. Defaults to 0 if not specified -->
 | 
									<lootBoxOpenCostCount>128</lootBoxOpenCostCount><!-- The number of items required to open the loot box. Defaults to 0 if not specified -->
 | 
				
			||||||
				<lootBoxThingDef>
 | 
									<lootBoxThingDef>
 | 
				
			||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>GoldenCube</thingDef>
 | 
											<thingDef>GoldenCube</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.3</weight>
 | 
											<weight>0.15</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<isHidden>true</isHidden>
 | 
											<isHidden>true</isHidden>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
@ -69,7 +55,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Foxbead</thingDef>
 | 
											<thingDef>Foxbead</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>1.5</weight>
 | 
											<weight>0.9</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -77,7 +63,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Meat_Cow</thingDef>
 | 
											<thingDef>Meat_Cow</thingDef>
 | 
				
			||||||
						<count>15</count>
 | 
											<count>15</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -85,7 +71,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>EggChickenUnfertilized</thingDef>
 | 
											<thingDef>EggChickenUnfertilized</thingDef>
 | 
				
			||||||
						<count>5</count>
 | 
											<count>5</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -93,7 +79,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Milk</thingDef>
 | 
											<thingDef>Milk</thingDef>
 | 
				
			||||||
						<count>5</count>
 | 
											<count>5</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -101,7 +87,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Wastepack</thingDef>
 | 
											<thingDef>Wastepack</thingDef>
 | 
				
			||||||
						<count>5</count>
 | 
											<count>5</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -111,7 +97,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>Ninetailfox</pawnKindDef>
 | 
									<pawnKindDef>Ninetailfox</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.3</weight>
 | 
											<weight>0.15</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -120,16 +106,16 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>DarkNinetail</pawnKindDef>
 | 
									<pawnKindDef>DarkNinetail</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.3</weight>
 | 
											<weight>0.15</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>true</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
					                        <effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
                        <lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
					                        <lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
                </li>
 | 
					                </li>
 | 
				
			||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>Ninetailfoxwt</pawnKindDef>
 | 
									<pawnKindDef>Ninetailfoxwt</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.3</weight>
 | 
											<weight>0.15</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -138,7 +124,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>SZMechNeko_Omega</pawnKindDef>
 | 
									<pawnKindDef>SZMechNeko_Omega</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.03</weight>
 | 
											<weight>0.05</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<isHostile>true</isHostile>
 | 
											<isHostile>true</isHostile>
 | 
				
			||||||
						<isHidden>true</isHidden>
 | 
											<isHidden>true</isHidden>
 | 
				
			||||||
@ -148,7 +134,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>AA_Gallatross</pawnKindDef>
 | 
									<pawnKindDef>AA_Gallatross</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.3</weight>
 | 
											<weight>0.15</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -157,7 +143,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>BOSS_RQ_Monster_Kind_Summon_z</pawnKindDef>
 | 
									<pawnKindDef>BOSS_RQ_Monster_Kind_Summon_z</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -166,7 +152,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>VAA_Allial</pawnKindDef>
 | 
									<pawnKindDef>VAA_Allial</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -175,7 +161,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>VAA_IA</pawnKindDef>
 | 
									<pawnKindDef>VAA_IA</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -184,7 +170,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>VAA_TohokuKiritan</pawnKindDef>
 | 
									<pawnKindDef>VAA_TohokuKiritan</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -193,7 +179,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>VAA_TohokuZunko</pawnKindDef>
 | 
									<pawnKindDef>VAA_TohokuZunko</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -202,7 +188,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>Ratkin_KingHamster</pawnKindDef>
 | 
									<pawnKindDef>Ratkin_KingHamster</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>1.5</weight>
 | 
											<weight>1</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -211,7 +197,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>AA_MeadowAve</pawnKindDef>
 | 
									<pawnKindDef>AA_MeadowAve</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>1.5</weight>
 | 
											<weight>0.9</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -220,7 +206,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>Thrumbo</pawnKindDef>
 | 
									<pawnKindDef>Thrumbo</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>1.5</weight>
 | 
											<weight>0.9</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<isHostile>true</isHostile>
 | 
											<isHostile>true</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -229,7 +215,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>AA_DevilSheep</pawnKindDef>
 | 
									<pawnKindDef>AA_DevilSheep</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>1.5</weight>
 | 
											<weight>0.9</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -238,7 +224,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>TW_AiruCat</pawnKindDef>
 | 
									<pawnKindDef>TW_AiruCat</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>5.67</weight>
 | 
											<weight>5.7</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -247,7 +233,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>Pig</pawnKindDef>
 | 
									<pawnKindDef>Pig</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>5.4</weight>
 | 
											<weight>5.7</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -256,7 +242,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>Cow</pawnKindDef>
 | 
									<pawnKindDef>Cow</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>5.4</weight>
 | 
											<weight>5.7</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -265,7 +251,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>AA_EngorgedTentacularAberration</pawnKindDef>
 | 
									<pawnKindDef>AA_EngorgedTentacularAberration</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>5.4</weight>
 | 
											<weight>5.7</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<isHostile>true</isHostile>
 | 
											<isHostile>true</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -274,7 +260,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>Horse</pawnKindDef>
 | 
									<pawnKindDef>Horse</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>5.4</weight>
 | 
											<weight>5.7</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -283,7 +269,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>AEXP_Boombat</pawnKindDef>
 | 
									<pawnKindDef>AEXP_Boombat</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>5.4</weight>
 | 
											<weight>5.7</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -292,7 +278,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>WasteRat</pawnKindDef>
 | 
									<pawnKindDef>WasteRat</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<isHostile>true</isHostile>
 | 
											<isHostile>true</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -301,7 +287,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>Chicken</pawnKindDef>
 | 
									<pawnKindDef>Chicken</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -310,7 +296,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>Tortoise</pawnKindDef>
 | 
									<pawnKindDef>Tortoise</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -319,7 +305,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>Cat</pawnKindDef>
 | 
									<pawnKindDef>Cat</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
							
								
								
									
										308
									
								
								1.5/Defs/ThingDefs/Lootbox_tianshi.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,308 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<ThingDef ParentName="SimpleLootBoxBase">
 | 
				
			||||||
 | 
							<defName>SimpleLootBoxExampmi</defName><!-- Definition name of the loot box -->
 | 
				
			||||||
 | 
							<label>天使行军武器箱</label><!-- The name of the loot box, which can be localized for translation -->
 | 
				
			||||||
 | 
							<description>每周掉落或者击杀掉落的稀有武器箱</description><!-- The description of the loot box, which can be localized for translation -->
 | 
				
			||||||
 | 
							<graphicData>
 | 
				
			||||||
 | 
								<texPath>SimpleLootBox/ExampleF</texPath><!-- The texture path of the loot box -->
 | 
				
			||||||
 | 
								<graphicClass>Graphic_Single</graphicClass>
 | 
				
			||||||
 | 
								<drawSize>2.5</drawSize>
 | 
				
			||||||
 | 
							</graphicData>
 | 
				
			||||||
 | 
							<statBases>
 | 
				
			||||||
 | 
								<Mass>1.0</Mass><!-- The mass of the loot box -->
 | 
				
			||||||
 | 
								<MarketValue>10</MarketValue><!-- The market value of the loot box itself -->
 | 
				
			||||||
 | 
							</statBases>
 | 
				
			||||||
 | 
							<useHitPoints>false</useHitPoints>
 | 
				
			||||||
 | 
							<tradeability>None</tradeability><!-- Whether the loot box can be traded. Some literal values are available for this setting: None Sellable Buyable All -->
 | 
				
			||||||
 | 
							<comps>
 | 
				
			||||||
 | 
								<li Class="CompProperties_Usable">
 | 
				
			||||||
 | 
									<useJob>UseArtifact</useJob>
 | 
				
			||||||
 | 
									<useLabel>Activate {0_label}</useLabel>
 | 
				
			||||||
 | 
									<showUseGizmo>true</showUseGizmo>
 | 
				
			||||||
 | 
									<useDuration>150</useDuration>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<useHitPoints>false</useHitPoints>
 | 
				
			||||||
 | 
								<li Class="SimpleLootBox.CompProperties_SpawnLootBox">
 | 
				
			||||||
 | 
									<lootBoxList>
 | 
				
			||||||
 | 
										<li>
 | 
				
			||||||
 | 
											<thingDef>SimpleLootBoxExampmi</thingDef><!-- The loot box's defName, added to the global drop list for killing creatures; if you have a custom key item, consider adding it here as well -->
 | 
				
			||||||
 | 
											<chance>0.05</chance><!-- The drop chance of this loot box; defaults to 0.05 (5%) if not specified -->
 | 
				
			||||||
 | 
											<lootBoxSpawnGroup>SimpleLootBoxGroupX</lootBoxSpawnGroup><!-- To spawn a loot box every daysBetweenLootBoxSpawns, assign it to a lootBoxSpawnGroup. All loot boxes in the same group share the chance to spawn, based on their assigned weightInGroup -->
 | 
				
			||||||
 | 
											<weightInGroup>5</weightInGroup><!-- The generation weight of this loot box in its group; default is 1 -->
 | 
				
			||||||
 | 
											<daysBetweenLootBoxSpawns>7</daysBetweenLootBoxSpawns><!-- The frequency of spawning the loot box. daysBetweenLootBoxSpawns = 7, meaning spawn of a such a lootbox every 7 days in the game. All loot boxes in the same lootBoxSpawnGroup should have the same daysBetweenLootBoxSpawns. No default-->
 | 
				
			||||||
 | 
										</li>
 | 
				
			||||||
 | 
									</lootBoxList>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li Class="SimpleLootBox.CompProperties_LootBox">
 | 
				
			||||||
 | 
									<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound><!-- The sound effect played when entering the loot box opening screen; if not set, no sound will be played -->
 | 
				
			||||||
 | 
									<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound><!-- The sound effect played during the spinning; it's a looping Sustainer that plays a single audio clip -->
 | 
				
			||||||
 | 
									<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSoundA</lootBoxBackgroundMusicSound><!-- Background music for the loot box opening window; it's a single-loop Sustainer -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									<lootBoxOpenCost>Silver</lootBoxOpenCost><!-- The item required to open the loot box. It can be silver, a custom key, or any other item. If not specified, no item is required by default -->
 | 
				
			||||||
 | 
									<lootBoxOpenCostCount>128</lootBoxOpenCostCount><!-- The number of items required to open the loot box. Defaults to 0 if not specified -->
 | 
				
			||||||
 | 
									<lootBoxThingDef>
 | 
				
			||||||
 | 
									 
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Techprint_Milira_MilianTech_RookIV</thingDef>
 | 
				
			||||||
 | 
											<count>1</count>
 | 
				
			||||||
 | 
											<weight>0.15</weight>
 | 
				
			||||||
 | 
											<rarity>5</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Techprint_Milira_MilianTech_RookIII</thingDef>
 | 
				
			||||||
 | 
											<count>1</count>
 | 
				
			||||||
 | 
											<weight>0.15</weight>
 | 
				
			||||||
 | 
											<rarity>5</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Techprint_Milira_ConceptWeaponry</thingDef>
 | 
				
			||||||
 | 
											<count>1</count>
 | 
				
			||||||
 | 
											<weight>0.15</weight>
 | 
				
			||||||
 | 
											<rarity>5</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Wastepack</thingDef>
 | 
				
			||||||
 | 
											<count>500</count>
 | 
				
			||||||
 | 
											<weight>0.15</weight>
 | 
				
			||||||
 | 
											<rarity>5</rarity>
 | 
				
			||||||
 | 
											<isHidden>true</isHidden>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Milira_SolarCrystal</thingDef>
 | 
				
			||||||
 | 
											<count>300</count>
 | 
				
			||||||
 | 
											<weight>0.45</weight>
 | 
				
			||||||
 | 
											<rarity>5</rarity>
 | 
				
			||||||
 | 
											<quality>Normal</quality>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Milira_SolarCrystal</thingDef>
 | 
				
			||||||
 | 
											<count>120</count>
 | 
				
			||||||
 | 
											<weight>0.45</weight>
 | 
				
			||||||
 | 
											<rarity>4</rarity>
 | 
				
			||||||
 | 
											<quality>Normal</quality>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Milira_SunPlateSteel</thingDef>
 | 
				
			||||||
 | 
											<count>500</count>
 | 
				
			||||||
 | 
											<weight>0.45</weight>
 | 
				
			||||||
 | 
											<rarity>4</rarity>
 | 
				
			||||||
 | 
											<quality>Normal</quality>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Milira_StarshipBattery</thingDef>
 | 
				
			||||||
 | 
											<count>2</count>
 | 
				
			||||||
 | 
											<weight>0.45</weight>
 | 
				
			||||||
 | 
											<rarity>4</rarity>
 | 
				
			||||||
 | 
											<quality>Normal</quality>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Techprint_Milira_HeavyRocketLauncher</thingDef>
 | 
				
			||||||
 | 
											<count>1</count>
 | 
				
			||||||
 | 
											<weight>0.9</weight>
 | 
				
			||||||
 | 
											<rarity>3</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Techprint_Milira_HeavyPlasmaTurret</thingDef>
 | 
				
			||||||
 | 
											<count>1</count>
 | 
				
			||||||
 | 
											<weight>0.9</weight>
 | 
				
			||||||
 | 
											<rarity>3</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Techprint_Milira_HeavyParticleTurret</thingDef>
 | 
				
			||||||
 | 
											<count>1</count>
 | 
				
			||||||
 | 
											<weight>0.9</weight>
 | 
				
			||||||
 | 
											<rarity>3</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Milira_SunLightFuel</thingDef>
 | 
				
			||||||
 | 
											<count>500</count>
 | 
				
			||||||
 | 
											<weight>0.45</weight>
 | 
				
			||||||
 | 
											<rarity>4</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Milira_FurnaceCoreModel</thingDef>
 | 
				
			||||||
 | 
											<count>1</count>
 | 
				
			||||||
 | 
											<weight>0.45</weight>
 | 
				
			||||||
 | 
											<rarity>4</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Milira_SolarCrystal</thingDef>
 | 
				
			||||||
 | 
											<count>30</count>
 | 
				
			||||||
 | 
											<weight>0.9</weight>
 | 
				
			||||||
 | 
											<rarity>3</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Milira_SunPlateSteel</thingDef>
 | 
				
			||||||
 | 
											<count>200</count>
 | 
				
			||||||
 | 
											<weight>0.9</weight>
 | 
				
			||||||
 | 
											<rarity>3</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Milira_SunLightFuel</thingDef>
 | 
				
			||||||
 | 
											<count>200</count>
 | 
				
			||||||
 | 
											<weight>0.9</weight>
 | 
				
			||||||
 | 
											<rarity>3</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Milira_FeatherThread</thingDef>
 | 
				
			||||||
 | 
											<count>20</count>
 | 
				
			||||||
 | 
											<weight>5.7</weight>
 | 
				
			||||||
 | 
											<rarity>2</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Plasteel</thingDef>
 | 
				
			||||||
 | 
											<count>10</count>
 | 
				
			||||||
 | 
											<weight>5.7</weight>
 | 
				
			||||||
 | 
											<rarity>2</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Milira_SolarCrystal</thingDef>
 | 
				
			||||||
 | 
											<count>1</count>
 | 
				
			||||||
 | 
											<weight>5.7</weight>
 | 
				
			||||||
 | 
											<rarity>2</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Milira_BloodStainedFeather</thingDef>
 | 
				
			||||||
 | 
											<count>10</count>
 | 
				
			||||||
 | 
											<weight>5.7</weight>
 | 
				
			||||||
 | 
											<rarity>2</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Milira_SunLightFuel</thingDef>
 | 
				
			||||||
 | 
											<count>5</count>
 | 
				
			||||||
 | 
											<weight>5.7</weight>
 | 
				
			||||||
 | 
											<rarity>2</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Milira_SunLightFruit</thingDef>
 | 
				
			||||||
 | 
											<count>1</count>
 | 
				
			||||||
 | 
											<weight>22.8</weight>
 | 
				
			||||||
 | 
											<rarity>1</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Wastepack</thingDef>
 | 
				
			||||||
 | 
											<count>5</count>
 | 
				
			||||||
 | 
											<weight>22.8</weight>
 | 
				
			||||||
 | 
											<rarity>1</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Steel</thingDef>
 | 
				
			||||||
 | 
											<count>5</count>
 | 
				
			||||||
 | 
											<weight>22.8</weight>
 | 
				
			||||||
 | 
											<rarity>1</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Milira_BloodStainedFeather</thingDef>
 | 
				
			||||||
 | 
											<count>1</count>
 | 
				
			||||||
 | 
											<weight>22.8</weight>
 | 
				
			||||||
 | 
											<rarity>1</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Meat_Milira_Race</thingDef>
 | 
				
			||||||
 | 
											<count>10</count>
 | 
				
			||||||
 | 
											<weight>22.8</weight>
 | 
				
			||||||
 | 
											<rarity>1</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									<li>
 | 
				
			||||||
 | 
											<thingDef>Gold</thingDef>
 | 
				
			||||||
 | 
											<count>1</count>
 | 
				
			||||||
 | 
											<weight>22.8</weight>
 | 
				
			||||||
 | 
											<rarity>1</rarity>
 | 
				
			||||||
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
									</lootBoxThingDef>
 | 
				
			||||||
 | 
									<lootBoxPawnKindDef>
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
					                <li>	
 | 
				
			||||||
 | 
									<pawnKindDef>Cat</pawnKindDef>
 | 
				
			||||||
 | 
											<count>1</count>
 | 
				
			||||||
 | 
											<weight>22.8</weight>
 | 
				
			||||||
 | 
											<rarity>1</rarity>
 | 
				
			||||||
 | 
											<isHostile>true</isHostile>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
 | 
					                        <lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
					                </li>
 | 
				
			||||||
 | 
					                <li MayRequire="ancot.milirarace">	
 | 
				
			||||||
 | 
									<pawnKindDef>Milian_Base_mi</pawnKindDef>
 | 
				
			||||||
 | 
											<count>1</count>
 | 
				
			||||||
 | 
											<weight>0.15</weight>
 | 
				
			||||||
 | 
											<rarity>5</rarity>
 | 
				
			||||||
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
 | 
					                        <lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
					                </li>
 | 
				
			||||||
 | 
					                <li MayRequire="ancot.milirarace">	
 | 
				
			||||||
 | 
									<pawnKindDef>Milian_Base_baby</pawnKindDef>
 | 
				
			||||||
 | 
											<count>1</count>
 | 
				
			||||||
 | 
											<weight>0.9</weight>
 | 
				
			||||||
 | 
											<rarity>3</rarity>
 | 
				
			||||||
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
 | 
					                        <lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
 | 
					                </li>
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									</lootBoxPawnKindDef>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
							</comps>
 | 
				
			||||||
 | 
						</ThingDef>
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||
@ -1,19 +1,5 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
<Defs>
 | 
					<Defs>
 | 
				
			||||||
	<ThingDef Name="SimpleLootBoxBase" ParentName="ResourceBase" Abstract="True">
 | 
					 | 
				
			||||||
		<thingClass>ThingWithComps</thingClass>
 | 
					 | 
				
			||||||
		<graphicData>
 | 
					 | 
				
			||||||
			<graphicClass>Graphic_Single</graphicClass><!-- Using Graphic_StackCount, the item's texture will reflect its stack count -->
 | 
					 | 
				
			||||||
		</graphicData>
 | 
					 | 
				
			||||||
		<stackLimit>10</stackLimit><!-- Stack count of the item -->
 | 
					 | 
				
			||||||
		<techLevel>Medieval</techLevel><!-- The item's tech level; it does not affect any functionality and is purely a special tag -->
 | 
					 | 
				
			||||||
		<thingCategories><!-- Item category -->
 | 
					 | 
				
			||||||
			<li>Artifacts</li>
 | 
					 | 
				
			||||||
		</thingCategories>
 | 
					 | 
				
			||||||
		<tradeTags><!-- Item trade tags -->
 | 
					 | 
				
			||||||
			<li>Artifacts</li>
 | 
					 | 
				
			||||||
		</tradeTags>
 | 
					 | 
				
			||||||
	</ThingDef>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<ThingDef ParentName="SimpleLootBoxBase">
 | 
						<ThingDef ParentName="SimpleLootBoxBase">
 | 
				
			||||||
		<defName>SimpleLootBoxExamplezui</defName><!-- Definition name of the loot box -->
 | 
							<defName>SimpleLootBoxExamplezui</defName><!-- Definition name of the loot box -->
 | 
				
			||||||
@ -22,14 +8,14 @@
 | 
				
			|||||||
		<graphicData>
 | 
							<graphicData>
 | 
				
			||||||
			<texPath>SimpleLootBox/ExampleD</texPath><!-- The texture path of the loot box -->
 | 
								<texPath>SimpleLootBox/ExampleD</texPath><!-- The texture path of the loot box -->
 | 
				
			||||||
			<graphicClass>Graphic_Single</graphicClass>
 | 
								<graphicClass>Graphic_Single</graphicClass>
 | 
				
			||||||
			<drawSize>1.5</drawSize>
 | 
								<drawSize>2.5</drawSize>
 | 
				
			||||||
		</graphicData>
 | 
							</graphicData>
 | 
				
			||||||
		<statBases>
 | 
							<statBases>
 | 
				
			||||||
			<Mass>1.0</Mass><!-- The mass of the loot box -->
 | 
								<Mass>1.0</Mass><!-- The mass of the loot box -->
 | 
				
			||||||
			<MarketValue>10</MarketValue><!-- The market value of the loot box itself -->
 | 
								<MarketValue>10</MarketValue><!-- The market value of the loot box itself -->
 | 
				
			||||||
		</statBases>
 | 
							</statBases>
 | 
				
			||||||
		<useHitPoints>false</useHitPoints>
 | 
							<useHitPoints>false</useHitPoints>
 | 
				
			||||||
		<tradeability>Sellable</tradeability><!-- Whether the loot box can be traded. Some literal values are available for this setting: None Sellable Buyable All -->
 | 
							<tradeability>None</tradeability><!-- Whether the loot box can be traded. Some literal values are available for this setting: None Sellable Buyable All -->
 | 
				
			||||||
		<comps>
 | 
							<comps>
 | 
				
			||||||
			<li Class="CompProperties_Usable">
 | 
								<li Class="CompProperties_Usable">
 | 
				
			||||||
				<useJob>UseArtifact</useJob>
 | 
									<useJob>UseArtifact</useJob>
 | 
				
			||||||
@ -42,7 +28,7 @@
 | 
				
			|||||||
				<lootBoxList>
 | 
									<lootBoxList>
 | 
				
			||||||
					<li>
 | 
										<li>
 | 
				
			||||||
						<thingDef>SimpleLootBoxExamplezui</thingDef><!-- The loot box's defName, added to the global drop list for killing creatures; if you have a custom key item, consider adding it here as well -->
 | 
											<thingDef>SimpleLootBoxExamplezui</thingDef><!-- The loot box's defName, added to the global drop list for killing creatures; if you have a custom key item, consider adding it here as well -->
 | 
				
			||||||
						<chance>0.01</chance><!-- The drop chance of this loot box; defaults to 0.05 (5%) if not specified -->
 | 
											<chance>0.05</chance><!-- The drop chance of this loot box; defaults to 0.05 (5%) if not specified -->
 | 
				
			||||||
						<lootBoxSpawnGroup>SimpleLootBoxGroupX</lootBoxSpawnGroup><!-- To spawn a loot box every daysBetweenLootBoxSpawns, assign it to a lootBoxSpawnGroup. All loot boxes in the same group share the chance to spawn, based on their assigned weightInGroup -->
 | 
											<lootBoxSpawnGroup>SimpleLootBoxGroupX</lootBoxSpawnGroup><!-- To spawn a loot box every daysBetweenLootBoxSpawns, assign it to a lootBoxSpawnGroup. All loot boxes in the same group share the chance to spawn, based on their assigned weightInGroup -->
 | 
				
			||||||
						<weightInGroup>5</weightInGroup><!-- The generation weight of this loot box in its group; default is 1 -->
 | 
											<weightInGroup>5</weightInGroup><!-- The generation weight of this loot box in its group; default is 1 -->
 | 
				
			||||||
						<daysBetweenLootBoxSpawns>7</daysBetweenLootBoxSpawns><!-- The frequency of spawning the loot box. daysBetweenLootBoxSpawns = 7, meaning spawn of a such a lootbox every 7 days in the game. All loot boxes in the same lootBoxSpawnGroup should have the same daysBetweenLootBoxSpawns. No default-->
 | 
											<daysBetweenLootBoxSpawns>7</daysBetweenLootBoxSpawns><!-- The frequency of spawning the loot box. daysBetweenLootBoxSpawns = 7, meaning spawn of a such a lootbox every 7 days in the game. All loot boxes in the same lootBoxSpawnGroup should have the same daysBetweenLootBoxSpawns. No default-->
 | 
				
			||||||
@ -53,7 +39,7 @@
 | 
				
			|||||||
				<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound><!-- The sound effect played when entering the loot box opening screen; if not set, no sound will be played -->
 | 
									<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound><!-- The sound effect played when entering the loot box opening screen; if not set, no sound will be played -->
 | 
				
			||||||
				<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound><!-- The sound effect played during the spinning; it's a looping Sustainer that plays a single audio clip -->
 | 
									<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound><!-- The sound effect played during the spinning; it's a looping Sustainer that plays a single audio clip -->
 | 
				
			||||||
				<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSoundA</lootBoxBackgroundMusicSound><!-- Background music for the loot box opening window; it's a single-loop Sustainer -->
 | 
									<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSoundA</lootBoxBackgroundMusicSound><!-- Background music for the loot box opening window; it's a single-loop Sustainer -->
 | 
				
			||||||
				<lootBoxBackgroundTexturePath>SimpleLootBox/LootBoxBackgroundA</lootBoxBackgroundTexturePath><!-- Background image for the loot box window; the UI resolution is:700*800 -->
 | 
					
 | 
				
			||||||
				<lootBoxOpenCost>Silver</lootBoxOpenCost><!-- The item required to open the loot box. It can be silver, a custom key, or any other item. If not specified, no item is required by default -->
 | 
									<lootBoxOpenCost>Silver</lootBoxOpenCost><!-- The item required to open the loot box. It can be silver, a custom key, or any other item. If not specified, no item is required by default -->
 | 
				
			||||||
				<lootBoxOpenCostCount>128</lootBoxOpenCostCount><!-- The number of items required to open the loot box. Defaults to 0 if not specified -->
 | 
									<lootBoxOpenCostCount>128</lootBoxOpenCostCount><!-- The number of items required to open the loot box. Defaults to 0 if not specified -->
 | 
				
			||||||
				<lootBoxThingDef>
 | 
									<lootBoxThingDef>
 | 
				
			||||||
@ -61,7 +47,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>GoldenCube</thingDef>
 | 
											<thingDef>GoldenCube</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.3</weight>
 | 
											<weight>0.15</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<isHidden>true</isHidden>
 | 
											<isHidden>true</isHidden>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
@ -70,7 +56,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Techprint_HAR_ZC_Research_B</thingDef>
 | 
											<thingDef>Techprint_HAR_ZC_Research_B</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.3</weight>
 | 
											<weight>0.15</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -78,7 +64,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>HAR_ZC_Item_a</thingDef>
 | 
											<thingDef>HAR_ZC_Item_a</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.3</weight>
 | 
											<weight>0.15</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -86,7 +72,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>HAR_ZC_Shell_f</thingDef>
 | 
											<thingDef>HAR_ZC_Shell_f</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<quality>Normal</quality>
 | 
											<quality>Normal</quality>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
@ -95,7 +81,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>HAR_ZC_Tops_e</thingDef>
 | 
											<thingDef>HAR_ZC_Tops_e</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<quality>Normal</quality>
 | 
											<quality>Normal</quality>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
@ -104,7 +90,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>HAR_ZC_Heads_e</thingDef>
 | 
											<thingDef>HAR_ZC_Heads_e</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<quality>Normal</quality>
 | 
											<quality>Normal</quality>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
@ -113,7 +99,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>HAR_EL_Item_a</thingDef>
 | 
											<thingDef>HAR_EL_Item_a</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<quality>Normal</quality>
 | 
											<quality>Normal</quality>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
@ -122,7 +108,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>HAR_EL_Item_b</thingDef>
 | 
											<thingDef>HAR_EL_Item_b</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -130,7 +116,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>HAR_EL_Item_c</thingDef>
 | 
											<thingDef>HAR_EL_Item_c</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -138,7 +124,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>HAR_EL_Item_d</thingDef>
 | 
											<thingDef>HAR_EL_Item_d</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -146,7 +132,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>HAR_EL_Item_e</thingDef>
 | 
											<thingDef>HAR_EL_Item_e</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.9</weight>
 | 
											<weight>0.45</weight>
 | 
				
			||||||
						<rarity>4</rarity>
 | 
											<rarity>4</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -154,15 +140,15 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Uranium</thingDef>
 | 
											<thingDef>Uranium</thingDef>
 | 
				
			||||||
						<count>300</count>
 | 
											<count>300</count>
 | 
				
			||||||
						<weight>1.5</weight>
 | 
											<weight>0.9</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
				</li>
 | 
									</li>
 | 
				
			||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>ComponentSpacer</thingDef>
 | 
											<thingDef>ComponentSpacer</thingDef>
 | 
				
			||||||
						<count>5</count>
 | 
											<count>10</count>
 | 
				
			||||||
						<weight>1.5</weight>
 | 
											<weight>0.9</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -170,7 +156,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Meat_HAR_Zoichor</thingDef>
 | 
											<thingDef>Meat_HAR_Zoichor</thingDef>
 | 
				
			||||||
						<count>10</count>
 | 
											<count>10</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -178,7 +164,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Wastepack</thingDef>
 | 
											<thingDef>Wastepack</thingDef>
 | 
				
			||||||
						<count>5</count>
 | 
											<count>5</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -186,24 +172,24 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Gold</thingDef>
 | 
											<thingDef>Gold</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
				</li>
 | 
									</li>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                  <li>
 | 
					                  <li>
 | 
				
			||||||
						<thingDef>Meat_HAR_Xenoorca</thingDef>
 | 
											<thingDef>HAR_NM_Archotech_b</thingDef>
 | 
				
			||||||
						<count>15</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>0.15</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
				</li>
 | 
									</li>
 | 
				
			||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>HAR_SK_Meal_g</thingDef>
 | 
											<thingDef>HAR_SK_Meal_g</thingDef>
 | 
				
			||||||
						<count>5</count>
 | 
											<count>5</count>
 | 
				
			||||||
						<weight>5.4</weight>
 | 
											<weight>5.7</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -211,7 +197,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Meat_HAR_Xenoorca</thingDef>
 | 
											<thingDef>Meat_HAR_Xenoorca</thingDef>
 | 
				
			||||||
						<count>15</count>
 | 
											<count>15</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -219,7 +205,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>EggChickenUnfertilizec</thingDef>
 | 
											<thingDef>EggChickenUnfertilizec</thingDef>
 | 
				
			||||||
						<count>5</count>
 | 
											<count>5</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -227,7 +213,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>PsychiteTea</thingDef>
 | 
											<thingDef>PsychiteTea</thingDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -235,7 +221,7 @@
 | 
				
			|||||||
				<li>
 | 
									<li>
 | 
				
			||||||
						<thingDef>Wastepack</thingDef>
 | 
											<thingDef>Wastepack</thingDef>
 | 
				
			||||||
						<count>10</count>
 | 
											<count>10</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
											<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
				
			||||||
@ -247,7 +233,7 @@
 | 
				
			|||||||
                <li MayRequire="ayameduki.harchaoura">	
 | 
					                <li MayRequire="ayameduki.harchaoura">	
 | 
				
			||||||
				<pawnKindDef>HAR_Zoichor_Player_kami</pawnKindDef>
 | 
									<pawnKindDef>HAR_Zoichor_Player_kami</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>0.3</weight>
 | 
											<weight>0.15</weight>
 | 
				
			||||||
						<rarity>5</rarity>
 | 
											<rarity>5</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -256,7 +242,7 @@
 | 
				
			|||||||
                <li MayRequire="ayameduki.harneclose">	
 | 
					                <li MayRequire="ayameduki.harneclose">	
 | 
				
			||||||
				<pawnKindDef>HAR_Neclose_Player_baby</pawnKindDef>
 | 
									<pawnKindDef>HAR_Neclose_Player_baby</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>1.5</weight>
 | 
											<weight>0.9</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -265,7 +251,7 @@
 | 
				
			|||||||
                <li MayRequire="ayameduki.harsaclean">	
 | 
					                <li MayRequire="ayameduki.harsaclean">	
 | 
				
			||||||
				<pawnKindDef>HAR_Saclean_Player_kami</pawnKindDef>
 | 
									<pawnKindDef>HAR_Saclean_Player_kami</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>1.5</weight>
 | 
											<weight>0.9</weight>
 | 
				
			||||||
						<rarity>3</rarity>
 | 
											<rarity>3</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -274,7 +260,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>TW_AiruCat</pawnKindDef>
 | 
									<pawnKindDef>TW_AiruCat</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>5.4</weight>
 | 
											<weight>5.7</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -283,7 +269,7 @@
 | 
				
			|||||||
                <li MayRequire="ayameduki.harsilkiera">	
 | 
					                <li MayRequire="ayameduki.harsilkiera">	
 | 
				
			||||||
				<pawnKindDef>HAR_Silkiera_Player_kami</pawnKindDef>
 | 
									<pawnKindDef>HAR_Silkiera_Player_kami</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>5.4</weight>
 | 
											<weight>5.7</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -292,7 +278,7 @@
 | 
				
			|||||||
                <li MayRequire="nemonian.my">	
 | 
					                <li MayRequire="nemonian.my">	
 | 
				
			||||||
				<pawnKindDef>Moyo_ColonistPawn_kami</pawnKindDef>
 | 
									<pawnKindDef>Moyo_ColonistPawn_kami</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>5.4</weight>
 | 
											<weight>5.7</weight>
 | 
				
			||||||
						<rarity>2</rarity>
 | 
											<rarity>2</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -301,7 +287,7 @@
 | 
				
			|||||||
                <li MayRequire="ayameduki.harsilkiera">	
 | 
					                <li MayRequire="ayameduki.harsilkiera">	
 | 
				
			||||||
				<pawnKindDef>HAR_Silkiera_Player_baby</pawnKindDef>
 | 
									<pawnKindDef>HAR_Silkiera_Player_baby</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<isHostile>false</isHostile>
 | 
											<isHostile>false</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -310,7 +296,7 @@
 | 
				
			|||||||
                <li>	
 | 
					                <li>	
 | 
				
			||||||
				<pawnKindDef>Squirrel</pawnKindDef>
 | 
									<pawnKindDef>Squirrel</pawnKindDef>
 | 
				
			||||||
						<count>1</count>
 | 
											<count>1</count>
 | 
				
			||||||
						<weight>21.9</weight>
 | 
											<weight>22.8</weight>
 | 
				
			||||||
						<rarity>1</rarity>
 | 
											<rarity>1</rarity>
 | 
				
			||||||
						<isHostile>true</isHostile>
 | 
											<isHostile>true</isHostile>
 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
											<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
				
			||||||
@ -1,50 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8" ?>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<Defs>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	<PawnKindDef ParentName="GrenadierBase"><!-- 人物的基本数据继承自GrenadierBase,下面的数据中如果有和parent相同的条目,会覆盖parent的数值 -->
 | 
					 | 
				
			||||||
		<defName>Baby_Example</defName><!-- 人物的定义名 -->
 | 
					 | 
				
			||||||
		<label>baby example</label><!-- 人物的名字,可以进行本地化翻译 -->
 | 
					 | 
				
			||||||
		<race>Human</race><!-- 人物的种族的定义名 -->
 | 
					 | 
				
			||||||
		<defaultFactionType>OutlanderCivil</defaultFactionType><!-- 初始的派系类型 -->
 | 
					 | 
				
			||||||
		<combatPower>10</combatPower><!-- 袭击占用分数 -->
 | 
					 | 
				
			||||||
		<initialWillRange>1~10</initialWillRange><!-- 奴役难度 -->
 | 
					 | 
				
			||||||
		<initialResistanceRange>10~20</initialResistanceRange><!-- 招募难度 -->
 | 
					 | 
				
			||||||
		<minGenerationAge>0.01</minGenerationAge><!-- 生成人物的最小生物年龄 -->
 | 
					 | 
				
			||||||
		<maxGenerationAge>30</maxGenerationAge><!-- 生成人物的最大生物年龄 -->
 | 
					 | 
				
			||||||
		<techHediffsMoney>0</techHediffsMoney><!-- 仿生体价值 -->
 | 
					 | 
				
			||||||
		<apparelMoney>0</apparelMoney><!-- 服装价值 -->
 | 
					 | 
				
			||||||
		<weaponMoney>0</weaponMoney><!-- 武器价值 -->
 | 
					 | 
				
			||||||
		<techHediffsTags Inherit="False"><!-- Inherit="False"用来去除可能从parentName里继承的仿生体tag,决定了使用的仿生体的标签 -->
 | 
					 | 
				
			||||||
		</techHediffsTags>
 | 
					 | 
				
			||||||
		<weaponTags Inherit="False"><!-- 决定了使用的武器的标签 -->
 | 
					 | 
				
			||||||
		</weaponTags>
 | 
					 | 
				
			||||||
		<apparelTags Inherit="False"><!-- 决定了使用的服装的标签 -->
 | 
					 | 
				
			||||||
		</apparelTags>
 | 
					 | 
				
			||||||
		<inventoryOptions Inherit="False"><!-- 决定了随身携带物品 -->
 | 
					 | 
				
			||||||
		</inventoryOptions>
 | 
					 | 
				
			||||||
		<skills><!-- 生成人物的某项技能的范围,比如 Shooting Melee Construction Mining Cooking Plants Animals Crafting Artistic Medicine Social Intellectual -->
 | 
					 | 
				
			||||||
			<li>
 | 
					 | 
				
			||||||
				<skill>Shooting</skill>
 | 
					 | 
				
			||||||
				<range>15~20</range>
 | 
					 | 
				
			||||||
			</li>
 | 
					 | 
				
			||||||
		</skills>
 | 
					 | 
				
			||||||
		<disallowedTraits><!-- 不被允许使用的特性 -->
 | 
					 | 
				
			||||||
			<li>Brawler</li>
 | 
					 | 
				
			||||||
		</disallowedTraits>
 | 
					 | 
				
			||||||
		<disallowedTraitsWithDegree><!-- 不被允许使用的特性以及对应的程度 -->
 | 
					 | 
				
			||||||
			<PsychicSensitivity>-2</PsychicSensitivity>
 | 
					 | 
				
			||||||
		</disallowedTraitsWithDegree>
 | 
					 | 
				
			||||||
		<forcedTraits><!-- 强制生成的特性以及程度,通常来讲大部分mod特性不会设置程度 -->
 | 
					 | 
				
			||||||
			<Recluse>0</Recluse>
 | 
					 | 
				
			||||||
		</forcedTraits>		
 | 
					 | 
				
			||||||
		<useFactionXenotypes>false</useFactionXenotypes><!-- 去除派系设置的异种生成概率 -->
 | 
					 | 
				
			||||||
		<xenotypeSet>
 | 
					 | 
				
			||||||
			<xenotypeChances>
 | 
					 | 
				
			||||||
				<Neanderthal MayRequire="Ludeon.RimWorld.Biotech">1</Neanderthal><!-- 某个特定异种的生成概率 -->
 | 
					 | 
				
			||||||
			</xenotypeChances>
 | 
					 | 
				
			||||||
		</xenotypeSet>
 | 
					 | 
				
			||||||
		<pawnGroupDevelopmentStage>Baby</pawnGroupDevelopmentStage><!-- 生成特定生长状态的人物,可用参数为 Newborn Baby Child Adult-->
 | 
					 | 
				
			||||||
	</PawnKindDef>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</Defs>
 | 
					 | 
				
			||||||
@ -1,213 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<Defs>
 | 
					 | 
				
			||||||
	<ThingDef Name="SimpleLootBoxBase" ParentName="ResourceBase" Abstract="True">
 | 
					 | 
				
			||||||
		<thingClass>ThingWithComps</thingClass>
 | 
					 | 
				
			||||||
		<graphicData>
 | 
					 | 
				
			||||||
			<graphicClass>Graphic_Single</graphicClass><!-- 用 Graphic_StackCount 物品的贴图会反应物品的堆叠数量 -->
 | 
					 | 
				
			||||||
		</graphicData>
 | 
					 | 
				
			||||||
		<stackLimit>10</stackLimit><!-- 物品的堆叠数量 -->
 | 
					 | 
				
			||||||
		<techLevel>Medieval</techLevel><!-- 物品的科技等级,并不影响任何功能,只是个标签 -->
 | 
					 | 
				
			||||||
		<thingCategories><!-- 物品的分类 -->
 | 
					 | 
				
			||||||
			<li>Artifacts</li>
 | 
					 | 
				
			||||||
		</thingCategories>
 | 
					 | 
				
			||||||
		<tradeTags><!-- 物品的交易标签 -->
 | 
					 | 
				
			||||||
			<li>Artifacts</li>
 | 
					 | 
				
			||||||
		</tradeTags>
 | 
					 | 
				
			||||||
	</ThingDef>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	<ThingDef ParentName="SimpleLootBoxBase">
 | 
					 | 
				
			||||||
		<defName>SimpleLootBoxExampleA</defName><!-- 箱子的定义名 -->
 | 
					 | 
				
			||||||
		<label>simple loot box example A</label><!-- 箱子的名字,可以进行本地化翻译 -->
 | 
					 | 
				
			||||||
		<description>Example A.</description><!-- 箱子的描述,可以进行本地化翻译 -->
 | 
					 | 
				
			||||||
		<graphicData>
 | 
					 | 
				
			||||||
			<texPath>SimpleLootBox/ExampleA</texPath><!-- 箱子的贴图路径 -->
 | 
					 | 
				
			||||||
			<graphicClass>Graphic_Single</graphicClass>
 | 
					 | 
				
			||||||
		</graphicData>
 | 
					 | 
				
			||||||
		<statBases>
 | 
					 | 
				
			||||||
			<Mass>1.0</Mass><!-- 箱子的重量 -->
 | 
					 | 
				
			||||||
			<MarketValue>100</MarketValue><!-- 箱子本身的价值 -->
 | 
					 | 
				
			||||||
		</statBases>
 | 
					 | 
				
			||||||
		<tradeability>Buyable</tradeability><!-- 箱子是否可以交易,有几个字面意思可以理解的值 None Sellable Buyable All -->
 | 
					 | 
				
			||||||
		<comps>
 | 
					 | 
				
			||||||
			<li Class="CompProperties_Usable">
 | 
					 | 
				
			||||||
				<useJob>UseArtifact</useJob>
 | 
					 | 
				
			||||||
				<useLabel>Activate {0_label}</useLabel>
 | 
					 | 
				
			||||||
				<showUseGizmo>true</showUseGizmo>
 | 
					 | 
				
			||||||
				<useDuration>150</useDuration>
 | 
					 | 
				
			||||||
			</li>
 | 
					 | 
				
			||||||
			<li Class="SimpleLootBox.CompProperties_SpawnLootBox">
 | 
					 | 
				
			||||||
				<lootBoxList>
 | 
					 | 
				
			||||||
					<li>
 | 
					 | 
				
			||||||
						<thingDef>SimpleLootBoxExampleA</thingDef><!-- 箱子的定义名,加入到全局击杀生物后的掉落列表;如果有自定义的钥匙,也可以考虑加到这里来 -->
 | 
					 | 
				
			||||||
						<chance>0.01</chance><!-- 这个箱子的掉落概率,不填默认为0.05,也就是5%的击杀掉率 -->
 | 
					 | 
				
			||||||
					</li>
 | 
					 | 
				
			||||||
				</lootBoxList>
 | 
					 | 
				
			||||||
			</li>
 | 
					 | 
				
			||||||
			<li Class="SimpleLootBox.CompProperties_LootBox">
 | 
					 | 
				
			||||||
				<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound><!-- 进入开箱界面的音效,不填就没音效 -->
 | 
					 | 
				
			||||||
				<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound><!-- 选取物品时的音效,单曲循环sustainer -->
 | 
					 | 
				
			||||||
				<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSoundA</lootBoxBackgroundMusicSound><!-- 开箱界面的背景音乐,单曲循环sustainer -->
 | 
					 | 
				
			||||||
				<lootBoxBackgroundTexturePath>SimpleLootBox/LootBoxBackgroundA</lootBoxBackgroundTexturePath><!-- 开箱界面的背景图,界面的分辨率为700*800 -->
 | 
					 | 
				
			||||||
				<lootBoxOpenCost>Silver</lootBoxOpenCost><!-- 开箱子所需要的物品,可以是白银,自定义的钥匙,或者任何物品,不填就默认为无 -->
 | 
					 | 
				
			||||||
				<lootBoxOpenCostCount>100</lootBoxOpenCostCount><!-- 开箱子所需要的物品的数量,不填默认为0 -->
 | 
					 | 
				
			||||||
				<lootBoxThingDef>
 | 
					 | 
				
			||||||
					<li>
 | 
					 | 
				
			||||||
						<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名,必填 -->
 | 
					 | 
				
			||||||
						<count>1000</count><!-- 该物品生成的数量,必填 -->
 | 
					 | 
				
			||||||
						<weight>5</weight><!-- 这项奖励的生成权重,必填 -->
 | 
					 | 
				
			||||||
						<rarity>2</rarity><!-- 这项奖励的稀有度(使用的颜色与文本)可用选项 0 1 2 3 4 5 ,不填默认为0,数字越大稀有度越高-->
 | 
					 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
 | 
					 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效,不设置就没音效 -->
 | 
					 | 
				
			||||||
						<isHidden>false</isHidden><!-- 该物品是否会在可用的奖励列表里隐藏,如果你想给开箱的人一个惊喜,可以把他设置成true,默认为false -->
 | 
					 | 
				
			||||||
					</li>
 | 
					 | 
				
			||||||
					<li>
 | 
					 | 
				
			||||||
						<thingDef>Gold</thingDef>
 | 
					 | 
				
			||||||
						<count>500</count>
 | 
					 | 
				
			||||||
						<weight>1</weight>
 | 
					 | 
				
			||||||
						<rarity>4</rarity>
 | 
					 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
					 | 
				
			||||||
					</li>
 | 
					 | 
				
			||||||
					<li>
 | 
					 | 
				
			||||||
						<thingDef>Bed</thingDef>
 | 
					 | 
				
			||||||
						<stuff>WoodLog</stuff><!-- 如果这个物品是stuffable,会使用这里设置的stuff,但如果没设置,会自动套用默认stuff -->
 | 
					 | 
				
			||||||
						<quality>Masterwork</quality><!-- 如果这个物品有品质,会使用这里设置的品质,不设置默认Normal,可用的品质为 Awful Poor Normal Good Excellent Masterwork Legendary-->
 | 
					 | 
				
			||||||
						<count>1</count>
 | 
					 | 
				
			||||||
						<weight>2</weight>
 | 
					 | 
				
			||||||
						<rarity>2</rarity>
 | 
					 | 
				
			||||||
						<isHidden>true</isHidden><!-- 该奖励在列表里被隐藏了 -->
 | 
					 | 
				
			||||||
					</li>
 | 
					 | 
				
			||||||
					<li>
 | 
					 | 
				
			||||||
						<thingDef>MeleeWeapon_MonoSword</thingDef>
 | 
					 | 
				
			||||||
						<quality>Legendary</quality>
 | 
					 | 
				
			||||||
						<count>1</count>
 | 
					 | 
				
			||||||
						<weight>1</weight>
 | 
					 | 
				
			||||||
						<rarity>5</rarity>
 | 
					 | 
				
			||||||
						<effecterDef>GiantExplosion</effecterDef>
 | 
					 | 
				
			||||||
					</li>
 | 
					 | 
				
			||||||
				</lootBoxThingDef>
 | 
					 | 
				
			||||||
			</li>
 | 
					 | 
				
			||||||
		</comps>
 | 
					 | 
				
			||||||
	</ThingDef>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	<ThingDef ParentName="SimpleLootBoxBase">
 | 
					 | 
				
			||||||
		<defName>SimpleLootBoxExampleB</defName>
 | 
					 | 
				
			||||||
		<label>simple loot box example B</label>
 | 
					 | 
				
			||||||
		<thingClass>ThingWithComps</thingClass>
 | 
					 | 
				
			||||||
		<description>Example B.</description>
 | 
					 | 
				
			||||||
		<graphicData>
 | 
					 | 
				
			||||||
			<texPath>SimpleLootBox/ExampleB</texPath>
 | 
					 | 
				
			||||||
			<graphicClass>Graphic_Single</graphicClass>
 | 
					 | 
				
			||||||
		</graphicData>
 | 
					 | 
				
			||||||
		<statBases>
 | 
					 | 
				
			||||||
			<Mass>1.0</Mass>
 | 
					 | 
				
			||||||
			<MarketValue>100</MarketValue>
 | 
					 | 
				
			||||||
		</statBases>
 | 
					 | 
				
			||||||
		<tradeability>Buyable</tradeability>
 | 
					 | 
				
			||||||
		<comps>
 | 
					 | 
				
			||||||
			<li Class="CompProperties_Usable">
 | 
					 | 
				
			||||||
				<useJob>UseArtifact</useJob>
 | 
					 | 
				
			||||||
				<useLabel>Activate {0_label}</useLabel>
 | 
					 | 
				
			||||||
				<showUseGizmo>true</showUseGizmo>
 | 
					 | 
				
			||||||
				<useDuration>100</useDuration>
 | 
					 | 
				
			||||||
			</li>
 | 
					 | 
				
			||||||
			<li Class="SimpleLootBox.CompProperties_SpawnLootBox">
 | 
					 | 
				
			||||||
				<lootBoxList>
 | 
					 | 
				
			||||||
					<li>
 | 
					 | 
				
			||||||
						<thingDef>SimpleLootBoxExampleB</thingDef>
 | 
					 | 
				
			||||||
						<chance>0.5</chance>
 | 
					 | 
				
			||||||
					</li>
 | 
					 | 
				
			||||||
				</lootBoxList>
 | 
					 | 
				
			||||||
			</li>
 | 
					 | 
				
			||||||
			<li Class="SimpleLootBox.CompProperties_LootBox">
 | 
					 | 
				
			||||||
				<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound>
 | 
					 | 
				
			||||||
				<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound>
 | 
					 | 
				
			||||||
				<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSoundB</lootBoxBackgroundMusicSound>
 | 
					 | 
				
			||||||
				<lootBoxBackgroundTexturePath>SimpleLootBox/LootBoxBackgroundB</lootBoxBackgroundTexturePath>
 | 
					 | 
				
			||||||
				<lootBoxPawnKindDef>
 | 
					 | 
				
			||||||
					<li>
 | 
					 | 
				
			||||||
						<pawnKindDef>Mercenary_Gunner</pawnKindDef><!-- 箱子可以开出的人物的定义名 -->
 | 
					 | 
				
			||||||
						<count>2</count><!-- 该人物生成的数量 -->
 | 
					 | 
				
			||||||
						<weight>5</weight><!-- 这项奖励的生成权重 -->
 | 
					 | 
				
			||||||
						<isHostile>false</isHostile><!-- 生成的人物是否和玩家敌对,默认为false -->
 | 
					 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
					 | 
				
			||||||
					</li>
 | 
					 | 
				
			||||||
					<li>
 | 
					 | 
				
			||||||
						<pawnKindDef>Baby_Example</pawnKindDef>
 | 
					 | 
				
			||||||
						<count>1</count>
 | 
					 | 
				
			||||||
						<weight>5</weight>
 | 
					 | 
				
			||||||
						<rarity>3</rarity>
 | 
					 | 
				
			||||||
					</li>
 | 
					 | 
				
			||||||
					<li>
 | 
					 | 
				
			||||||
						<pawnKindDef>Mech_Centurion</pawnKindDef>
 | 
					 | 
				
			||||||
						<count>1</count>
 | 
					 | 
				
			||||||
						<weight>5</weight>
 | 
					 | 
				
			||||||
						<rarity>4</rarity>
 | 
					 | 
				
			||||||
						<effecterDef>ExtinguisherExplosion</effecterDef>
 | 
					 | 
				
			||||||
					</li>
 | 
					 | 
				
			||||||
					<li>
 | 
					 | 
				
			||||||
						<pawnKindDef>Cat</pawnKindDef>
 | 
					 | 
				
			||||||
						<count>5</count>
 | 
					 | 
				
			||||||
						<weight>5</weight>
 | 
					 | 
				
			||||||
						<rarity>5</rarity>
 | 
					 | 
				
			||||||
						<isHostile>true</isHostile><!-- 生成的人物和玩家敌对 -->
 | 
					 | 
				
			||||||
					</li>
 | 
					 | 
				
			||||||
				</lootBoxPawnKindDef>
 | 
					 | 
				
			||||||
			</li>
 | 
					 | 
				
			||||||
		</comps>
 | 
					 | 
				
			||||||
	</ThingDef>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	<ThingDef ParentName="SimpleLootBoxBase">
 | 
					 | 
				
			||||||
		<defName>SimpleLootBoxExampleC</defName>
 | 
					 | 
				
			||||||
		<label>simple loot box example C</label>
 | 
					 | 
				
			||||||
		<thingClass>ThingWithComps</thingClass>
 | 
					 | 
				
			||||||
		<description>Example C.</description>
 | 
					 | 
				
			||||||
		<graphicData>
 | 
					 | 
				
			||||||
			<texPath>SimpleLootBox/ExampleC</texPath>
 | 
					 | 
				
			||||||
			<graphicClass>Graphic_Single</graphicClass>
 | 
					 | 
				
			||||||
		</graphicData>
 | 
					 | 
				
			||||||
		<statBases>
 | 
					 | 
				
			||||||
			<Mass>1.0</Mass>
 | 
					 | 
				
			||||||
			<MarketValue>100</MarketValue>
 | 
					 | 
				
			||||||
		</statBases>
 | 
					 | 
				
			||||||
		<tradeability>Buyable</tradeability>
 | 
					 | 
				
			||||||
		<comps>
 | 
					 | 
				
			||||||
			<li Class="CompProperties_Usable">
 | 
					 | 
				
			||||||
				<useJob>UseArtifact</useJob>
 | 
					 | 
				
			||||||
				<useLabel>Activate {0_label}</useLabel>
 | 
					 | 
				
			||||||
				<showUseGizmo>true</showUseGizmo>
 | 
					 | 
				
			||||||
				<useDuration>100</useDuration>
 | 
					 | 
				
			||||||
			</li>
 | 
					 | 
				
			||||||
			<li Class="SimpleLootBox.CompProperties_SpawnLootBox">
 | 
					 | 
				
			||||||
				<lootBoxList>
 | 
					 | 
				
			||||||
					<li>
 | 
					 | 
				
			||||||
						<thingDef>SimpleLootBoxExampleC</thingDef>
 | 
					 | 
				
			||||||
						<chance>0.5</chance>
 | 
					 | 
				
			||||||
					</li>
 | 
					 | 
				
			||||||
				</lootBoxList>
 | 
					 | 
				
			||||||
			</li>
 | 
					 | 
				
			||||||
			<li Class="SimpleLootBox.CompProperties_LootBox">
 | 
					 | 
				
			||||||
				<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound>
 | 
					 | 
				
			||||||
				<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound>
 | 
					 | 
				
			||||||
				<lootBoxPawnKindDef><!-- 箱子开出的奖励可以混合人物和物品 -->
 | 
					 | 
				
			||||||
					<li>
 | 
					 | 
				
			||||||
						<pawnKindDef>Mercenary_Gunner</pawnKindDef>
 | 
					 | 
				
			||||||
						<count>2</count>
 | 
					 | 
				
			||||||
						<weight>5</weight>
 | 
					 | 
				
			||||||
					</li>
 | 
					 | 
				
			||||||
				</lootBoxPawnKindDef>
 | 
					 | 
				
			||||||
				<lootBoxThingDef><!-- 箱子开出的奖励可以混合人物和物品 -->
 | 
					 | 
				
			||||||
					<li>
 | 
					 | 
				
			||||||
						<thingDef>Silver</thingDef>
 | 
					 | 
				
			||||||
						<count>1000</count>
 | 
					 | 
				
			||||||
						<weight>5</weight>
 | 
					 | 
				
			||||||
						<rarity>2</rarity>
 | 
					 | 
				
			||||||
						<effecterDef>Skip_ExitNoDelay</effecterDef>
 | 
					 | 
				
			||||||
						<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
 | 
					 | 
				
			||||||
					</li>
 | 
					 | 
				
			||||||
				</lootBoxThingDef>
 | 
					 | 
				
			||||||
			</li>
 | 
					 | 
				
			||||||
		</comps>
 | 
					 | 
				
			||||||
	</ThingDef>
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
</Defs>
 | 
					 | 
				
			||||||
@ -1,104 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					 | 
				
			||||||
<Defs>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<SoundDef>
 | 
					 | 
				
			||||||
	<defName>lootBoxOpenSound</defName><!-- 音频定义名-->    
 | 
					 | 
				
			||||||
	<maxVoices>1</maxVoices>  
 | 
					 | 
				
			||||||
	<maxSimultaneous>1</maxSimultaneous>  
 | 
					 | 
				
			||||||
	<subSounds>
 | 
					 | 
				
			||||||
		<li>
 | 
					 | 
				
			||||||
			<onCamera>True</onCamera>      
 | 
					 | 
				
			||||||
			<grains>
 | 
					 | 
				
			||||||
				<li Class="AudioGrain_Clip">
 | 
					 | 
				
			||||||
					<clipPath>SimpleLootBox/lootBoxOpenSound</clipPath><!-- 音频路径-->
 | 
					 | 
				
			||||||
				</li>
 | 
					 | 
				
			||||||
			</grains>      
 | 
					 | 
				
			||||||
			<volumeRange>50~50</volumeRange><!-- 音量-->
 | 
					 | 
				
			||||||
		</li>
 | 
					 | 
				
			||||||
	</subSounds>
 | 
					 | 
				
			||||||
</SoundDef>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<!-- Sustainer 如果该音频需要持续播放,需要设置为sustainer-->
 | 
					 | 
				
			||||||
<SoundDef>
 | 
					 | 
				
			||||||
	<defName>lootBoxSpinningSound</defName>    
 | 
					 | 
				
			||||||
	<maxVoices>1</maxVoices>  
 | 
					 | 
				
			||||||
	<maxSimultaneous>1</maxSimultaneous> 
 | 
					 | 
				
			||||||
	<sustain>True</sustain> 
 | 
					 | 
				
			||||||
	<priorityMode>PrioritizeNearest</priorityMode>
 | 
					 | 
				
			||||||
	<subSounds>
 | 
					 | 
				
			||||||
		<li>
 | 
					 | 
				
			||||||
			<muteWhenPaused>False</muteWhenPaused>
 | 
					 | 
				
			||||||
			<sustainLoop>False</sustainLoop>
 | 
					 | 
				
			||||||
			<onCamera>True</onCamera>      
 | 
					 | 
				
			||||||
			<grains>
 | 
					 | 
				
			||||||
				<li Class="AudioGrain_Clip">
 | 
					 | 
				
			||||||
					<clipPath>SimpleLootBox/lootBoxSpinningSound</clipPath>
 | 
					 | 
				
			||||||
				</li>
 | 
					 | 
				
			||||||
			</grains>      
 | 
					 | 
				
			||||||
			<volumeRange>50~50</volumeRange>
 | 
					 | 
				
			||||||
		</li>
 | 
					 | 
				
			||||||
	</subSounds>
 | 
					 | 
				
			||||||
</SoundDef>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<!-- Sustainer-->
 | 
					 | 
				
			||||||
<SoundDef>
 | 
					 | 
				
			||||||
	<defName>lootBoxBackgroundMusicSoundA</defName>    
 | 
					 | 
				
			||||||
	<maxVoices>1</maxVoices>  
 | 
					 | 
				
			||||||
	<maxSimultaneous>1</maxSimultaneous> 
 | 
					 | 
				
			||||||
	<sustain>True</sustain> 
 | 
					 | 
				
			||||||
	<priorityMode>PrioritizeNearest</priorityMode>
 | 
					 | 
				
			||||||
	<subSounds>
 | 
					 | 
				
			||||||
		<li>
 | 
					 | 
				
			||||||
			<muteWhenPaused>False</muteWhenPaused>
 | 
					 | 
				
			||||||
			<sustainLoop>False</sustainLoop>
 | 
					 | 
				
			||||||
			<onCamera>True</onCamera>      
 | 
					 | 
				
			||||||
			<grains>
 | 
					 | 
				
			||||||
				<li Class="AudioGrain_Clip">
 | 
					 | 
				
			||||||
					<clipPath>SimpleLootBox/lootBoxBackgroundMusicSoundA</clipPath>
 | 
					 | 
				
			||||||
				</li>
 | 
					 | 
				
			||||||
			</grains>      
 | 
					 | 
				
			||||||
			<volumeRange>35~35</volumeRange>
 | 
					 | 
				
			||||||
		</li>
 | 
					 | 
				
			||||||
	</subSounds>
 | 
					 | 
				
			||||||
</SoundDef>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<!-- Sustainer-->
 | 
					 | 
				
			||||||
<SoundDef>
 | 
					 | 
				
			||||||
	<defName>lootBoxBackgroundMusicSoundB</defName>    
 | 
					 | 
				
			||||||
	<maxVoices>1</maxVoices>  
 | 
					 | 
				
			||||||
	<maxSimultaneous>1</maxSimultaneous> 
 | 
					 | 
				
			||||||
	<sustain>True</sustain> 
 | 
					 | 
				
			||||||
	<priorityMode>PrioritizeNearest</priorityMode>
 | 
					 | 
				
			||||||
	<subSounds>
 | 
					 | 
				
			||||||
		<li>
 | 
					 | 
				
			||||||
			<muteWhenPaused>False</muteWhenPaused>
 | 
					 | 
				
			||||||
			<sustainLoop>False</sustainLoop>
 | 
					 | 
				
			||||||
			<onCamera>True</onCamera>      
 | 
					 | 
				
			||||||
			<grains>
 | 
					 | 
				
			||||||
				<li Class="AudioGrain_Clip">
 | 
					 | 
				
			||||||
					<clipPath>SimpleLootBox/lootBoxBackgroundMusicSoundB</clipPath>
 | 
					 | 
				
			||||||
				</li>
 | 
					 | 
				
			||||||
			</grains>      
 | 
					 | 
				
			||||||
			<volumeRange>35~35</volumeRange>
 | 
					 | 
				
			||||||
		</li>
 | 
					 | 
				
			||||||
	</subSounds>
 | 
					 | 
				
			||||||
</SoundDef>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<SoundDef>
 | 
					 | 
				
			||||||
	<defName>lootBoxFinalizingRewardSound</defName>    
 | 
					 | 
				
			||||||
	<maxVoices>1</maxVoices>  
 | 
					 | 
				
			||||||
	<maxSimultaneous>1</maxSimultaneous>  
 | 
					 | 
				
			||||||
	<subSounds>
 | 
					 | 
				
			||||||
		<li>
 | 
					 | 
				
			||||||
			<onCamera>True</onCamera>      
 | 
					 | 
				
			||||||
			<grains>
 | 
					 | 
				
			||||||
				<li Class="AudioGrain_Clip">
 | 
					 | 
				
			||||||
					<clipPath>SimpleLootBox/lootBoxFinalizingRewardSound</clipPath>
 | 
					 | 
				
			||||||
				</li>
 | 
					 | 
				
			||||||
			</grains>      
 | 
					 | 
				
			||||||
			<volumeRange>70~70</volumeRange>
 | 
					 | 
				
			||||||
		</li>
 | 
					 | 
				
			||||||
	</subSounds>
 | 
					 | 
				
			||||||
</SoundDef>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</Defs>
 | 
					 | 
				
			||||||
@ -1 +0,0 @@
 | 
				
			|||||||
{"RootPath":"D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox","ProjectFileName":"SimpleLootBox.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"Class1.cs"},{"SourceFile":"HarmonyPatches\\FileName.cs"},{"SourceFile":"HarmonyPatches\\PatchMain.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.7.2.AssemblyAttributes.cs"}],"References":[{"Reference":"D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\packages\\Lib.Harmony.2.3.6\\lib\\net48\\0Harmony.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\bin\\Debug\\SimpleLootBox.dll","OutputItemRelativePath":"SimpleLootBox.dll"},{"OutputItemFullPath":"","OutputItemRelativePath":""}],"CopyToOutputEntries":[]}
 | 
					 | 
				
			||||||
@ -1,311 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "Version": 1,
 | 
					 | 
				
			||||||
  "WorkspaceRootPath": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\",
 | 
					 | 
				
			||||||
  "Documents": [
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\lootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:lootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|d:\\steam\\steamapps\\common\\rimworld\\mods\\simplelootbox\\1.5\\source\\simplelootbox\\gamecomponent_spawnlootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:gamecomponent_spawnlootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\compspawnlootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:compspawnlootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\compproperties_lootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:compproperties_lootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\compproperties_spawnlootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:compproperties_spawnlootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\harmonypatches\\pawn_kill.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:harmonypatches\\pawn_kill.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\HarmonyPatches\\PatchMain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:HarmonyPatches\\PatchMain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|d:\\steam\\steamapps\\common\\rimworld\\mods\\simplelootbox\\1.5\\source\\simplelootbox\\lootboxopeningwindow.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:lootboxopeningwindow.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\complootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:complootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\lootboxspinner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:lootboxspinner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\lootboxthingdef.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:lootboxthingdef.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\lootboxdatabase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:lootboxdatabase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\raritycolor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:raritycolor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\rarity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:rarity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\lootboxpawnkinddef.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:lootboxpawnkinddef.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Verniy\\Downloads\\LootBoxSpinner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00000000-0000-0000-0000-000000000000}|\u003CSolution\u003E|SimpleLootBox||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\Properties\\AssemblyInfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:Properties\\AssemblyInfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  ],
 | 
					 | 
				
			||||||
  "DocumentGroupContainers": [
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "Orientation": 0,
 | 
					 | 
				
			||||||
      "VerticalTabListWidth": 256,
 | 
					 | 
				
			||||||
      "DocumentGroups": [
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          "DockedWidth": 200,
 | 
					 | 
				
			||||||
          "SelectedChildIndex": 7,
 | 
					 | 
				
			||||||
          "Children": [
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 1,
 | 
					 | 
				
			||||||
              "Title": "GameComponent_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\GameComponent_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "GameComponent_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\GameComponent_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "GameComponent_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAADMAAAAAAAAAAAAowBgAAABMAAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-09T02:40:24.696Z",
 | 
					 | 
				
			||||||
              "EditorCaption": ""
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 3,
 | 
					 | 
				
			||||||
              "Title": "CompProperties_LootBox.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\CompProperties_LootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "CompProperties_LootBox.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\CompProperties_LootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "CompProperties_LootBox.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAAAkAAAAAAAAAAAAAAB4AAAA0AAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-06T21:54:49.755Z",
 | 
					 | 
				
			||||||
              "EditorCaption": ""
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 7,
 | 
					 | 
				
			||||||
              "Title": "LootBoxOpeningWindow.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxOpeningWindow.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "LootBoxOpeningWindow.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxOpeningWindow.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "LootBoxOpeningWindow.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAADcAAAAAAAAAAAAewE0AAAA5AAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-07T20:18:46.529Z",
 | 
					 | 
				
			||||||
              "EditorCaption": ""
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 2,
 | 
					 | 
				
			||||||
              "Title": "CompSpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\CompSpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "CompSpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\CompSpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "CompSpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAAJAAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-07T01:26:54.137Z",
 | 
					 | 
				
			||||||
              "EditorCaption": ""
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 4,
 | 
					 | 
				
			||||||
              "Title": "CompProperties_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\CompProperties_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "CompProperties_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\CompProperties_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "CompProperties_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAAAIAAAAAAAAAAAAYwBQAAAABAAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-07T01:22:11.223Z",
 | 
					 | 
				
			||||||
              "EditorCaption": ""
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 6,
 | 
					 | 
				
			||||||
              "Title": "PatchMain.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\HarmonyPatches\\PatchMain.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "HarmonyPatches\\PatchMain.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\HarmonyPatches\\PatchMain.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "HarmonyPatches\\PatchMain.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-06T21:58:33.185Z",
 | 
					 | 
				
			||||||
              "EditorCaption": ""
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 5,
 | 
					 | 
				
			||||||
              "Title": "Pawn_Kill.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\HarmonyPatches\\Pawn_Kill.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "HarmonyPatches\\Pawn_Kill.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\HarmonyPatches\\Pawn_Kill.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "HarmonyPatches\\Pawn_Kill.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-06T21:58:18.923Z",
 | 
					 | 
				
			||||||
              "EditorCaption": ""
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 0,
 | 
					 | 
				
			||||||
              "Title": "LootBox.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "LootBox.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "LootBox.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-07T01:23:17.893Z",
 | 
					 | 
				
			||||||
              "EditorCaption": ""
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 11,
 | 
					 | 
				
			||||||
              "Title": "LootBoxDatabase.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxDatabase.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "LootBoxDatabase.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxDatabase.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "LootBoxDatabase.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-07T02:24:30.5Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 9,
 | 
					 | 
				
			||||||
              "Title": "LootBoxSpinner.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxSpinner.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "LootBoxSpinner.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxSpinner.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "LootBoxSpinner.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AQIAAGQAAAAAAAAAAAAYwH0AAAAaAAAA",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-07T20:22:09.628Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 10,
 | 
					 | 
				
			||||||
              "Title": "LootBoxThingDef.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxThingDef.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "LootBoxThingDef.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxThingDef.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "LootBoxThingDef.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AQIAAAYAAAAAAAAAAAAAAB8AAAAlAAAA",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-06T22:36:06.172Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 8,
 | 
					 | 
				
			||||||
              "Title": "CompLootBox.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\CompLootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "CompLootBox.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\CompLootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "CompLootBox.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAAA4AAAAAAAAAAAAQwBgAAAA5AAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-06T22:42:42.073Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 12,
 | 
					 | 
				
			||||||
              "Title": "RarityColor.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\RarityColor.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "RarityColor.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\RarityColor.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "RarityColor.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AQIAAAMAAAAAAAAAAAAAABMAAAAGAAAA",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-08T13:16:57.175Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 13,
 | 
					 | 
				
			||||||
              "Title": "Rarity.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\Rarity.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "Rarity.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\Rarity.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "Rarity.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AQIAAAMAAAAAAAAAAAAAABYAAABNAAAA",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-07T12:47:11.303Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 14,
 | 
					 | 
				
			||||||
              "Title": "LootBoxPawnKindDef.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxPawnKindDef.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "LootBoxPawnKindDef.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxPawnKindDef.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "LootBoxPawnKindDef.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AQIAAAMAAAAAAAAAAAAAABgAAAAdAAAA",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-06T22:37:54.85Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 15,
 | 
					 | 
				
			||||||
              "Title": "LootBoxSpinner.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "C:\\Users\\Verniy\\Downloads\\LootBoxSpinner.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "C:\\Users\\Verniy\\Downloads\\LootBoxSpinner.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-07T23:49:02.745Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 16,
 | 
					 | 
				
			||||||
              "Title": "SimpleLootBox",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\SimpleLootBox.csproj",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "SimpleLootBox.csproj",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\SimpleLootBox.csproj",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "SimpleLootBox.csproj",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-06T22:01:57.262Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 17,
 | 
					 | 
				
			||||||
              "Title": "AssemblyInfo.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\Properties\\AssemblyInfo.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "Properties\\AssemblyInfo.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\Properties\\AssemblyInfo.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "Properties\\AssemblyInfo.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-06T22:00:49.967Z"
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      ]
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  ]
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,311 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "Version": 1,
 | 
					 | 
				
			||||||
  "WorkspaceRootPath": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\",
 | 
					 | 
				
			||||||
  "Documents": [
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\lootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:lootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|d:\\steam\\steamapps\\common\\rimworld\\mods\\simplelootbox\\1.5\\source\\simplelootbox\\gamecomponent_spawnlootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:gamecomponent_spawnlootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\compspawnlootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:compspawnlootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\compproperties_lootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:compproperties_lootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\compproperties_spawnlootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:compproperties_spawnlootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\harmonypatches\\pawn_kill.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:harmonypatches\\pawn_kill.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\HarmonyPatches\\PatchMain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:HarmonyPatches\\PatchMain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|d:\\steam\\steamapps\\common\\rimworld\\mods\\simplelootbox\\1.5\\source\\simplelootbox\\lootboxopeningwindow.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:lootboxopeningwindow.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\complootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:complootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\lootboxspinner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:lootboxspinner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\lootboxthingdef.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:lootboxthingdef.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\lootboxdatabase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:lootboxdatabase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\raritycolor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:raritycolor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\rarity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:rarity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\lootboxpawnkinddef.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:lootboxpawnkinddef.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Verniy\\Downloads\\LootBoxSpinner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00000000-0000-0000-0000-000000000000}|\u003CSolution\u003E|SimpleLootBox||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "AbsoluteMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\Properties\\AssemblyInfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
					 | 
				
			||||||
      "RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:Properties\\AssemblyInfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  ],
 | 
					 | 
				
			||||||
  "DocumentGroupContainers": [
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "Orientation": 0,
 | 
					 | 
				
			||||||
      "VerticalTabListWidth": 256,
 | 
					 | 
				
			||||||
      "DocumentGroups": [
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          "DockedWidth": 200,
 | 
					 | 
				
			||||||
          "SelectedChildIndex": 7,
 | 
					 | 
				
			||||||
          "Children": [
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 1,
 | 
					 | 
				
			||||||
              "Title": "GameComponent_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\GameComponent_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "GameComponent_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\GameComponent_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "GameComponent_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAADMAAAAAAAAAAAAowBgAAABMAAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-09T02:40:24.696Z",
 | 
					 | 
				
			||||||
              "EditorCaption": ""
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 3,
 | 
					 | 
				
			||||||
              "Title": "CompProperties_LootBox.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\CompProperties_LootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "CompProperties_LootBox.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\CompProperties_LootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "CompProperties_LootBox.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAAAkAAAAAAAAAAAAAAB4AAAA0AAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-06T21:54:49.755Z",
 | 
					 | 
				
			||||||
              "EditorCaption": ""
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 7,
 | 
					 | 
				
			||||||
              "Title": "LootBoxOpeningWindow.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxOpeningWindow.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "LootBoxOpeningWindow.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxOpeningWindow.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "LootBoxOpeningWindow.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAADcAAAAAAAAAAAAewE0AAAA5AAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-07T20:18:46.529Z",
 | 
					 | 
				
			||||||
              "EditorCaption": ""
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 2,
 | 
					 | 
				
			||||||
              "Title": "CompSpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\CompSpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "CompSpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\CompSpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "CompSpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAAJAAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-07T01:26:54.137Z",
 | 
					 | 
				
			||||||
              "EditorCaption": ""
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 4,
 | 
					 | 
				
			||||||
              "Title": "CompProperties_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\CompProperties_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "CompProperties_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\CompProperties_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "CompProperties_SpawnLootBox.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAAAIAAAAAAAAAAAAYwBQAAAABAAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-07T01:22:11.223Z",
 | 
					 | 
				
			||||||
              "EditorCaption": ""
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 6,
 | 
					 | 
				
			||||||
              "Title": "PatchMain.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\HarmonyPatches\\PatchMain.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "HarmonyPatches\\PatchMain.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\HarmonyPatches\\PatchMain.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "HarmonyPatches\\PatchMain.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-06T21:58:33.185Z",
 | 
					 | 
				
			||||||
              "EditorCaption": ""
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 5,
 | 
					 | 
				
			||||||
              "Title": "Pawn_Kill.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\HarmonyPatches\\Pawn_Kill.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "HarmonyPatches\\Pawn_Kill.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\HarmonyPatches\\Pawn_Kill.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "HarmonyPatches\\Pawn_Kill.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-06T21:58:18.923Z",
 | 
					 | 
				
			||||||
              "EditorCaption": ""
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 0,
 | 
					 | 
				
			||||||
              "Title": "LootBox.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "LootBox.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "LootBox.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-07T01:23:17.893Z",
 | 
					 | 
				
			||||||
              "EditorCaption": ""
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 11,
 | 
					 | 
				
			||||||
              "Title": "LootBoxDatabase.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxDatabase.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "LootBoxDatabase.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxDatabase.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "LootBoxDatabase.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-07T02:24:30.5Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 9,
 | 
					 | 
				
			||||||
              "Title": "LootBoxSpinner.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxSpinner.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "LootBoxSpinner.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxSpinner.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "LootBoxSpinner.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AQIAAGQAAAAAAAAAAAAYwH0AAAAaAAAA",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-07T20:22:09.628Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 10,
 | 
					 | 
				
			||||||
              "Title": "LootBoxThingDef.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxThingDef.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "LootBoxThingDef.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxThingDef.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "LootBoxThingDef.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AQIAAAYAAAAAAAAAAAAAAB8AAAAlAAAA",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-06T22:36:06.172Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 8,
 | 
					 | 
				
			||||||
              "Title": "CompLootBox.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\CompLootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "CompLootBox.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\CompLootBox.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "CompLootBox.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAAA4AAAAAAAAAAAAQwBgAAAA5AAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-06T22:42:42.073Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 12,
 | 
					 | 
				
			||||||
              "Title": "RarityColor.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\RarityColor.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "RarityColor.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\RarityColor.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "RarityColor.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AQIAAAMAAAAAAAAAAAAAABMAAAAGAAAA",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-08T13:16:57.175Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 13,
 | 
					 | 
				
			||||||
              "Title": "Rarity.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\Rarity.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "Rarity.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\Rarity.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "Rarity.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AQIAAAMAAAAAAAAAAAAAABYAAABNAAAA",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-07T12:47:11.303Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 14,
 | 
					 | 
				
			||||||
              "Title": "LootBoxPawnKindDef.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxPawnKindDef.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "LootBoxPawnKindDef.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxPawnKindDef.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "LootBoxPawnKindDef.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AQIAAAMAAAAAAAAAAAAAABgAAAAdAAAA",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-06T22:37:54.85Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 15,
 | 
					 | 
				
			||||||
              "Title": "LootBoxSpinner.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "C:\\Users\\Verniy\\Downloads\\LootBoxSpinner.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "C:\\Users\\Verniy\\Downloads\\LootBoxSpinner.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA==",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-07T23:49:02.745Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 16,
 | 
					 | 
				
			||||||
              "Title": "SimpleLootBox",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\SimpleLootBox.csproj",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "SimpleLootBox.csproj",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\SimpleLootBox.csproj",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "SimpleLootBox.csproj",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-06T22:01:57.262Z"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              "$type": "Document",
 | 
					 | 
				
			||||||
              "DocumentIndex": 17,
 | 
					 | 
				
			||||||
              "Title": "AssemblyInfo.cs",
 | 
					 | 
				
			||||||
              "DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\Properties\\AssemblyInfo.cs",
 | 
					 | 
				
			||||||
              "RelativeDocumentMoniker": "Properties\\AssemblyInfo.cs",
 | 
					 | 
				
			||||||
              "ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\Properties\\AssemblyInfo.cs",
 | 
					 | 
				
			||||||
              "RelativeToolTip": "Properties\\AssemblyInfo.cs",
 | 
					 | 
				
			||||||
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
 | 
					 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					 | 
				
			||||||
              "WhenOpened": "2025-05-06T22:00:49.967Z"
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      ]
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  ]
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,144 +0,0 @@
 | 
				
			|||||||
using System;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using System.Text;
 | 
					 | 
				
			||||||
using System.Threading.Tasks;
 | 
					 | 
				
			||||||
using RimWorld;
 | 
					 | 
				
			||||||
using UnityEngine;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
using Verse.Noise;
 | 
					 | 
				
			||||||
using Verse.Sound;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace SimpleLootBox
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public class CompLootBox : CompUseEffect
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public CompProperties_LootBox Props => (CompProperties_LootBox)props;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public override void DoEffect(Pawn usedBy)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            base.DoEffect(usedBy);
 | 
					 | 
				
			||||||
            LootBoxOpeningWindow window = new LootBoxOpeningWindow(this);
 | 
					 | 
				
			||||||
            Find.WindowStack.Add(window);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public bool Spawn(LootBoxSpinner.SpinItem reward)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            if (reward.count <= 0) return false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            Map map = parent.Map;
 | 
					 | 
				
			||||||
            IntVec3 position = parent.Position;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (reward.thingDef != null)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                for (int i = 0; i < reward.count; i++)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    Thing thing;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    if (reward.thingDef.MadeFromStuff && reward.stuff != null)
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        thing = ThingMaker.MakeThing(reward.thingDef, reward.stuff);
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                    else
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        thing = ThingMaker.MakeThing(reward.thingDef);
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    if (thing.TryGetComp<CompQuality>() != null)
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        thing.TryGetComp<CompQuality>().SetQuality(reward.quality, ArtGenerationContext.Outsider);
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    if (thing.def.Minifiable)
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        Thing minifiedThing = MinifyUtility.MakeMinified(thing);
 | 
					 | 
				
			||||||
                        GenPlace.TryPlaceThing(minifiedThing, parent.Position, parent.Map, ThingPlaceMode.Near);
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                    else
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        GenPlace.TryPlaceThing(thing, parent.Position, parent.Map, ThingPlaceMode.Near);
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    if (reward.effecterDef != null)
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        Effecter effecter = reward.effecterDef.Spawn();
 | 
					 | 
				
			||||||
                        effecter.Trigger(new TargetInfo(position, map), new TargetInfo(position, map));
 | 
					 | 
				
			||||||
                        effecter.Cleanup();
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            else if (reward.pawnKindDef != null)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                for (int i = 0; i < reward.count; i++)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    PawnGenerationRequest request = new PawnGenerationRequest(
 | 
					 | 
				
			||||||
                        kind: reward.pawnKindDef,
 | 
					 | 
				
			||||||
                        context: PawnGenerationContext.NonPlayer,
 | 
					 | 
				
			||||||
                        canGeneratePawnRelations: false,
 | 
					 | 
				
			||||||
                        colonistRelationChanceFactor: 0f,
 | 
					 | 
				
			||||||
                        forceGenerateNewPawn: true,
 | 
					 | 
				
			||||||
                        //Because people really want to spawn baby using the loot box
 | 
					 | 
				
			||||||
                        developmentalStages: reward.pawnKindDef.pawnGroupDevelopmentStage ?? DevelopmentalStage.Adult,
 | 
					 | 
				
			||||||
                        allowDowned: true
 | 
					 | 
				
			||||||
                    );
 | 
					 | 
				
			||||||
                    Pawn pawn = PawnGenerator.GeneratePawn(request);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    if (reward.isHostile)
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        Faction enemy = Find.FactionManager.AllFactionsVisible
 | 
					 | 
				
			||||||
                            .Where(f => !f.IsPlayer && f.HostileTo(Faction.OfPlayer) && f.def.humanlikeFaction)
 | 
					 | 
				
			||||||
                            .RandomElementWithFallback();
 | 
					 | 
				
			||||||
                        pawn.SetFaction(enemy);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        if (pawn.RaceProps.Animal)
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                            pawn.mindState.mentalStateHandler.TryStartMentalState(MentalStateDefOf.ManhunterPermanent, forced: true);
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                        else if (pawn.RaceProps.Humanlike)
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                            pawn.mindState.mentalStateHandler.TryStartMentalState(MentalStateDefOf.Berserk, forced: true);
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                        else if (pawn.RaceProps.IsMechanoid)
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                            pawn.mindState.mentalStateHandler.TryStartMentalState(MentalStateDefOf.BerserkMechanoid, forced: true);
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                    else
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        pawn.SetFaction(Faction.OfPlayer);
 | 
					 | 
				
			||||||
                        if (pawn.ideo != null)
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                            pawn.ideo.SetIdeo(Faction.OfPlayer.ideos.PrimaryIdeo);
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    if (pawn.ideo != null)
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        pawn.ideo.SetIdeo(Faction.OfPlayer.ideos.PrimaryIdeo);
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                    GenSpawn.Spawn(pawn, position, map, WipeMode.Vanish);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    if (reward.effecterDef != null)
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        Effecter effecter = reward.effecterDef.Spawn();
 | 
					 | 
				
			||||||
                        effecter.Trigger(new TargetInfo(position, map), new TargetInfo(position, map));
 | 
					 | 
				
			||||||
                        effecter.Cleanup();
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            return true;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public void DeleteBox(int count)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            if (parent.stackCount > count)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                parent.stackCount -= count;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            else if (parent.stackCount == count)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                parent.Destroy(DestroyMode.Vanish);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,36 +0,0 @@
 | 
				
			|||||||
using System;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using System.Text;
 | 
					 | 
				
			||||||
using System.Threading.Tasks;
 | 
					 | 
				
			||||||
using RimWorld;
 | 
					 | 
				
			||||||
using UnityEngine;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace SimpleLootBox
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public class CompProperties_LootBox : CompProperties_UseEffect
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public CompProperties_LootBox()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            this.compClass = typeof(CompLootBox);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public List<LootBoxThingDef> lootBoxThingDef;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public List<LootBoxPawnKindDef> lootBoxPawnKindDef;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public ThingDef lootBoxOpenCost;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public int lootBoxOpenCostCount = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public SoundDef lootBoxOpenSound;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public SoundDef lootBoxSpinningSound;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public SoundDef lootBoxBackgroundMusicSound;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public string lootBoxBackgroundTexturePath;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,21 +0,0 @@
 | 
				
			|||||||
using System;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using System.Text;
 | 
					 | 
				
			||||||
using System.Threading.Tasks;
 | 
					 | 
				
			||||||
using RimWorld;
 | 
					 | 
				
			||||||
using SimpleLootBox.SimpleLootBox;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace SimpleLootBox
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public class CompProperties_SpawnLootBox : CompProperties
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public List<LootBox> lootBoxList;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public CompProperties_SpawnLootBox()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            this.compClass = typeof(CompSpawnLootBox);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,21 +0,0 @@
 | 
				
			|||||||
using System;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using System.Text;
 | 
					 | 
				
			||||||
using System.Threading.Tasks;
 | 
					 | 
				
			||||||
using RimWorld;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace SimpleLootBox
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    using System.Collections.Generic;
 | 
					 | 
				
			||||||
    using RimWorld;
 | 
					 | 
				
			||||||
    using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    namespace SimpleLootBox
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public class CompSpawnLootBox : ThingComp
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,72 +0,0 @@
 | 
				
			|||||||
using System;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using System.Text;
 | 
					 | 
				
			||||||
using System.Threading.Tasks;
 | 
					 | 
				
			||||||
using RimWorld;
 | 
					 | 
				
			||||||
using SimpleLootBox.SimpleLootBox;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace SimpleLootBox
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public class GameComponent_SpawnLootBox : GameComponent
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        private Dictionary<string, int> nextSpawnTick = new Dictionary<string, int>();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public GameComponent_SpawnLootBox(Game game) : base() { }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public override void GameComponentTick()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            if (Current.Game?.World?.worldObjects == null || Find.TickManager.TicksGame % 250 != 0)
 | 
					 | 
				
			||||||
                return;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            int currentTick = Find.TickManager.TicksGame;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            foreach (var def in DefDatabase<ThingDef>.AllDefsListForReading)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                if (def.HasComp(typeof(CompSpawnLootBox)))
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    var spawnComp = def.GetCompProperties<CompProperties_SpawnLootBox>();
 | 
					 | 
				
			||||||
                    if (spawnComp?.lootBoxList == null) continue;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    foreach (var lootBox in spawnComp.lootBoxList)
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        if (lootBox.thingDef == null || lootBox.daysBetweenLootBoxSpawns <= 0) continue;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        string key = def.defName + "_" + lootBox.thingDef.defName;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        if (!nextSpawnTick.TryGetValue(key, out int tick))
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                            tick = currentTick + (int)(lootBox.daysBetweenLootBoxSpawns * 60000);
 | 
					 | 
				
			||||||
                            nextSpawnTick[key] = tick;
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        if (currentTick >= tick)
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                            Spawn(lootBox.thingDef);
 | 
					 | 
				
			||||||
                            nextSpawnTick[key] = currentTick + (int)(lootBox.daysBetweenLootBoxSpawns * 60000);
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        private void Spawn(ThingDef def)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            Map map = Find.AnyPlayerHomeMap;
 | 
					 | 
				
			||||||
            if (map == null) return;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            IntVec3 pos = DropCellFinder.TradeDropSpot(map);
 | 
					 | 
				
			||||||
            Thing thing = ThingMaker.MakeThing(def);
 | 
					 | 
				
			||||||
            GenPlace.TryPlaceThing(thing, pos, map, ThingPlaceMode.Near);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            Messages.Message("SimpleLootBox_ThingArrived".Translate(def.label.CapitalizeFirst()),
 | 
					 | 
				
			||||||
                new TargetInfo(pos, map), MessageTypeDefOf.PositiveEvent);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public override void ExposeData()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            Scribe_Collections.Look(ref nextSpawnTick, "SimpleLootBox_nextSpawnTick", LookMode.Value, LookMode.Value);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,23 +0,0 @@
 | 
				
			|||||||
using HarmonyLib;
 | 
					 | 
				
			||||||
using JetBrains.Annotations;
 | 
					 | 
				
			||||||
using System;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using System.Reflection;
 | 
					 | 
				
			||||||
using System.Text;
 | 
					 | 
				
			||||||
using System.Threading.Tasks;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace SimpleLootBox.HarmonyPatches
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    [UsedImplicitly]
 | 
					 | 
				
			||||||
    [StaticConstructorOnStartup]
 | 
					 | 
				
			||||||
    public class PatchMain
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        static PatchMain()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            var instance = new Harmony("SimpleLootBox_HarmonyPatches");
 | 
					 | 
				
			||||||
            instance.PatchAll(Assembly.GetExecutingAssembly());
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,29 +0,0 @@
 | 
				
			|||||||
using System;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using System.Text;
 | 
					 | 
				
			||||||
using System.Threading.Tasks;
 | 
					 | 
				
			||||||
using HarmonyLib;
 | 
					 | 
				
			||||||
using RimWorld;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace SimpleLootBox.HarmonyPatches
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    [HarmonyPatch(typeof(Pawn), nameof(Pawn.Kill))]
 | 
					 | 
				
			||||||
    public static class Pawn_Kill_Patch
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        static void Postfix(Pawn __instance)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            if (!__instance.SpawnedOrAnyParentSpawned) return;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            foreach (var lootBox in LootBoxDatabase.allLootBoxes)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                if (Rand.Value <= lootBox.chance)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    Thing thing = ThingMaker.MakeThing(lootBox.thingDef);
 | 
					 | 
				
			||||||
                    GenPlace.TryPlaceThing(thing, __instance.PositionHeld, __instance.MapHeld, ThingPlaceMode.Near);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,16 +0,0 @@
 | 
				
			|||||||
using System;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using System.Text;
 | 
					 | 
				
			||||||
using System.Threading.Tasks;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace SimpleLootBox
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public class LootBox
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public ThingDef thingDef;
 | 
					 | 
				
			||||||
        public float chance = 0.05f;
 | 
					 | 
				
			||||||
        public float daysBetweenLootBoxSpawns;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,29 +0,0 @@
 | 
				
			|||||||
using System;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using System.Text;
 | 
					 | 
				
			||||||
using System.Threading.Tasks;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace SimpleLootBox
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public static class LootBoxDatabase
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public static List<LootBox> allLootBoxes = new List<LootBox>();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        static LootBoxDatabase()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            foreach (var def in DefDatabase<ThingDef>.AllDefs)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                var props = def.GetCompProperties<CompProperties_SpawnLootBox>();
 | 
					 | 
				
			||||||
                if (props?.lootBoxList != null)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    foreach (var lootBox in props.lootBoxList)
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        allLootBoxes.Add(lootBox);
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,263 +0,0 @@
 | 
				
			|||||||
using System;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using System.Text;
 | 
					 | 
				
			||||||
using System.Threading.Tasks;
 | 
					 | 
				
			||||||
using UnityEngine;
 | 
					 | 
				
			||||||
using RimWorld;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
using Verse.Sound;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace SimpleLootBox
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public class LootBoxOpeningWindow : Window
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        private static Vector2 scrollPosition = Vector2.zero;
 | 
					 | 
				
			||||||
        private readonly CompLootBox compLootBox;
 | 
					 | 
				
			||||||
        private readonly LootBoxSpinner lootBoxSpinner;
 | 
					 | 
				
			||||||
        private Sustainer backgroundMusicSustainer;
 | 
					 | 
				
			||||||
        private Sustainer spinningSustainer;
 | 
					 | 
				
			||||||
        private Texture2D backgroundTex;
 | 
					 | 
				
			||||||
        private LootBoxSpinner.SpinItem? pendingFinalizingSoundItem = null;
 | 
					 | 
				
			||||||
        private LootBoxSpinner.SpinItem? pendingRewardItem = null;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public LootBoxOpeningWindow(CompLootBox comp)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            this.compLootBox = comp;
 | 
					 | 
				
			||||||
            this.lootBoxSpinner = new LootBoxSpinner(comp);
 | 
					 | 
				
			||||||
            this.doCloseX = true;
 | 
					 | 
				
			||||||
            this.forcePause = true;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public override void PreOpen()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            base.PreOpen();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (compLootBox.Props.lootBoxOpenSound != null)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                compLootBox.Props.lootBoxOpenSound.PlayOneShot(SoundInfo.InMap(new TargetInfo(compLootBox.parent.Position, compLootBox.parent.Map)));
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (compLootBox.Props.lootBoxBackgroundMusicSound != null)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                SoundInfo info = SoundInfo.InMap(new TargetInfo(compLootBox.parent.Position, compLootBox.parent.Map), MaintenanceType.PerFrame);
 | 
					 | 
				
			||||||
                backgroundMusicSustainer = compLootBox.Props.lootBoxBackgroundMusicSound.TrySpawnSustainer(info);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (!string.IsNullOrEmpty(compLootBox.Props.lootBoxBackgroundTexturePath))
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                backgroundTex = ContentFinder<Texture2D>.Get(compLootBox.Props.lootBoxBackgroundTexturePath, true);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            this.windowRect.width = 700f;
 | 
					 | 
				
			||||||
            this.windowRect.height = 800f;
 | 
					 | 
				
			||||||
            this.windowRect.x = (UI.screenWidth - this.windowRect.width) / 2f;
 | 
					 | 
				
			||||||
            this.windowRect.y = (UI.screenHeight - this.windowRect.height) / 2f;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public override void DoWindowContents(Rect inRect)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            if (backgroundTex != null)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                GUI.DrawTexture(inRect, backgroundTex, ScaleMode.StretchToFill);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            GUI.BeginGroup(inRect);
 | 
					 | 
				
			||||||
            lootBoxSpinner.Draw(new Rect(0f, 100f, inRect.width, 150f));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            //Loot box label UI
 | 
					 | 
				
			||||||
            Text.Font = GameFont.Medium;
 | 
					 | 
				
			||||||
            Text.Anchor = TextAnchor.MiddleCenter;
 | 
					 | 
				
			||||||
            Widgets.Label(new Rect(0f, 10f, inRect.width, 40f), compLootBox.parent.LabelCap);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            //Open loot box cost UI
 | 
					 | 
				
			||||||
            if (compLootBox.Props.lootBoxOpenCost != null && compLootBox.Props.lootBoxOpenCostCount > 0)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                Text.Font = GameFont.Small;
 | 
					 | 
				
			||||||
                Text.Anchor = TextAnchor.MiddleCenter;
 | 
					 | 
				
			||||||
                Widgets.Label(
 | 
					 | 
				
			||||||
                    new Rect(0f, 55f, inRect.width, 20f),
 | 
					 | 
				
			||||||
                    "SimpleLootBox_CostLabel".Translate(
 | 
					 | 
				
			||||||
                        compLootBox.Props.lootBoxOpenCostCount,
 | 
					 | 
				
			||||||
                           compLootBox.Props.lootBoxOpenCost.LabelCap
 | 
					 | 
				
			||||||
                    ) 
 | 
					 | 
				
			||||||
                );
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            backgroundMusicSustainer?.Maintain();
 | 
					 | 
				
			||||||
            spinningSustainer?.Maintain();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (spinningSustainer != null && !lootBoxSpinner.IsSpinning)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                spinningSustainer.End();
 | 
					 | 
				
			||||||
                spinningSustainer = null;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            bool HasEnoughCurrency()
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                if (compLootBox.Props.lootBoxOpenCost == null || compLootBox.Props.lootBoxOpenCostCount <= 0)
 | 
					 | 
				
			||||||
                    return true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                Map map = compLootBox.parent.Map;
 | 
					 | 
				
			||||||
                ThingDef currencyDef = compLootBox.Props.lootBoxOpenCost;
 | 
					 | 
				
			||||||
                int requiredCount = compLootBox.Props.lootBoxOpenCostCount;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                int availableCount = map.listerThings.AllThings
 | 
					 | 
				
			||||||
                    .Where(thing =>
 | 
					 | 
				
			||||||
                        thing.def == currencyDef &&
 | 
					 | 
				
			||||||
                        thing.def.category == ThingCategory.Item &&
 | 
					 | 
				
			||||||
                        thing.IsInAnyStorage() &&
 | 
					 | 
				
			||||||
                        !thing.Position.Fogged(map))
 | 
					 | 
				
			||||||
                    .Sum(thing => thing.stackCount);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                return availableCount >= requiredCount;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            bool ConsumeCurrency()
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                if (compLootBox.Props.lootBoxOpenCost == null || compLootBox.Props.lootBoxOpenCostCount <= 0)
 | 
					 | 
				
			||||||
                    return true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                Map map = compLootBox.parent.Map;
 | 
					 | 
				
			||||||
                ThingDef currencyDef = compLootBox.Props.lootBoxOpenCost;
 | 
					 | 
				
			||||||
                int toConsume = compLootBox.Props.lootBoxOpenCostCount;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                foreach (Thing thing in map.listerThings.AllThings
 | 
					 | 
				
			||||||
                    .Where(t =>
 | 
					 | 
				
			||||||
                        t.def == currencyDef &&
 | 
					 | 
				
			||||||
                        t.def.category == ThingCategory.Item &&
 | 
					 | 
				
			||||||
                        t.IsInAnyStorage() &&
 | 
					 | 
				
			||||||
                        !t.Position.Fogged(map))
 | 
					 | 
				
			||||||
                    .OrderByDescending(t => t.stackCount))
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    int take = Math.Min(toConsume, thing.stackCount);
 | 
					 | 
				
			||||||
                    thing.SplitOff(take).Destroy(DestroyMode.Vanish);
 | 
					 | 
				
			||||||
                    toConsume -= take;
 | 
					 | 
				
			||||||
                    if (toConsume <= 0)
 | 
					 | 
				
			||||||
                        return true;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                return false;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            bool canOpen = HasEnoughCurrency();
 | 
					 | 
				
			||||||
            Rect buttonRect = new Rect(255f, 250f, 150f, 50f);
 | 
					 | 
				
			||||||
            if (Widgets.ButtonText(buttonRect, "SimpleLootBox_OpenBox".Translate(), active: true))
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                if (!canOpen)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    string label = compLootBox.Props.lootBoxOpenCost?.LabelCap ?? "unknown";
 | 
					 | 
				
			||||||
                    int count = compLootBox.Props.lootBoxOpenCostCount;
 | 
					 | 
				
			||||||
                    Messages.Message("SimpleLootBox_NotEnoughCurrency".Translate(label, count), MessageTypeDefOf.RejectInput);
 | 
					 | 
				
			||||||
                    Text.Anchor = TextAnchor.UpperLeft;
 | 
					 | 
				
			||||||
                    Text.Font = GameFont.Small;
 | 
					 | 
				
			||||||
                    return;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (!lootBoxSpinner.IsSpinning)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    var itemWon = lootBoxSpinner.Spin();
 | 
					 | 
				
			||||||
                    pendingFinalizingSoundItem = itemWon;
 | 
					 | 
				
			||||||
                    pendingRewardItem = itemWon;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    if (compLootBox.Props.lootBoxSpinningSound != null)
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        SoundInfo info = SoundInfo.InMap(new TargetInfo(compLootBox.parent.Position, compLootBox.parent.Map), MaintenanceType.PerFrame);
 | 
					 | 
				
			||||||
                        spinningSustainer = compLootBox.Props.lootBoxSpinningSound.TrySpawnSustainer(info);
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (!lootBoxSpinner.IsSpinning && pendingRewardItem != null)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                var item = pendingRewardItem.Value;
 | 
					 | 
				
			||||||
                bool done = compLootBox.Spawn(item);
 | 
					 | 
				
			||||||
                if (done)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    compLootBox.DeleteBox(1);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (item.finalizingSound != null)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    item.finalizingSound.PlayOneShot(SoundInfo.InMap(new TargetInfo(compLootBox.parent.Position, compLootBox.parent.Map)));
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                ConsumeCurrency();
 | 
					 | 
				
			||||||
                pendingRewardItem = null;
 | 
					 | 
				
			||||||
                pendingFinalizingSoundItem = null;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            Rect listRect = new Rect(20f, 300f, inRect.width - 20f, inRect.height - 300f);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            int visibleCount = lootBoxSpinner.PossibleRewards.Count(spinItem =>
 | 
					 | 
				
			||||||
            (spinItem.thingDef != null && !(compLootBox.Props.lootBoxThingDef?.Find(t => t.thingDef == spinItem.thingDef)?.isHidden ?? false)) ||
 | 
					 | 
				
			||||||
            (spinItem.pawnKindDef != null && !(compLootBox.Props.lootBoxPawnKindDef?.Find(p => p.pawnKindDef == spinItem.pawnKindDef)?.isHidden ?? false)));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            Rect contentRect = new Rect(listRect.x, listRect.y, listRect.width - 20f, 10f + visibleCount * 20f);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            Widgets.BeginScrollView(listRect, ref scrollPosition, contentRect);
 | 
					 | 
				
			||||||
            Text.Font = GameFont.Small;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            int rowIndex = 0;
 | 
					 | 
				
			||||||
            foreach (var spinItem in lootBoxSpinner.PossibleRewards)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                if (spinItem.thingDef != null)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    var itemForShow = compLootBox.Props.lootBoxThingDef.Find(t => t.thingDef == spinItem.thingDef);
 | 
					 | 
				
			||||||
                    if (itemForShow != null && itemForShow.isHidden)
 | 
					 | 
				
			||||||
                        continue;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                else if (spinItem.pawnKindDef != null)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    var pawnForShow = compLootBox.Props.lootBoxPawnKindDef.Find(p => p.pawnKindDef == spinItem.pawnKindDef);
 | 
					 | 
				
			||||||
                    if (pawnForShow != null && pawnForShow.isHidden)
 | 
					 | 
				
			||||||
                        continue;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                Rect rowRect = new Rect(listRect.x, listRect.y + rowIndex * 20f, 100f, 20f);
 | 
					 | 
				
			||||||
                Widgets.DrawRectFast(rowRect, RarityColors.GetColor(spinItem.rarity));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                Rect labelRect = new Rect(listRect.x + 120f, listRect.y + rowIndex * 20f, listRect.width - 150f, 20f);
 | 
					 | 
				
			||||||
                Widgets.DrawRectFast(labelRect, RarityColors.GetColor(spinItem.rarity));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                Text.Anchor = TextAnchor.MiddleCenter;
 | 
					 | 
				
			||||||
                Widgets.Label(rowRect, spinItem.rarity.TranslateLabel());
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                string rewardName = spinItem.thingDef != null
 | 
					 | 
				
			||||||
                    ? spinItem.thingDef.LabelCap
 | 
					 | 
				
			||||||
                    : (spinItem.pawnKindDef?.LabelCap ?? "");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                Text.Anchor = TextAnchor.MiddleLeft;
 | 
					 | 
				
			||||||
                Widgets.Label(labelRect, rewardName);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (spinItem.count > 1)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    Text.Anchor = TextAnchor.MiddleRight;
 | 
					 | 
				
			||||||
                    Widgets.Label(labelRect, $"x{spinItem.count}");
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                rowIndex++;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            Text.Anchor = TextAnchor.UpperLeft;
 | 
					 | 
				
			||||||
            Text.Font = GameFont.Small;
 | 
					 | 
				
			||||||
            Widgets.EndScrollView();
 | 
					 | 
				
			||||||
            GUI.EndGroup();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public override void PostClose()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            base.PostClose();
 | 
					 | 
				
			||||||
            if (backgroundMusicSustainer != null)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                backgroundMusicSustainer.End();
 | 
					 | 
				
			||||||
                backgroundMusicSustainer = null;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (spinningSustainer != null)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                spinningSustainer.End();
 | 
					 | 
				
			||||||
                spinningSustainer = null;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@ -1,30 +0,0 @@
 | 
				
			|||||||
using System;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using System.Text;
 | 
					 | 
				
			||||||
using System.Threading.Tasks;
 | 
					 | 
				
			||||||
using RimWorld;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace SimpleLootBox
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public class LootBoxPawnKindDef
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public PawnKindDef pawnKindDef;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public float weight = 1f;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public int count = 1;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public EffecterDef effecterDef;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public Rarity rarity;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public SoundDef lootBoxFinalizingRewardSound;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public bool isHostile = false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public bool isHidden = false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,210 +0,0 @@
 | 
				
			|||||||
using System;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using System.Text;
 | 
					 | 
				
			||||||
using System.Threading.Tasks;
 | 
					 | 
				
			||||||
using RimWorld;
 | 
					 | 
				
			||||||
using UnityEngine;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
using static SimpleLootBox.LootBoxSpinner;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace SimpleLootBox
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public class LootBoxSpinner
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        private const int CellCount = 50;
 | 
					 | 
				
			||||||
        private float speed = 0f;
 | 
					 | 
				
			||||||
        public bool IsSpinning => speed > 0.1f;
 | 
					 | 
				
			||||||
        private float position = 0f;
 | 
					 | 
				
			||||||
        private readonly System.Random rng = new System.Random();
 | 
					 | 
				
			||||||
        private readonly CompLootBox comp;
 | 
					 | 
				
			||||||
        private readonly SpinItem[] spinWheelItems = new SpinItem[CellCount];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public List<SpinItem> PossibleRewards { get; private set; } = new List<SpinItem>();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public LootBoxSpinner(CompLootBox comp)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            this.comp = comp;
 | 
					 | 
				
			||||||
            LoadPossibleRewards();
 | 
					 | 
				
			||||||
            for (int i = 0; i < CellCount; i++)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                spinWheelItems[i] = PickRandomReward();
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        private void LoadPossibleRewards()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            PossibleRewards.Clear();
 | 
					 | 
				
			||||||
            CompProperties_LootBox props = comp.Props;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (props.lootBoxThingDef != null)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                foreach (var thing in props.lootBoxThingDef)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    if (thing.thingDef == null || thing.weight <= 0) continue;
 | 
					 | 
				
			||||||
                    SpinItem item = new SpinItem(thing.thingDef, thing.stuff, thing.quality, thing.count, thing.rarity, thing.weight, thing.effecterDef, thing.lootBoxFinalizingRewardSound, thing.isHostile);
 | 
					 | 
				
			||||||
                    PossibleRewards.Add(item);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (props.lootBoxPawnKindDef != null)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                foreach (var pawn in props.lootBoxPawnKindDef)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    if (pawn.pawnKindDef == null || pawn.weight <= 0) continue;
 | 
					 | 
				
			||||||
                    SpinItem item = new SpinItem(pawn.pawnKindDef, pawn.count, pawn.rarity, pawn.weight, pawn.effecterDef, pawn.lootBoxFinalizingRewardSound, pawn.isHostile);
 | 
					 | 
				
			||||||
                    PossibleRewards.Add(item);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            PossibleRewards.Sort((a, b) =>
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                int r = b.rarity.CompareTo(a.rarity);
 | 
					 | 
				
			||||||
                if (r != 0) return r;
 | 
					 | 
				
			||||||
                string an = a.thingDef != null ? a.thingDef.label : a.pawnKindDef?.label ?? "";
 | 
					 | 
				
			||||||
                string bn = b.thingDef != null ? b.thingDef.label : b.pawnKindDef?.label ?? "";
 | 
					 | 
				
			||||||
                return string.Compare(an, bn, StringComparison.OrdinalIgnoreCase);
 | 
					 | 
				
			||||||
            });
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public void Draw(Rect rect)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            if (spinWheelItems.Length == 0) return;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            speed = Math.Max(speed - 0.2f, 0f);
 | 
					 | 
				
			||||||
            position += speed;
 | 
					 | 
				
			||||||
            float totalWidth = rect.width * CellCount * 0.2f;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            for (int i = 0; i < CellCount; i++)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                float x = totalWidth - ((position + rect.width * (i * 0.2f)) % totalWidth) + rect.x - rect.width * 0.2f;
 | 
					 | 
				
			||||||
                Rect cellRect = new Rect(x, rect.y, rect.width * 0.2f - 5f, rect.height);
 | 
					 | 
				
			||||||
                SpinItem item = spinWheelItems[i];
 | 
					 | 
				
			||||||
                Widgets.DrawRectFast(cellRect, RarityColors.GetColor(item.rarity));
 | 
					 | 
				
			||||||
                Rect iconRect = new Rect(x, rect.y + 5f, rect.width * 0.2f - 5f, rect.width * 0.2f - 5f);
 | 
					 | 
				
			||||||
                Texture iconTex = item.thingDef?.uiIcon;
 | 
					 | 
				
			||||||
                if (item.pawnKindDef != null)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    iconTex = item.portrait;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (iconTex != null)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    Widgets.DrawTextureFitted(iconRect, iconTex, 1f);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                else
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    Text.Anchor = TextAnchor.MiddleCenter;
 | 
					 | 
				
			||||||
                    Text.Font = GameFont.Tiny;
 | 
					 | 
				
			||||||
                    string label = item.thingDef?.LabelCap ?? item.pawnKindDef?.LabelCap ?? "";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    if (!string.IsNullOrWhiteSpace(label))
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        Widgets.Label(iconRect, label);
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (item.count > 1)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    Rect countRect = new Rect(x, rect.y + 20f, rect.width * 0.2f - 5f, rect.width * 0.2f - 5f);
 | 
					 | 
				
			||||||
                    Text.Anchor = TextAnchor.LowerRight;
 | 
					 | 
				
			||||||
                    Text.Font = GameFont.Medium;
 | 
					 | 
				
			||||||
                    Widgets.Label(countRect, "x" + item.count);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                Text.Anchor = TextAnchor.UpperLeft;
 | 
					 | 
				
			||||||
                Text.Font = GameFont.Small;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            Rect bar = new Rect(rect.x + rect.width / 2f - 1f, rect.y, 2f, rect.height);
 | 
					 | 
				
			||||||
            Widgets.DrawRectFast(bar, new Color(0.0823f, 0.098f, 0.1137f, 1f));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public SpinItem Spin()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            speed = 100.3f;
 | 
					 | 
				
			||||||
            position = 0f;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            for (int i = 0; i < CellCount; i++)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                spinWheelItems[i] = PickRandomReward();
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            return spinWheelItems[8];
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public void Stop()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            speed = 0f;
 | 
					 | 
				
			||||||
            position = 0f;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        private SpinItem PickRandomReward()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            if (PossibleRewards.Count == 0) return default;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            double totalWeight = 0;
 | 
					 | 
				
			||||||
            foreach (var item in PossibleRewards)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                totalWeight += item.weight;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            double pick = rng.NextDouble() * totalWeight;
 | 
					 | 
				
			||||||
            foreach (var item in PossibleRewards)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                pick -= item.weight;
 | 
					 | 
				
			||||||
                if (pick <= 0)
 | 
					 | 
				
			||||||
                    return item;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            return PossibleRewards[PossibleRewards.Count - 1];
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public struct SpinItem
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            public ThingDef thingDef;
 | 
					 | 
				
			||||||
            public PawnKindDef pawnKindDef;
 | 
					 | 
				
			||||||
            public ThingDef stuff;
 | 
					 | 
				
			||||||
            public QualityCategory quality;
 | 
					 | 
				
			||||||
            public int count;
 | 
					 | 
				
			||||||
            public Rarity rarity;
 | 
					 | 
				
			||||||
            public float weight;
 | 
					 | 
				
			||||||
            public EffecterDef effecterDef;
 | 
					 | 
				
			||||||
            public RenderTexture portrait;
 | 
					 | 
				
			||||||
            public SoundDef finalizingSound;
 | 
					 | 
				
			||||||
            public bool isHostile;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            public SpinItem(ThingDef thingDef, ThingDef stuff, QualityCategory quality, int count, Rarity rarity, float weight, EffecterDef effecter, SoundDef finalizingSound, bool isHostile)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                this.thingDef = thingDef;
 | 
					 | 
				
			||||||
                this.pawnKindDef = null;
 | 
					 | 
				
			||||||
                this.stuff = stuff;
 | 
					 | 
				
			||||||
                this.quality = quality;
 | 
					 | 
				
			||||||
                this.count = count;
 | 
					 | 
				
			||||||
                this.rarity = rarity;
 | 
					 | 
				
			||||||
                this.weight = weight;
 | 
					 | 
				
			||||||
                this.effecterDef = effecter;
 | 
					 | 
				
			||||||
                this.portrait = null;
 | 
					 | 
				
			||||||
                this.finalizingSound = finalizingSound;
 | 
					 | 
				
			||||||
                this.isHostile = false;/*Have to match the struct, always false*/
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            public SpinItem(PawnKindDef pawnKindDef, int count, Rarity rarity, float weight, EffecterDef effecter, SoundDef finalizingSound, bool isHostile)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                this.thingDef = null;
 | 
					 | 
				
			||||||
                this.pawnKindDef = pawnKindDef;
 | 
					 | 
				
			||||||
                this.stuff = null;
 | 
					 | 
				
			||||||
                this.quality = QualityCategory.Normal;
 | 
					 | 
				
			||||||
                this.count = count;
 | 
					 | 
				
			||||||
                this.rarity = rarity;
 | 
					 | 
				
			||||||
                this.weight = weight;
 | 
					 | 
				
			||||||
                this.effecterDef = effecter;
 | 
					 | 
				
			||||||
                this.finalizingSound = finalizingSound;
 | 
					 | 
				
			||||||
                this.isHostile = isHostile;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                Pawn pawn = PawnGenerator.GeneratePawn(pawnKindDef);
 | 
					 | 
				
			||||||
                this.portrait = PortraitsCache.Get(pawn, new Vector2(128f, 128f), Rot4.South, new Vector3(0f, 0f, 0.1f), 1.25f);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,34 +0,0 @@
 | 
				
			|||||||
using System;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using System.Security.Policy;
 | 
					 | 
				
			||||||
using System.Text;
 | 
					 | 
				
			||||||
using System.Threading.Tasks;
 | 
					 | 
				
			||||||
using RimWorld;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace SimpleLootBox
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public class LootBoxThingDef
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public ThingDef thingDef;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public float weight = 1f;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public int count = 1;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public ThingDef stuff;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public EffecterDef effecterDef;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public QualityCategory quality;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public Rarity rarity = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public SoundDef lootBoxFinalizingRewardSound;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public bool isHostile = false; /*I have no idea why I choose to use the struct*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public bool isHidden = false;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,33 +0,0 @@
 | 
				
			|||||||
using System.Reflection;
 | 
					 | 
				
			||||||
using System.Runtime.CompilerServices;
 | 
					 | 
				
			||||||
using System.Runtime.InteropServices;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// General Information about an assembly is controlled through the following
 | 
					 | 
				
			||||||
// set of attributes. Change these attribute values to modify the information
 | 
					 | 
				
			||||||
// associated with an assembly.
 | 
					 | 
				
			||||||
[assembly: AssemblyTitle("SimpleLootBox")]
 | 
					 | 
				
			||||||
[assembly: AssemblyDescription("")]
 | 
					 | 
				
			||||||
[assembly: AssemblyConfiguration("")]
 | 
					 | 
				
			||||||
[assembly: AssemblyCompany("")]
 | 
					 | 
				
			||||||
[assembly: AssemblyProduct("SimpleLootBox")]
 | 
					 | 
				
			||||||
[assembly: AssemblyCopyright("Copyright ©  2025")]
 | 
					 | 
				
			||||||
[assembly: AssemblyTrademark("")]
 | 
					 | 
				
			||||||
[assembly: AssemblyCulture("")]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Setting ComVisible to false makes the types in this assembly not visible
 | 
					 | 
				
			||||||
// to COM components.  If you need to access a type in this assembly from
 | 
					 | 
				
			||||||
// COM, set the ComVisible attribute to true on that type.
 | 
					 | 
				
			||||||
[assembly: ComVisible(false)]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
 | 
					 | 
				
			||||||
[assembly: Guid("00fcb9ae-563c-4c61-b2e3-317c008e6254")]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Version information for an assembly consists of the following four values:
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
//      Major Version
 | 
					 | 
				
			||||||
//      Minor Version
 | 
					 | 
				
			||||||
//      Build Number
 | 
					 | 
				
			||||||
//      Revision
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
[assembly: AssemblyVersion("1.0.0.0")]
 | 
					 | 
				
			||||||
[assembly: AssemblyFileVersion("1.0.0.0")]
 | 
					 | 
				
			||||||
@ -1,26 +0,0 @@
 | 
				
			|||||||
using System;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using System.Text;
 | 
					 | 
				
			||||||
using System.Threading.Tasks;
 | 
					 | 
				
			||||||
using Verse;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace SimpleLootBox
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public enum Rarity : int
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        None = 0,
 | 
					 | 
				
			||||||
        Common = 1,
 | 
					 | 
				
			||||||
        Uncommon = 2,
 | 
					 | 
				
			||||||
        Rare = 3,
 | 
					 | 
				
			||||||
        Epic = 4,
 | 
					 | 
				
			||||||
        Legendary = 5,
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    public static class RarityExtensions
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public static string TranslateLabel(this Rarity rarity)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            return ("SimpleLootBox_Rarity_" + rarity.ToString()).Translate();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,27 +0,0 @@
 | 
				
			|||||||
using System;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Linq;
 | 
					 | 
				
			||||||
using System.Text;
 | 
					 | 
				
			||||||
using System.Threading.Tasks;
 | 
					 | 
				
			||||||
using UnityEngine;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace SimpleLootBox
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public static class RarityColors
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public static Dictionary<Rarity, Color> rarityColorDict = new Dictionary<Rarity, Color>
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        { Rarity.None, new Color(0.6f, 0.6f, 0.6f) },
 | 
					 | 
				
			||||||
        { Rarity.Common, new Color(0.3f, 0.3f, 1f) },
 | 
					 | 
				
			||||||
        { Rarity.Uncommon, new Color(0.8f, 0.3f, 1f) },
 | 
					 | 
				
			||||||
        { Rarity.Rare, new Color(1f, 0.3f, 0.8f) },
 | 
					 | 
				
			||||||
        { Rarity.Epic, new Color(1f, 0.3f, 0.3f) },
 | 
					 | 
				
			||||||
        { Rarity.Legendary, new Color(0.85f, 0.7f, 0.2f) }
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public static Color GetColor(Rarity rarity)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            return rarityColorDict.TryGetValue(rarity, out var color) ? color : Color.white;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,78 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					 | 
				
			||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
					 | 
				
			||||||
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
 | 
					 | 
				
			||||||
  <PropertyGroup>
 | 
					 | 
				
			||||||
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
 | 
					 | 
				
			||||||
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
 | 
					 | 
				
			||||||
    <ProjectGuid>{00FCB9AE-563C-4C61-B2E3-317C008E6254}</ProjectGuid>
 | 
					 | 
				
			||||||
    <OutputType>Library</OutputType>
 | 
					 | 
				
			||||||
    <AppDesignerFolder>Properties</AppDesignerFolder>
 | 
					 | 
				
			||||||
    <RootNamespace>SimpleLootBox</RootNamespace>
 | 
					 | 
				
			||||||
    <AssemblyName>SimpleLootBox</AssemblyName>
 | 
					 | 
				
			||||||
    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
 | 
					 | 
				
			||||||
    <FileAlignment>512</FileAlignment>
 | 
					 | 
				
			||||||
    <Deterministic>true</Deterministic>
 | 
					 | 
				
			||||||
    <TargetFrameworkProfile />
 | 
					 | 
				
			||||||
  </PropertyGroup>
 | 
					 | 
				
			||||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
 | 
					 | 
				
			||||||
    <DebugSymbols>true</DebugSymbols>
 | 
					 | 
				
			||||||
    <DebugType>full</DebugType>
 | 
					 | 
				
			||||||
    <Optimize>false</Optimize>
 | 
					 | 
				
			||||||
    <OutputPath>..\..\Assemblies\</OutputPath>
 | 
					 | 
				
			||||||
    <DefineConstants>DEBUG;TRACE</DefineConstants>
 | 
					 | 
				
			||||||
    <ErrorReport>prompt</ErrorReport>
 | 
					 | 
				
			||||||
    <WarningLevel>4</WarningLevel>
 | 
					 | 
				
			||||||
  </PropertyGroup>
 | 
					 | 
				
			||||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
					 | 
				
			||||||
    <DebugType>pdbonly</DebugType>
 | 
					 | 
				
			||||||
    <Optimize>true</Optimize>
 | 
					 | 
				
			||||||
    <OutputPath>bin\Release\</OutputPath>
 | 
					 | 
				
			||||||
    <DefineConstants>TRACE</DefineConstants>
 | 
					 | 
				
			||||||
    <ErrorReport>prompt</ErrorReport>
 | 
					 | 
				
			||||||
    <WarningLevel>4</WarningLevel>
 | 
					 | 
				
			||||||
  </PropertyGroup>
 | 
					 | 
				
			||||||
  <ItemGroup>
 | 
					 | 
				
			||||||
    <Reference Include="0Harmony">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\..\..\workshop\content\294100\2009463077\Current\Assemblies\0Harmony.dll</HintPath>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="Assembly-CSharp">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll</HintPath>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="System" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Core" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Xml.Linq" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Data.DataSetExtensions" />
 | 
					 | 
				
			||||||
    <Reference Include="Microsoft.CSharp" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Data" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Net.Http" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Xml" />
 | 
					 | 
				
			||||||
    <Reference Include="UnityEngine.CoreModule">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="UnityEngine.IMGUIModule">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.IMGUIModule.dll</HintPath>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="UnityEngine.TextRenderingModule">
 | 
					 | 
				
			||||||
      <HintPath>..\..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.TextRenderingModule.dll</HintPath>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
  </ItemGroup>
 | 
					 | 
				
			||||||
  <ItemGroup>
 | 
					 | 
				
			||||||
    <Compile Include="CompLootBox.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="GameComponent_SpawnLootBox.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="LootBoxDatabase.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="LootBoxOpeningWindow.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="LootBoxSpinner.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="Rarity.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="CompSpawnLootBox.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="CompProperties_LootBox.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="CompProperties_SpawnLootBox.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="HarmonyPatches\Pawn_Kill.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="HarmonyPatches\PatchMain.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="LootBox.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="LootBoxPawnKindDef.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="LootBoxThingDef.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="Properties\AssemblyInfo.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="RarityColor.cs" />
 | 
					 | 
				
			||||||
  </ItemGroup>
 | 
					 | 
				
			||||||
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 | 
					 | 
				
			||||||
</Project>
 | 
					 | 
				
			||||||
@ -1,25 +0,0 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
Microsoft Visual Studio Solution File, Format Version 12.00
 | 
					 | 
				
			||||||
# Visual Studio Version 17
 | 
					 | 
				
			||||||
VisualStudioVersion = 17.13.35931.197 d17.13
 | 
					 | 
				
			||||||
MinimumVisualStudioVersion = 10.0.40219.1
 | 
					 | 
				
			||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleLootBox", "SimpleLootBox.csproj", "{00FCB9AE-563C-4C61-B2E3-317C008E6254}"
 | 
					 | 
				
			||||||
EndProject
 | 
					 | 
				
			||||||
Global
 | 
					 | 
				
			||||||
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
					 | 
				
			||||||
		Debug|Any CPU = Debug|Any CPU
 | 
					 | 
				
			||||||
		Release|Any CPU = Release|Any CPU
 | 
					 | 
				
			||||||
	EndGlobalSection
 | 
					 | 
				
			||||||
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 | 
					 | 
				
			||||||
		{00FCB9AE-563C-4C61-B2E3-317C008E6254}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 | 
					 | 
				
			||||||
		{00FCB9AE-563C-4C61-B2E3-317C008E6254}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
					 | 
				
			||||||
		{00FCB9AE-563C-4C61-B2E3-317C008E6254}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
					 | 
				
			||||||
		{00FCB9AE-563C-4C61-B2E3-317C008E6254}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
					 | 
				
			||||||
	EndGlobalSection
 | 
					 | 
				
			||||||
	GlobalSection(SolutionProperties) = preSolution
 | 
					 | 
				
			||||||
		HideSolutionNode = FALSE
 | 
					 | 
				
			||||||
	EndGlobalSection
 | 
					 | 
				
			||||||
	GlobalSection(ExtensibilityGlobals) = postSolution
 | 
					 | 
				
			||||||
		SolutionGuid = {622317E2-B381-4BBE-B0BA-FBC59718BBE4}
 | 
					 | 
				
			||||||
	EndGlobalSection
 | 
					 | 
				
			||||||
EndGlobal
 | 
					 | 
				
			||||||
@ -1,4 +0,0 @@
 | 
				
			|||||||
// <autogenerated />
 | 
					 | 
				
			||||||
using System;
 | 
					 | 
				
			||||||
using System.Reflection;
 | 
					 | 
				
			||||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
 | 
					 | 
				
			||||||
@ -1,4 +0,0 @@
 | 
				
			|||||||
// <autogenerated />
 | 
					 | 
				
			||||||
using System;
 | 
					 | 
				
			||||||
using System.Reflection;
 | 
					 | 
				
			||||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
 | 
					 | 
				
			||||||
@ -1 +0,0 @@
 | 
				
			|||||||
5e2da3e94f7468b69c50cba94c011c2b6d045e493cb681af54aa42fea1387f90
 | 
					 | 
				
			||||||
@ -1,14 +0,0 @@
 | 
				
			|||||||
D:\Steam\steamapps\common\RimWorld\Mods\SimpleLootBox\1.5\Source\SimpleLootBox\obj\Debug\SimpleLootBox.csproj.AssemblyReference.cache
 | 
					 | 
				
			||||||
D:\Steam\steamapps\common\RimWorld\Mods\SimpleLootBox\1.5\Source\SimpleLootBox\obj\Debug\SimpleLootBox.csproj.CoreCompileInputs.cache
 | 
					 | 
				
			||||||
D:\Steam\steamapps\common\RimWorld\Mods\SimpleLootBox\1.5\Assemblies\SimpleLootBox.dll
 | 
					 | 
				
			||||||
D:\Steam\steamapps\common\RimWorld\Mods\SimpleLootBox\1.5\Assemblies\SimpleLootBox.pdb
 | 
					 | 
				
			||||||
D:\Steam\steamapps\common\RimWorld\Mods\SimpleLootBox\1.5\Source\SimpleLootBox\obj\Debug\SimpleLo.E20EF750.Up2Date
 | 
					 | 
				
			||||||
D:\Steam\steamapps\common\RimWorld\Mods\SimpleLootBox\1.5\Source\SimpleLootBox\obj\Debug\SimpleLootBox.dll
 | 
					 | 
				
			||||||
D:\Steam\steamapps\common\RimWorld\Mods\SimpleLootBox\1.5\Source\SimpleLootBox\obj\Debug\SimpleLootBox.pdb
 | 
					 | 
				
			||||||
C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods\SimpleLootBox\1.5\Assemblies\SimpleLootBox.dll
 | 
					 | 
				
			||||||
C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods\SimpleLootBox\1.5\Assemblies\SimpleLootBox.pdb
 | 
					 | 
				
			||||||
C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods\SimpleLootBox\1.5\Source\SimpleLootBox\obj\Debug\SimpleLootBox.csproj.AssemblyReference.cache
 | 
					 | 
				
			||||||
C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods\SimpleLootBox\1.5\Source\SimpleLootBox\obj\Debug\SimpleLootBox.csproj.CoreCompileInputs.cache
 | 
					 | 
				
			||||||
C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods\SimpleLootBox\1.5\Source\SimpleLootBox\obj\Debug\SimpleLo.E20EF750.Up2Date
 | 
					 | 
				
			||||||
C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods\SimpleLootBox\1.5\Source\SimpleLootBox\obj\Debug\SimpleLootBox.dll
 | 
					 | 
				
			||||||
C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods\SimpleLootBox\1.5\Source\SimpleLootBox\obj\Debug\SimpleLootBox.pdb
 | 
					 | 
				
			||||||
@ -5,7 +5,7 @@
 | 
				
			|||||||
  <supportedVersions>
 | 
					  <supportedVersions>
 | 
				
			||||||
    <li>1.5</li>
 | 
					    <li>1.5</li>
 | 
				
			||||||
  </supportedVersions>
 | 
					  </supportedVersions>
 | 
				
			||||||
  <packageId>NHUX.SimpleLootBox</packageId>
 | 
					  <packageId>NHUX.SimpleLootBox1</packageId>
 | 
				
			||||||
  <description>
 | 
					  <description>
 | 
				
			||||||
    开箱mod,适合在服务器里使用,目前测试版
 | 
					    开箱mod,适合在服务器里使用,目前测试版
 | 
				
			||||||
  </description>
 | 
					  </description>
 | 
				
			||||||
 | 
				
			|||||||
| 
		 Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 396 KiB  | 
@ -1 +1 @@
 | 
				
			|||||||
3479112682
 | 
					3479622537
 | 
				
			||||||
@ -2,6 +2,7 @@
 | 
				
			|||||||
<LanguageData>
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<SimpleLootBox_OpenBox>开箱!</SimpleLootBox_OpenBox>
 | 
						<SimpleLootBox_OpenBox>开箱!</SimpleLootBox_OpenBox>
 | 
				
			||||||
 | 
					    <SimpleLootBox_NoBoxLeft>这堆箱子都已经开完了。</SimpleLootBox_NoBoxLeft>
 | 
				
			||||||
    <SimpleLootBox_NotEnoughCurrency>储存区里没有足够的 {0} (需要 {1}) 来打开箱子。</SimpleLootBox_NotEnoughCurrency>
 | 
					    <SimpleLootBox_NotEnoughCurrency>储存区里没有足够的 {0} (需要 {1}) 来打开箱子。</SimpleLootBox_NotEnoughCurrency>
 | 
				
			||||||
    <SimpleLootBox_CostLabel>消耗:{0} X {1}</SimpleLootBox_CostLabel>
 | 
					    <SimpleLootBox_CostLabel>消耗:{0} X {1}</SimpleLootBox_CostLabel>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2,6 +2,7 @@
 | 
				
			|||||||
<LanguageData>
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<SimpleLootBox_OpenBox>Open Box!</SimpleLootBox_OpenBox>
 | 
						<SimpleLootBox_OpenBox>Open Box!</SimpleLootBox_OpenBox>
 | 
				
			||||||
 | 
						<SimpleLootBox_NoBoxLeft>All loot boxes in the stack have been opened.</SimpleLootBox_NoBoxLeft>
 | 
				
			||||||
	<SimpleLootBox_NotEnoughCurrency>Do not have enough {0} (need {1}) in storage to open this box.</SimpleLootBox_NotEnoughCurrency>
 | 
						<SimpleLootBox_NotEnoughCurrency>Do not have enough {0} (need {1}) in storage to open this box.</SimpleLootBox_NotEnoughCurrency>
 | 
				
			||||||
	<SimpleLootBox_CostLabel>Cost: {0} X {1}</SimpleLootBox_CostLabel>
 | 
						<SimpleLootBox_CostLabel>Cost: {0} X {1}</SimpleLootBox_CostLabel>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
| 
		 Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 83 KiB  | 
| 
		 Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 81 KiB  | 
| 
		 Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 81 KiB  | 
| 
		 Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 61 KiB  | 
| 
		 Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 73 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Content/Textures/SimpleLootBox/ExampleF.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 79 KiB  | 
@ -18,5 +18,6 @@
 | 
				
			|||||||
    <li IfModActive="ayameduki.harzoichor">LoadFolders/ayazui</li><!--罪-->
 | 
					    <li IfModActive="ayameduki.harzoichor">LoadFolders/ayazui</li><!--罪-->
 | 
				
			||||||
    <li IfModActive="nemonian.my">LoadFolders/moyo</li><!--moyo-->
 | 
					    <li IfModActive="nemonian.my">LoadFolders/moyo</li><!--moyo-->
 | 
				
			||||||
    <li IfModActive="ayameduki.harsaclean">LoadFolders/ayafeie</li><!--飞蛾-->
 | 
					    <li IfModActive="ayameduki.harsaclean">LoadFolders/ayafeie</li><!--飞蛾-->
 | 
				
			||||||
 | 
					    <li IfModActive="ancot.milirarace">LoadFolders/mili</li><!--米粒-->
 | 
				
			||||||
  </v1.5>
 | 
					  </v1.5>
 | 
				
			||||||
</loadFolders>
 | 
					</loadFolders>
 | 
				
			||||||
@ -15,8 +15,6 @@
 | 
				
			|||||||
				</categories>
 | 
									</categories>
 | 
				
			||||||
			</li>
 | 
								</li>
 | 
				
			||||||
		</backstoryFilters>
 | 
							</backstoryFilters>
 | 
				
			||||||
		<minGenerationAge>0.01</minGenerationAge><!-- 生成人物的最小生物年龄 -->
 | 
					 | 
				
			||||||
		<maxGenerationAge>3</maxGenerationAge><!-- 生成人物的最大生物年龄 -->
 | 
					 | 
				
			||||||
		<techHediffsTags Inherit="true"><!-- 用来去除可能从parentName里继承的仿生体tag -->
 | 
							<techHediffsTags Inherit="true"><!-- 用来去除可能从parentName里继承的仿生体tag -->
 | 
				
			||||||
		</techHediffsTags>
 | 
							</techHediffsTags>
 | 
				
			||||||
		<weaponTags Inherit="true"><!-- 用来去除可能从parentName里继承的武器tag -->
 | 
							<weaponTags Inherit="true"><!-- 用来去除可能从parentName里继承的武器tag -->
 | 
				
			||||||
@ -30,7 +28,7 @@
 | 
				
			|||||||
		</apparelRequired>-->
 | 
							</apparelRequired>-->
 | 
				
			||||||
		<xenotypeSet><!--■1.4以降 ゼノタイプ-->
 | 
							<xenotypeSet><!--■1.4以降 ゼノタイプ-->
 | 
				
			||||||
			<xenotypeChances>
 | 
								<xenotypeChances>
 | 
				
			||||||
				<Aya_Race_Xenotype MayRequire="Ludeon.RimWorld.Biotech">9999</Aya_Race_Xenotype>
 | 
									<Aya_Race_Xenotype MayRequire="Ludeon.RimWorld.Biotech">1</Aya_Race_Xenotype>
 | 
				
			||||||
			</xenotypeChances>
 | 
								</xenotypeChances>
 | 
				
			||||||
		</xenotypeSet>
 | 
							</xenotypeSet>
 | 
				
			||||||
		<pawnGroupDevelopmentStage>Baby</pawnGroupDevelopmentStage>
 | 
							<pawnGroupDevelopmentStage>Baby</pawnGroupDevelopmentStage>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,83 +1,4 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8" ?>
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
<Defs>
 | 
					<Defs>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<PawnKindDef ParentName="BaseMihoPlayerPawnKind">
 | 
					 | 
				
			||||||
		<defName>Miho_PlayerColonist_kami</defName>
 | 
					 | 
				
			||||||
		<label>盒装美狐</label>
 | 
					 | 
				
			||||||
		<!--펙션def의 defname
 | 
					 | 
				
			||||||
	-->
 | 
					 | 
				
			||||||
		<combatPower>100</combatPower><!-- 袭击占用分数 -->
 | 
					 | 
				
			||||||
		<defaultFactionType>Miho_PlayerColony</defaultFactionType>
 | 
					 | 
				
			||||||
		<backstoryFiltersOverride>
 | 
					 | 
				
			||||||
			<li>
 | 
					 | 
				
			||||||
				<categories>
 | 
					 | 
				
			||||||
					<li>MihoPioneer</li>
 | 
					 | 
				
			||||||
				</categories>
 | 
					 | 
				
			||||||
			</li>
 | 
					 | 
				
			||||||
		</backstoryFiltersOverride>
 | 
					 | 
				
			||||||
				<techHediffsMoney>0</techHediffsMoney><!-- Bionic value -->
 | 
					 | 
				
			||||||
        <apparelMoney>0</apparelMoney><!-- Apparel value -->
 | 
					 | 
				
			||||||
        <weaponMoney>0</weaponMoney><!-- Weapon value -->
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		<techHediffsTags Inherit="False"><!-- 用来去除可能从parentName里继承的仿生体tag -->
 | 
					 | 
				
			||||||
		</techHediffsTags>
 | 
					 | 
				
			||||||
		<weaponTags Inherit="False"><!-- 用来去除可能从parentName里继承的武器tag -->
 | 
					 | 
				
			||||||
		</weaponTags>
 | 
					 | 
				
			||||||
		<apparelTags Inherit="False"><!-- 用来去除可能从parentName里继承的服装tag -->
 | 
					 | 
				
			||||||
		</apparelTags>
 | 
					 | 
				
			||||||
		<inventoryOptions Inherit="False"><!-- 用来去除可能从parentName里继承的随身携带物品 -->
 | 
					 | 
				
			||||||
		</inventoryOptions>
 | 
					 | 
				
			||||||
		<!--<specificApparelRequirements>
 | 
					 | 
				
			||||||
      <li>
 | 
					 | 
				
			||||||
        <bodyPartGroup>Torso</bodyPartGroup>
 | 
					 | 
				
			||||||
        <apparelLayer>Miho_Under</apparelLayer>
 | 
					 | 
				
			||||||
        <requiredTag>MihoCommon</requiredTag>
 | 
					 | 
				
			||||||
        <stuff>Cloth</stuff>
 | 
					 | 
				
			||||||
      </li>
 | 
					 | 
				
			||||||
      <li>
 | 
					 | 
				
			||||||
        <bodyPartGroup>Torso</bodyPartGroup>
 | 
					 | 
				
			||||||
        <requiredTag>MihoCommon</requiredTag>
 | 
					 | 
				
			||||||
        <stuff>Cloth</stuff>
 | 
					 | 
				
			||||||
        <alternateTagChoices>
 | 
					 | 
				
			||||||
          <li>
 | 
					 | 
				
			||||||
            <tag>MihoCommon</tag>
 | 
					 | 
				
			||||||
            <chance>0.2</chance>
 | 
					 | 
				
			||||||
          </li>
 | 
					 | 
				
			||||||
          <li>
 | 
					 | 
				
			||||||
            <tag>MihoCommonNecessary</tag>
 | 
					 | 
				
			||||||
            <chance>0.8</chance>
 | 
					 | 
				
			||||||
          </li>
 | 
					 | 
				
			||||||
        </alternateTagChoices>
 | 
					 | 
				
			||||||
      </li>
 | 
					 | 
				
			||||||
    </specificApparelRequirements>-->
 | 
					 | 
				
			||||||
		<styleItemTags>
 | 
					 | 
				
			||||||
			<li>
 | 
					 | 
				
			||||||
				<tag>Urban</tag>
 | 
					 | 
				
			||||||
				<baseWeight>1</baseWeight>
 | 
					 | 
				
			||||||
				<weightFactor>1</weightFactor>
 | 
					 | 
				
			||||||
			</li>
 | 
					 | 
				
			||||||
		</styleItemTags>
 | 
					 | 
				
			||||||
		<apparelMoney>
 | 
					 | 
				
			||||||
			<min>0</min>
 | 
					 | 
				
			||||||
			<max>0</max>
 | 
					 | 
				
			||||||
		</apparelMoney>
 | 
					 | 
				
			||||||
		<apparelAllowHeadgearChance>0.2</apparelAllowHeadgearChance>
 | 
					 | 
				
			||||||
		<backstoryCryptosleepCommonality>0</backstoryCryptosleepCommonality>
 | 
					 | 
				
			||||||
		<initialWillRange>0~0</initialWillRange>
 | 
					 | 
				
			||||||
		<initialResistanceRange>13~21</initialResistanceRange>
 | 
					 | 
				
			||||||
		<maxGenerationAge>55</maxGenerationAge>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		<useFactionXenotypes>false</useFactionXenotypes>		<!-- 去除派系设置的异种生成概率 -->
 | 
					 | 
				
			||||||
		<xenotypeSet Inherit="False">
 | 
					 | 
				
			||||||
			<xenotypeChances>
 | 
					 | 
				
			||||||
				<Xeno_CelestialMiho_Arctic MayRequire="Ludeon.RimWorld.Biotech">22</Xeno_CelestialMiho_Arctic>				<!-- 雪凛种 -->
 | 
					 | 
				
			||||||
				<Xeno_CelestialMiho_Desert MayRequire="Ludeon.RimWorld.Biotech">22</Xeno_CelestialMiho_Desert>				<!-- 沙伶种 -->
 | 
					 | 
				
			||||||
				<Xeno_CelestialMiho_Highland MayRequire="Ludeon.RimWorld.Biotech">12</Xeno_CelestialMiho_Highland>				<!-- 战凌种 -->
 | 
					 | 
				
			||||||
				<Xeno_CelestialMiho_Highmate MayRequire="Ludeon.RimWorld.Biotech">22</Xeno_CelestialMiho_Highmate>				<!-- 欲琳种 -->
 | 
					 | 
				
			||||||
				<Xeno_CelestialMiho MayRequire="Ludeon.RimWorld.Biotech">22</Xeno_CelestialMiho>				<!-- 凡灵种 -->
 | 
					 | 
				
			||||||
			</xenotypeChances>
 | 
					 | 
				
			||||||
		</xenotypeSet>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	</PawnKindDef>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</Defs>
 | 
					</Defs>
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										81
									
								
								LoadFolders/mili/Defs/PawnKinds/PawnKindsExamplemili.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,81 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<PawnKindDef ParentName="Milira_PawnBase">
 | 
				
			||||||
 | 
							<defName>Milian_Base_mi</defName>
 | 
				
			||||||
 | 
							<label>超级米莉拉</label>
 | 
				
			||||||
 | 
							<combatPower>100</combatPower><!-- 袭击占用分数 -->
 | 
				
			||||||
 | 
							<defaultFactionType>Milira_Faction</defaultFactionType>
 | 
				
			||||||
 | 
							<backstoryCategories>
 | 
				
			||||||
 | 
					      <li>Milira_General</li>
 | 
				
			||||||
 | 
					    </backstoryCategories>
 | 
				
			||||||
 | 
							<techHediffsMoney>0</techHediffsMoney><!-- Bionic value -->
 | 
				
			||||||
 | 
					        <apparelMoney>0</apparelMoney><!-- Apparel value -->
 | 
				
			||||||
 | 
					        <weaponMoney>0</weaponMoney><!-- Weapon value -->
 | 
				
			||||||
 | 
					          <skills>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<skill>Shooting</skill>
 | 
				
			||||||
 | 
									<range>10~18</range>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<skill>Shooting</skill>
 | 
				
			||||||
 | 
									<range>10~18</range>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<skill>Construction</skill>
 | 
				
			||||||
 | 
									<range>10~18</range>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<skill>Mining</skill>
 | 
				
			||||||
 | 
									<range>10~18</range>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<skill>Cooking</skill>
 | 
				
			||||||
 | 
									<range>10~18</range>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<skill>Plants</skill>
 | 
				
			||||||
 | 
									<range>10~18</range>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<skill>Plants</skill>
 | 
				
			||||||
 | 
									<range>10~18</range>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<skill>Animals</skill>
 | 
				
			||||||
 | 
									<range>10~18</range>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<skill>Crafting</skill>
 | 
				
			||||||
 | 
									<range>10~18</range>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<skill>Artistic</skill>
 | 
				
			||||||
 | 
									<range>10~18</range>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<skill>Social</skill>
 | 
				
			||||||
 | 
									<range>10~18</range>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<skill>Medicine</skill>
 | 
				
			||||||
 | 
									<range>10~18</range>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<skill>Intellectual</skill>
 | 
				
			||||||
 | 
									<range>10~18</range>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
							</skills>
 | 
				
			||||||
 | 
							<techHediffsTags Inherit="False"><!-- 用来去除可能从parentName里继承的仿生体tag -->
 | 
				
			||||||
 | 
							</techHediffsTags>
 | 
				
			||||||
 | 
							<weaponTags Inherit="False"><!-- 用来去除可能从parentName里继承的武器tag -->
 | 
				
			||||||
 | 
							</weaponTags>
 | 
				
			||||||
 | 
							<apparelTags Inherit="False"><!-- 用来去除可能从parentName里继承的服装tag -->
 | 
				
			||||||
 | 
							</apparelTags>
 | 
				
			||||||
 | 
							<inventoryOptions Inherit="False"><!-- 用来去除可能从parentName里继承的随身携带物品 -->
 | 
				
			||||||
 | 
							</inventoryOptions>
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						</PawnKindDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||
							
								
								
									
										28
									
								
								LoadFolders/mili/Defs/PawnKinds/PawnKindsExamplemilibaby.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<PawnKindDef ParentName="Milira_PawnBase">
 | 
				
			||||||
 | 
							<defName>Milian_Base_baby</defName>
 | 
				
			||||||
 | 
							<label>小米莉拉</label>
 | 
				
			||||||
 | 
							<combatPower>100</combatPower>		<!-- 袭击占用分数 -->
 | 
				
			||||||
 | 
							<defaultFactionType>Milira_Faction</defaultFactionType>
 | 
				
			||||||
 | 
							<backstoryCategories>
 | 
				
			||||||
 | 
								<li>Milira_General</li>
 | 
				
			||||||
 | 
							</backstoryCategories>
 | 
				
			||||||
 | 
							<techHediffsMoney>0</techHediffsMoney>		<!-- Bionic value -->
 | 
				
			||||||
 | 
							<apparelMoney>0</apparelMoney>		<!-- Apparel value -->
 | 
				
			||||||
 | 
							<weaponMoney>0</weaponMoney>		<!-- Weapon value -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							<techHediffsTags Inherit="False">			<!-- 用来去除可能从parentName里继承的仿生体tag -->
 | 
				
			||||||
 | 
							</techHediffsTags>
 | 
				
			||||||
 | 
							<weaponTags Inherit="False">			<!-- 用来去除可能从parentName里继承的武器tag -->
 | 
				
			||||||
 | 
							</weaponTags>
 | 
				
			||||||
 | 
							<apparelTags Inherit="False">			<!-- 用来去除可能从parentName里继承的服装tag -->
 | 
				
			||||||
 | 
							</apparelTags>
 | 
				
			||||||
 | 
							<inventoryOptions Inherit="False">			<!-- 用来去除可能从parentName里继承的随身携带物品 -->
 | 
				
			||||||
 | 
							</inventoryOptions>
 | 
				
			||||||
 | 
							<pawnGroupDevelopmentStage>Baby</pawnGroupDevelopmentStage>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						</PawnKindDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||