Skip to content

[Feature]: Pet Upgrading, experience system and minor adjustments to file configuration #3

Description

@USBcore

Feature Category

Pet Types & Behaviors

Feature Description

Feature Suggestions:

Pet experience gui:

  • Using mmoitems for leveling pets in active pet section gui
    Example config [gui.yml]:
pet-experience:
  1: #(specifies id) 
   material: "EXPERIENCE_BOTTLE"
   slot: 5 #slot inventory defined in gui
   glow: true
   item_flags:
    - "HIDE_ENCHANTS"
   consumable-item: [mmoitems-id] #This acts as a item that can be placed in the slot to consume and transfer into pet xp
     quantity: 1
   name: ""
   lore: ""
   exp-points: 200 #Add 200 xp points to the selected pet
  2: 
   material: "EXPERIENCE_BOTTLE"
   slot: 8
   glow: true
   item_flags:
    - "HIDE_ENCHANTS"
   consumable-item: [mmoitems-id]
     quantity: 2
   name: ""
   lore: ""
   exp-level: 2 #Add 2 levels to the selected pet"
  • Class Restriction
    Add mmocore class restriction for each pet. For example: Bear pet can only be used for warrior class, rogue class, etc.
    This prevents overpower role and enhances balancing gameplay.

For example: High range class such as archer requires a pet that has wide range from 10-15 blocks radius
which is suitable for pve combat [boss or elite mobs].
Example configuration in pets folder (for each pet yml):

id: UNICORN
name: "<gradient:#FFB6C1:#FF69B4:#DDA0DD>Unicorn"
texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzRiMGE4MmYzYmU3NWIxYzIzYWY4YjZjMTIxMGM5MzgwZDVjYzIwNDEzMWY0Mzk4ZGUyNDY1MjUzMmQ4M2RkZCJ9fX0="
stat: "MOVEMENT_SPEED"
formula: "0.01 + (level * 0.002)"
max_xp_formula: "180 + (level * 90)"
attack:
  range: 4.0
  cooldown: 1.0
  damage_formula: "8 + (level * 2)"
  inheritance: 0.5
  particle: "SPELL_WITCH"
ride:
  enabled: true
  can_fly: false
class-restriction: 
  - "Rogue"
  - "Archer" 

class-restriction: NONE #for zero restrction

  • Minor adjustments towards each pet stat providers:
    Current version:
    stat: "MOVEMENT_SPEED"
    formula: "0.01 + (level * 0.002)"

#This system indicates better pets'weaknesses and advantages
Suggested version:

  stats:
    MOVEMENT_SPEED:
      base: 0.1 #the numeric values can be negative. For example: -0.2
      max-value: 1.8
      formula: "0.01 + (level*0.002)"
    CRITICAL_STRIKE_CHANCE:
      base: 0.5
      max-value: 8
      formula: "0.1 + level"
    LIFESTEAL:
      base: -1
      formula: "-0.1 * level"
  • Pet upgrading system:

    New currency requirements for upgrading purposes:

 requirement:
     upgrading_points: "<current.pet.upgrading.points>"
     compare: ">="
     value: "1"
     conditions:
       true: "This skill branch is increased to level <current.level>"
       false: "You need 1 points to upgrade this skill branch"

Current upgrades available:
stat_bonus_formula: "0.35 * <upgrade_level>"
damage_bonus_formula: "2.5 * <upgrade_level>"

Suggested Bonus upgrades:

   skill_cooldown_formula: "0.1 * <upgrade_level>"
   attack_speed_formula: "0.2 * <upgrade_level>"

Add a brand new upgrading system:
config.yml:

       pet_upgrading_points: #This provides players specific points per number of levels that their pets reach.
          per-[number]-level: 1
          max-points: 24

Use Case

No response

Example Configuration (Optional)

# Example format

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions