整理目录
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"?>
|
||||
<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">
|
||||
<defName>SimpleLootBoxExampleA</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 -->
|
||||
<defName>SimpleLootBoxExampleA</defName>
|
||||
<label>白银大行动武器箱</label>
|
||||
<description>每周掉落或者击杀掉落的常驻武器箱</description>
|
||||
<graphicData>
|
||||
<texPath>SimpleLootBox/ExampleA</texPath><!-- The texture path of the loot box -->
|
||||
<texPath>SimpleLootBox/ExampleA</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<drawSize>1.5</drawSize>
|
||||
<drawSize>2.5</drawSize>
|
||||
</graphicData>
|
||||
<statBases>
|
||||
<Mass>1.0</Mass><!-- The mass of the loot box -->
|
||||
@ -43,7 +28,7 @@
|
||||
<lootBoxList>
|
||||
<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 -->
|
||||
<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 -->
|
||||
<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-->
|
||||
@ -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 -->
|
||||
<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 -->
|
||||
<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 -->
|
||||
<lootBoxOpenCostCount>128</lootBoxOpenCostCount><!-- The number of items required to open the loot box. Defaults to 0 if not specified -->
|
||||
<lootBoxThingDef>
|
||||
<li>
|
||||
<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
|
||||
<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,数字越大稀有度越高-->
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
|
||||
@ -69,7 +70,7 @@
|
||||
<li>
|
||||
<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
|
||||
<count>10</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><!-- 该奖励被选中时的音效 -->
|
||||
@ -77,55 +78,55 @@
|
||||
<li>
|
||||
<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
|
||||
<count>20</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>30</count><!-- 该物品生成的数量 -->
|
||||
<weight>13.14</weight><!-- 这项奖励的生成权重 -->
|
||||
<count>25</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>50</count><!-- 该物品生成的数量 -->
|
||||
<weight>13.14</weight><!-- 这项奖励的生成权重 -->
|
||||
<count>3</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>648</count>
|
||||
<weight>3.24</weight>
|
||||
<count>127</count>
|
||||
<weight>3.8</weight>
|
||||
<rarity>2</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>Silver</thingDef>
|
||||
<count>748</count>
|
||||
<weight>3.24</weight>
|
||||
<count>157</count>
|
||||
<weight>3.8</weight>
|
||||
<rarity>2</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>Silver</thingDef>
|
||||
<count>666</count>
|
||||
<weight>3.24</weight>
|
||||
<count>180</count>
|
||||
<weight>3.8</weight>
|
||||
<rarity>2</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>Silver</thingDef>
|
||||
<count>888</count>
|
||||
<weight>3.24</weight>
|
||||
<count>260</count>
|
||||
<weight>3.8</weight>
|
||||
<rarity>2</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -134,8 +135,8 @@
|
||||
<thingDef>Silver</thingDef>
|
||||
<stuff>WoodLog</stuff><!-- 如果这个物品是stuffable,会使用这里设置的stuff -->
|
||||
<quality>Masterwork</quality><!-- 如果这个物品有品质,会使用这里设置的品质,可用的品质为 Awful Poor Normal Good Excellent Masterwork Legendary-->
|
||||
<count>5000</count>
|
||||
<weight>0.9</weight>
|
||||
<count>1500</count>
|
||||
<weight>0.6</weight>
|
||||
<rarity>3</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -144,8 +145,8 @@
|
||||
<thingDef>Silver</thingDef>
|
||||
<stuff>WoodLog</stuff><!-- 如果这个物品是stuffable,会使用这里设置的stuff -->
|
||||
<quality>Masterwork</quality><!-- 如果这个物品有品质,会使用这里设置的品质,可用的品质为 Awful Poor Normal Good Excellent Masterwork Legendary-->
|
||||
<count>6000</count>
|
||||
<weight>0.9</weight>
|
||||
<count>1800</count>
|
||||
<weight>0.6</weight>
|
||||
<rarity>3</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -154,8 +155,8 @@
|
||||
<thingDef>Silver</thingDef>
|
||||
<stuff>WoodLog</stuff><!-- 如果这个物品是stuffable,会使用这里设置的stuff -->
|
||||
<quality>Masterwork</quality><!-- 如果这个物品有品质,会使用这里设置的品质,可用的品质为 Awful Poor Normal Good Excellent Masterwork Legendary-->
|
||||
<count>8000</count>
|
||||
<weight>0.9</weight>
|
||||
<count>2200</count>
|
||||
<weight>0.6</weight>
|
||||
<rarity>3</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -164,8 +165,8 @@
|
||||
<thingDef>Silver</thingDef>
|
||||
<stuff>WoodLog</stuff><!-- 如果这个物品是stuffable,会使用这里设置的stuff -->
|
||||
<quality>Masterwork</quality><!-- 如果这个物品有品质,会使用这里设置的品质,可用的品质为 Awful Poor Normal Good Excellent Masterwork Legendary-->
|
||||
<count>9999</count>
|
||||
<weight>0.9</weight>
|
||||
<count>2500</count>
|
||||
<weight>0.6</weight>
|
||||
<rarity>3</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -174,7 +175,7 @@
|
||||
<thingDef>Mechlink</thingDef>
|
||||
<quality>Legendary</quality>
|
||||
<count>1</count>
|
||||
<weight>0.18</weight>
|
||||
<weight>0.1</weight>
|
||||
<rarity>5</rarity>
|
||||
<effecterDef>GiantExplosion</effecterDef>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
@ -183,7 +184,7 @@
|
||||
<thingDef>GoldenCube</thingDef>
|
||||
<quality>Legendary</quality>
|
||||
<count>1</count>
|
||||
<weight>0.18</weight>
|
||||
<weight>0.1</weight>
|
||||
<rarity>5</rarity>
|
||||
<isHidden>true</isHidden>
|
||||
<effecterDef>GiantExplosion</effecterDef>
|
||||
@ -191,24 +192,24 @@
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>Silver</thingDef>
|
||||
<count>22222</count>
|
||||
<weight>0.54</weight>
|
||||
<count>8000</count>
|
||||
<weight>0.3</weight>
|
||||
<rarity>4</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>Silver</thingDef>
|
||||
<count>33333</count>
|
||||
<weight>0.54</weight>
|
||||
<count>9000</count>
|
||||
<weight>0.3</weight>
|
||||
<rarity>4</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>Silver</thingDef>
|
||||
<count>114514</count>
|
||||
<weight>0.54</weight>
|
||||
<count>9999</count>
|
||||
<weight>0.3</weight>
|
||||
<rarity>4</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -228,14 +229,14 @@
|
||||
<graphicData>
|
||||
<texPath>SimpleLootBox/ExampleB</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<drawSize>1.5</drawSize>
|
||||
<drawSize>2.5</drawSize>
|
||||
</graphicData>
|
||||
<statBases>
|
||||
<Mass>1.0</Mass>
|
||||
<MarketValue>10</MarketValue>
|
||||
</statBases>
|
||||
<useHitPoints>false</useHitPoints>
|
||||
<tradeability>Sellable</tradeability>
|
||||
<tradeability>None</tradeability>
|
||||
<comps>
|
||||
<li Class="CompProperties_Usable">
|
||||
<useJob>UseArtifact</useJob>
|
||||
@ -248,7 +249,7 @@
|
||||
<lootBoxList>
|
||||
<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 -->
|
||||
<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 -->
|
||||
<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-->
|
||||
@ -259,14 +260,13 @@
|
||||
<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound>
|
||||
<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound>
|
||||
<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSoundA</lootBoxBackgroundMusicSound>
|
||||
<lootBoxBackgroundTexturePath>SimpleLootBox/LootBoxBackgroundB</lootBoxBackgroundTexturePath>
|
||||
<lootBoxOpenCost>Silver</lootBoxOpenCost>
|
||||
<lootBoxOpenCostCount>128</lootBoxOpenCostCount>
|
||||
<lootBoxPawnKindDef>
|
||||
<li>
|
||||
<pawnKindDef>Baby_Example</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>5</weight>
|
||||
<weight>15.2</weight>
|
||||
<rarity>1</rarity>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
@ -274,7 +274,7 @@
|
||||
<li MayRequire="rooandgloomy.dragonianracemod">
|
||||
<pawnKindDef>Dragonian_Boxed</pawnKindDef><!-- 龙娘 -->
|
||||
<count>1</count><!-- 该人物生成的数量 -->
|
||||
<weight>0.6</weight><!-- 这项奖励的生成权重 -->
|
||||
<weight>0.3</weight><!-- 这项奖励的生成权重 -->
|
||||
<rarity>4</rarity>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
|
||||
@ -282,7 +282,7 @@
|
||||
<li MayRequire="ayameduki.harchaoura">
|
||||
<pawnKindDef>HAR_Chaoura_Player_kami</pawnKindDef><!-- 混沌 -->
|
||||
<count>1</count><!-- 该人物生成的数量 -->
|
||||
<weight>0.2</weight><!-- 这项奖励的生成权重 -->
|
||||
<weight>0.1</weight><!-- 这项奖励的生成权重 -->
|
||||
<rarity>5</rarity>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
|
||||
@ -290,7 +290,7 @@
|
||||
<li MayRequire="ayameduki.harneclose">
|
||||
<pawnKindDef>HAR_Neclose_Player_kami</pawnKindDef><!-- 细菌 -->
|
||||
<count>1</count><!-- 该人物生成的数量 -->
|
||||
<weight>0.6</weight><!-- 这项奖励的生成权重 -->
|
||||
<weight>0.3</weight><!-- 这项奖励的生成权重 -->
|
||||
<rarity>4</rarity>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
|
||||
@ -298,7 +298,7 @@
|
||||
<li MayRequire="ayameduki.harsilkiera">
|
||||
<pawnKindDef>HAR_Silkiera_Player_kami</pawnKindDef><!-- 兽娘 -->
|
||||
<count>1</count><!-- 该人物生成的数量 -->
|
||||
<weight>3.6</weight><!-- 这项奖励的生成权重 -->
|
||||
<weight>3.8</weight><!-- 这项奖励的生成权重 -->
|
||||
<rarity>2</rarity>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
|
||||
@ -306,7 +306,7 @@
|
||||
<li MayRequire="ayameduki.hareveliet">
|
||||
<pawnKindDef>HAR_Eveliet_Player_kami</pawnKindDef><!-- 伊娃 -->
|
||||
<count>1</count><!-- 该人物生成的数量 -->
|
||||
<weight>0.2</weight><!-- 这项奖励的生成权重 -->
|
||||
<weight>0.1</weight><!-- 这项奖励的生成权重 -->
|
||||
<rarity>5</rarity>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
|
||||
@ -314,7 +314,7 @@
|
||||
<li MayRequire="ayameduki.haridhale">
|
||||
<pawnKindDef>HAR_Idhale_Player_kami</pawnKindDef><!-- 幽灵 -->
|
||||
<count>1</count><!-- 该人物生成的数量 -->
|
||||
<weight>1</weight><!-- 这项奖励的生成权重 -->
|
||||
<weight>0.6</weight><!-- 这项奖励的生成权重 -->
|
||||
<rarity>3</rarity>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
|
||||
@ -322,7 +322,7 @@
|
||||
<li MayRequire="ayameduki.harxenoorca">
|
||||
<pawnKindDef>HAR_Xenoorca_Player_kami</pawnKindDef><!-- 鱼人 -->
|
||||
<count>1</count><!-- 该人物生成的数量 -->
|
||||
<weight>3.6</weight><!-- 这项奖励的生成权重 -->
|
||||
<weight>3.8</weight><!-- 这项奖励的生成权重 -->
|
||||
<rarity>2</rarity>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
|
||||
@ -330,7 +330,7 @@
|
||||
<li MayRequire="ayameduki.harnexaga">
|
||||
<pawnKindDef>HAR_Nexaga_Player_kami</pawnKindDef><!-- 混血 -->
|
||||
<count>1</count><!-- 该人物生成的数量 -->
|
||||
<weight>3.6</weight><!-- 这项奖励的生成权重 -->
|
||||
<weight>3.8</weight><!-- 这项奖励的生成权重 -->
|
||||
<rarity>2</rarity>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
|
||||
@ -338,7 +338,7 @@
|
||||
<li MayRequire="miho.fortifiedoutremer">
|
||||
<pawnKindDef>Miho_PlayerColonist_kami</pawnKindDef><!-- 美狐 -->
|
||||
<count>1</count>
|
||||
<weight>1</weight>
|
||||
<weight>0.6</weight>
|
||||
<rarity>3</rarity>
|
||||
<effecterDef>ExtinguisherExplosion</effecterDef>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
@ -346,7 +346,7 @@
|
||||
<li>
|
||||
<pawnKindDef>Megascarab</pawnKindDef><!-- 虫子 -->
|
||||
<count>1</count>
|
||||
<weight>14.6</weight>
|
||||
<weight>15.2</weight>
|
||||
<rarity>1</rarity>
|
||||
<isHostile>true</isHostile>
|
||||
<effecterDef>ExtinguisherExplosion</effecterDef>
|
||||
@ -355,7 +355,7 @@
|
||||
<li MayRequire="verniy709.racenhux">
|
||||
<pawnKindDef>NHUX_PlayerA</pawnKindDef><!-- ux -->
|
||||
<count>1</count>
|
||||
<weight>3.6</weight>
|
||||
<weight>3.8</weight>
|
||||
<rarity>2</rarity>
|
||||
<effecterDef>ExtinguisherExplosion</effecterDef>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
@ -363,7 +363,7 @@
|
||||
<li MayRequire="ayameduki.harnearmare">
|
||||
<pawnKindDef>HAR_Nearmaere_Player_kami</pawnKindDef><!-- 魅魔 -->
|
||||
<count>1</count>
|
||||
<weight>3.6</weight>
|
||||
<weight>3.8</weight>
|
||||
<rarity>2</rarity>
|
||||
<effecterDef>ExtinguisherExplosion</effecterDef>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
@ -371,7 +371,7 @@
|
||||
<li MayRequire="ayameduki.harlittluna">
|
||||
<pawnKindDef>HAR_Littluna_Player_kami</pawnKindDef><!-- 伪神 -->
|
||||
<count>1</count>
|
||||
<weight>0.2</weight>
|
||||
<weight>0.1</weight>
|
||||
<rarity>5</rarity>
|
||||
<effecterDef>ExtinguisherExplosion</effecterDef>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
@ -379,7 +379,7 @@
|
||||
<li MayRequire="rooandgloomy.dragonianracemod">
|
||||
<pawnKindDef>Dragonian_baby</pawnKindDef><!-- 小龙 -->
|
||||
<count>1</count>
|
||||
<weight>1</weight>
|
||||
<weight>0.6</weight>
|
||||
<rarity>3</rarity>
|
||||
<effecterDef>ExtinguisherExplosion</effecterDef>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
@ -387,7 +387,7 @@
|
||||
<li MayRequire="oark.ratkinfaction.oberoniaaurea">
|
||||
<pawnKindDef>OA_RK_Colonist_A_glod</pawnKindDef><!-- 金鼠 -->
|
||||
<count>1</count>
|
||||
<weight>0.6</weight>
|
||||
<weight>0.3</weight>
|
||||
<rarity>4</rarity>
|
||||
<effecterDef>ExtinguisherExplosion</effecterDef>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
@ -397,7 +397,7 @@
|
||||
<li>
|
||||
<thingDef>Wastepack</thingDef>
|
||||
<count>5</count>
|
||||
<weight>14.6</weight>
|
||||
<weight>15.2</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -405,7 +405,7 @@
|
||||
<li>
|
||||
<thingDef>Leather_Human</thingDef>
|
||||
<count>5</count>
|
||||
<weight>14.6</weight>
|
||||
<weight>15.2</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -413,7 +413,7 @@
|
||||
<li>
|
||||
<thingDef>Silver</thingDef>
|
||||
<count>1</count>
|
||||
<weight>14.6</weight>
|
||||
<weight>15.2</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -421,14 +421,12 @@
|
||||
<li MayRequire="verniy709.racenhux">
|
||||
<thingDef>Meat_NHUX</thingDef>
|
||||
<count>8</count>
|
||||
<weight>14.6</weight>
|
||||
<weight>15.2</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
</li>
|
||||
</lootBoxThingDef>
|
||||
|
||||
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
@ -1,19 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<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">
|
||||
<defName>SimpleLootBoxExampleziyuan</defName><!-- Definition name of the loot box -->
|
||||
@ -22,14 +8,14 @@
|
||||
<graphicData>
|
||||
<texPath>SimpleLootBox/ExampleC</texPath><!-- The texture path of the loot box -->
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<drawSize>1.5</drawSize>
|
||||
<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>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>
|
||||
<li Class="CompProperties_Usable">
|
||||
<useJob>UseArtifact</useJob>
|
||||
@ -42,7 +28,7 @@
|
||||
<lootBoxList>
|
||||
<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 -->
|
||||
<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 -->
|
||||
<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-->
|
||||
@ -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 -->
|
||||
<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 -->
|
||||
<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 -->
|
||||
<lootBoxOpenCostCount>128</lootBoxOpenCostCount><!-- The number of items required to open the loot box. Defaults to 0 if not specified -->
|
||||
<lootBoxThingDef>
|
||||
<li>
|
||||
<thingDef>Meat_NHUX</thingDef>
|
||||
<count>10</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -68,15 +54,15 @@
|
||||
<li>
|
||||
<thingDef>Wastepack</thingDef>
|
||||
<count>5</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>steel</thingDef>
|
||||
<thingDef>Steel</thingDef>
|
||||
<count>5</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -84,7 +70,7 @@
|
||||
<li>
|
||||
<thingDef>WoodLog</thingDef>
|
||||
<count>5</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -92,7 +78,7 @@
|
||||
<li>
|
||||
<thingDef>MedicineHerbal</thingDef>
|
||||
<count>1</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -100,15 +86,15 @@
|
||||
<li>
|
||||
<thingDef>ComponentIndustrial</thingDef>
|
||||
<count>2</count>
|
||||
<weight>5.4</weight>
|
||||
<weight>5.7</weight>
|
||||
<rarity>2</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>steel</thingDef>
|
||||
<thingDef>Steel</thingDef>
|
||||
<count>50</count>
|
||||
<weight>5.4</weight>
|
||||
<weight>5.7</weight>
|
||||
<rarity>2</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -116,7 +102,7 @@
|
||||
<li>
|
||||
<thingDef>Gold</thingDef>
|
||||
<count>20</count>
|
||||
<weight>5.4</weight>
|
||||
<weight>5.7</weight>
|
||||
<rarity>2</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -124,7 +110,7 @@
|
||||
<li>
|
||||
<thingDef>DevilstrandCloth</thingDef>
|
||||
<count>20</count>
|
||||
<weight>5.4</weight>
|
||||
<weight>5.7</weight>
|
||||
<rarity>2</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -132,15 +118,15 @@
|
||||
<li>
|
||||
<thingDef>WoodLog</thingDef>
|
||||
<count>200</count>
|
||||
<weight>5.4</weight>
|
||||
<weight>5.7</weight>
|
||||
<rarity>2</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>Medicinelndustrial</thingDef>
|
||||
<thingDef>MedicineIndustrial</thingDef>
|
||||
<count>5</count>
|
||||
<weight>5.4</weight>
|
||||
<weight>5.7</weight>
|
||||
<rarity>2</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -148,7 +134,7 @@
|
||||
<li>
|
||||
<thingDef>ComponentIndustrial</thingDef>
|
||||
<count>30</count>
|
||||
<weight>1.5</weight>
|
||||
<weight>0.9</weight>
|
||||
<rarity>3 </rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -156,7 +142,7 @@
|
||||
<li>
|
||||
<thingDef>steel</thingDef>
|
||||
<count>600</count>
|
||||
<weight>1.5</weight>
|
||||
<weight>0.9</weight>
|
||||
<rarity>3</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -164,7 +150,7 @@
|
||||
<li>
|
||||
<thingDef>Gold</thingDef>
|
||||
<count>200</count>
|
||||
<weight>1.5</weight>
|
||||
<weight>0.9</weight>
|
||||
<rarity>3</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -172,7 +158,7 @@
|
||||
<li>
|
||||
<thingDef>DevilstrandCloth</thingDef>
|
||||
<count>250</count>
|
||||
<weight>1.5</weight>
|
||||
<weight>0.9</weight>
|
||||
<rarity>3</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -180,7 +166,7 @@
|
||||
<li>
|
||||
<thingDef>Plasteel</thingDef>
|
||||
<count>400</count>
|
||||
<weight>1.5</weight>
|
||||
<weight>0.9</weight>
|
||||
<rarity>3</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -188,7 +174,7 @@
|
||||
<li>
|
||||
<thingDef>VanometricPowerCell</thingDef>
|
||||
<count>1</count>
|
||||
<weight>1.5</weight>
|
||||
<weight>0.9</weight>
|
||||
<rarity>3</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -196,7 +182,7 @@
|
||||
<li>
|
||||
<thingDef>Plasteel</thingDef>
|
||||
<count>1000</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -204,7 +190,7 @@
|
||||
<li>
|
||||
<thingDef>Techprint_PolarisSecretArchives</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -212,7 +198,7 @@
|
||||
<li>
|
||||
<thingDef>MechSerumHealer</thingDef>
|
||||
<count>2</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -220,7 +206,7 @@
|
||||
<li>
|
||||
<thingDef>PsychicAmplifier</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -228,7 +214,7 @@
|
||||
<li>
|
||||
<thingDef>PolarisBondorudoDiary</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -236,7 +222,7 @@
|
||||
<li>
|
||||
<thingDef>ComponentSpacer</thingDef>
|
||||
<count>35</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -244,7 +230,7 @@
|
||||
<li>
|
||||
<thingDef>ComponentSpacer</thingDef>
|
||||
<count>80</count>
|
||||
<weight>0.3</weight>
|
||||
<weight>0.15</weight>
|
||||
<rarity>5</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -252,7 +238,7 @@
|
||||
<li>
|
||||
<thingDef>PolarisVoidKey</thingDef>
|
||||
<count>2</count>
|
||||
<weight>0.3</weight>
|
||||
<weight>0.15</weight>
|
||||
<rarity>5</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -260,7 +246,7 @@
|
||||
<li>
|
||||
<thingDef>Miho_CelestialScale</thingDef>
|
||||
<count>1680</count>
|
||||
<weight>0.3</weight>
|
||||
<weight>0.15</weight>
|
||||
<rarity>5</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -268,7 +254,7 @@
|
||||
<li>
|
||||
<thingDef>GoldenCube</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.3</weight>
|
||||
<weight>0.15</weight>
|
||||
<rarity>5</rarity>
|
||||
<isHidden>true</isHidden>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
@ -277,7 +263,7 @@
|
||||
<li>
|
||||
<thingDef>PolarisRestorer</thingDef>
|
||||
<count>5</count>
|
||||
<weight>0.3</weight>
|
||||
<weight>0.15</weight>
|
||||
<rarity>5</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -288,16 +274,16 @@
|
||||
<li>
|
||||
<pawnKindDef>Fingerspike</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<isHostile>true</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
</li>
|
||||
<li>
|
||||
<pawnKindDef>rat</pawnKindDef>
|
||||
<pawnKindDef>Rat</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
@ -1,19 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<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">
|
||||
<defName>SimpleLootBoxExamplejiu</defName><!-- Definition name of the loot box -->
|
||||
@ -22,14 +8,14 @@
|
||||
<graphicData>
|
||||
<texPath>SimpleLootBox/ExampleE</texPath><!-- The texture path of the loot box -->
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<drawSize>1.5</drawSize>
|
||||
<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>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>
|
||||
<li Class="CompProperties_Usable">
|
||||
<useJob>UseArtifact</useJob>
|
||||
@ -42,7 +28,7 @@
|
||||
<lootBoxList>
|
||||
<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 -->
|
||||
<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 -->
|
||||
<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-->
|
||||
@ -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 -->
|
||||
<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 -->
|
||||
<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 -->
|
||||
<lootBoxOpenCostCount>128</lootBoxOpenCostCount><!-- The number of items required to open the loot box. Defaults to 0 if not specified -->
|
||||
<lootBoxThingDef>
|
||||
<li>
|
||||
<thingDef>GoldenCube</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.3</weight>
|
||||
<weight>0.15</weight>
|
||||
<rarity>5</rarity>
|
||||
<isHidden>true</isHidden>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
@ -69,7 +55,7 @@
|
||||
<li>
|
||||
<thingDef>Foxbead</thingDef>
|
||||
<count>1</count>
|
||||
<weight>1.5</weight>
|
||||
<weight>0.9</weight>
|
||||
<rarity>3</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -77,7 +63,7 @@
|
||||
<li>
|
||||
<thingDef>Meat_Cow</thingDef>
|
||||
<count>15</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -85,7 +71,7 @@
|
||||
<li>
|
||||
<thingDef>EggChickenUnfertilized</thingDef>
|
||||
<count>5</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -93,7 +79,7 @@
|
||||
<li>
|
||||
<thingDef>Milk</thingDef>
|
||||
<count>5</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -101,7 +87,7 @@
|
||||
<li>
|
||||
<thingDef>Wastepack</thingDef>
|
||||
<count>5</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -111,7 +97,7 @@
|
||||
<li>
|
||||
<pawnKindDef>Ninetailfox</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>0.3</weight>
|
||||
<weight>0.15</weight>
|
||||
<rarity>5</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -120,16 +106,16 @@
|
||||
<li>
|
||||
<pawnKindDef>DarkNinetail</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>0.3</weight>
|
||||
<weight>0.15</weight>
|
||||
<rarity>5</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
<isHostile>true</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
</li>
|
||||
<li>
|
||||
<pawnKindDef>Ninetailfoxwt</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>0.3</weight>
|
||||
<weight>0.15</weight>
|
||||
<rarity>5</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -138,7 +124,7 @@
|
||||
<li>
|
||||
<pawnKindDef>SZMechNeko_Omega</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>0.03</weight>
|
||||
<weight>0.05</weight>
|
||||
<rarity>5</rarity>
|
||||
<isHostile>true</isHostile>
|
||||
<isHidden>true</isHidden>
|
||||
@ -148,7 +134,7 @@
|
||||
<li>
|
||||
<pawnKindDef>AA_Gallatross</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>0.3</weight>
|
||||
<weight>0.15</weight>
|
||||
<rarity>5</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -157,7 +143,7 @@
|
||||
<li>
|
||||
<pawnKindDef>BOSS_RQ_Monster_Kind_Summon_z</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -166,7 +152,7 @@
|
||||
<li>
|
||||
<pawnKindDef>VAA_Allial</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -175,7 +161,7 @@
|
||||
<li>
|
||||
<pawnKindDef>VAA_IA</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -184,7 +170,7 @@
|
||||
<li>
|
||||
<pawnKindDef>VAA_TohokuKiritan</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -193,7 +179,7 @@
|
||||
<li>
|
||||
<pawnKindDef>VAA_TohokuZunko</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -202,7 +188,7 @@
|
||||
<li>
|
||||
<pawnKindDef>Ratkin_KingHamster</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>1.5</weight>
|
||||
<weight>1</weight>
|
||||
<rarity>3</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -211,7 +197,7 @@
|
||||
<li>
|
||||
<pawnKindDef>AA_MeadowAve</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>1.5</weight>
|
||||
<weight>0.9</weight>
|
||||
<rarity>3</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -220,7 +206,7 @@
|
||||
<li>
|
||||
<pawnKindDef>Thrumbo</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>1.5</weight>
|
||||
<weight>0.9</weight>
|
||||
<rarity>3</rarity>
|
||||
<isHostile>true</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -229,7 +215,7 @@
|
||||
<li>
|
||||
<pawnKindDef>AA_DevilSheep</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>1.5</weight>
|
||||
<weight>0.9</weight>
|
||||
<rarity>3</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -238,7 +224,7 @@
|
||||
<li>
|
||||
<pawnKindDef>TW_AiruCat</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>5.67</weight>
|
||||
<weight>5.7</weight>
|
||||
<rarity>2</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -247,7 +233,7 @@
|
||||
<li>
|
||||
<pawnKindDef>Pig</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>5.4</weight>
|
||||
<weight>5.7</weight>
|
||||
<rarity>2</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -256,7 +242,7 @@
|
||||
<li>
|
||||
<pawnKindDef>Cow</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>5.4</weight>
|
||||
<weight>5.7</weight>
|
||||
<rarity>2</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -265,7 +251,7 @@
|
||||
<li>
|
||||
<pawnKindDef>AA_EngorgedTentacularAberration</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>5.4</weight>
|
||||
<weight>5.7</weight>
|
||||
<rarity>2</rarity>
|
||||
<isHostile>true</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -274,7 +260,7 @@
|
||||
<li>
|
||||
<pawnKindDef>Horse</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>5.4</weight>
|
||||
<weight>5.7</weight>
|
||||
<rarity>2</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -283,7 +269,7 @@
|
||||
<li>
|
||||
<pawnKindDef>AEXP_Boombat</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>5.4</weight>
|
||||
<weight>5.7</weight>
|
||||
<rarity>2</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -292,7 +278,7 @@
|
||||
<li>
|
||||
<pawnKindDef>WasteRat</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<isHostile>true</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -301,7 +287,7 @@
|
||||
<li>
|
||||
<pawnKindDef>Chicken</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -310,7 +296,7 @@
|
||||
<li>
|
||||
<pawnKindDef>Tortoise</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -319,7 +305,7 @@
|
||||
<li>
|
||||
<pawnKindDef>Cat</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<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"?>
|
||||
<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">
|
||||
<defName>SimpleLootBoxExamplezui</defName><!-- Definition name of the loot box -->
|
||||
@ -22,14 +8,14 @@
|
||||
<graphicData>
|
||||
<texPath>SimpleLootBox/ExampleD</texPath><!-- The texture path of the loot box -->
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<drawSize>1.5</drawSize>
|
||||
<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>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>
|
||||
<li Class="CompProperties_Usable">
|
||||
<useJob>UseArtifact</useJob>
|
||||
@ -42,7 +28,7 @@
|
||||
<lootBoxList>
|
||||
<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 -->
|
||||
<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 -->
|
||||
<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-->
|
||||
@ -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 -->
|
||||
<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 -->
|
||||
<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 -->
|
||||
<lootBoxOpenCostCount>128</lootBoxOpenCostCount><!-- The number of items required to open the loot box. Defaults to 0 if not specified -->
|
||||
<lootBoxThingDef>
|
||||
@ -61,7 +47,7 @@
|
||||
<li>
|
||||
<thingDef>GoldenCube</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.3</weight>
|
||||
<weight>0.15</weight>
|
||||
<rarity>5</rarity>
|
||||
<isHidden>true</isHidden>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
@ -70,7 +56,7 @@
|
||||
<li>
|
||||
<thingDef>Techprint_HAR_ZC_Research_B</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.3</weight>
|
||||
<weight>0.15</weight>
|
||||
<rarity>5</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -78,7 +64,7 @@
|
||||
<li>
|
||||
<thingDef>HAR_ZC_Item_a</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.3</weight>
|
||||
<weight>0.15</weight>
|
||||
<rarity>5</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -86,7 +72,7 @@
|
||||
<li>
|
||||
<thingDef>HAR_ZC_Shell_f</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<quality>Normal</quality>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
@ -95,7 +81,7 @@
|
||||
<li>
|
||||
<thingDef>HAR_ZC_Tops_e</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<quality>Normal</quality>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
@ -104,7 +90,7 @@
|
||||
<li>
|
||||
<thingDef>HAR_ZC_Heads_e</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<quality>Normal</quality>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
@ -113,7 +99,7 @@
|
||||
<li>
|
||||
<thingDef>HAR_EL_Item_a</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<quality>Normal</quality>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
@ -122,7 +108,7 @@
|
||||
<li>
|
||||
<thingDef>HAR_EL_Item_b</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -130,7 +116,7 @@
|
||||
<li>
|
||||
<thingDef>HAR_EL_Item_c</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -138,7 +124,7 @@
|
||||
<li>
|
||||
<thingDef>HAR_EL_Item_d</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -146,7 +132,7 @@
|
||||
<li>
|
||||
<thingDef>HAR_EL_Item_e</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.9</weight>
|
||||
<weight>0.45</weight>
|
||||
<rarity>4</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -154,15 +140,15 @@
|
||||
<li>
|
||||
<thingDef>Uranium</thingDef>
|
||||
<count>300</count>
|
||||
<weight>1.5</weight>
|
||||
<weight>0.9</weight>
|
||||
<rarity>3</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>ComponentSpacer</thingDef>
|
||||
<count>5</count>
|
||||
<weight>1.5</weight>
|
||||
<count>10</count>
|
||||
<weight>0.9</weight>
|
||||
<rarity>3</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -170,7 +156,7 @@
|
||||
<li>
|
||||
<thingDef>Meat_HAR_Zoichor</thingDef>
|
||||
<count>10</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -178,7 +164,7 @@
|
||||
<li>
|
||||
<thingDef>Wastepack</thingDef>
|
||||
<count>5</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -186,24 +172,24 @@
|
||||
<li>
|
||||
<thingDef>Gold</thingDef>
|
||||
<count>1</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<thingDef>Meat_HAR_Xenoorca</thingDef>
|
||||
<count>15</count>
|
||||
<weight>21.9</weight>
|
||||
<rarity>1</rarity>
|
||||
<thingDef>HAR_NM_Archotech_b</thingDef>
|
||||
<count>1</count>
|
||||
<weight>0.15</weight>
|
||||
<rarity>5</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>HAR_SK_Meal_g</thingDef>
|
||||
<count>5</count>
|
||||
<weight>5.4</weight>
|
||||
<weight>5.7</weight>
|
||||
<rarity>2</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -211,7 +197,7 @@
|
||||
<li>
|
||||
<thingDef>Meat_HAR_Xenoorca</thingDef>
|
||||
<count>15</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -219,7 +205,7 @@
|
||||
<li>
|
||||
<thingDef>EggChickenUnfertilizec</thingDef>
|
||||
<count>5</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -227,7 +213,7 @@
|
||||
<li>
|
||||
<thingDef>PsychiteTea</thingDef>
|
||||
<count>1</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -235,7 +221,7 @@
|
||||
<li>
|
||||
<thingDef>Wastepack</thingDef>
|
||||
<count>10</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
@ -247,7 +233,7 @@
|
||||
<li MayRequire="ayameduki.harchaoura">
|
||||
<pawnKindDef>HAR_Zoichor_Player_kami</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>0.3</weight>
|
||||
<weight>0.15</weight>
|
||||
<rarity>5</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -256,7 +242,7 @@
|
||||
<li MayRequire="ayameduki.harneclose">
|
||||
<pawnKindDef>HAR_Neclose_Player_baby</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>1.5</weight>
|
||||
<weight>0.9</weight>
|
||||
<rarity>3</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -265,7 +251,7 @@
|
||||
<li MayRequire="ayameduki.harsaclean">
|
||||
<pawnKindDef>HAR_Saclean_Player_kami</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>1.5</weight>
|
||||
<weight>0.9</weight>
|
||||
<rarity>3</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -274,7 +260,7 @@
|
||||
<li>
|
||||
<pawnKindDef>TW_AiruCat</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>5.4</weight>
|
||||
<weight>5.7</weight>
|
||||
<rarity>2</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -283,7 +269,7 @@
|
||||
<li MayRequire="ayameduki.harsilkiera">
|
||||
<pawnKindDef>HAR_Silkiera_Player_kami</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>5.4</weight>
|
||||
<weight>5.7</weight>
|
||||
<rarity>2</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -292,7 +278,7 @@
|
||||
<li MayRequire="nemonian.my">
|
||||
<pawnKindDef>Moyo_ColonistPawn_kami</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>5.4</weight>
|
||||
<weight>5.7</weight>
|
||||
<rarity>2</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -301,7 +287,7 @@
|
||||
<li MayRequire="ayameduki.harsilkiera">
|
||||
<pawnKindDef>HAR_Silkiera_Player_baby</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<isHostile>false</isHostile>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
@ -310,7 +296,7 @@
|
||||
<li>
|
||||
<pawnKindDef>Squirrel</pawnKindDef>
|
||||
<count>1</count>
|
||||
<weight>21.9</weight>
|
||||
<weight>22.8</weight>
|
||||
<rarity>1</rarity>
|
||||
<isHostile>true</isHostile>
|
||||
<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>
|
||||
<li>1.5</li>
|
||||
</supportedVersions>
|
||||
<packageId>NHUX.SimpleLootBox</packageId>
|
||||
<packageId>NHUX.SimpleLootBox1</packageId>
|
||||
<description>
|
||||
开箱mod,适合在服务器里使用,目前测试版
|
||||
</description>
|
||||
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 396 KiB |
@ -1 +1 @@
|
||||
3479112682
|
||||
3479622537
|
@ -2,6 +2,7 @@
|
||||
<LanguageData>
|
||||
|
||||
<SimpleLootBox_OpenBox>开箱!</SimpleLootBox_OpenBox>
|
||||
<SimpleLootBox_NoBoxLeft>这堆箱子都已经开完了。</SimpleLootBox_NoBoxLeft>
|
||||
<SimpleLootBox_NotEnoughCurrency>储存区里没有足够的 {0} (需要 {1}) 来打开箱子。</SimpleLootBox_NotEnoughCurrency>
|
||||
<SimpleLootBox_CostLabel>消耗:{0} X {1}</SimpleLootBox_CostLabel>
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
<LanguageData>
|
||||
|
||||
<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_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="nemonian.my">LoadFolders/moyo</li><!--moyo-->
|
||||
<li IfModActive="ayameduki.harsaclean">LoadFolders/ayafeie</li><!--飞蛾-->
|
||||
<li IfModActive="ancot.milirarace">LoadFolders/mili</li><!--米粒-->
|
||||
</v1.5>
|
||||
</loadFolders>
|
@ -15,8 +15,6 @@
|
||||
</categories>
|
||||
</li>
|
||||
</backstoryFilters>
|
||||
<minGenerationAge>0.01</minGenerationAge><!-- 生成人物的最小生物年龄 -->
|
||||
<maxGenerationAge>3</maxGenerationAge><!-- 生成人物的最大生物年龄 -->
|
||||
<techHediffsTags Inherit="true"><!-- 用来去除可能从parentName里继承的仿生体tag -->
|
||||
</techHediffsTags>
|
||||
<weaponTags Inherit="true"><!-- 用来去除可能从parentName里继承的武器tag -->
|
||||
@ -30,7 +28,7 @@
|
||||
</apparelRequired>-->
|
||||
<xenotypeSet><!--■1.4以降 ゼノタイプ-->
|
||||
<xenotypeChances>
|
||||
<Aya_Race_Xenotype MayRequire="Ludeon.RimWorld.Biotech">9999</Aya_Race_Xenotype>
|
||||
<Aya_Race_Xenotype MayRequire="Ludeon.RimWorld.Biotech">1</Aya_Race_Xenotype>
|
||||
</xenotypeChances>
|
||||
</xenotypeSet>
|
||||
<pawnGroupDevelopmentStage>Baby</pawnGroupDevelopmentStage>
|
||||
|
@ -1,83 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<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>
|
||||
|
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>
|