20250508
This commit is contained in:
parent
55c03683fb
commit
ef485b76aa
Binary file not shown.
@ -39,6 +39,9 @@
|
||||
</lootBoxList>
|
||||
</li>
|
||||
<li Class="SimpleLootBox.CompProperties_LootBox">
|
||||
<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound><!-- 进入开箱界面的音效 -->
|
||||
<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound><!-- 选取物品时的音效,单曲循环sustainer -->
|
||||
<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSound</lootBoxBackgroundMusicSound><!-- 开箱界面的背景音乐,单曲循环sustainer -->
|
||||
<lootBoxThingDef>
|
||||
<li>
|
||||
<thingDef>Silver</thingDef><!-- 箱子可以开出的物品的定义名 -->
|
||||
@ -46,6 +49,7 @@
|
||||
<weight>5</weight><!-- 这项奖励的生成权重 -->
|
||||
<rarity>2</rarity><!-- 这项奖励的稀有度(使用的颜色与文本)可用选项 0 1 2 3 4 5 ,不填默认为0,数字越大稀有度越高-->
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef><!-- 生成奖励时可以播放的特效,不设置就没特效 -->
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound><!-- 该奖励被选中时的音效 -->
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>Gold</thingDef>
|
||||
@ -59,7 +63,7 @@
|
||||
<quality>Masterwork</quality><!-- 如果这个物品有品质,会使用这里设置的品质,可用的品质为 Awful Poor Normal Good Excellent Masterwork Legendary-->
|
||||
<count>1</count>
|
||||
<weight>2</weight>
|
||||
<rarity>1</rarity>
|
||||
<rarity>2</rarity>
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>MeleeWeapon_MonoSword</thingDef>
|
||||
@ -104,6 +108,9 @@
|
||||
</lootBoxList>
|
||||
</li>
|
||||
<li Class="SimpleLootBox.CompProperties_LootBox">
|
||||
<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound>
|
||||
<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound>
|
||||
<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSound</lootBoxBackgroundMusicSound>
|
||||
<lootBoxPawnKindDef>
|
||||
<li>
|
||||
<pawnKindDef>Mercenary_Gunner</pawnKindDef><!-- 箱子可以开出的人物的定义名 -->
|
||||
@ -159,6 +166,9 @@
|
||||
</lootBoxList>
|
||||
</li>
|
||||
<li Class="SimpleLootBox.CompProperties_LootBox">
|
||||
<lootBoxOpenSound>lootBoxOpenSound</lootBoxOpenSound>
|
||||
<lootBoxSpinningSound>lootBoxSpinningSound</lootBoxSpinningSound>
|
||||
<lootBoxBackgroundMusicSound>lootBoxBackgroundMusicSound</lootBoxBackgroundMusicSound>
|
||||
<lootBoxPawnKindDef><!-- 箱子开出的奖励可以混合人物和物品 -->
|
||||
<li>
|
||||
<pawnKindDef>Mercenary_Gunner</pawnKindDef>
|
||||
@ -173,6 +183,7 @@
|
||||
<weight>5</weight>
|
||||
<rarity>2</rarity>
|
||||
<effecterDef>Skip_ExitNoDelay</effecterDef>
|
||||
<lootBoxFinalizingRewardSound>lootBoxFinalizingRewardSound</lootBoxFinalizingRewardSound>
|
||||
</li>
|
||||
</lootBoxThingDef>
|
||||
</li>
|
||||
|
81
1.5/Defs/SoundDefsExample.xml
Normal file
81
1.5/Defs/SoundDefsExample.xml
Normal file
@ -0,0 +1,81 @@
|
||||
<?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>lootBoxBackgroundMusicSound</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/lootBoxBackgroundMusicSound</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>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -3,57 +3,64 @@
|
||||
"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\\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\\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\\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\\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\\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\\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\\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\\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\\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\\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\\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\\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_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\\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:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Verniy\\Downloads\\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\\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\\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\\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\\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:{00000000-0000-0000-0000-000000000000}|\u003CSolution\u003E|SimpleLootBox||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
|
||||
},
|
||||
@ -69,75 +76,50 @@
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 1,
|
||||
"SelectedChildIndex": 0,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAAA4AAAAFAAAAAAAAAA==",
|
||||
"DocumentIndex": 0,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-07T20:22:09.628Z",
|
||||
"WhenOpened": "2025-05-08T13:16:57.175Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"DocumentIndex": 2,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAAAwAAAAFAAAAAAAAAA==",
|
||||
"ViewState": "AgIAAGIAAAAAAAAAAAAuwHEAAABHAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-07T20:18:46.529Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 7,
|
||||
"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": "AgIAAC8AAAAAAAAAAAAgwIAAAABPAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T22:42:42.073Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 3,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAABsAAAABAAAAAAAAAA==",
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T22:36:06.172Z",
|
||||
"WhenOpened": "2025-05-07T12:47:11.303Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$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": "AgIAAAAAAAAAAAAAAAAAABIAAAAgAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T21:58:18.923Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 6,
|
||||
"DocumentIndex": 4,
|
||||
"Title": "LootBoxDatabase.cs",
|
||||
"DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxDatabase.cs",
|
||||
"RelativeDocumentMoniker": "LootBoxDatabase.cs",
|
||||
@ -148,19 +130,6 @@
|
||||
"WhenOpened": "2025-05-07T02:24:30.5Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAABQAAAAcAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T22:37:54.85Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 5,
|
||||
@ -176,20 +145,117 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 2,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAABAAAAAFAAAAAAAAAA==",
|
||||
"DocumentIndex": 6,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-07T12:47:11.303Z",
|
||||
"WhenOpened": "2025-05-07T01:26:54.137Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 7,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAABMAAAABAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-07T01:22:11.223Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"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": "AgIAAHkAAAAAAAAAAAAuwIgAAAAvAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-07T20:22:09.628Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 8,
|
||||
"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": "AgIAAAMAAAAAAAAAAAAcwBMAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T21:54:49.755Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 9,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAAAoAAAAEAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T22:37:54.85Z"
|
||||
},
|
||||
{
|
||||
"$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": "AgIAAAYAAAAAAAAAAAAAAAsAAAAEAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T22:36:06.172Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 11,
|
||||
"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": "AgIAABcAAAAAAAAAAAAmwDAAAABJAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T22:42:42.073Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 12,
|
||||
"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": 13,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAABIAAAAgAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T21:58:18.923Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 14,
|
||||
"Title": "PatchMain.cs",
|
||||
"DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\HarmonyPatches\\PatchMain.cs",
|
||||
"RelativeDocumentMoniker": "HarmonyPatches\\PatchMain.cs",
|
||||
@ -201,43 +267,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 8,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAAA4AAAAsAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-07T01:22:11.223Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 10,
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 12,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-07T01:26:54.137Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 13,
|
||||
"DocumentIndex": 15,
|
||||
"Title": "SimpleLootBox",
|
||||
"DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\SimpleLootBox.csproj",
|
||||
"RelativeDocumentMoniker": "SimpleLootBox.csproj",
|
||||
@ -248,7 +278,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 14,
|
||||
"DocumentIndex": 16,
|
||||
"Title": "AssemblyInfo.cs",
|
||||
"DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\Properties\\AssemblyInfo.cs",
|
||||
"RelativeDocumentMoniker": "Properties\\AssemblyInfo.cs",
|
||||
|
@ -3,57 +3,64 @@
|
||||
"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\\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\\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\\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\\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\\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\\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\\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\\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\\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\\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\\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\\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_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\\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:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Verniy\\Downloads\\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\\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\\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\\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\\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:{00000000-0000-0000-0000-000000000000}|\u003CSolution\u003E|SimpleLootBox||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
|
||||
},
|
||||
@ -74,14 +81,14 @@
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA==",
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAABUAAAAzAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-07T20:22:09.628Z",
|
||||
"WhenOpened": "2025-05-08T13:16:57.175Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
@ -92,52 +99,27 @@
|
||||
"RelativeDocumentMoniker": "LootBoxOpeningWindow.cs",
|
||||
"ToolTip": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxOpeningWindow.cs",
|
||||
"RelativeToolTip": "LootBoxOpeningWindow.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAFAAAAAAAAAA==",
|
||||
"ViewState": "AgIAAGIAAAAAAAAAAAAuwHEAAABHAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-07T20:18:46.529Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 7,
|
||||
"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": "AgIAAC8AAAAAAAAAAAAgwIAAAABPAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T22:42:42.073Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 3,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAABsAAAABAAAAAAAAAA==",
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T22:36:06.172Z",
|
||||
"WhenOpened": "2025-05-07T12:47:11.303Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$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": "AgIAAAAAAAAAAAAAAAAAABIAAAAgAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T21:58:18.923Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 6,
|
||||
"DocumentIndex": 4,
|
||||
"Title": "LootBoxDatabase.cs",
|
||||
"DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\LootBoxDatabase.cs",
|
||||
"RelativeDocumentMoniker": "LootBoxDatabase.cs",
|
||||
@ -148,19 +130,6 @@
|
||||
"WhenOpened": "2025-05-07T02:24:30.5Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAABQAAAAcAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T22:37:54.85Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 5,
|
||||
@ -176,20 +145,117 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAABAAAAAFAAAAAAAAAA==",
|
||||
"DocumentIndex": 6,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-07T12:47:11.303Z",
|
||||
"WhenOpened": "2025-05-07T01:26:54.137Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 7,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAABMAAAABAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-07T01:22:11.223Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"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": "AgIAAHkAAAAAAAAAAAAuwIgAAAAvAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-07T20:22:09.628Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 8,
|
||||
"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": "AgIAAAMAAAAAAAAAAAAcwBMAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T21:54:49.755Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 9,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAAAoAAAAEAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T22:37:54.85Z"
|
||||
},
|
||||
{
|
||||
"$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": "AgIAAAYAAAAAAAAAAAAAAAsAAAAEAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T22:36:06.172Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 11,
|
||||
"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": "AgIAABcAAAAAAAAAAAAmwDAAAABJAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T22:42:42.073Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 12,
|
||||
"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": 13,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAABIAAAAgAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-06T21:58:18.923Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 14,
|
||||
"Title": "PatchMain.cs",
|
||||
"DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\HarmonyPatches\\PatchMain.cs",
|
||||
"RelativeDocumentMoniker": "HarmonyPatches\\PatchMain.cs",
|
||||
@ -201,43 +267,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 8,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAAA4AAAAsAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-07T01:22:11.223Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 10,
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 12,
|
||||
"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": "AgIAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-07T01:26:54.137Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 13,
|
||||
"DocumentIndex": 15,
|
||||
"Title": "SimpleLootBox",
|
||||
"DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\SimpleLootBox.csproj",
|
||||
"RelativeDocumentMoniker": "SimpleLootBox.csproj",
|
||||
@ -248,7 +278,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 14,
|
||||
"DocumentIndex": 16,
|
||||
"Title": "AssemblyInfo.cs",
|
||||
"DocumentMoniker": "D:\\Steam\\steamapps\\common\\RimWorld\\Mods\\SimpleLootBox\\1.5\\Source\\SimpleLootBox\\Properties\\AssemblyInfo.cs",
|
||||
"RelativeDocumentMoniker": "Properties\\AssemblyInfo.cs",
|
||||
|
@ -18,157 +18,96 @@ namespace SimpleLootBox
|
||||
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);
|
||||
|
||||
LootBoxOpeningWindow window = new LootBoxOpeningWindow(this);
|
||||
Find.WindowStack.Add(window);
|
||||
}
|
||||
|
||||
private void DeleteBox(int count)
|
||||
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
|
||||
);
|
||||
Pawn pawn = PawnGenerator.GeneratePawn(request);
|
||||
//Some pawns like mechaoid have no faction, so no null check
|
||||
pawn.SetFaction(Faction.OfPlayer);
|
||||
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
|
||||
else if (parent.stackCount == count)
|
||||
{
|
||||
parent.Destroy(DestroyMode.Vanish);
|
||||
}
|
||||
}
|
||||
|
||||
private void PlayEffect(EffecterDef effecterDef, IntVec3 position, Map map)
|
||||
{
|
||||
if (effecterDef != null)
|
||||
{
|
||||
Effecter effecter = effecterDef.Spawn();
|
||||
effecter.Trigger(new TargetInfo(position, map), new TargetInfo(position, map));
|
||||
effecter.Cleanup();
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
PlayEffect(selectedThing.effecterDef, parent.Position, parent.Map);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
PlayEffect(selectedPawn.effecterDef, parent.Position, parent.Map);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -22,5 +22,9 @@ namespace SimpleLootBox
|
||||
|
||||
public SoundDef lootBoxOpenSound;
|
||||
|
||||
public SoundDef lootBoxSpinningSound;
|
||||
|
||||
public SoundDef lootBoxBackgroundMusicSound;
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -6,11 +6,181 @@ using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using RimWorld;
|
||||
using Verse;
|
||||
using Verse.Sound;
|
||||
|
||||
namespace SimpleLootBox
|
||||
{
|
||||
public class LootBoxOpeningWindow
|
||||
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 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);
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
GUI.BeginGroup(inRect);
|
||||
lootBoxSpinner.Draw(new Rect(0f, 100f, inRect.width, 150f));
|
||||
Text.Font = GameFont.Medium;
|
||||
Text.Anchor = TextAnchor.MiddleCenter;
|
||||
Widgets.Label(new Rect(0f, 50f, inRect.width, 40f), compLootBox.parent.LabelCap);
|
||||
|
||||
backgroundMusicSustainer?.Maintain();
|
||||
spinningSustainer?.Maintain();
|
||||
|
||||
if (spinningSustainer != null && !lootBoxSpinner.IsSpinning)
|
||||
{
|
||||
spinningSustainer.End();
|
||||
spinningSustainer = null;
|
||||
}
|
||||
|
||||
if (Widgets.ButtonText(new Rect(255f, 250f, 150f, 50f), "Open Box", active: compLootBox.parent.stackCount >= 1)
|
||||
&& compLootBox.parent.stackCount >= 1)
|
||||
{
|
||||
LootBoxSpinner.SpinItem 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 success = compLootBox.Spawn(item);
|
||||
if (success)
|
||||
{
|
||||
compLootBox.DeleteBox(1);
|
||||
}
|
||||
|
||||
if (item.finalizingSound != null)
|
||||
{
|
||||
item.finalizingSound.PlayOneShot(SoundInfo.InMap(new TargetInfo(compLootBox.parent.Position, compLootBox.parent.Map)));
|
||||
}
|
||||
|
||||
pendingRewardItem = null;
|
||||
pendingFinalizingSoundItem = null;
|
||||
}
|
||||
|
||||
Rect listRect = new Rect(20f, 300f, inRect.width - 20f, inRect.height - 300f);
|
||||
Rect contentRect = new Rect(listRect.x, listRect.y, listRect.width - 20f, 10f + lootBoxSpinner.PossibleRewards.Count * 20f);
|
||||
Widgets.BeginScrollView(listRect, ref scrollPosition, contentRect);
|
||||
Text.Font = GameFont.Small;
|
||||
for (int i = 0; i < lootBoxSpinner.PossibleRewards.Count; i++)
|
||||
{
|
||||
var spinItem = lootBoxSpinner.PossibleRewards[i];
|
||||
|
||||
//Color of the background of rarity next to the available rewards
|
||||
Rect rowRect = new Rect(listRect.x, listRect.y + i * 20f, 100f, 20f);
|
||||
if (spinItem.rarity == Rarity.None)
|
||||
{
|
||||
Widgets.DrawRectFast(rowRect, RarityColors.GetColor(spinItem.rarity));
|
||||
}
|
||||
else if(spinItem.rarity == Rarity.Common)
|
||||
{
|
||||
Widgets.DrawRectFast(rowRect, RarityColors.GetColor(spinItem.rarity));
|
||||
}
|
||||
else if (spinItem.rarity == Rarity.Uncommon)
|
||||
{
|
||||
Widgets.DrawRectFast(rowRect, RarityColors.GetColor(spinItem.rarity));
|
||||
}
|
||||
else if (spinItem.rarity == Rarity.Rare)
|
||||
{
|
||||
Widgets.DrawRectFast(rowRect, RarityColors.GetColor(spinItem.rarity));
|
||||
}
|
||||
else if (spinItem.rarity == Rarity.Epic)
|
||||
{
|
||||
Widgets.DrawRectFast(rowRect, RarityColors.GetColor(spinItem.rarity));
|
||||
}
|
||||
else if (spinItem.rarity == Rarity.Legendary)
|
||||
{
|
||||
Widgets.DrawRectFast(rowRect, RarityColors.GetColor(spinItem.rarity));
|
||||
}
|
||||
|
||||
//Color of the background of available reward labels
|
||||
Rect labelRect = new Rect(listRect.x + 120f, listRect.y + i * 20f, listRect.width - 150f, 20f);
|
||||
Color rarityColor = RarityColors.GetColor(spinItem.rarity);
|
||||
if (spinItem.rarity == Rarity.Common)
|
||||
rarityColor = RarityColors.GetColor(spinItem.rarity);
|
||||
else if (spinItem.rarity == Rarity.Uncommon)
|
||||
rarityColor = RarityColors.GetColor(spinItem.rarity);
|
||||
else if (spinItem.rarity == Rarity.Rare)
|
||||
rarityColor = RarityColors.GetColor(spinItem.rarity);
|
||||
else if (spinItem.rarity == Rarity.Epic)
|
||||
rarityColor = RarityColors.GetColor(spinItem.rarity);
|
||||
else if (spinItem.rarity == Rarity.Legendary)
|
||||
rarityColor = RarityColors.GetColor(spinItem.rarity);
|
||||
Widgets.DrawRectFast(labelRect, rarityColor);
|
||||
|
||||
Text.Anchor = TextAnchor.MiddleCenter;
|
||||
Widgets.Label(new Rect(listRect.x, listRect.y + i * 20f, 100f, 20f), spinItem.rarity.ToString());
|
||||
string rewardName = spinItem.thingDef != null ? spinItem.thingDef.LabelCap : (spinItem.pawnKindDef?.LabelCap ?? "");
|
||||
Text.Anchor = TextAnchor.MiddleLeft;
|
||||
Widgets.Label(new Rect(listRect.x + 120f, listRect.y + i * 20f, listRect.width - 150f, 20f), rewardName);
|
||||
if (spinItem.count > 1)
|
||||
{
|
||||
Text.Anchor = TextAnchor.MiddleRight;
|
||||
Widgets.Label(new Rect(listRect.x + 120f, listRect.y + i * 20f, listRect.width - 150f, 20f), $"x{spinItem.count}");
|
||||
}
|
||||
}
|
||||
Widgets.EndScrollView();
|
||||
GUI.EndGroup();
|
||||
Text.Anchor = TextAnchor.UpperLeft;
|
||||
Text.Font = GameFont.Small;
|
||||
}
|
||||
|
||||
public override void PostClose()
|
||||
{
|
||||
base.PostClose();
|
||||
if (backgroundMusicSustainer != null)
|
||||
{
|
||||
backgroundMusicSustainer.End();
|
||||
backgroundMusicSustainer = null;
|
||||
}
|
||||
|
||||
if (spinningSustainer != null)
|
||||
{
|
||||
spinningSustainer.End();
|
||||
spinningSustainer = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -20,5 +20,7 @@ namespace SimpleLootBox
|
||||
|
||||
public Rarity rarity;
|
||||
|
||||
public SoundDef lootBoxFinalizingRewardSound;
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -6,11 +6,219 @@ using System.Threading.Tasks;
|
||||
using RimWorld;
|
||||
using UnityEngine;
|
||||
using Verse;
|
||||
using static SimpleLootBox.LootBoxSpinner;
|
||||
|
||||
namespace SimpleLootBox
|
||||
{
|
||||
public class CaseSpinner
|
||||
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);
|
||||
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);
|
||||
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];
|
||||
|
||||
if (item.rarity == Rarity.Common)
|
||||
{
|
||||
Widgets.DrawRectFast(cellRect, RarityColors.GetColor(item.rarity));
|
||||
}
|
||||
else if (item.rarity == Rarity.Uncommon)
|
||||
{
|
||||
Widgets.DrawRectFast(cellRect, RarityColors.GetColor(item.rarity));
|
||||
}
|
||||
else if (item.rarity == Rarity.Rare)
|
||||
{
|
||||
Widgets.DrawRectFast(cellRect, RarityColors.GetColor(item.rarity));
|
||||
}
|
||||
else if (item.rarity == Rarity.Epic)
|
||||
{
|
||||
Widgets.DrawRectFast(cellRect, RarityColors.GetColor(item.rarity));
|
||||
}
|
||||
else if (item.rarity == Rarity.Legendary)
|
||||
{
|
||||
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 ?? "";
|
||||
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.Font = GameFont.Small;
|
||||
Text.Anchor = TextAnchor.UpperLeft;
|
||||
}
|
||||
|
||||
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 SpinItem(ThingDef thingDef, ThingDef stuff, QualityCategory quality, int count, Rarity rarity, float weight, EffecterDef effecter, SoundDef finalizingSound)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
public SpinItem(PawnKindDef pawnKindDef, int count, Rarity rarity, float weight, EffecterDef effecter, SoundDef finalizingSound)
|
||||
{
|
||||
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;
|
||||
|
||||
Pawn pawn = PawnGenerator.GeneratePawn(pawnKindDef);
|
||||
this.portrait = PortraitsCache.Get(pawn, new Vector2(128f, 128f), Rot4.South, new Vector3(0f, 0f, 0.1f), 1.5f);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -24,5 +24,7 @@ namespace SimpleLootBox
|
||||
public QualityCategory quality;
|
||||
|
||||
public Rarity rarity = 0;
|
||||
|
||||
public SoundDef lootBoxFinalizingRewardSound;
|
||||
}
|
||||
}
|
||||
|
27
1.5/Source/SimpleLootBox/RarityColor.cs
Normal file
27
1.5/Source/SimpleLootBox/RarityColor.cs
Normal file
@ -0,0 +1,27 @@
|
||||
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> rarityColorMap = 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 rarityColorMap.TryGetValue(rarity, out var color) ? color : Color.white;
|
||||
}
|
||||
}
|
||||
}
|
@ -71,6 +71,7 @@
|
||||
<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 +1 @@
|
||||
705e218464d7300a4f75cf5799c059d7889b490b575db1d6f450c55e9775b6b3
|
||||
e5bf3b320bda89aae16e54c514e180e5e6fc8694d412236eb7aecb06adbb9c82
|
||||
|
Binary file not shown.
Binary file not shown.
BIN
Sounds/SimpleLootBox/lootBoxBackgroundMusicSound.ogg
Normal file
BIN
Sounds/SimpleLootBox/lootBoxBackgroundMusicSound.ogg
Normal file
Binary file not shown.
BIN
Sounds/SimpleLootBox/lootBoxFinalizingRewardSound.ogg
Normal file
BIN
Sounds/SimpleLootBox/lootBoxFinalizingRewardSound.ogg
Normal file
Binary file not shown.
BIN
Sounds/SimpleLootBox/lootBoxOpenSound.ogg
Normal file
BIN
Sounds/SimpleLootBox/lootBoxOpenSound.ogg
Normal file
Binary file not shown.
BIN
Sounds/SimpleLootBox/lootBoxSpinningSound.ogg
Normal file
BIN
Sounds/SimpleLootBox/lootBoxSpinningSound.ogg
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user