Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Playtester last won the day on April 8

Playtester had the most liked content!

About Playtester

Profile Information

  • Gender

Recent Profile Visitors

6,854 profile views

Playtester's Achievements

  1. Resistance from items is applied after the stat resistance. It's multiplicatively, not additively. 100% reduced by 90% = 10% 10% reduced by 20% = 8%
  2. It's actually both in pre-renewal. It's HardDef+SoftDef basically. ATK_RATE2(wd->damage, wd->damage2, attack_ignores_def(wd, src, target, skill_id, skill_lv, EQI_HAND_R) ?100:(is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_R) ? (int64)is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_R)*(def1+vit_def) : (100-def1)), attack_ignores_def(wd, src, target, skill_id, skill_lv, EQI_HAND_L) ?100:(is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_L) ? (int64)is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_L)*(def1+vit_def) : (100-def1)) ); Only need to change the (def1+vit_def) part if you want to customize it.
  3. As for the latest file you can always get it from here: https://github.com/rathena/rathena/ Also if you didn't check your changes into Git then you can just use a diff tool to compare the changes and undo them (I use TortoiseGit for it).
  4. Hmm, there's a exe diff to restore the old dance effects, maybe this could be used to remove this effect.
  5. Well, you can certainly use the GRF from iRO if you want for example the iRO translation. But keep in mind that iRO might have customizations in the descriptions that don't apply to kRO and thus are not in rAthena. As for the executables, you probably can't use iRO ones unless they are really old and not encrypted.
  6. Calc flags only determines when your stats get recalculated, but you still need to implement the actual bonus you want to give it.
  7. It's possible but it requires quite some coding. Basically you'd need to add a variable in the md to the link to a sd (or bl). Then send all the "clif" information that involves the md only to the player linked to the sd / bl in the md data. Also all attack and damage commands from other sources then need to be ignored, otherwise other players could still damage it with AoE effects.
  8. If it crashes you probably have a syntax error in the file. Make sure you used spaces instead of tabs and the number of spaces is correct. That's the most common mistake I make. Looks like you put too many spaces before the script part.
  9. Hmm this also works for me. I tried vs. Medusa and with Evil Druid Card or Medusa Card, I never get petrified. The code is also in place in status.cpp: case SC_STONE: case SC_STONEWAIT: case SC_FREEZE: // Undead are immune to Freeze/Stone if (undead_flag && !(flag&SCSTART_NOAVOID)) return 0; break; You could debug there and check why it doesn't reach the "return 0" part in your test case. For Medusa Card the could would be in status_get_sc_def: // Item resistance (only applies to rate%) if (sd) { for (const auto &it : sd->reseff) { if (it.id == type) rate -= rate * it.val / 10000; } if (sd->sc.data[SC_COMMONSC_RESIST] && SC_COMMON_MIN <= type && type <= SC_COMMON_MAX) rate -= rate*sd->sc.data[SC_COMMONSC_RESIST]->val1/100; } Note: That if you set undead_detect_type to "race", then of course Evil Druid Card doesn't protect you from Stone (has nothing to do with mobs, though). Medusa card would work either way.
  10. Red is deleted lines and green is added lines, yes. But I honestly don't recommend manually updating things and rather learn to work with diff files or just keep rAthena up-to-date, because many fixes are not just one commit but also have follow-up fixes. You will really want to merge all fixes done to rAthena. Usually it shouldn't be too hard, as said even if you have local changes, you can stash them, then pull and then stash pop and you have your custom changes back in (only if the same line was changed you need to do manual merging). Maybe you can try it in a local copy.
  11. Going by this and your previous posts, I assume you checked out rAthena exactly at the moment where we were reworking the status changes. I strongly recommend you update to latest rAthena. (Stash your own changes -> Pull from master -> Pop your own changes).
  12. Why want to make GTB even more powerful than it already is? Anyway, you would need to add some special rules to status_get_sc_def in status.cpp. GTB currently only blocks status changes that come from magic skills. if (skill != nullptr && skill->skill_type == BF_MAGIC && // Basic magic skill !skill->inf2[INF2_IGNOREGTB] && // Specific skill to bypass ((skill->inf == INF_ATTACK_SKILL || skill->inf == INF_GROUND_SKILL || skill->inf == INF_SUPPORT_SKILL) || // Target skills should get blocked even when cast on self (skill->inf == INF_SELF_SKILL && src != bl))) // Self skills should get blocked on all targets except self return 0; This is the current GTB logic. To make it so that Coma is blocked even on physical attacks you could do for example: (skill->skill_type == BF_MAGIC || type == SC_COMA)
  13. Hi all, as of today's commit (https://github.com/rathena/rathena/commit/d3cc0c56563769aafd78c976d6e76d83dbf6df88) rAthena will include the pre-renewal jRO Brasilis monster values in YAML format. If you want to use the bRO values instead (lower ATK), I've attached a YAML file in the original post to overwrite these. I also corrected the ATK values for jRO in my original release as they were just guessed before and now they use the official values (but that release only works for rAthena 2013-2016).
  14. I'm not familiar with GvG maps, do I need to warp to a specific map? Or do I need to run a command to enable it on the map?
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.