### Cast Start and Configuration Methods Source: https://lizardsmoothie.com/sod/moddoc/api/Global.AbilityTrigger Documentation for methods related to the start of a casting action, configuration changes, and initial setup. ```APIDOC ## OnCastStart API ### Description Called on the server when this ability is cast. By default, this plays the animation and starts the configured channel. If `faceForward` is set to true, it will cause the owner to rotate towards the target/point/direction/cursor position. Target validation will be done on the channel if the cast method is set to Target. ### Method Virtual Method ### Endpoint N/A (Internal method) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) None #### Response Example None ## OnConfigChanged API ### Description Called everywhere when the current config index is changed or set to its initial value. ### Method Virtual Method ### Endpoint N/A (Internal method) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) None #### Response Example None ``` -------------------------------- ### Client Start Initialization (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.HeroSkill An override method called on the client when the network behaviour starts. This is used for client-side setup and initialization tasks. ```csharp public override void OnStartClient() { // Implementation details... base.OnStartClient(); } ``` -------------------------------- ### Start Method (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.EntityHighlightProvider Overrides the Start method from MeshHighlightProvider. This method is called before the first frame update, typically used for setup that depends on other objects being initialized. ```csharp protected override void Start() ``` -------------------------------- ### On Start Hook (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.Actor The initial setup method called on all network instances when the actor starts. This method overrides DewNetworkBehaviour.OnStart(). ```csharp public override void OnStart() { // Base initialization logic. // Custom setup here. } ``` -------------------------------- ### CheckStartGameCondition Method (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.PlayLobbyManager Checks if the game can start based on registered conditions. It outputs a reason string if the game cannot start and can optionally display a message to the user. ```csharp public bool CheckStartGameCondition(out string reason, bool showMessage) ``` -------------------------------- ### Accessory Class Setup Method Source: https://lizardsmoothie.com/sod/moddoc/api/Global.Accessory The Setup method for the Accessory class, which takes a target Transform and an entityName string as parameters. This method is used to initialize or configure the accessory based on the provided target and name. ```csharp public void Setup(Transform target, string entityName) ``` -------------------------------- ### Setup Method Signature (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.ArtifactWorldModel The signature for the Setup method within the ArtifactWorldModel class. It takes an Artifact object as a parameter to configure the world model. ```csharp public void Setup(Artifact a) ``` -------------------------------- ### OnStartServer API Source: https://lizardsmoothie.com/sod/moddoc/api/Global.EntityAI This endpoint is called when the server starts. ```APIDOC ## OnStartServer() ### Description Initializes server-side operations when the server starts. ### Method POST ### Endpoint /websites/lizardsmoothie_sod_moddoc_api/onstartserver ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```json {} ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example ```json { "message": "Server started successfully." } ``` ``` -------------------------------- ### Implement NetworkManager Start Override Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewNetworkManager This method is called when the script instance is being loaded. It's a standard Unity MonoBehaviour method often used for initial setup within the Mirror networking context. ```csharp public override void Start() { // Initialization code for the network manager } ``` -------------------------------- ### OnStart API Source: https://lizardsmoothie.com/sod/moddoc/api/Global.ZoneManager Handles the start event for the behavior. ```APIDOC ## OnStart() ### Description Handles the start event for the behavior. Overrides DewNetworkBehaviour.OnStart(). ### Method POST ### Endpoint /websites/lizardsmoothie_sod_moddoc_api/OnStart ### Parameters None ### Request Example None ### Response #### Success Response (204) No content, operation successful. #### Response Example None ``` -------------------------------- ### AddStartGameCondition Method (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.PlayLobbyManager Adds a condition to the game start process. The provided function (Func) must return a string reason if the start button should be unavailable, or null if it's available. ```csharp public void AddStartGameCondition(Func func) ``` -------------------------------- ### StartGame Method (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.PlayLobbyManager Initiates the start of the game, presumably after all necessary conditions are met. ```csharp public void StartGame() ``` -------------------------------- ### Start Channel in C# Source: https://lizardsmoothie.com/sod/moddoc/api/Global.EntityControl Initiates a new channel. This method takes a `Channel` object as input and returns the started `Channel`. It's part of the channel management system within the API. ```csharp public Channel StartChannel(Channel channel) ``` -------------------------------- ### Method: OnStartServer Source: https://lizardsmoothie.com/sod/moddoc/api/Global.Monster Called on the server when the entity starts. ```APIDOC ## Method: OnStartServer ### Description This method is executed on the server side when the entity is initialized. ### Method `public override void OnStartServer()` ### Endpoint N/A (Instance Method) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Response #### Success Response (200) No explicit return value. ### Overrides Entity.OnStartServer() ``` -------------------------------- ### OnStartServer Source: https://lizardsmoothie.com/sod/moddoc/api/Global.ChatManager Initializes server-side logic when the server starts. This method overrides a base class method. ```APIDOC ## OnStartServer ### Description Initializes server-side logic when the server starts. This method overrides a base class method. ### Method POST (assumed, as it initializes state) ### Endpoint Not applicable (method within a class). ### Parameters None ``` -------------------------------- ### Declare List of Strings for Seen Guides (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewProfile Declares a public list of strings named 'seenGuides'. This is used to keep track of guides that the player has already viewed or interacted with. ```csharp public List seenGuides ``` -------------------------------- ### Sequenced Initialization (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.AbilityInstance Initiates a sequenced startup process for an ability instance. This method runs on LogicUpdates and continues until the instance is killed. It returns SequenceInstructions to control the flow. ```csharp protected virtual IEnumerator OnCreateSequenced() ``` -------------------------------- ### Get Profile Main File Name C# Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewSave Gets the file name for a specific user's main profile based on a provided GUID. It requires a string GUID as input and returns the corresponding file name as a string. ```csharp public static string GetProfileMainFileName(string guid) { // Implementation details... return $"profile_main_{guid}.json"; } ``` -------------------------------- ### Try Get Asset GUID (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewResources Attempts to retrieve the unique identifier (GUID) of a given asset Object. The GUID is returned via an out parameter if the operation is successful. ```csharp public static bool TryGetGuidOfAsset(Object obj, out string guid) ``` -------------------------------- ### Get Resource by GUID (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewResources Retrieves a resource using its unique GUID. Supports generic type resolution and optional load settings. The 'guid' parameter is mandatory, while 'settings' is optional. ```csharp public static Object GetByGuid(string guid, ResourceLoadSettings settings = default) public static T GetByGuid(string guid, ResourceLoadSettings settings = default) where T : Object ``` -------------------------------- ### Try Get GUID of Asset Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewResources Attempts to retrieve the unique identifier (GUID) of an asset. Returns true if successful, false otherwise. ```APIDOC ## TryGetGuidOfAsset /websites/lizardsmoothie_sod_moddoc_api ### Description Attempts to retrieve the unique identifier (GUID) of an asset. Returns true if successful, false otherwise. ### Method POST ### Endpoint /websites/lizardsmoothie_sod_moddoc_api/TryGetGuidOfAsset ### Parameters #### Query Parameters - **obj** (UnityEngine.Object) - Required - The asset object to get the GUID from. ### Request Body (Not applicable for this method, parameters are passed via query string or path) ### Response #### Success Response (200) - **guid** (string) - The GUID of the asset if found. - **success** (bool) - True if the GUID was successfully retrieved, false otherwise. #### Response Example { "guid": "", "success": true } ``` -------------------------------- ### Highlight for Tutorial with Settings Source: https://lizardsmoothie.com/sod/moddoc/api/Global.GlobalUIManager Starts the tutorial highlighting process with specified settings. This method returns an IEnumerator, indicating it's a coroutine used for sequential highlighting steps. ```csharp public IEnumerator HighlightForTutorial(TutorialHighlightSettings s) ``` -------------------------------- ### UI_EmoteWheel_Item Methods (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.UI_EmoteWheel_Item Outlines the public methods of the UI_EmoteWheel_Item class, including SetHighlight and Setup. SetHighlight controls the visual highlighting of the emote item, while Setup initializes the item with an emote name. ```csharp public void SetHighlight(bool value) public override void Setup(string emoteName) ``` -------------------------------- ### Pickup Instance Methods Source: https://lizardsmoothie.com/sod/moddoc/api/Global.Pickup_LargeExpOrb This section details the methods and properties associated with the PickupInstance class, which handles in-game pickups. ```APIDOC ## Pickup Instance Methods ### Description Provides access to properties and methods for managing in-game pickups, including their effects, behavior, and lifecycle. ### Methods - **PickupInstance.OnPrepare()**: Called when the pickup is being prepared. - **PickupInstance.OnCreate()**: Called when the pickup is created. - **PickupInstance.OnDestroyActor()**: Called when the actor associated with the pickup is destroyed. - **PickupInstance.ActiveFrameUpdate()**: Updates the pickup's state during active frames. - **PickupInstance.ActiveLogicUpdate(float deltaTime)**: Updates the pickup's logic each frame. - **PickupInstance.CanBeUsedBy(Hero hero)**: Checks if the pickup can be used by a specific hero. ### Properties - **PickupInstance.mainEffect**: The main visual effect of the pickup. - **PickupInstance.pickupEffect**: The effect that occurs when the pickup is collected. - **PickupInstance.pickupEffectOnHero**: The effect applied to the hero upon pickup. - **PickupInstance.variationStrength**: The strength of the pickup's variation. - **PickupInstance.fixDirectionMaxSpeedRad**: Maximum radial speed for fixing pickup direction. - **PickupInstance.maxInitialVelocity**: Maximum initial velocity of the pickup. - **PickupInstance.maxVelocity**: Maximum velocity of the pickup. - **PickupInstance.velocityDeceleration**: Deceleration rate of the pickup's velocity. - **PickupInstance.velocityAccelerationMax**: Maximum acceleration rate of the pickup's velocity. - **PickupInstance.velocityAccelerationMin**: Minimum acceleration rate of the pickup's velocity. - **PickupInstance.pickupDelay**: Delay before the pickup can be collected. - **PickupInstance.expirationTime**: Time until the pickup expires. - **PickupInstance.attractionRange**: The range at which the pickup is attracted to the player. - **PickupInstance.pickupRange**: The range within which the pickup can be collected. - **PickupInstance.yPosFromGround**: The pickup's vertical position relative to the ground. - **PickupInstance.enableTimeoutMagnet**: Whether the timeout magnet feature is enabled. - **PickupInstance.timeoutMagnetTime**: Duration for which the timeout magnet is active. ### Inherited Members from Pickup_BaseExpOrb - **Pickup_BaseExpOrb.amount**: The amount associated with the base experience orb pickup. - **Pickup_BaseExpOrb.OnPickup(Hero hero)**: Called when the base experience orb is picked up. ``` -------------------------------- ### Entity State and Control Methods (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.Entity This snippet presents methods for controlling and querying an entity's state. It includes methods to get the entity's readable name, retrieve network authority connection, get stagger settings, and methods to kill the entity with or without interrupts. ```csharp public override string GetActorReadableName() protected override NetworkConnectionToClient GetNetworkAuthorityConnection() protected virtual Entity.StaggerSettings GetStaggerSettings() public void Kill() public void KillNoInterrupt() ``` -------------------------------- ### UI_GamepadTextInput Initialization Methods Source: https://lizardsmoothie.com/sod/moddoc/api/Global.UI_GamepadTextInput These methods are used to initiate the text input process. 'StartInput' provides an overloaded approach, one accepting various parameters for text input customization and the other a target TMP_InputField for simpler integration. ```csharp public void StartInput(string previousText, string placeholderText, bool isMultiline, bool isPassword, int maxCharacters, Action onConfirm, Action onCancel); public void StartInput(TMP_InputField target, Action onConfirm = null, Action onCancel = null); ``` -------------------------------- ### Quest Management API Source: https://lizardsmoothie.com/sod/moddoc/api/Global.QuestManager Provides methods for starting, getting, and checking the existence of quests. ```APIDOC ## POST /quests/start/{questType} ### Description Starts a new quest of a specified type. This endpoint can optionally accept a 'beforePrepare' action to execute before quest preparation. ### Method POST ### Endpoint /quests/start/{questType} ### Parameters #### Path Parameters - **questType** (string) - Required - The type of the quest to start. #### Query Parameters - **beforePrepare** (Action) - Optional - A callback action to execute before the quest is prepared. ### Request Example ```json { "prefab": { /* quest prefab details */ }, "beforePrepare": "// callback function" } ``` ### Response #### Success Response (200) - **quest** (DewQuest) - The started quest instance. #### Response Example ```json { "quest": { /* quest details */ } } ``` --- ## POST /quests/start ### Description Starts a new quest without specifying a prefab, allowing the system to determine the quest instance. This endpoint can optionally accept a 'beforePrepare' action. ### Method POST ### Endpoint /quests/start ### Parameters #### Query Parameters - **beforePrepare** (Action) - Optional - A callback action to execute before the quest is prepared. ### Request Example ```json { "beforePrepare": "// callback function" } ``` ### Response #### Success Response (200) - **quest** (DewQuest) - The started quest instance. #### Response Example ```json { "quest": { /* quest details */ } } ``` --- ## GET /quests/{type} ### Description Attempts to retrieve an existing quest of a specific type. ### Method GET ### Endpoint /quests/{type} ### Parameters #### Path Parameters - **type** (Type) - Required - The system type of the quest to retrieve. ### Response #### Success Response (200) - **quest** (DewQuest) - The retrieved quest instance if found, otherwise null. #### Response Example ```json { "quest": { /* quest details */ } } ``` --- ## GET /quests/try/{questType} ### Description Attempts to retrieve a quest of a specific generic type. ### Method GET ### Endpoint /quests/try/{questType} ### Parameters #### Path Parameters - **questType** (string) - Required - The generic type of the quest to retrieve. ### Response #### Success Response (200) - **quest** (T) - The retrieved quest instance if found, otherwise null. #### Response Example ```json { "quest": { /* quest details */ } } ``` --- ## GET /quests/has/{questType} ### Description Checks if a quest of a specific generic type is currently active. ### Method GET ### Endpoint /quests/has/{questType} ### Parameters #### Path Parameters - **questType** (string) - Required - The generic type of the quest to check for. ### Response #### Success Response (200) - **hasQuest** (bool) - True if a quest of the specified type exists, false otherwise. #### Response Example ```json { "hasQuest": true } ``` ``` -------------------------------- ### Channel and Rotation Methods Source: https://lizardsmoothie.com/sod/moddoc/api/Global.AbilityTrigger Documentation for methods related to starting a channel during casting and rotating the entity forward. ```APIDOC ## OnStartChannel API ### Description This method is called when a channel starts during a casting action. ### Method Protected Virtual Method ### Endpoint N/A (Internal method) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) None #### Response Example None ## OnRotateForward API ### Description This method is called to rotate the entity forward, potentially towards a target or direction. ### Method Protected Virtual Method ### Endpoint N/A (Internal method) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) None #### Response Example None ``` -------------------------------- ### Get Asset Identifiers (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewResources Utility methods to retrieve the unique GUID or link ID of a given UnityEngine.Object. These functions are essential for asset management and referencing. ```csharp public static string GetGuidOfAsset(Object obj) public static string GetLinkId(Object obj) ``` -------------------------------- ### FxVolume Methods Source: https://lizardsmoothie.com/sod/moddoc/api/Global.FxVolume Outlines the primary methods of the FxVolume class, including initialization (OnInit, Start), playback control (Play), context management (SetOwnerContext), and value updating (UpdateVolume, ValueSetter). These methods are crucial for integrating and controlling the volume effect. ```csharp protected override void OnInit() { // Implementation details } public override void Play() { // Implementation details } public void SetOwnerContext(EffectOwnerContext context) { // Implementation details } protected override void Start() { // Implementation details } public void UpdateVolume() { // Implementation details } protected override void ValueSetter(float value) { // Implementation details } ``` -------------------------------- ### Get Valid Agent Destination - Closest (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.Dew Finds a pathable destination point that is closest to a specified end point, starting from a given position. This is commonly used in navigation systems for agents. ```csharp public static Vector3 GetValidAgentDestination_Closest(Vector3 start, Vector3 end) ``` -------------------------------- ### OnStart Source: https://lizardsmoothie.com/sod/moddoc/api/Global.GameManager Handles the initialization of the game object. This method overrides the base DewNetworkBehaviour.OnStart. ```APIDOC ## POST /websites/lizardsmoothie_sod_moddoc_api/OnStart ### Description Handles the initialization of the game object. Overrides DewNetworkBehaviour.OnStart. ### Method POST ### Endpoint /websites/lizardsmoothie_sod_moddoc_api/OnStart ### Response #### Success Response (200) - **status** (string) - Indicates that the OnStart process has been completed. ``` -------------------------------- ### DewGraphicsSettings Methods Documentation (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewGraphicsSettings Documents the methods available in the DewGraphicsSettings class: Clone, Initialize, and Validate. Clone creates a copy of the settings, Initialize prepares the settings for use, and Validate ensures the settings are in a correct state. ```csharp public object Clone(); public void Initialize(); public void Validate(); ``` -------------------------------- ### Get NavMesh Path (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.Dew Calculates a path on the navigation mesh between two points. It takes start and end world positions as input and returns a NavMeshPath object representing the calculated path. ```csharp public static NavMeshPath GetNavMeshPath(Vector3 start, Vector3 end) ``` -------------------------------- ### FxFindEntity Methods (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.FxFindEntity Describes the 'OnEffectSetup' method within the FxFindEntity class. This method is part of the IEffectSetupComponent interface and is called during the effect setup process. ```csharp public void OnEffectSetup() { // Effect setup logic goes here. } ``` -------------------------------- ### Setting Beam Start Point (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewBeamRenderer Method to set the starting point of the beam. This method takes a Vector3 argument defining the start coordinates. ```csharp public void SetStartPoint(Vector3 point) { // ... implementation ... } ``` -------------------------------- ### OnLateStart Method Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewNetworkBehaviour Called during the late start phase. ```csharp public virtual void OnLateStart() ``` -------------------------------- ### DevGameManager Methods: HostGame and StartLocalGame (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DevGameManager Provides methods for initiating and managing game sessions. 'HostGame()' is used to host a new game, while 'StartLocalGame()' is for starting a local game instance. These methods are crucial for game initialization. ```csharp public void HostGame() ``` ```csharp public void StartLocalGame() ``` -------------------------------- ### Setting Beam Start and End Points (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewBeamRenderer Method to define both the start and end points of the beam. It accepts two Vector3 arguments for the start and end coordinates respectively. ```csharp public void SetPoints(Vector3 start, Vector3 end) { // ... implementation ... } ``` -------------------------------- ### Start Network Session Asynchronously Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewNetworkManager Starts a network session asynchronously. This method returns a UniTaskVoid, indicating it's an awaitable operation that doesn't return a value. Useful for managing the start of game sessions. ```csharp protected virtual UniTaskVoid StartSession() { // Implementation to start the session asynchronously return default; } ``` -------------------------------- ### Start Equip Gem Action Source: https://lizardsmoothie.com/sod/moddoc/api/Global.EditSkillManager Initiates the process of equipping a gem. This method takes a Gem object as input, likely to apply its properties or effects. ```csharp public void StartEquipGem(Gem gem) { // Implementation details for equipping a gem } ``` -------------------------------- ### OnStartClient Method Source: https://lizardsmoothie.com/sod/moddoc/api/Global.ConsoleManager This method is part of the NetworkedManagerBase and is called when a client starts. ```APIDOC ## OnStartClient ### Description This method is called on the client when the network session starts. It is intended for client-specific initialization logic. ### Method `void` ### Endpoint N/A (Internal method) ### Parameters None ### Request Example N/A ### Response N/A ``` -------------------------------- ### Database and Loaded GUIDs Properties (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewResources Public static properties providing access to the resource database and a read-only collection of loaded GUIDs. 'database' returns an instance of DewResourceDatabase, while 'loadedGuids' returns a collection of strings representing asset GUIDs. ```csharp public static DewInternal.DewResourceDatabase database { get; } public static System.Collections.Generic.IReadOnlyCollection loadedGuids { get; } ``` -------------------------------- ### Pickup Instance Logic Source: https://lizardsmoothie.com/sod/moddoc/api/Global.Pickup_ManaOrb Provides an example of a concrete pickup implementation, 'Pickup_ManaOrb', inheriting from 'PickupInstance'. It demonstrates overriding methods for checking usability and handling pickup events. ```csharp public class Pickup_ManaOrb : PickupInstance, ILogicUpdate, ICleanup, ICustomDestroyRoutine { public float amount; protected override bool CanBeUsedBy(Hero hero) { // Implementation details return true; } protected override void OnPickup(Hero hero) { // Implementation details } } ``` -------------------------------- ### Ability Start Event (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.AbilityTrigger This method is invoked on the server when an ability is cast. It handles default behaviors like playing animations and starting channels. It also supports rotating the owner towards a target if `faceForward` is enabled. Target validation is performed by the channel if the cast method is set to 'Target'. ```csharp public virtual void OnCastStart(int configIndex, CastInfo info) ``` -------------------------------- ### On Late Start Server Source: https://lizardsmoothie.com/sod/moddoc/api/Global.EntityVisual Handles the late start initialization on the server. This method is intended to be overridden by derived classes. ```csharp public override void OnLateStartServer() ``` -------------------------------- ### Initialize API Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewLocalization Initializes the system or a specific component. This function does not take any parameters and returns void. ```APIDOC ## POST /websites/lizardsmoothie_sod_moddoc_api/Initialize ### Description Initializes the system or a specific component. This function does not take any parameters and returns void. ### Method POST ### Endpoint `/websites/lizardsmoothie_sod_moddoc_api/Initialize` ### Parameters No parameters are required for this endpoint. ### Response #### Success Response (200) - **void** - Indicates successful initialization. #### Response Example ```json { "status": "Initialization successful" } ``` ``` -------------------------------- ### Implement OnStart Method Source: https://lizardsmoothie.com/sod/moddoc/api/Global.ActorManager This code declares the OnStart method, which overrides a base class method. This method is typically called once when the object or system is initialized, performing setup tasks. ```csharp public override void OnStart() ``` -------------------------------- ### Start Sequence Execution (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.AbilityInstance Starts a sequence of operations that will run while the actor instance is alive. The sequence is defined by an IEnumerator and is managed by LogicUpdates. ```csharp protected void StartSequence(IEnumerator sequence) ``` -------------------------------- ### Resource Retrieval by GUID Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewResources Retrieves a resource object using its unique GUID. Overloads are available for generic type retrieval. ```APIDOC ## GET /websites/lizardsmoothie_sod_mod_api/resources/guid ### Description Retrieves a resource object using its unique GUID. An optional generic type parameter can be specified for type-safe retrieval. ### Method GET ### Endpoint /websites/lizardsmoothie_sod_mod_api/resources/guid ### Parameters #### Query Parameters - **guid** (string) - Required - The unique identifier for the resource. - **settings** (ResourceLoadSettings) - Optional - Settings for resource loading. ### Request Example ```json { "guid": "some-guid-string", "settings": {} } ``` ### Response #### Success Response (200) - **Object** (UnityEngine.Object) - The retrieved resource object. #### Response Example ```json { "resource": "..." } ``` ``` -------------------------------- ### Get Render Bounds Source: https://lizardsmoothie.com/sod/moddoc/api/Global.EntityVisual Gets the bounding box encompassing all solid renderers of the entity. This is useful for culling and spatial queries. ```csharp public Bounds GetRenderBounds() ``` -------------------------------- ### Start Regular Edit Mode Source: https://lizardsmoothie.com/sod/moddoc/api/Global.EditSkillManager Starts a regular editing mode, with an option to specify whether the edit should conclude automatically after the action is completed. ```csharp public void StartRegularEdit(bool endAfterAction) { // Implementation details for starting regular edit } ``` -------------------------------- ### Start Conversation Coroutine C# Source: https://lizardsmoothie.com/sod/moddoc/api/Global.ConversationManager Starts a conversation routine that continues until the conversation concludes. It takes DewConversationSettings as input and returns an IEnumerator. ```csharp public IEnumerator StartConversationRoutine(DewConversationSettings s) { // Coroutine implementation details yield break; } ``` -------------------------------- ### Ability Instance Methods Source: https://lizardsmoothie.com/sod/moddoc/api/Global.Pickup_LargeExpOrb Details the methods and properties related to the AbilityInstance class, used for managing in-game abilities. ```APIDOC ## Ability Instance Methods ### Description Provides access to properties and methods for managing in-game abilities, including their resource costs, effects, and lifecycle. ### Methods - **AbilityInstance.ResetBudget()**: Resets the ability's budget. - **AbilityInstance.Budget_ShouldPlayEffects()**: Determines if effects should be played based on budget. - **AbilityInstance.Budget_ShouldDoFullCalculations()**: Determines if full calculations should be performed based on budget. - **AbilityInstance.OnStart()**: Called when the ability starts. - **AbilityInstance.LogicUpdate(float deltaTime)**: Updates the ability's logic each frame. - **AbilityInstance.DestroyOnCondition(Func condition)**: Destroys the ability if a condition is met. - **AbilityInstance.DestroyOnDeath(Entity entity, bool isDying)**: Destroys the ability when the associated entity dies. - **AbilityInstance.DestroyOnDestroy(Actor actor)**: Destroys the ability when the associated actor is destroyed. - **AbilityInstance.StartSequence(IEnumerator sequence)**: Starts a coroutine sequence for the ability. - **AbilityInstance.OnCreateSequenced()**: Called when the ability is created with a sequence. - **AbilityInstance.CreateStatusEffect(T effectData, Entity target, Action onCreated)**: Creates a status effect with specific data. - **AbilityInstance.CreateStatusEffect(Entity target, Action onCreated)**: Creates a generic status effect. - **AbilityInstance.GetActorReadableName()**: Gets a readable name for the associated actor. - **AbilityInstance.StartChargingChannel(ChargingChannel channel)**: Starts a charging channel for the ability. - **AbilityInstance.DefaultDamage(ScalingValue damage, float multiplier)**: Applies default damage. - **AbilityInstance.PhysicalDamage(ScalingValue damage, float multiplier)**: Applies physical damage. - **AbilityInstance.MagicDamage(ScalingValue damage, float multiplier)**: Applies magic damage. - **AbilityInstance.PhysicalMagicDamage(ScalingValue damage, float multiplier)**: Applies physical and magic damage. - **AbilityInstance.PureDamage(ScalingValue damage, float multiplier)**: Applies pure damage. - **AbilityInstance.Damage(ScalingValue damage, float multiplier)**: Applies generic damage. - **AbilityInstance.CreateDamage(DamageData.SourceType sourceType, ScalingValue damage, float multiplier)**: Creates damage data. - **AbilityInstance.Heal(ScalingValue amount)**: Heals the target. - **AbilityInstance.GetValue(ScalingValue value)**: Gets the scaled value. - **AbilityInstance.GetValue(T[] values)**: Gets a scaled value from an array. - **AbilityInstance.GetValue(StarScalingValue value)**: Gets a scaled value using star scaling. - **AbilityInstance.GetValueInt(StarScalingValue value)**: Gets an integer scaled value using star scaling. ### Properties - **AbilityInstance.useBudgetSystem**: Whether the ability uses a budget system. - **AbilityInstance.maxBudget**: Maximum budget for the ability. - **AbilityInstance.currentCostSum**: Current total cost of the ability. - **AbilityInstance.currentCostSumPerPlayer**: Current total cost per player. - **AbilityInstance.budgetPressure**: The pressure on the ability's budget. - **AbilityInstance.info**: Information about the ability. - **AbilityInstance.skillLevel**: The current skill level of the ability. - **AbilityInstance.startEffectNoStop**: Whether the start effect plays without stopping. - **AbilityInstance.startEffect**: The effect played when the ability starts. - **AbilityInstance.endEffect**: The effect played when the ability ends. - **AbilityInstance.budgetCost**: The budget cost of the ability. - **AbilityInstance.chain**: Indicates if the ability is part of a chain. - **AbilityInstance.gem**: Associated gem, if any. - **AbilityInstance.tvDefaultHarmfulEffectTargets**: Default targets for harmful effects. - **AbilityInstance.tvDefaultUsefulEffectTargets**: Default targets for useful effects. - **AbilityInstance.tvDefaultAllExceptSelf**: Default targets including all except self. - **AbilityInstance.hasOngoingSequences**: Whether there are ongoing sequences. - **AbilityInstance.effectiveLevel**: The effective level of the ability. - **AbilityInstance.statEntity**: The entity associated with the ability's statistics. ``` -------------------------------- ### AddGuid Method - C# Source: https://lizardsmoothie.com/sod/moddoc/api/Global.PreloadInterface Adds a specific asset identified by its GUID to the preload list. This is useful for preloading individual assets when their GUID is known. ```csharp public void AddGuid(string guid) ``` -------------------------------- ### Get Entity Transform Modifier Source: https://lizardsmoothie.com/sod/moddoc/api/Global.EntityVisual Gets a new transform modifier for this entity. The transform is applied locally to its model, allowing for localized transformations. ```csharp public EntityTransformModifier GetNewTransformModifier() ``` -------------------------------- ### OnStartServer Source: https://lizardsmoothie.com/sod/moddoc/api/Global.GameManager Handles the initialization of the game object on the server. This method overrides the base DewNetworkBehaviour.OnStartServer. ```APIDOC ## POST /websites/lizardsmoothie_sod_moddoc_api/OnStartServer ### Description Handles the initialization of the game object on the server. Overrides DewNetworkBehaviour.OnStartServer. ### Method POST ### Endpoint /websites/lizardsmoothie_sod_moddoc_api/OnStartServer ### Response #### Success Response (200) - **status** (string) - Indicates that the OnStartServer process has been completed. ``` -------------------------------- ### ZoneManager Fields: ClientEvent_OnLoopStarted Source: https://lizardsmoothie.com/sod/moddoc/api/Global.ZoneManager A SafeAction event that is triggered when the first zone starts or a new loop has started. This event does not take any arguments and is available everywhere. ```csharp public SafeAction ClientEvent_OnLoopStarted ``` -------------------------------- ### Control Preset Window Interface Source: https://lizardsmoothie.com/sod/moddoc/api/Global.IControlPresetWindow Provides methods to interact with the preset window. ```APIDOC ## Interface IControlPresetWindow ### Description Represents an interface for controlling a preset window. ### Methods #### Hide() ##### Description Hides the preset window. ##### Method `void Hide()` #### IsShown() ##### Description Checks if the preset window is currently shown. ##### Method `bool IsShown()` ##### Returns - **bool**: Indicates whether the window is shown. #### Show(bool) ##### Description Shows the preset window, with an option to display a cancel button. ##### Method `void Show(bool showCancel)` ##### Parameters - **showCancel** (bool) - Determines if a cancel button should be displayed. ``` -------------------------------- ### GameMod_Limbo Utility Methods Source: https://lizardsmoothie.com/sod/moddoc/api/Global.GameMod_Limbo Static utility methods for GameMod_Limbo, providing functionality to get the current count of unlocked Evil Lucid Dreams, localize depth information, retrieve insufficient requirement messages, determine the maximum depths, get required unlocked Evil Lucid Dreams, check if Limbo is unlocked, and get the current lobby depth. ```csharp public static int GetCurrentUnlockedEvilLucidDreams(); public static string GetDepthLocalized(int depth); public static string GetInsufficientRequirementMessage(); public static int GetMaxDepths(); public static int GetRequiredUnlockedEvilLucidDreams(); public static bool IsLimboUnlocked(); public static int Lobby_GetDepth(); public static int Lobby_GetDepth(LobbyInstance); ``` -------------------------------- ### Showing the Control Preset Window (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.IControlPresetWindow The Show method displays the control preset window. It accepts a single boolean parameter to determine if a cancel option should be shown. This method returns void and is part of the IControlPresetWindow interface. ```csharp void Show(bool showCancel) ``` -------------------------------- ### EaseInOutBack Function - C# Source: https://lizardsmoothie.com/sod/moddoc/api/Global.EasingFunction Calculates the 'EaseInOutBack' easing effect, which applies a back-and-forth motion at both the start and end of an animation. It takes start, end, and value parameters. ```csharp public static float EaseInOutBack(float start, float end, float value) ``` -------------------------------- ### Instantiate and Spawn Component (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.Dew Instantiates a component from a prefab and then spawns it. It allows for an optional action to be performed on the component before spawning. ```csharp public static T InstantiateAndSpawn(T prefab, Action beforeSpawn = null) where T : Component ``` -------------------------------- ### Implement OnEffectSetup Method (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.IEffectSetupComponent This method signature represents the OnEffectSetup() method within the IEffectSetupComponent interface. It is called by the system before any effects are executed, allowing for necessary pre-processing or setup operations. ```csharp void OnEffectSetup() ``` -------------------------------- ### C# Get Sell Gold Method (Static) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.SkillTrigger A static method to get the gold value when selling an item based on rarity and level. It returns an integer representing the gold received. ```csharp public static int GetSellGold(Rarity rarity, int level) ``` -------------------------------- ### C# Override Get Cooldown Time Offset Method Source: https://lizardsmoothie.com/sod/moddoc/api/Global.SkillTrigger Overrides the method to get the cooldown time offset for a specific configuration index. Returns a float value representing the offset. ```csharp public override float GetCooldownTimeOffset(int configIndex) ``` -------------------------------- ### Implement OnStartServer Method Source: https://lizardsmoothie.com/sod/moddoc/api/Global.ActorManager This code defines the OnStartServer method, an override of a base class method. It is specifically executed on the server to perform server-initialization tasks. ```csharp public override void OnStartServer() ``` -------------------------------- ### C# Get Buy Gold Method (Static) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.SkillTrigger A static method to get the gold value for purchasing an item based on rarity and level. It returns an integer representing the gold cost. ```csharp public static int GetBuyGold(Rarity rarity, int level) ``` -------------------------------- ### Start Charging Channel (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.AbilityInstance Initiates a charging channel process with the provided ChargingChannel object. This is likely used for abilities that require a charge-up time. ```csharp public void StartChargingChannel(ChargingChannel channel) ``` -------------------------------- ### ChannelData Get Method (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.ChannelData The Get() method is part of the ChannelData class and is responsible for creating and returning a Channel object based on the instance's properties. ```csharp public Channel Get() ``` -------------------------------- ### EaseInOutExpo and EaseInOutExpoD Functions Source: https://lizardsmoothie.com/sod/moddoc/api/Global.EasingFunction These functions offer exponential easing in and out, along with its derivative. They provide a very fast start and slow end. The parameters are start, end, and the value to ease. ```csharp public static float EaseInOutExpo(float start, float end, float value) { // Implementation details for exponential easing return 0.0f; // Placeholder } public static float EaseInOutExpoD(float start, float end, float value) { // Implementation details for the derivative of exponential easing return 0.0f; // Placeholder } ``` -------------------------------- ### Ability Instance API Source: https://lizardsmoothie.com/sod/moddoc/api/Global.Pickup_SmallExpOrb This section covers the properties and methods related to an AbilityInstance, representing a player's ability or skill. ```APIDOC ## Ability Instance API ### Description Details the functionalities and attributes of an AbilityInstance, including its resource management, effects, and lifecycle methods. ### Endpoints This section describes the available properties and methods for `AbilityInstance`. #### Properties - **useBudgetSystem** (bool) - Indicates if the ability uses a budget system for its effects. - **maxBudget** (float) - The maximum budget available for the ability. - **currentCostSum** (float) - The total current cost of the ability. - **currentCostSumPerPlayer** (float) - The current cost of the ability for each player. - **budgetPressure** (float) - The current pressure on the ability's budget. - **info** (AbilityInfo) - Information about the ability. - **skillLevel** (int) - The current skill level of the ability. - **startEffectNoStop** (Effect) - The effect to start without stopping other effects. - **startEffect** (Effect) - The primary start effect of the ability. - **endEffect** (Effect) - The effect that plays when the ability ends. - **budgetCost** (float) - The budget cost associated with the ability. - **chain** (bool) - Whether the ability can chain into other abilities. - **gem** (Gem) - The gem associated with the ability, if any. - **tvDefaultHarmfulEffectTargets** (EffectTargetType) - Default target type for harmful effects. - **tvDefaultUsefulEffectTargets** (EffectTargetType) - Default target type for useful effects. - **tvDefaultAllExceptSelf** (EffectTargetType) - Default target type for all effects except self. - **hasOngoingSequences** (bool) - Whether the ability has ongoing sequences. - **effectiveLevel** (int) - The effective skill level of the ability. - **statEntity** (Entity) - The entity associated with the ability's statistics. #### Methods - **ResetBudget()**: Resets the ability's budget. - **Budget_ShouldPlayEffects()**: Determines if effects should be played based on the budget. - **Budget_ShouldDoFullCalculations()**: Determines if full calculations should be performed based on the budget. - **OnStart()**: Called when the ability starts. - **LogicUpdate(float delta)**: Updates the ability's logic based on the time delta. - **DestroyOnCondition(Func condition)**: Destroys the ability if the condition is met. - **DestroyOnDeath(Entity entity, bool isPlayer)**: Destroys the ability when the specified entity dies. - **DestroyOnDestroy(Actor actor)**: Destroys the ability when the specified actor is destroyed. - **StartSequence(IEnumerator sequence)**: Starts a coroutine sequence for the ability. - **OnCreateSequenced()**: Called when a sequenced ability is created. - **CreateStatusEffect(T effect, Entity target, Action configure)**: Creates a status effect of type T on the target entity. - **CreateStatusEffect(Entity target, Action configure)**: Creates a status effect of type T on the target entity without specifying the effect type directly. - **GetActorReadableName()**: Returns a readable name for the associated actor. - **StartChargingChannel(ChargingChannel channel)**: Starts a charging channel for the ability. - **DefaultDamage(ScalingValue damage, float multiplier)**: Calculates default damage. - **PhysicalDamage(ScalingValue damage, float multiplier)**: Calculates physical damage. - **MagicDamage(ScalingValue damage, float multiplier)**: Calculates magic damage. - **PhysicalMagicDamage(ScalingValue damage, float multiplier)**: Calculates physical and magic damage. - **PureDamage(ScalingValue damage, float multiplier)**: Calculates pure damage. - **Damage(ScalingValue damage, float multiplier)**: Calculates general damage. - **CreateDamage(DamageData.SourceType sourceType, ScalingValue damage, float multiplier)**: Creates damage data with a specified source type. - **Heal(ScalingValue amount)**: Calculates healing amount. - **GetValue(ScalingValue value)**: Gets the calculated value of a ScalingValue. - **GetValue(T[] values)**: Gets a calculated value from an array of values. - **GetValue(StarScalingValue value)**: Gets the calculated value of a StarScalingValue. - **GetValueInt(StarScalingValue value)**: Gets the integer value of a StarScalingValue. ``` -------------------------------- ### GoToTitle Method Declaration Source: https://lizardsmoothie.com/sod/moddoc/api/Global.Intro_SceneController Declaration of the 'GoToTitle' method. This method is intended to transition the scene to the main title or menu. ```csharp public void GoToTitle() ``` -------------------------------- ### EaseInBack Function - C# Source: https://lizardsmoothie.com/sod/moddoc/api/Global.EasingFunction Calculates the 'EaseInBack' easing effect. This function is useful for creating animations that start slowly and then accelerate. It takes start, end, and value parameters. ```csharp public static float EaseInBack(float start, float end, float value) ``` -------------------------------- ### On Start Server Hook (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.Actor Called on server instances when the actor starts. This method overrides DewNetworkBehaviour.OnStartServer() and is used for server-specific initialization. ```csharp public override void OnStartServer() { // Base server initialization logic. // Custom server setup here. } ``` -------------------------------- ### Rift Class Methods Source: https://lizardsmoothie.com/sod/moddoc/api/Global.Rift Documents the essential methods of the Rift class, including lifecycle methods (Awake, OnCreate), interaction handling (CanInteract, OnInteractRift), and state-changing actions (Close, Open). ```csharp protected override void Awake() protected override void OnCreate() public virtual bool CanInteract(Entity entity) protected virtual bool OnInteractRift(Hero hero) [Button] public void Close() public void Open() ``` -------------------------------- ### On Start Client Hook (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.Actor Called on client instances when the actor starts. This method overrides DewNetworkBehaviour.OnStartClient() and is used for client-specific initialization. ```csharp public override void OnStartClient() { // Base client initialization logic. // Custom client setup here. } ``` -------------------------------- ### Initialize Method Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewAudioSettings_Platform The Initialize method in DewAudioSettings_Platform is a void method, meaning it does not return any value. Its purpose is to perform initialization tasks for the DewAudioSettings_Platform object. This method implements the Initialize method from the IInitializableSettings interface. ```csharp public void Initialize() ``` -------------------------------- ### Rift_MockExit Class Source: https://lizardsmoothie.com/sod/moddoc/api/Global.Rift_MockExit Documentation for the Rift_MockExit class, which inherits from Rift_RoomExit and implements several interfaces. ```APIDOC ## Rift_MockExit Class ### Description Represents a mock exit in a room, implementing various interfaces for game logic and interaction. ### Syntax ``` public class Rift_MockExit : Rift_RoomExit, ILogicUpdate, ICleanup, ICustomDestroyRoutine, IInteractable, IBanRoomNodesNearby, IBanRoomNodesNearbyMultiple ``` ### Fields #### onTravel Called on interacting client. ##### Declaration ``` public UnityEvent onTravel ``` ##### Field Value Type | Description ---|--- UnityEngine.Events.UnityEvent | ### Implements - ILogicUpdate - ICleanup - ICustomDestroyRoutine - IInteractable - IBanRoomNodesNearby - IBanRoomNodesNearbyMultiple ``` -------------------------------- ### RoomSavedObject guid Field Declaration (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.RoomSavedObject Declares the 'guid' field of type string within the RoomSavedObject class. The [ReadOnly] and [SerializeField] attributes control its visibility and serialization. ```csharp [ReadOnly] [SerializeField] public string guid ``` -------------------------------- ### EaseInElastic Function - C# Source: https://lizardsmoothie.com/sod/moddoc/api/Global.EasingFunction Implements the 'EaseInElastic' easing effect, creating an elastic or spring-like motion at the start of an animation. It requires start, end, and value parameters for defining the animation. ```csharp public static float EaseInElastic(float start, float end, float value) ``` -------------------------------- ### Experience and Leveling Configuration (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewGameplayExperienceSettings Defines the maximum level for heroes and other experience-related parameters. ```csharp [Header("Experience")] public int maxHeroLevel ``` -------------------------------- ### Preload Resource by GUID (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewResources Preloads a resource identified by its GUID. This can be useful for ensuring resources are available in memory before they are explicitly requested, improving performance by reducing loading latency. ```csharp public static void Preload(string guid) ``` -------------------------------- ### OnCastStart Method Override (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.AttackTrigger Overrides the base OnCastStart(int, CastInfo) method. This method is called at the beginning of an ability cast, taking 'configIndex' and 'CastInfo' to manage the initial casting state. ```csharp public override void OnCastStart(int configIndex, CastInfo info) ``` -------------------------------- ### DewRandom Constructor and Seed Management Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewRandom Demonstrates the constructor for DewRandom, which accepts a uint seed for initialization. Also includes methods to get a random seed and explicitly set the seed. ```csharp public DewRandom(uint seed) public static uint GetRandomSeed() public void SetSeed(uint seed) ``` -------------------------------- ### Quest Manager Lifecycle Methods Source: https://lizardsmoothie.com/sod/moddoc/api/Global.QuestManager Provides the declaration for OnStartClient and OnStartServer methods, which are overrides for initializing network components on client and server respectively. These methods are crucial for setting up networked game states. ```csharp public override void OnStartClient() ``` ```csharp public override void OnStartServer() ``` -------------------------------- ### EaseInCirc Function - C# Source: https://lizardsmoothie.com/sod/moddoc/api/Global.EasingFunction Implements the 'EaseInCirc' easing effect, characterized by a circular acceleration at the start of the animation. It requires start, end, and value parameters to determine the animation's interpolation. ```csharp public static float EaseInCirc(float start, float end, float value) ``` -------------------------------- ### C# Method Declaration: Init(bool) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.DewGameContentSettings Declares an initialization method 'Init' that accepts an optional boolean parameter 'skipValidation'. This method likely performs setup operations for the game content settings. ```csharp public void Init(bool skipValidation = false) ``` -------------------------------- ### Channel Start Handling (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.AbilityTrigger This method is invoked when a channel associated with an ability begins. It's used to manage the initiation of channeled abilities in game development. ```csharp protected virtual void OnStartChannel(int configIndex, CastInfo info) ``` -------------------------------- ### Get Easing Derivative Value (C#) Source: https://lizardsmoothie.com/sod/moddoc/api/Global.EasingFunction Gets the derivative (velocity) for a given easing function and normalized time. This extension method is useful for calculating speed in animations based on the easing curve. ```csharp public static float GetDelta(this DewEase ease, float x) ```