Jump to content

Playtester

Developer
  • Posts

    802
  • Joined

  • Last visited

  • Days Won

    21

Playtester last won the day on April 15 2023

Playtester had the most liked content!

About Playtester

Profile Information

  • Gender
    Male

Recent Profile Visitors

8660 profile views

Playtester's Achievements

  1. Official servers have a drop penalty on level difference, but many private server remove that "feature". I only play on pre-renewal servers so not sure how many there are that actually have a drop penalty.
  2. It's basically is the max of both values. So if aDelay is 76ms and aMotion is 384ms, then the delay between the attacks is 384ms. Basically "aDelay" determines the time a monster has to wait until it can attack again. "aMotion" determines the time a monster cannot do anything at all after an attack. If aMotion is higher than aDelay, the monster has to stand still until it can attack again (aMotion). If aDelay is higher than aMotion, then the monster can already move again after aMotion milliseconds, but still cannot attack until after aDelay milliseconds. Divine Pride currently has incorrect ASPD display because it only considers aMotion, not aDelay. So you cannot get the aDelay value from Divine Pride at all. I notified Dia, he will fix it on Divine Pride.
  3. 1) You add the numbers together that you want it enabled for. For example if you only want Heal and Sactuary to be boosted by this bonus, then you would put "3" (1+2). If you want everything to be affected from that list you put 1+2+4+8+16+32+64+128+256=511. 2) If you are running renewal, you can define the exp and drop penalty here: https://github.com/rathena/rathena/blob/master/db/re/level_penalty.yml
  4. If the config files are enough then I recommend using them. If you want a special implementation, you'd need to modify the source code. The right position in the code depends a bit on how you want to modify it.
  5. The condition for a status change is in status_get_sc_def: 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; If you really changed the skill used to "misc" then the status should never be blocked by GTB. Even easier would be to just use the "IgnoreGTB" flag. If it still doesn't work, then maybe it's already blocked in skill.cpp by something. Easiest is to just debug it. Put a breakpoint on the line I quoted above (first line) and see if it even reaches that code when you use the scroll.
  6. The "0x" in front of the number is the indicator that the number is in hex by the way.
  7. Need more info. You want to increase BB's range? In PVP only?
  8. I would assume in status.cpp: void status_calc_misc(struct block_list *bl, struct status_data *status, int level) // Flee stat = status->flee; stat += level + status->agi; status->flee = cap_value(stat, 1, SHRT_MAX); Change formula to whatever you want. 50% AGI would be: // Flee stat = status->flee; stat += level + status->agi/2; status->flee = cap_value(stat, 1, SHRT_MAX); Luk does not increase flee in pre-renewal anyway. Perfect flee you find as Flee2.
  9. Not sure what the default is, maybe better set bonus to 0 instead of removing the whole line. Make sure to set it to 0 for all levels.
  10. Officially, Ragnarok Online has a interval of 20ms. If you use rAthena, you can customize the intervals for different things yourself by adjusting some constants. A while ago I set the base timer interval to the official value by default. // If the server can't handle processing thousands of monsters // or many connected clients, please increase TIMER_MIN_INTERVAL. // The official interval of 20ms is however strongly recommended, // as it is needed for perfect server-client syncing. const t_tick TIMER_MIN_INTERVAL = 20; const t_tick TIMER_MAX_INTERVAL = 1000; Examples: - Unit skills like Firewall and Heat can hit 50 times a second if there's no knockback - Skills with an interval not dividable by 20, such as the interval between each waterball hitting will alternate their delays (in case of waterball it's 140->160->140->160 instead of 150ms)
  11. You need to recalculate the renewal def to pre-renewal def through a formula if you want it to result in the same % damage reduction. For example 214 DEF and 134 MDEF in Renewal is the same as 32 DEF and 52 MDEF in pre-renewal. I've attached a tool with which you can convert all the values you want. prerenewal.zip
  12. You should list if you are using renewal or pre-renewal and at least give the item's YAML entry that reduces the DEF.
  13. Your refine.yml seems pretty old, are you sure you don't get errors when started map server about outdated files? I can't spot any error in the file like lacking armor bonus at level 10 but it's clearly outdated (only 6.6 def bonus on +10 instead of +7). And this is version 1 while the current source code would expect version 2. So maybe your server version is old and has this as a bug that's already been fixed or you updated your server and it expects version 2 but you are still using version 1.
  14. Hmm works fine for me in pre-re compile without any changes. You probably need to check your refine.yml files. Maybe they are outdated (you should see that in your map-server log) or maybe you customized it but forgot to define the bonus for level 10. - Level: 10 Bonus: 700 BlacksmithBlessingAmount: 4 Chances: - Type: Normal Rate: 1000 Price: 2000 Material: Elunium BreakingRate: 10000 - Type: Enriched Rate: 2000 Price: 2000 Material: Enriched_Elunium BreakingRate: 10000
  15. Resistance from items is applied after the stat resistance. It's multiplicatively, not additively. 100% reduced by 90% = 10% 10% reduced by 20% = 8%
×
×
  • Create New...