Skip to content

Latest commit

 

History

History
142 lines (92 loc) · 6.6 KB

File metadata and controls

142 lines (92 loc) · 6.6 KB

Ragnarok Online - YggAI

Introduction

This is an AI project for the game Ragnarok Online, developed in Lua.

Architecture

The AI of this project is built using Behavior Trees. This approach organizes decision-making logic into a hierarchical structure, allowing adaptive and easy-to-manage behavior for AI-controlled characters.

How to Use

Zip file

Click on Code > Download ZIP, extract the zip file, and copy the contents of the YggAI folder into C:\Gravity\Ragnarok\AI\USER_AI. Then, enter the game and type /hoai to activate YggAI. To return to the original script, type the same command again.

Version control

If you use a versioning tool like Git, you can clone the repository using the terminal:

git clone https://github.com/maxmx03/YggAI.git C:\Gravity\Ragnarok\AI\USER_AI
cd C:\Gravity\Ragnarok\AI\USER_AI
git pull # fetches updates

If you don’t want to use the terminal, you can use Github Desktop.

Config.lua

Open the config.lua file and update the variables as needed.
You can use any text editor available on your system:

---@class UserConfig
local myConfig = {
  homunLevel = 175, -- your homunculus level, always update
  lifUseHeal = false, -- enable LIF healing
  maxEnemiesToSearch = 15, -- maximum number of enemies your homunculus will search
  followDistance = 3, -- maximum distance your homunculus will follow the owner
  patrolDistance = 7, -- maximum distance your homunculus will patrol
  maxDistanceToOwner = 7, -- maximum distance between your homunculus and the owner
  myEnemies = { -- List of monsters your homunculus will search (leave empty to search all monsters)
    [1782] = true, -- Roween
  },
  avoid = { -- list of monsters your homunculus will not attack
    [1080] = true, -- Green Plant
  },
}

Homunculus Behavior in YggAI

Eira

Eira_Card_Art

Eira is an agile combat homunculus, focused on dealing damage and maintaining pressure on the enemy. Her strategy is based on continuous use of attack skills, with the Eraser Cutter skill being her primary form of damage.

  • Combat Behavior: Prioritizes using Xeno Slasher against Water 💧 or Poison ☣️ type monsters, or when the enemy is not Wind type. Her main offensive skill, Eraser Cutter, is used repeatedly.
  • Special Abilities:
    • Overed Boost: Used against MVPs (boss monsters) to increase her attack power.
    • Light of Regene: A crucial support skill, activated to revive the owner if they are incapacitated.

Dieter

Dieter_Card_Art

Dieter is a robust and strategic homunculus, specialized in area attacks and survival. His behavior is adaptable to the type of monster he faces, using different skills to maximize damage.

  • Combat Behavior: He uses the Lava Slide skill for area attacks against most enemies, except Fire 🔥 type monsters. Against Water 💧 or Plant 🌿 type monsters, he prefers the Volcanic Ash skill.
  • Special Abilities:
    • Granitic Armor: Activated in emergency situations to increase his defense and protection when the owner is near death.
    • Magma Flow: A powerful area damage skill, used against enemies that are not Fire type.
    • Pyroclastic: His ultimate skill, activated in combat against any type of enemy.

Eleanor

Eleanor_Card_Art

Eleanor is a fast and precise attacker, who uses a sequence of skills to inflict great damage on the enemy. Her focus is on executing an efficient attack combo, but she also knows how to adapt.

  • Combat Behavior: Her main objective is to execute a devastating combo that starts with Sonic Craw, followed by Silvervein Rush and, finally, Midnight Frenzy. The combo is triggered whenever the skills are available and the enemy is within range.
  • Special Abilities:
    • Basic Attack: When main skills are on cooldown, Eleanor continues to basic attack the enemy to accumulate spheres, which are necessary for her skills.

Sera

Sera_Card_Art

Sera is a support and control homunculus, specialized in incapacitating enemies and assisting the owner in combat. Her strategy focuses on using skills that harm the opponent and buff herself or her owner.

  • Combat Behavior: Sera attempts to use Poison Mist to deal area damage. She also focuses on applying the damage and paralysis skill Needle of Paralyze on the enemy to aid the owner.
  • Special Abilities:
    • Summon Legion: Used specifically against MVPs to summon aid.
    • Pain Killer: A support skill activated when in combat to protect the owner.

Bayeri

Bayeri_Card_Art

Bayeri is a direct combat homunculus, focused on dealing massive damage and strengthening himself. He adapts his attack style to the type of monster he faces, prioritizing damage against specific enemies.

  • Combat Behavior: He uses skills like Stahl Horn and Goldene Ferse to attack. Against Undead 🧟 or Dark 🦇 type monsters, he prioritizes the skill Heilige Stange.
  • Special Abilities:
    • Steinwand: A support skill activated to protect the owner, especially if they are low on health.
    • Angriffs Modus: Used to strengthen Bayeri himself in combat.

Contributing

You can contribute by reporting bugs, suggesting new features, or fixing issues. To report a bug, create a new topic in Issues.

If you want to contribute in another way, send a Rodex in-game to Freya/Pelunia (BIO) or Freya/Millianor (AB), sending zeny or Seed of Life.