This commit is contained in:
verniy709 2025-05-07 08:56:17 -05:00
parent 2626f238b9
commit f7c310507b
42 changed files with 1225 additions and 0 deletions

Binary file not shown.

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<PawnKindDef ParentName="HAR_Nearmaere_KindBase"><!-- 人物的基本数据继承自HAR_Nearmaere_KindBase下面的数据中如果有和parent相同的条目会覆盖parent的数值 -->
<defName>HAR_Nearmaere_Example</defName><!-- 人物的定义名 -->
<label>HAR nearmaere example</label><!-- 人物的名字,可以进行本地化翻译 -->
<race>HAR_Nearmaere</race><!-- 人物的种族的定义名 -->
<combatPower>100</combatPower><!-- 袭击占用分数 -->
<initialWillRange>1~10</initialWillRange><!-- 奴役难度 -->
<initialResistanceRange>10~20</initialResistanceRange><!-- 招募难度 -->
<minGenerationAge>10</minGenerationAge><!-- 生成人物的最小生物年龄 -->
<maxGenerationAge>20</maxGenerationAge><!-- 生成人物的最大生物年龄 -->
<techHediffsMoney>0</techHediffsMoney><!-- 仿生体价值 -->
<apparelMoney>0</apparelMoney><!-- 服装价值 -->
<weaponMoney>0</weaponMoney><!-- 武器价值 -->
<techHediffsTags Inherit="False"><!-- 用来去除可能从parentName里继承的仿生体tag -->
</techHediffsTags>
<weaponTags Inherit="False"><!-- 用来去除可能从parentName里继承的武器tag -->
</weaponTags>
<apparelTags Inherit="False"><!-- 用来去除可能从parentName里继承的服装tag -->
</apparelTags>
<inventoryOptions Inherit="False"><!-- 用来去除可能从parentName里继承的随身携带物品 -->
</inventoryOptions><!-- 生成人物的某项技能的范围,比如 Shooting Melee Construction Mining Cooking Plants Animals Crafting Artistic Medicine Social Intellectual -->
<skills>
<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>
<Aya_Race_Xenotype MayRequire="Ludeon.RimWorld.Biotech">100</Aya_Race_Xenotype><!-- 某个特定异种的生成概率 -->
</xenotypeChances>
</xenotypeSet>
</PawnKindDef>
</Defs>

View File

@ -0,0 +1,170 @@
<Defs>
<ThingDef Name="SimpleLootBoxBase" ParentName="ResourceBase" Abstract="True">
<thingClass>ThingWithComps</thingClass>
<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.5</chance><!-- 这个箱子的掉落概率 -->
</li>
</lootBoxList>
</li>
<li Class="SimpleLootBox.CompProperties_LootBox">
<lootBoxThingDef>
<li>
<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
<count>1000</count><!-- 该物品生成的数量 -->
<weight>5</weight><!-- 这项奖励的生成权重 -->
</li>
<li>
<thingDef>Gold</thingDef>
<count>500</count>
<weight>1</weight>
</li>
<li>
<thingDef>Bed</thingDef>
<stuff>WoodLog</stuff><!-- 如果这个物品是stuffable会使用这里设置的stuff -->
<quality>Masterwork</quality><!-- 如果这个物品有品质,会使用这里设置的品质,可用的品质为 Awful Poor Normal Good Excellent Masterwork Legendary-->
<count>1</count>
<weight>2</weight>
</li>
<li>
<thingDef>MeleeWeapon_MonoSword</thingDef>
<quality>Legendary</quality>
<count>1</count>
<weight>1</weight>
</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">
<lootBoxPawnKindDef>
<li>
<pawnKindDef>Mercenary_Gunner</pawnKindDef><!-- 箱子可以开出的人物的定义名 -->
<count>2</count><!-- 该人物生成的数量 -->
<weight>5</weight><!-- 这项奖励的生成权重 -->
</li>
<li>
<pawnKindDef>HAR_Nearmaere_Example</pawnKindDef>
<count>1</count>
<weight>5</weight>
</li>
<li>
<pawnKindDef>Mech_Centurion</pawnKindDef>
<count>1</count>
<weight>5</weight>
</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">
<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>
</li>
</lootBoxThingDef>
</li>
</comps>
</ThingDef>
</Defs>

View File

@ -0,0 +1 @@
{"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":[]}

Binary file not shown.

View File

