### Define a Default Archetype Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Archetypes Basic configuration for a starting archetype in the example pack. ```yaml ADVENTURER: Display: 'Adventurer' MaxLevel: 1 ``` -------------------------------- ### Configure a Magic Missile Spell Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Spells This example demonstrates a basic spell configuration for 'Magic Missile'. It includes settings for cooldown, display name, description, icon, learnability, learning conditions, targeter, trigger, cost, target conditions, and the skill to be cast. ```yaml MAGIC_MISSILE: Cooldown: 2 Display: 'Magic Missile' Description: - 'Shoots a magic missile' Icon: Material: NETHER_STAR Model: 20 Learnable: true LearnConditions: - archetype{group=class;type=wizard} Targeter: "@target" Trigger: ~onUse Cost: - mana 40 TargetConditions: - distance{d=<20} true Skills: - missile{} ``` -------------------------------- ### Set Quickcast Binding Example Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Mechanics/SetQuickcastBinding Assigns the FIREBALL spell to the quickcast binding slot 0 for the casting player. ```yaml Skills: - setquickcastbinding{binding=0;spell=FIREBALL} @self ``` -------------------------------- ### Configure a Custom Archetype Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Archetypes Example of a complex archetype with leveling, base stats, stat modifiers, and skill triggers. ```yaml TestArchetype: Group: CLASS Display: 'an archetype' Leveling: MinLevel: 1 MaxLevel: 50 ExperienceCurve: TEST_STATIC ExperienceSource: MOBS BaseStats: - HEALTH '20 + 5L' StatModifiers: - HEALTH 2 ADDITIVE_MULTIPLIER InitSkills: [] QuitSkills: [] Bindings: - 1 Fireball - 2 IceBall - 3 PoisonBall Skills: - message{m="item"} ~onPickupItem ?triggeringItemType{type=TestFireWand} ``` -------------------------------- ### Check and Teach Spell Example Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Conditions/HasLearnedSpell Demonstrates using hasLearnedSpell to verify a player has not learned a spell before teaching it, combined with a currency check. ```yaml LearnMagicMissile: TargetConditions: - hasLearnedSpell{spell=MagicMissile} false - hascurrency{a=500} Skills: - teachspell{s=MagicMissile;l=1} - currencytake{amount=500} - message{m="Eheh, thanks for you patronage!"} ``` -------------------------------- ### Configure a Profession Archetype Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Archetypes Example of a profession-based archetype focusing on mining experience. ```yaml TestMiner: Group: PROFESSION Display: 'Miner' Leveling: MinLevel: 1 MaxLevel: 50 ExperienceCurve: TEST_FORMULA ExperienceSource: MINING ``` -------------------------------- ### Set Player Archetype Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Mechanics/SetArchetype Use this skill to set the archetype for a player. Specify the group and archetype to apply. This example targets the nearest player within 10 blocks. ```yaml Skills: - setarchetype{group=CLASS;archetype=ADVENTURER} @NearestPlayer{r=10} ``` -------------------------------- ### Activate Quickcasting Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Mechanics/QuickcastingActivate Use this configuration to enable quickcasting for players. This mechanic has no specific attributes. ```yaml Skills: - quickcastingactivate ``` -------------------------------- ### Create Command to Open Talent Menu Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Archetypes/Talents Set up a custom command to open a player's talent tree menu. The 'Function.Type' should be 'opentalentmenu', and the 'Group' specifies which archetype's menu to open. The archetype must have a 'Menu' defined. ```yaml command_talent_trees: Command: Id: talenttree Function: Type: opentalentmenu Group: CLASS Skills: - sound{s=block.note_block.pling} @self ``` -------------------------------- ### Event: onQuickcastactivate Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Triggers/onQuickcastOpen Trigger documentation for when a player initiates a quick cast action. ```APIDOC ## Event: onQuickcastactivate ### Description Triggers when the player with the archetype starts the quick cast. ### Aliases - onQuickcastactivate ``` -------------------------------- ### Implement onItemPickup Trigger in YAML Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Triggers/onItemPickup Use this trigger within a skill configuration to execute actions upon item pickup. ```yaml Skills: - message{m=You picked something up!} @self ~onItemPickup ``` -------------------------------- ### Teach Spell on Player Death Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Mechanics/TeachSpell Teaches a player the 'ExampleSpell' at level 10 when they die. Ensure the spell 'ExampleSpell' is defined in your configuration. ```yaml Skills: - teachspell{s=ExampleSpell;l=10} @trigger ~onDeath ``` -------------------------------- ### Define Talent Tree Menu Icon Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Archetypes/Talents Create a menu icon that allows players to invest talent points. The 'Function.Type' must be 'talent', and 'Archetype' and 'Talent' should reference the configured talent tree and specific talent. ```yaml talenttree_menu: Icons: TALENT_1: Mapping: 1 Function: Type: talent Archetype: WARRIOR Talent: CLEAVE ``` -------------------------------- ### Configure Archetype Talent Tree Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Archetypes/Talents Define a TalentTree section within an Archetype configuration to set up talent options, currency type, and associated talents. Ensure the 'Menu' option matches the one defined in the talent menu configuration. ```yaml WARRIOR: TalentTree: PointType: SKILL_POINT Menu: talenttree_menu Talents: CLEAVE: Type: SPELL Spell: warrior_cleave Display: 'Cleave' Description: - 'Teaches you the Cleave ability' MaxPoints: 10 ``` -------------------------------- ### Set Quickcast Binding Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Mechanics/SetQuickcastBinding Force-sets the casting player's quickcast binding if possible. ```APIDOC ## SETQUICKCASTBINDING ### Description Force-sets the casting player's quickcast binding if possible. ### Method Skills (in-game command) ### Endpoint N/A (in-game command) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```yaml Skills: - setquickcastbinding{binding=0;spell=FIREBALL} @self ``` ### Response #### Success Response (200) None (command execution) #### Response Example None ``` -------------------------------- ### Spell Configuration Schema Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Spells Defines the structure and options for creating a spell from a Mythic metaskill. ```APIDOC ## Spell Configuration ### Description Convert a Mythic metaskill into a spell by adding the 'Spell: true' option. This unlocks additional casting controls and GUI display options. ### Parameters #### Functional Options - **Spell** (boolean) - Required - Set to true to register as a spell. - **LearnConditions** (list) - Optional - Conditions required to learn the spell. - **Trigger** (string) - Optional - The trigger for the spell (default: ~onCombat). - **Targeter** (string) - Optional - The main targeter for the spell (default: @self). - **Cost** (list) - Optional - Reagents required to cast the spell. - **Global** (boolean) - Optional - If true, automatically applied to all players. - **Upgrades** (integer) - Optional - Max level the spell can reach (default: 1). - **Bindable** (boolean) - Optional - Whether the slot can be bound (default: false). #### Aesthetic Options - **Display** (string) - Optional - Display name of the spell. - **Description** (list) - Optional - Description for GUIs. - **Icon.Material** (string) - Optional - Material for the spell icon. - **Icon.Model** (string) - Optional - Model ID for the spell icon. - **KillMessage** (list) - Optional - Messages displayed on kill. ### Request Example ```yaml MAGIC_MISSILE: Cooldown: 2 Display: 'Magic Missile' Description: - 'Shoots a magic missile' Icon: Material: NETHER_STAR Model: 20 Learnable: true LearnConditions: - archetype{group=class;type=wizard} Targeter: "@target" Trigger: ~onUse Cost: - mana 40 TargetConditions: - distance{d=<20} true Skills: - missile{} ``` ``` -------------------------------- ### PlaceholderAPI Integration Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Placeholders Placeholders for integration with PlaceholderAPI to retrieve player reagent, archetype, and binding data. ```APIDOC ## PlaceholderAPI Integration ### Description These placeholders are designed for use with PlaceholderAPI to fetch player-specific stats, reagent values, and spell binding information. ### Reagent Placeholders - **%mythic_reagent_[name]%** - Current value of the player's reagent (Defaults to 0). - **%mythic_reagent_max_[name]%** - Max value of the player's reagent (Defaults to 0). ### Archetype Placeholders - **%mythic_archetype_[group]%** - Returns the player's archetype from the specified group. - **%mythic_archetype_level_[group]%** - Returns the player's archetype level from the specified group. - **%mythic_archetype_exp_[group]%** - Returns the player's archetype experience from the specified group. - **%mythic_archetype_exp_goal_[group]%** - Returns the player's archetype experience goal from the specified group. ### Binding & Casting Placeholders - **%mythic_is_casting%** - Returns whether the player is currently casting a skill. - **%mythic_binding_id_[binding]%** - The spell ID bound to the given binding. - **%mythic_binding_name_[binding]%** - The spell display name. - **%mythic_binding_cooldown_current_[binding]%** - The current cooldown of the binding. - **%mythic_binding_cooldown_max_[binding]%** - The max cooldown of the binding. - **%mythic_binding_cost_[reagent]_[binding]%** - The reagent cost of the spell for the given reagent type. - **%mythic_binding_key_[binding]%** - The button to press if using hotbar mode. ``` -------------------------------- ### Define Experience Sources Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Archetypes/Leveling Specifies the sources from which players can earn experience, such as killing specific entities. ```yaml MOBS: Sources: - Type: killEntity Conditions: [] TriggerConditions: [] Values: - ZOMBIE 1to2 - HUSK 1to2 - SKELETON 50 - Type: killmythic Conditions: [] TriggerConditions: [] Values: - TestingDummy2 100 ``` -------------------------------- ### Configure Archetype Leveling Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Archetypes/Leveling Defines the leveling parameters for an archetype, including level bounds and experience configuration. ```yaml TestArchetype: Leveling: MinLevel: 1 MaxLevel: 50 ExperienceCurve: TEST_STATIC ExperienceSource: MOBS ``` -------------------------------- ### Configure Global Spells Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Spells/Learning Enable a spell to be automatically granted to all players by setting the Global flag. ```yaml SomeGlobalSkill: Spell: true Global: true ... ``` -------------------------------- ### Create a Spell from a Mythic Skill Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Spells To turn a regular Mythic metaskill into a spell, add the 'Spell: true' option. This enables player learnability and unlocks additional casting options. The spell will be registered after the next reload. ```yaml Spell: true ``` -------------------------------- ### Define Experience Curves Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Archetypes/Leveling Configures how much experience is required per level using either mathematical formulas or static level-to-experience mappings. ```yaml TEST_FORMULA: Type: FORMULA Formula: 'x * 100' TEST_STATIC: Type: STATIC Levels: 1: 100 2: 200 3: 500 ``` -------------------------------- ### Give Mythic Experience Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Mechanics/GiveMythicExperience Grants a specified amount of experience to a player or group. ```APIDOC ## GIVE MYTHIC EXPERIENCE ### Description Gives a player experience. ### Method Not Applicable (Command) ### Endpoint Not Applicable (Command) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Attributes | Attribute | Aliases | Description | Default | |---|---|---|---| | group | g | The affected group | CLASS | | archetype | a | The affected archetype | | | amount | a | The amount of experience given | 1 | | source | s, t, type | The [source](/Archetypes/Leveling#experience-sources) of the experience | | ### Request Example ```yaml Skills: - givemythicexperience{group=PROFESSION;amount=10} @NearestPlayer{r=10} ``` ### Response None (Command Output) ### Aliases - giveRPGExperience ``` -------------------------------- ### onQuickcastend Event Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Triggers/onQuickCastClose This event is triggered when a player with a specific archetype finishes their quick cast action. ```APIDOC ## onQuickcastend ### Description Triggers when the player with the archetype ends the quick cast. ### Method Event ### Endpoint N/A (Event-based) ### Parameters This event does not have explicit parameters documented. It is assumed to be contextually available within the event handler. ### Request Example N/A (Event-based) ### Response N/A (Event-based) ``` -------------------------------- ### Implement quickcastingdeactivate in YAML Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Mechanics/QuickcastingDeactivate Add this mechanic to a skill configuration to disable quickcasting for the caster. ```yaml Skills: - quickcastingdeactivate ``` -------------------------------- ### Check Player Reagent Amount Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Conditions/HasReagent Use this condition to verify if a player has a specific quantity of a reagent. The 'reagent' attribute specifies the item to check, and 'amount' defines the quantity and comparison operator (e.g., '>', '<', '='). ```yaml Conditions: - hasreagent{reagent=MANA;amount=>100} ``` -------------------------------- ### Set Player Archetype Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Mechanics/SetArchetype This command allows you to set the archetype for a target player. You can specify the group and the archetype itself. ```APIDOC ## POST /api/players/archetype ### Description Sets the target player's archetype. ### Method POST ### Endpoint /api/players/archetype ### Parameters #### Query Parameters - **group** (string) - Optional - The group to set. Defaults to CLASS. - **archetype** (string) - Required - The archetype to set. Example: ADVENTURER. ### Request Example ```yaml { "command": "setarchetype", "parameters": { "group": "CLASS", "archetype": "ADVENTURER" }, "target": "@NearestPlayer{r=10}" } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message indicating the archetype was set. #### Response Example ```json { "message": "Player archetype set to ADVENTURER." } ``` ``` -------------------------------- ### POST /api/skills/modifyresource Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Mechanics/ModifyResource Adds or subtracts a specified amount from a player's reagent. The amount is clamped to the player's minimum or maximum reagent limits. ```APIDOC ## POST /api/skills/modifyresource ### Description Adds the specified amount to the target player's given reagent. The amount can be either positive or negative. If the new amount would be more/less than the player's maximum/minimum amount, the reagent's amount is clamped to be the maximum/minimum possible. ### Method POST ### Endpoint /api/skills/modifyresource ### Parameters #### Request Body - **resource** (Reagent) - Required - The reagent to modify. Aliases: reagent, res, r. - **stat** (Stat) - Optional - If the change in value depends solely on the value of a certain stat, specify the stat here. - **amount** (Number) - Optional - The amount of the change. Use only if `stat` was not used. Aliases: a. Default: 1. ### Request Example ```yaml { "resource": "Mana", "amount": 10 } ``` ```yaml { "resource": "Mana", "stat": "MANA_REGENERATION" } ``` ### Response #### Success Response (200) - **message** (string) - Indicates the success of the operation. #### Response Example ```json { "message": "Resource modified successfully." } ``` ``` -------------------------------- ### Define Global Mechanics Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Spells/Learning Apply global mechanics to all players via the GlobalSkills section in config-spells.yml. ```yaml Configuration: GlobalSkills: # # Example of using this to implement global mana regeneration - modifyReagent{reagent=mana;amount=10} @self ~onTimer:20 # ``` -------------------------------- ### Unlearn a Spell on Player Death Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Mechanics/ForgetSpell Use the forgetspell command to remove 'ExampleSpell' from a player when they die. Ensure the spell 'ExampleSpell' exists. ```yaml Skills: - forgetspell{s=ExampleSpell} @trigger ~onDeath ``` -------------------------------- ### Check Archetypes in Category Condition Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Conditions/HasArchetypesInCategory Use this condition to verify if a player meets the archetype count requirement for a specific category. ```yaml Conditions: - hasarchetypesincategory{category=CLASS;amount=>1} ``` -------------------------------- ### MythicRPG Event Triggers Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Triggers A reference table of all available triggers in MythicRPG and the conditions under which they are fired. ```APIDOC ## MythicRPG Event Triggers ### Description This list defines the triggers provided by MythicRPG, which can be utilized within the plugin's features to execute logic based on specific game events. ### Triggers - **onClassGain** - Fires when an archetype is gained. - **onClassLoss** - Fires when an archetype is lost. - **onLevelUp** - Fires when an archetype levels up. - **onJoin** - Fires when the player joins the server. - **onRespawn** - Fires when the player with the archetype respawns. - **onSpawn** - Fires when the player with the archetype respawns after death or joins the server. - **onDeath** - Fires when the player with the archetype dies. - **onRightClick** - Fires when the player with the archetype right-clicks. - **onInteract** - Fires when a player with the archetype interacts with a mob. - **onCrouch** - Fires when the player with the archetype starts to crouch. - **onUnCrouch** - Fires when the player with the archetype stops to crouch. - **onShoot** - Fires when the player with the archetype shoots a projectile from a bow. - **onFish** - Fires when a player is fishing (casting the line). - **onFishBite** - Fires when there is a bite on the hook. - **onFishCatch** - Fires when a player successfully catches a fish. - **onFishGrab** - Fires when a player successfully catches an entity. - **onFishGround** - Fires when a bobber is stuck in the ground. - **onFishReel** - Fires when a player reels in their hook without a bite. - **onFishFail** - Fires when a player fails to catch a bite. - **onConsume** - Fires when an item is eaten. - **onPotionSplash** - Fires when a potion is splashed. - **onKill** - Fires when the player with the archetype kills another entity. - **onBlockBreak** - Fires when the player with the archetype breaks a block. - **onBlockPlace** - Fires when the player with the archetype places a block. - **onItemPickup** - Fires when the player with the archetype picks up an item. - **onQuickcastOpen** - Fires when the player with the archetype opens the quick cast. - **onQuickCastClose** - Fires when the player with the archetype ends the quick cast. - **onLearnSpell** - Fires when the player with the archetype learns a new spell. ``` -------------------------------- ### Define Custom Mana Reagent Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Spells/Reagents Define a custom 'Mana' reagent with a dynamic maximum value tied to the player's 'MAX_MANA' stat. This configuration is placed in a `reagents.yml` file within a pack. ```yaml Mana: Display: 'Mana' MinValue: 0 MaxValue: stat.MAX_MANA Global: true ``` -------------------------------- ### Define MAX_MANA Stat Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Spells/Reagents Define a supporting stat 'MAX_MANA' that can be used as the MaxValue for a reagent. This configuration is placed in a `stats.yml` file within a pack. ```yaml MAX_MANA: Enabled: true Display: 'Max Mana' BaseValue: 1000 Formatting: Additive: '+ Max Mana' Multiply: '+ Max Mana' Compound: 'x Max Mana' ``` -------------------------------- ### Grant Experience to Nearest Player Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Mechanics/GiveMythicExperience Awards 10 experience points to the nearest player within a 10-block radius. ```yaml Skills: - givemythicexperience{group=PROFESSION;amount=10} @NearestPlayer{r=10} ``` -------------------------------- ### Caster Placeholders Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Placeholders Placeholders used to retrieve specific archetype data for a caster. ```APIDOC ## Caster Placeholders ### Description These placeholders return specific archetype information for a caster based on a provided group. ### Placeholders - **** - Returns the caster's archetype from the specified group (Defaults to NONE). - **** - Returns the caster's archetype level from the specified group. - **** - Returns the caster's archetype experience from the specified group. - **** - Returns the caster's archetype experience goal from the specified group. ``` -------------------------------- ### Configure Archetype Spell Unlocks Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Spells/Learning Define spells granted to players based on their archetype and level within the archetype configuration. ```yaml Pyromancer: Group: CLASS Display: 'Pyromancer' SpellUnlocks: - Fireball - RainOfFire 10 ``` -------------------------------- ### Check Archetype Level Condition Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Conditions/ArchetypeLevel Verifies if a player meets the specified archetype level requirements within a group. ```yaml Conditions: - archetypelevel{group=CLASS;archetype=ADVENTURER;level=5} true ``` -------------------------------- ### Set Reagent as Spell Cost Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Spells/Reagents Specify 'Mana' as a cost for casting a spell, requiring 50 units of mana. This is defined within the spell's configuration. ```yaml Cost: - Mana 50 ``` -------------------------------- ### MythicRPG Entity Conditions Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Conditions Conditions that can be applied to entities, primarily players, to check specific MythicRPG-related states. ```APIDOC ## MythicRPG Entity Conditions ### Description These conditions are added by MythicRPG and are meant to be used within the features that MythicRPG implements or to check against them from other Mythic plugins. ### Conditions - **Archetype** (Entity) - Description: Matches the player's current archetype. - **ArchetypeLevel** (Entity) - Description: Matches the player's current archetype level. - **HasArchetypesInCategory** (Entity) - Description: Matches if the player has a certain amount of archetypes that belong to a category. - **HasLearnedSpell** (Entity) - Description: Whether the target player has learned the given spell. - **HasReagent** (Entity) - Description: Matches if the player has a certain amount of a reagent. - **IsQuickcastingActive** (Entity) - Description: Whether the target player is currently using a quickcasting method. ``` -------------------------------- ### ModifyResource with Fixed Amount Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Mechanics/ModifyResource Adjusts a player's reagent by a specific numerical value. ```yaml Skills: - modifyresource{resource=Mana;amount=10} @NearestPlayer{r=10} ``` -------------------------------- ### HasArchetypesInCategory Condition Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Conditions/HasArchetypesInCategory This condition checks if the player has a certain amount of archetypes that belong to a specified category. ```APIDOC ## hasarchetypesincategory ### Description Matches if the player has a certain amount of archetypes that belong to a category. ### Method N/A (This is a condition, not an API endpoint) ### Endpoint N/A ### Parameters #### Query Parameters - **category** (string) - Required - The category to check. Aliases: `cat`, `c`. - **amount** (string) - Required - The amount to check. This can include comparison operators like `>`, `<`, `=`, `>=`, `<=`. Example: `>1`. ### Request Example ```yaml Conditions: - hasarchetypesincategory{category=CLASS;amount=>1} ``` ### Response #### Success Response (200) N/A (This is a condition, not an API endpoint) #### Response Example N/A ``` -------------------------------- ### Consume Reagent with ModifyResource Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Spells/Reagents Consume 10 units of the 'mana' reagent from the caster using the `modifyReagent` mechanic. This is typically used within skill triggers. ```yaml - modifyReagent{reagent=mana;amount=10} @self ``` -------------------------------- ### Check if Player Has Learned Spell Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Conditions/HasLearnedSpell This endpoint checks if the target player has learned the given spell. It can be used as a condition in various game mechanics. ```APIDOC ## GET /api/player/hasSpell ### Description Checks if the target player has learned the given spell. ### Method GET ### Endpoint /api/player/hasSpell ### Parameters #### Query Parameters - **spell** (Spell) - Required - The spell to check against. Aliases: s ### Response #### Success Response (200) - **learned** (boolean) - True if the player has learned the spell, false otherwise. #### Response Example ```json { "learned": true } ``` ### Example Usage ```yaml TargetConditions: - hasLearnedSpell{spell=MagicMissile} false ``` ``` -------------------------------- ### ModifyResource with Stat-Based Scaling Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Mechanics/ModifyResource Adjusts a player's reagent based on the value of a specified stat. ```yaml Skills: - modifyresource{resource=Mana;stat=MANA_REGENERATION} @self ``` -------------------------------- ### Use teachSpell Mechanic Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Spells/Learning Grant a spell to a player using the teachSpell mechanic, suitable for NPCs or custom items. ```yaml Skills: - teachSpell{spell=DoubleJump} @trigger ``` -------------------------------- ### teachspell Skill Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Mechanics/TeachSpell The teachspell skill is used to grant a player a specific spell at a designated level. ```APIDOC ## teachspell ### Description Teaches a player a [spell]. ### Parameters #### Attributes - **spell** (Spell) - Required - The spell to teach. Alias: s. - **level** (Integer) - Optional - The level of the taught spell. Default: 1. Alias: l. ### Request Example ```yaml Skills: - teachspell{s=ExampleSpell;l=10} @trigger ~onDeath ``` ### Aliases - teachRPGSpell ``` -------------------------------- ### Archetype Level Condition Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Conditions/ArchetypeLevel Checks if the player has a certain level of the Archetype in a defined group. This allows you to check for certain progression states of a player. ```APIDOC ## Archetype Level Condition ### Description This condition checks if the player has a certain level of the Archetype in a defined group. This allows you to check for certain progression states of a player. ### Method N/A (This is a condition, not an API endpoint) ### Endpoint N/A ### Parameters #### Query Parameters - **level** (int) - Required - The archetype level to check. - **group** (string) - Optional - The archetype group. Defaults to 'CLASS'. - **archetype** (string) - Required - The class of the provided archetype group. ### Request Example ```yaml Conditions: - archetypelevel{group=CLASS;archetype=ADVENTURER;level=5} true ``` ### Response N/A (This is a condition, not an API endpoint) ### Aliases - classlevel ``` -------------------------------- ### Archetype Condition Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Conditions/Archetype This condition checks if the player has a certain type of Archetype in a defined group. This allows you to check for various types of classes/professions/races/etc of a player. ```APIDOC ## Archetype Condition ### Description This condition checks if the player has a certain type of Archetype in a defined group. This allows you to check for various types of classes/professions/races/etc of a player. ### Method N/A (This is a condition, not an API endpoint) ### Endpoint N/A ### Parameters #### Query Parameters - **group** (string) - Optional - The archetype group. Defaults to 'CLASS'. Aliases: g - **archetypes** (Archetype) - Required - The class of the provided archetype group. Aliases: archetype, type, types, a, classes, class, c ### Request Example ```yaml Conditions: - archetype{group=CLASS;archetype=ADVENTURER} true ``` ### Response N/A (This is a condition, not an API endpoint) ### Aliases - class ``` -------------------------------- ### Check Player Archetype Condition Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Conditions/Archetype Use this condition to check if a player possesses a specific archetype within a defined group, such as checking for the 'ADVENTURER' class. ```yaml Conditions: - archetype{group=CLASS;archetype=ADVENTURER} true ``` -------------------------------- ### Forget Spell Skill Source: https://git.lumine.io/mythiccraft/mythicrpg/-/wikis/Skills/Mechanics/ForgetSpell Allows a player to unlearn a specific spell. ```APIDOC ## Forget Spell Skill ### Description Make the target player unlearn a [spell]. ### Method Not Applicable (This is a skill/action within the game system, not a direct API endpoint). ### Endpoint Not Applicable ### Parameters #### Skill Parameters - **spell** (Spell) - Required - The [spell] to remove. ### Request Example ```yaml Skills: - forgetspell{s=ExampleSpell} @trigger ~onDeath ``` ### Response This skill does not have a direct API response in the traditional sense. Its effect is internal to the game system. ### Aliases - forgetRPGSpell ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.