fix: the example kits' permission is kits.runicnpc (stage 6)
Kits registers a kit's RequiredPermission, and Oxide warns on every Kits load that a permission a plugin registers must start with that plugin's name: "Missing plugin name prefix 'kits' for permission 'runicnpc.examplekits'". The org lead chose Kits' prefix. Nobody is granted it, so no player can claim an example kit by name; RunicNPC's GiveKit call skips it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
@@ -3946,7 +3946,7 @@ namespace Oxide.Plugins
|
||||
private const string DataState = "RunicNPC/state";
|
||||
|
||||
/// <summary>The permission every example kit needs, which nobody is granted: no player can claim one by name (D284).</summary>
|
||||
private const string ExamplePermission = "runicnpc.examplekits";
|
||||
private const string ExamplePermission = "kits.runicnpc";
|
||||
|
||||
private sealed class StateFile
|
||||
{
|
||||
|
||||
@@ -2143,8 +2143,8 @@ namespace Oxide.Plugins
|
||||
string[] missing = exampleKits.Where(k => !(kits?.Call("IsKit", k) is bool && (bool)kits.Call("IsKit", k))).ToArray();
|
||||
Check("s6.examples.kits", missing.Length == 0, missing.Length == 0 ? "all four in Kits" : "missing: " + string.Join(", ", missing));
|
||||
JObject kitFile = Interface.Oxide.DataFileSystem.ReadObject<JObject>("Kits/kits_data");
|
||||
Check("s6.examples.permission", exampleKits.All(k => (string)kitFile?["_kits"]?[k]?["RequiredPermission"] == "runicnpc.examplekits"),
|
||||
"each needs runicnpc.examplekits, which nobody is granted");
|
||||
Check("s6.examples.permission", exampleKits.All(k => (string)kitFile?["_kits"]?[k]?["RequiredPermission"] == "kits.runicnpc"),
|
||||
"each needs kits.runicnpc, which nobody is granted");
|
||||
JObject state = Interface.Oxide.DataFileSystem.ReadObject<JObject>("RunicNPC/state");
|
||||
Check("s6.examples.once", state?["examplesWritten"]?.Type == JTokenType.Boolean && (bool)state["examplesWritten"], "state.json: " + state?.ToString(Formatting.None));
|
||||
JObject items = kitFile?["_kits"]?["rnpc_juggernaut"] as JObject;
|
||||
|
||||
Reference in New Issue
Block a user