@ -0,0 +1,233 @@
{
"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\\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\\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\\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\\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:{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\\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\\spawncomplootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:spawncomplootbox.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\\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\\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:{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": 1,
"Children": [
{
"$type": "Document",
"DocumentIndex": 5,
"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": "AgIAAAAAAAAAAAAAAAAAAA4AAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-07T12:47:11.303Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"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": "AgIAAFkAAAAAAAAAAAAYwG4AAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-06T22:42:42.073Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"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": "AgIAAAAAAAAAAAAAAAAAABIAAAAIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-06T22:37:54.85Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "SpawnCompLootBox.cs",
"DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\SpawnCompLootBox.cs",
"RelativeDocumentMoniker": "SpawnCompLootBox.cs",
"ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\SpawnCompLootBox.cs",
"RelativeToolTip": "SpawnCompLootBox.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-07T01:26:54.137Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
"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": "AgIAAAAAAAAAAAAAAAAAABYAAAAbAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-06T22:36:06.172Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"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": "AgIAAAAAAAAAAAAAAAAAABMAAAAIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-07T02:24:30.5Z"
},
{
"$type": "Document",
"DocumentIndex": 1,
"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": "AgIAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-07T01:22:11.223Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"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": "AgIAAAMAAAAAAAAAAAAAABQAAAA6AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-06T21:54:49.755Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 8,
"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": "AgIAAAAAAAAAAAAAAAAAAAkAAAAYAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-07T01:23:17.893Z"
},
{
"$type": "Document",
"DocumentIndex": 9,
"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": "AgIAAAAAAAAAAAAAAAAAABgAAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-06T21:58:18.923Z"
},
{
"$type": "Document",
"DocumentIndex": 10,
"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": "AgIAAAAAAAAAAAAAAAAAABQAAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-06T21:58:33.185Z"
},
{
"$type": "Document",
"DocumentIndex": 11,
"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": 12,
"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": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-06T22:00:49.967Z"
}
]
}
]
}
]
}

View File

@ -0,0 +1,233 @@
{
"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\\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\\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\\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\\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:{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\\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\\spawncomplootbox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{00FCB9AE-563C-4C61-B2E3-317C008E6254}|SimpleLootBox.csproj|solutionrelative:spawncomplootbox.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\\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\\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:{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": 1,
"Children": [
{
"$type": "Document",
"DocumentIndex": 5,
"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": "AgIAAAAAAAAAAAAAAAAAAA4AAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-07T12:47:11.303Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"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": "AgIAAHkAAAAAAAAAAAAkwJkAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-06T22:42:42.073Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"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": "AgIAAAAAAAAAAAAAAAAAABIAAAAIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-06T22:37:54.85Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "SpawnCompLootBox.cs",
"DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\SpawnCompLootBox.cs",
"RelativeDocumentMoniker": "SpawnCompLootBox.cs",
"ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\SpawnCompLootBox.cs",
"RelativeToolTip": "SpawnCompLootBox.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-07T01:26:54.137Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
"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": "AgIAAAAAAAAAAAAAAAAAABYAAAAbAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-06T22:36:06.172Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"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": "AgIAAAAAAAAAAAAAAAAAABMAAAAIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-07T02:24:30.5Z"
},
{
"$type": "Document",
"DocumentIndex": 1,
"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": "AgIAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-07T01:22:11.223Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"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": "AgIAAAMAAAAAAAAAAAAAABQAAAA6AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-06T21:54:49.755Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 8,
"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": "AgIAAAAAAAAAAAAAAAAAAAkAAAAYAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-07T01:23:17.893Z"
},
{
"$type": "Document",
"DocumentIndex": 9,
"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": "AgIAAAAAAAAAAAAAAAAAABgAAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-06T21:58:18.923Z"
},
{
"$type": "Document",
"DocumentIndex": 10,
"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": "AgIAAAAAAAAAAAAAAAAAABQAAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-06T21:58:33.185Z"
},
{
"$type": "Document",
"DocumentIndex": 11,
"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": 12,
"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": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-05-06T22:00:49.967Z"
}
]
}
]
}
]
}

View File

