mrjnumber1 Posted August 15, 2017 Group: Members Topic Count: 1 Topics Per Day: 0.00 Content Count: 29 Reputation: 19 Joined: 11/22/11 Last Seen: October 21, 2022 Share Posted August 15, 2017 emulating aegis status effects is for sure quite a task.. there are so many bugs and pitfalls that are hard to work around, i am here to share information with devs/community. hopefully, https://github.com/rathena/rathena/pull/1685 can be updated i wanted to add the following in aegis the status config has different special properties but a lot are hardcoded. luckily one thing that's not is what's removed by certain skills (almost..)https://paste2.org/fFA7ck03 information i dug in regards to status_change_clear. some of the uses are weird, such as how the tarot card SCC is the same as trickdead's.. and that gospel instead of clearing with dispel or debuffs, it uses the trickdead dispel. currently we have this ugly status_change_clear_buffs flags that don't match at all - but it'd be so easy to make it match! (note that this info is from old zone so it lacks info about vanishing buster and lux anima rune.) another issue that has come up and is unfortunately not handled properly on our side - atkPercentInfo defPercentInfo, mDefPercentInfo matkPercentInfo. on aegis, it's another stat that players have that's a bit weird. basically it's stored as a std::map indexed by the skill id causing it, containing time left, and the actual value (in the case of curse, it'd be -25 for atkPercentInfo). a player can be tarot carded to have lowered atkPercentInfo, say -25. It can be repeated with the value of -50 with another card. since it'll find tarot card with the -25 in it before, it'll overwrite (based on the highest absolute value between the 2). but if a person receives PA_GOSPEL, whcih will SetAtkPercentInfo to -50, it adds the new entry for PA_GOSPEL an the timer for the tarot card is still ticking. it appears to use the summation of these values. in renewal, it operates on the status m/def/m/atk, but in pre-re i'd assume it's just all at once. the difference is significant because certain skills, such as MO_EXTREMITYFIST, ignore AtkPercentInfo, which makes things like SC_CURSE or SC_PROVOKE not work on it. currently SC_INCATKRATE is used for a similar purpose, but the fact that it doesn't store all the different values and looks ugly with negatives, it'd be good to make progress on that.. ahhh! the following are known to modify AtkPercentInfo: LK_CONCENTRATION (5*skLevel) SC_CURSE (-25) SM_PROVOKE(5-32)/SELFPROVOKE(32)/MER_PROVOKE(32) PA_GOSPEL (varies) LK_JOINTBEAT (-25) SN_SIGHT (25) CG_TAROTCARD (varieS) EL_WATERBARRIER (-3) SC_INERVATION (-30/-40/-50) MH_EQC (skLevel*5) MH_VOLCANIC_ASH (-50) RG_STRIPWEAPON (-10 against mobs) SL_SKE (300) GD_GUARDUP (2*skLevel+8) NPC_INVINCIBLE (100) NPC_POWERUP (200) WS_MELTDOWN (-25, on mobs) RK_STONEHARDSKIN (-25 on mobs) HAMI_BLOODLUST (10*skLevel+2) HFLI_FLEET (5*skLevel+1) known to use DefPercentInfo: Heavy Poison (-25) LK_CONCENTRATION (-5*skLevel) LK_JOINTBEAT (-50 or -25, depends) BD_ETERNALCHAOS (0?) CG_TAROTCARD (-20 on the one card) LG_EARTHDRIVE (-25) NC_ANALYZE (14/28/42) NC_NEUTRALBARRIER (15/20/25) WL_MARSHOFABYSS (either 0 or tarJOBLEVEL / 2 - tarINT / 10 - 10) frost misty or "freezing" (-10 on NPC type, -30 on players) LG_FORCEOFVANGUARD (sorry im lazy) MI_ECHOSONG (6*skLevel+jLevel/4+WM_LESSON level) WM_SATURDAY_NIGHT_FEVER (-20/-30/-40/-50/-60) MH_NEEDLE_OF_PARALYZE (-5*skLevel) MH_EQC (-5*skLevel) RG_STRIPSHIELD (on mobs, -15) SL_SKE (-50) SM_PROVOKE/SELFPROVOKE/MER_PROVOKE EL_WATERBARRIER (30) ...i can dig more up later! i've work to attend to Q_Q some statuses don't get properly cancelled in pc_checkallowskill by gear switching, these are: SC_LKCONCENTRATION, tension relax, max overthrust, exeed break. attention concentrate should recalculate when a person changes gears, but i'm not sure if that's handled.. oh another thing, quagmire should removes SC_LOUD. i've checked in the code, and it's even noted on irowiki for what that's worth. if you have anything to add about status effects with missing info, please add them here and we can work on a pr to update sc_config and fix these bugs! 1 Quote Link to comment Share on other sites More sharing options...
Rytech Posted August 23, 2017 Group: Members Topic Count: 27 Topics Per Day: 0.01 Content Count: 319 Reputation: 199 Joined: 11/14/11 Last Seen: December 24, 2024 Share Posted August 23, 2017 Interesting. So the rune skill that casts Refresh removes a little more then what we knew. 1 Quote Link to comment Share on other sites More sharing options...
mrjnumber1 Posted February 9, 2018 Group: Members Topic Count: 1 Topics Per Day: 0.00 Content Count: 29 Reputation: 19 Joined: 11/22/11 Last Seen: October 21, 2022 Author Share Posted February 9, 2018 more info. for whatever reason, wand of hermode, unlike other status clearings, uses a hardcoded global array to determine what statuses to clear. why? well, i dont know. it may have been used before for other things, but this is what buffs it clears. .data:007AFA30 00 00 dw EFST_PROVOKE .data:007AFA32 02 00 dw EFST_TWOHANDQUICKEN .data:007AFA34 06 00 dw EFST_ENCHANTPOISON .data:007AFA36 07 00 dw EFST_POISONREACT .data:007AFA38 08 00 dw EFST_QUAGMIRE .data:007AFA3A 09 00 dw EFST_ANGELUS .data:007AFA3C 0A 00 dw EFST_BLESSING .data:007AFA3E 0C 00 dw EFST_INC_AGI .data:007AFA40 0D 00 dw EFST_DEC_AGI .data:007AFA42 0E 00 dw EFST_SLOWPOISON .data:007AFA44 0F 00 dw EFST_IMPOSITIO .data:007AFA46 10 00 dw EFST_SUFFRAGIUM .data:007AFA48 11 00 dw EFST_ASPERSIO .data:007AFA4A 12 00 dw EFST_BENEDICTIO .data:007AFA4C 13 00 dw EFST_KYRIE .data:007AFA4E 31 00 dw EFST_BARRIER .data:007AFA50 14 00 dw EFST_MAGNIFICAT .data:007AFA52 15 00 dw EFST_GLORIA .data:007AFA54 16 00 dw EFST_LEXAETERNA .data:007AFA56 17 00 dw EFST_ADRENALINE .data:007AFA58 18 00 dw EFST_WEAPONPERFECT .data:007AFA5A 19 00 dw EFST_OVERTHRUST .data:007AFA5C 1A 00 dw EFST_MAXIMIZE .data:007AFA5E 1D 00 dw EFST_TRICKDEAD .data:007AFA60 1E 00 dw EFST_SHOUT .data:007AFA62 1F 00 dw EFST_ENERGYCOAT .data:007AFA64 25 00 dw EFST_ATTHASTE_POTION1 .data:007AFA66 26 00 dw EFST_ATTHASTE_POTION2 .data:007AFA68 27 00 dw EFST_ATTHASTE_POTION3 .data:007AFA6A 29 00 dw EFST_MOVHASTE_POTION .data:007AFA6C 03 00 dw EFST_CONCENTRATION .data:007AFA6E 3A 00 dw EFST_AUTOGUARD .data:007AFA70 3B 00 dw EFST_REFLECTSHIELD .data:007AFA72 3C 00 dw EFST_DEVOTION .data:007AFA74 3D 00 dw EFST_PROVIDENCE .data:007AFA76 3E 00 dw EFST_DEFENDER .data:007AFA78 3F 00 dw EFST_MAGICROD .data:007AFA7A 40 00 dw EFST_WEAPONPROPERTY .data:007AFA7C 42 00 dw EFST_SPECIALZONE .data:007AFA7E 44 00 dw EFST_SPEARQUICKEN .data:007AFA80 43 00 dw EFST_MASK .data:007AFA82 55 00 dw EFST_BLADESTOP .data:007AFA84 56 00 dw EFST_EXPLOSIONSPIRITS .data:007AFA86 57 00 dw EFST_STEELBODY .data:007AFA88 5F 00 dw EFST_STOP .data:007AFA8A 61 00 dw EFST_PROPERTYUNDEAD .data:007AFA8C 66 00 dw EFST_STATUSONE .data:007AFA8E 67 00 dw EFST_AURABLADE .data:007AFA90 68 00 dw EFST_PARRYING .data:007AFA92 69 00 dw EFST_LKCONCENTRATION .data:007AFA94 6A 00 dw EFST_TENSIONRELAX .data:007AFA96 6B 00 dw EFST_BERSERK .data:007AFA98 6C 00 dw EFST_SACRIFICE .data:007AFA9A 6D 00 dw EFST_GOSPEL .data:007AFA9C 6E 00 dw EFST_ASSUMPTIO .data:007AFA9E 6F 00 dw EFST_BASILICA .data:007AFAA0 70 00 dw EFST_GROUNDMAGIC .data:007AFAA2 71 00 dw EFST_MAGICPOWER .data:007AFAA4 7C 00 dw EFST_BLOODING .data:007AFAA6 7D 00 dw EFST_JOINTBEAT .data:007AFAA8 7E 00 dw EFST_MINDBREAKER .data:007AFAAA 7F 00 dw EFST_MEMORIZE .data:007AFAAC 80 00 dw EFST_FOGWALL .data:007AFAAE B5 00 dw EFST_PRESERVE .data:007AFAB0 B6 00 dw EFST_CHASEWALK2 .data:007AFAB2 96 00 dw EFST_PLUSATTACKPOWER .data:007AFAB4 97 00 dw EFST_PLUSMAGICPOWER .data:007AFAB6 36 00 dw EFST_PROTECTWEAPON .data:007AFAB8 37 00 dw EFST_PROTECTSHIELD .data:007AFABA 38 00 dw EFST_PROTECTARMOR .data:007AFABC 39 00 dw EFST_PROTECTHELM .data:007AFABE B9 00 dw EFST_MOVESLOW_POTION .data:007AFAC0 BA 00 dw EFST_DOUBLECASTING .data:007AFAC2 BB 00 dw EFST_GRAVITATION .data:007AFAC4 BC 00 dw EFST_OVERTHRUSTMAX .data:007AFAC6 BF 00 dw EFST_TAROTCARD .data:007AFAC8 85 00 dw EFST_RUN .data:007AFACA 91 00 dw EFST_STRUP .data:007AFACC 95 00 dw EFST_SOULLINK .data:007AFACE 99 00 dw EFST_KAITE .data:007AFAD0 A1 00 dw EFST_ONEHANDQUICKEN .data:007AFAD2 93 00 dw EFST_ADRENALINE2 .data:007AFAD4 9D 00 dw EFST_KAAHI .data:007AFAD6 9E 00 dw EFST_KAUPE .data:007AFAD8 92 00 dw EFST_PROPERTYDARK .data:007AFADA 94 00 dw EFST_PROPERTYTELEKINESIS .data:007AFADC 32 00 dw EFST_NOEQUIPWEAPON .data:007AFADE 33 00 dw EFST_NOEQUIPSHIELD .data:007AFAE0 34 00 dw EFST_NOEQUIPARMOR .data:007AFAE2 35 00 dw EFST_NOEQUIPHELM .data:007AFAE4 74 00 dw EFST_WINDWALK .data:007AFAE6 73 00 dw EFST_TRUESIGHT .data:007AFAE8 CF 00 dw EFST_NJ_BUNSINJYUTSU .data:007AFAEA CE 00 dw EFST_NJ_UTSUSEMI .data:007AFAEC D5 00 dw EFST_MENTAL .data:007AFAEE D6 00 dw EFST_EXPMEMORY .data:007AFAF0 D7 00 dw EFST_PERFORMANCE .data:007AFAF2 D8 00 dw EFST_GAIN .data:007AFAF4 DA 00 dw EFST_DRIFT .data:007AFAF6 DB 00 dw EFST_WALLSHIFT .data:007AFAF8 DC 00 dw EFST_REINCARNATION .data:007AFAFA E8 00 dw EFST_DAURA .data:007AFAFC E3 00 dw EFST_DENERGY .data:007AFAFE E9 00 dw EFST_DFREEZER .data:007AFB00 EA 00 dw EFST_DPUNISH .data:007AFB02 EB 00 dw EFST_DBARRIER .data:007AFB04 EC 00 dw EFST_DWARNING .data:007AFB06 EF 00 dw EFST_DACCEL .data:007AFB08 F0 00 dw EFST_DBLOCK Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.