Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/08/25 in Posts

  1. I've noticed many servers boasting about their use of @autoattack, with some even profiting from selling the source without giving proper credit to the original creators. It's time to set things right and give back to the community. So here it is—free for everyone, as it should be. Thank you very much to @goddameit @Keitenai for the source and fixes and the other guys that i failed to mention. - Works best with the SVN version last 2019 *not sure about the version* - If you're looking to make it work with the latest rAthena, that's on you—I won’t be providing support. How It Works: Assign an active skill to the first hotkey in your skill tab (e.g., F1). If no skill is set, the bot will default to normal attacks. To enable auto-teleport, make sure you have Fly Wings, a Teleport Clip (Creamy Card), or the Teleport skill. I won’t provide assistance with adding this to your server—this is for those who understand and can apply diffs manually. Use the command @korebot Enjoy! P.S. the command to enable this is @korebot. korebot.diff
    1 point
  2. @Gouki That was not just a concern you sent me in the private message, but a support question, please stick to forum posts, then everyone can benefit from the information. As for the question how to convert equip DEF: You can't easily convert armor DEF values as the renewal formula applies to your total DEF and not the DEF of an individual item. It's better to look at comparable gear in pre-re and make sure the renewal items don't exceed the pre-re items in power. If you still want to convert the values you could also use the attached tool for it. However if you want an accurate value for equip, consider this: You can equip up to 9 pieces of armor (3 headgears, armor, shield, garment, shoes, 2 accessoires). The value you want to convert is the total DEF, not the DEF of one armor. So you need to multiply the DEF value by 9, then convert it and then divide it by 9 again. For example take this random renewal armor I picked from Divine Pride: https://www.divine-pride.net/database/item/450356/abyss-lake-roaring-armor-1 It has 50 DEF and 10 MDEF. We multiply this by 9, which gives 450 DEF and 90 MDEF. Now you run the tool say you want to convert DEF/MDEF and put in 450 for DEF and 90 for MDEF. The tool returns 48/43. Now you divide this by 9, which gives 5 DEF and 4 MDEF (I recommend rounding down to reduce the renewal power creep). That would be the most accurate representation you can get by conversion. prerenewal.zip
    1 point
  3. Attached you can find a patch file that shows how to do it. The patch file contains a few more things and is not up-to-date to latest rAthena (it's from May 2024). What is in the patch: - Replace all unknown drops with Apple and all unknown MVP drops with Elunium - Remove random option feature (doesn't work in pre-re) - Recalculate renewal DEF to pre-renewal DEF if monster ID is 2083 or higher - Recalculate renewal MDEF to pre-renewal MDEF if monster ID is 2083 or higher - Recalculate renewal ATK/ATK2 to pre-renewal ATK/ATK2 - Replace all unknown monster skills with NPC_EMOTION If you are only interested in the DEF/MDEF part, you can only take over those changes: @@ -4561,6 +4570,12 @@ uint64 MobDatabase::parseBodyNode(const ryml::NodeRef& node) { if (!this->asUInt16(node, "Defense", def)) return 0; +#ifndef RENEWAL + // Renewal to pre-re conversion + if (mob_id >= 2083) + def = static_cast<uint16>(100.0 - ((4000.0 + def) / (4000.0 + def * 10.0) * 100.0)); +#endif + if (def < DEFTYPE_MIN || def > DEFTYPE_MAX) { this->invalidWarning(node["Defense"], "Invalid monster defense %d, capping...\n", def); def = cap_value(def, DEFTYPE_MIN, DEFTYPE_MAX); @@ -4575,6 +4590,12 @@ uint64 MobDatabase::parseBodyNode(const ryml::NodeRef& node) { if (!this->asUInt16(node, "MagicDefense", def)) return 0; +#ifndef RENEWAL + // Renewal to pre-re conversion + if (mob_id >= 2083) + def = static_cast<uint16>(100.0 - ((1000.0 + def) / (1000.0 + def * 10.0) * 100.0)); +#endif + if (def < DEFTYPE_MIN || def > DEFTYPE_MAX) { this->invalidWarning(node["MagicDefense"], "Invalid monster magic defense %d, capping...\n", def); def = cap_value(def, DEFTYPE_MIN, DEFTYPE_MAX); Hope this helps! I mainly wrote this patch so I can use all renewal monsters directly in pre-re by copying them over without having to worry about unsupported features and changes of functionality of stats. load_re_mobs_in_prere.patch
    1 point
×
×
  • Create New...