@ -0,0 +1,159 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using RimWorld;
using UnityEngine;
using Verse;
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);
float thingWeightSum = 0f;
float pawnWeightSum = 0f;
if (Props.lootBoxThingDef != null)
thingWeightSum = Props.lootBoxThingDef
.Where(t => t.thingDef != null && t.weight > 0)
.Sum(t => t.weight);
if (Props.lootBoxPawnKindDef != null)
pawnWeightSum = Props.lootBoxPawnKindDef
.Where(t => t.pawnKindDef != null && t.weight > 0)
.Sum(t => t.weight);
float totalWeight = thingWeightSum + pawnWeightSum;
if (totalWeight <= 0f)
{
Log.Warning("SimpleLootBox: No valid thingDef or pawnKindDef.");
}
else
{
float roll = Rand.Value * totalWeight;
if (roll < thingWeightSum)
{
SpawnRandomThing();
}
else
{
SpawnRandomPawn();
}
}
DeleteBox(1);
}
private void DeleteBox(int count)
{
if (parent.stackCount > count)
{
parent.stackCount -= count;
}
else
{
parent.Destroy(DestroyMode.Vanish);
}
}
private void SpawnRandomThing()
{
if (Props.lootBoxThingDef == null)
{
Log.Message("SimpleLootBox: No lootBoxThingDef in the reward list.");
return;
}
var validThings = Props.lootBoxThingDef
.Where(t => t.thingDef != null && t.weight > 0)
.ToList();
if (validThings.Count == 0)
{
Log.Message("SimpleLootBox: No valid thingDef for the lootbox.");
return;
}
var selectedThing = validThings.RandomElementByWeight(t => t.weight);
for (int i = 0; i < selectedThing.count; i++)
{
Thing thing;
if (selectedThing.thingDef.MadeFromStuff && selectedThing.stuff != null)
{
thing = ThingMaker.MakeThing(selectedThing.thingDef, selectedThing.stuff);
}
else
{
thing = ThingMaker.MakeThing(selectedThing.thingDef);
}
if (thing.TryGetComp<CompQuality>() != null)
{
thing.TryGetComp<CompQuality>().SetQuality(selectedThing.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);
}
}
}
private void SpawnRandomPawn()
{
if (Props.lootBoxPawnKindDef == null)
{
Log.Message("SimpleLootBox: No lootBoxPawnKindDef in the reward list.");
return;
}
var validPawns = Props.lootBoxPawnKindDef
.Where(t => t.pawnKindDef != null && t.weight > 0)
.ToList();
if (validPawns.Count == 0)
{
Log.Message("SimpleLootBox: No valid pawnKind for the lootbox.");
return;
}
var selectedPawn = validPawns.RandomElementByWeight(t => t.weight);
for (int i = 0; i < selectedPawn.count; i++)
{
PawnGenerationRequest request = new PawnGenerationRequest(
kind: selectedPawn.pawnKindDef,
context: PawnGenerationContext.NonPlayer,
canGeneratePawnRelations: false,
colonistRelationChanceFactor: 0f,
forceGenerateNewPawn: true
);
Pawn pawn = PawnGenerator.GeneratePawn(request);
pawn.SetFaction(Faction.OfPlayer);
if (pawn.ideo != null)
{
pawn.ideo.SetIdeo(Faction.OfPlayer.ideos.PrimaryIdeo);
}
GenPlace.TryPlaceThing(pawn, parent.Position, parent.Map, ThingPlaceMode.Near);
}
}
}
}

View File

@ -0,0 +1,26 @@
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 SoundDef lootBoxOpenSound;
}
}

View File

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using RimWorld;
using Verse;
namespace SimpleLootBox
{
public class CompProperties_SpawnLootBox : CompProperties
{
public List<LootBox> lootBoxList;
public CompProperties_SpawnLootBox()
{
this.compClass = typeof(SpawnCompLootBox);
}
}
}

View File

@ -0,0 +1,23 @@
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());
}
}
}

View File

@ -0,0 +1,29 @@
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);
}
}
}
}
}

View File

@ -0,0 +1,15 @@
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;
}
}

View File

@ -0,0 +1,29 @@
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 entry in props.lootBoxList)
{
allLootBoxes.Add(entry);
}
}
}
}
}
}

View File

@ -0,0 +1,22 @@
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 Rarity None;
}
}

View File

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
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 QualityCategory quality;
public Rarity None;
}
}

View File

@ -0,0 +1,33 @@
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")]

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SimpleLootBox
{
public enum Rarity : int
{
None = 0,
Common = 1,
Uncommon = 2,
Rare = 3,
Epic = 4,
Legendary = 5,
}
}

View File

@ -0,0 +1,68 @@
<?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>
</ItemGroup>
<ItemGroup>
<Compile Include="CompLootBox.cs" />
<Compile Include="LootBoxDatabase.cs" />
<Compile Include="Rarity.cs" />
<Compile Include="SpawnCompLootBox.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" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -0,0 +1,25 @@

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

View File

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Verse;
namespace SimpleLootBox
{
public class SpawnCompLootBox : ThingComp
{
//Harmony patch only
}
}

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]

View File

@ -0,0 +1 @@
f1e15e1b5ab9eb3c357201aa6b38df6562b51a1506bb753e528b0f96e91df6e3

View File

@ -0,0 +1,7 @@
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

Binary file not shown.

Binary file not shown.

19
About/About.xml Normal file
View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<ModMetaData>
<name>Simple Loot Box</name>
<author>Verniy709</author>
<supportedVersions>
<li>1.5</li>
</supportedVersions>
<packageId>Verniy709.SimpleLootBox</packageId>
<description>
</description>
<modDependencies>
<li>
<packageId>brrainz.harmony</packageId>
<displayName>Harmony</displayName>
<steamWorkshopUrl>steam://url/CommunityFilePage/2009463077</steamWorkshopUrl>
<downloadUrl>https://github.com/pardeike/HarmonyRimWorld/releases/latest</downloadUrl>
</li>
</modDependencies>
</ModMetaData>

BIN
About/ModIcon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

BIN
About/Preview.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB