OnXmasLootDistribute
OxideCarbonSeasonalCalled when xmas loot distribute occurs.
object OnXmasLootDistribute(XMasRefill xMasRefill)Works — the game method in this build is the one the hook was written for.
Parameters
- xMasRefill
- XMasRefill
Return value
objectReturn non-null to cancel the game action.
Example
object — you can affect the game: return a value to change or cancel the action.
private object OnXmasLootDistribute(XMasRefill xMasRefill)
{
Puts("OnXmasLootDistribute");
// change nothing — the game continues as usual
return null;
// to affect the game:
// return false; // non-null cancels the game action
}Works in both Oxide and Carbon: Carbon loads Oxide plugins as is.
Injection point
Rust.opj (Oxide)
void XMasRefill.ServerInit()
Passes: XMasRefill xMasRefill
WorksReturnBehavior: ExitWhenValidTypeArgumentBehavior: JustThisAssembly-CSharp.dll
Where it is called (this branch's game code)
// …
if (!XMas.enabled)
{
Invoke(RemoveMe, 0.1f);
return;
}
goodKids = ((BasePlayer.activePlayerList != null) ? new List<BasePlayer>(BasePlayer.activePlayerList) : new List<BasePlayer>());
stockings = ((Stocking.stockings != null) ? new List<Stocking>(Stocking.stockings.Values) : new List<Stocking>());
Invoke(RemoveMe, 60f);
if (Interface.CallHook("OnXmasLootDistribute", this) != null)
{
return;
}
InvokeRepeating(DistributeLoot, 3f, 0.02f);
Invoke(SendBells, 0.5f);
}Sources: Rust.opj from OxideMod/Oxide.Rust (MIT) and hook metadata of the Carbon documentation (MIT). Method code is decompiled from this branch's server.