Compare commits
12 Commits
11b26bb693
...
69231bc92a
| Author | SHA1 | Date |
|---|---|---|
|
|
69231bc92a | |
|
|
ed4766e772 | |
|
|
292afff6ce | |
|
|
5609e0c21c | |
|
|
6575b2685f | |
|
|
74f7436ab3 | |
|
|
1d6ae6066d | |
|
|
7ea470758e | |
|
|
8c59d63fa8 | |
|
|
3bdef5bc72 | |
|
|
62a11f76d2 | |
|
|
d3720d879b |
|
|
@ -0,0 +1,4 @@
|
|||
[*.cs]
|
||||
|
||||
# IDE0130: Namespace does not match folder structure
|
||||
dotnet_style_namespace_match_folder = false
|
||||
|
|
@ -54,6 +54,7 @@ public class HookahAssetBuilder
|
|||
FileName = "dotnet",
|
||||
Arguments = "build",
|
||||
UseShellExecute = false,
|
||||
WorkingDirectory = ModProjectPath,
|
||||
};
|
||||
|
||||
var proc = Process.Start(psi);
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<PropertyGroup>
|
||||
<AssemblyName>Ratijas.HookahPlace</AssemblyName>
|
||||
<Product>HookahPlace</Product>
|
||||
<Version>4.1.9</Version>
|
||||
<Version>4.2.0</Version>
|
||||
</PropertyGroup>
|
||||
<!-- Project Properties -->
|
||||
<PropertyGroup>
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<DawnLibVersion>0.7.3</DawnLibVersion>
|
||||
<DawnLibVersion>0.7.11</DawnLibVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Primary Package References - BepInEx -->
|
||||
|
|
@ -54,6 +54,10 @@
|
|||
<PackageReference Include="BepInEx.Core" Version="5.*" PrivateAssets="all"/>
|
||||
<PackageReference Include="BepInEx.PluginInfoProps" Version="2.*" PrivateAssets="all"/>
|
||||
<PackageReference Include="LethalCompany.GameLibs.Steam" Version="*-*" PrivateAssets="all"/>
|
||||
<PackageReference Include="Microsoft.Unity.Analyzers" Version="1.25.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="UnityEngine.Modules" Version="2022.3.62" PrivateAssets="all"/>
|
||||
<PackageReference Include="TeamXiaolan.DawnLib" Version="$(DawnLibVersion)" PrivateAssets="all"/>
|
||||
<PackageReference Include="TeamXiaolan.DawnLib.DuskMod" Version="$(DawnLibVersion)" />
|
||||
|
|
|
|||
|
|
@ -12,10 +12,12 @@ Become a ship-mom (or a ship-dad) and smoke shisha while guiding your crew over
|
|||
|
||||
The mod adds a ship decor/furniture to the store called "Hookah".
|
||||
|
||||
The store rotates between random 4-6 entries every quota. To make the hookah always available in the store, use another mod like [`StoreRotationConfig` by `pacoito`](https://thunderstore.io/c/lethal-company/p/pacoito/StoreRotationConfig/) with the `stockAll` option toggled ON.
|
||||
The store rotates between random 4-6 entries every quota. To make the hookah always available in the store, use another mod like [`StoreRotationConfig` by `pacoito`](https://thunderstore.io/c/lethal-company/p/pacoito/StoreRotationConfig/) with the `stockAll` option toggled ON or add "Hookah" (with capital 'H', without quotes) to the `itemWhitelist`.
|
||||
|
||||
## Made by Ratijas
|
||||
|
||||
See also [mod's release thread](https://discord.com/channels/1168655651455639582/1465126696117076242) at [Lethal Company Modding](https://discord.gg/XeyYqRdRGC) Discord server (in case the invite link expires, there should be a fresh one at [lethal.wiki](https://lethal.wiki/)).
|
||||
|
||||
Also check out my other mod, 🎵 [Muzika Gromche — The ultimate Jester party music mod](https://thunderstore.io/c/lethal-company/p/Ratijas/MuzikaGromche/)!
|
||||
|
||||
Hookah model made in Blender: [HookahPlace.blend](https://ratijas.me/share/public/LC/HookahPlace/HookahPlace.blend)
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
# 4.2.0
|
||||
|
||||
Fixed Hookah unlockable item disappearing after reloading a save file.
|
||||
|
||||
# 4.1.9
|
||||
|
||||
Inital release
|
||||
|
|
|
|||
|
|
@ -4,14 +4,14 @@ schemaVersion = "0.0.1"
|
|||
[package]
|
||||
namespace = "Ratijas"
|
||||
name = "HookahPlace"
|
||||
versionNumber = "4.1.9"
|
||||
versionNumber = "4.2.0"
|
||||
description = "Relaxing hookah as a ship upgrade"
|
||||
websiteUrl = "https://git.vilunov.me/ratijas/HookahPlace"
|
||||
containsNsfwContent = false
|
||||
|
||||
[package.dependencies]
|
||||
BepInEx-BepInExPack = "5.4.2304"
|
||||
TeamXiaolan-DawnLib = "0.7.3"
|
||||
TeamXiaolan-DawnLib = "0.7.11"
|
||||
|
||||
[build]
|
||||
icon = "./icon.png"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,22 +0,0 @@
|
|||
using BepInEx.Configuration;
|
||||
using Dusk;
|
||||
|
||||
namespace HookahPlace.Content;
|
||||
|
||||
internal static class NukeDawnLibConfig
|
||||
{
|
||||
static internal void NukeUnlockable(ConfigFile config, string heading, string name, int cost)
|
||||
{
|
||||
heading = $"{heading} Options";
|
||||
var costName = $"{name} | Cost";
|
||||
var disclaimer = "Sorry, this is not configurable. This is a dirty hack to suppress DawnLib/DuskMod from allowing any configurability here.";
|
||||
|
||||
var ctx = new ConfigContext(config, heading);
|
||||
|
||||
var enabledEntry = ctx.Bind("Enabled", disclaimer, true);
|
||||
enabledEntry.Value = true;
|
||||
|
||||
var costEntry = ctx.Bind(costName, disclaimer, cost);
|
||||
costEntry.Value = cost;
|
||||
}
|
||||
}
|
||||
|
|
@ -4,12 +4,8 @@ namespace HookahPlace.Content;
|
|||
|
||||
public class HookahContentHandler : ContentHandler<HookahContentHandler>
|
||||
{
|
||||
const int HOOKAH_PRICE = 130;
|
||||
|
||||
public HookahContentHandler(DuskMod mod) : base(mod)
|
||||
{
|
||||
NukeDawnLibConfig.NukeUnlockable(HookahPlace.Config, "HookahUnlockable", "Hookah", HOOKAH_PRICE);
|
||||
|
||||
if (!RegisterContent("hookahunlockableassets", out DefaultBundle? bundle, forceEnabled: true) || bundle == null)
|
||||
{
|
||||
HookahPlace.Logger.LogError($"Failed to register content");
|
||||
|
|
@ -7,6 +7,7 @@ using Dawn.Utils;
|
|||
using HarmonyLib;
|
||||
using Dusk;
|
||||
using BepInEx.Configuration;
|
||||
using HookahPlace.Content;
|
||||
|
||||
namespace HookahPlace;
|
||||
|
||||
|
|
@ -17,8 +18,6 @@ public class HookahPlace : BaseUnityPlugin
|
|||
internal new static ManualLogSource Logger { get; private set; } = null!;
|
||||
internal new static ConfigFile Config { get; private set; } = null!;
|
||||
|
||||
internal static PersistentDataContainer PersistentData { get; private set; } = null!;
|
||||
|
||||
internal static DuskMod Mod { get; private set; } = null!;
|
||||
|
||||
private void Awake()
|
||||
|
|
@ -28,17 +27,11 @@ public class HookahPlace : BaseUnityPlugin
|
|||
|
||||
Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), MyPluginInfo.PLUGIN_GUID);
|
||||
|
||||
// Example Persistent Data Container Usage
|
||||
// You can do anything you want with this DataContainer, there are a few additonal ones under the DawnLib class that pertain to actual save files
|
||||
PersistentData = this.GetPersistentDataContainer();
|
||||
|
||||
// e.g. track the last version the player played with, could be useful if you want do to stuff like setting migration.
|
||||
// if you want to do config migration you should use DawnLib.GetCurrentInstallSave instead.
|
||||
PersistentData.Set(HookahPlaceKeys.LastVersion, MyPluginInfo.PLUGIN_VERSION);
|
||||
|
||||
AssetBundle mainBundle = AssetBundleUtils.LoadBundle(Assembly.GetExecutingAssembly(), "hookahplaceasset");
|
||||
Mod = DuskMod.RegisterMod(this, mainBundle);
|
||||
Mod.RegisterContentHandlers();
|
||||
|
||||
// Effectively the same as `Mod.RegisterContentHandlers();` but simpler and faster
|
||||
_ = new HookahContentHandler(Mod);
|
||||
|
||||
Logger.LogInfo($"{MyPluginInfo.PLUGIN_GUID} v{MyPluginInfo.PLUGIN_VERSION} has loaded!");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue