Jump to content

Ridley

Administrators
  • Content Count

    1157
  • Joined

  • Last visited

  • Days Won

    86

Reputation Activity

  1. Like
    Ridley got a reaction from jogos.21 in Behold, 2021 is coming   
    The New Year is the perfect occasion to appreciate all the good things that the past year has given you and all the good things that are yet to come. In the past 365 days you have experienced beautiful moments in spite of any hard times in 2020, and they wouldn’t have been quite the same without all of the special people in your life.
    Convey your warmest New Year wishes and show your friends and family you put some extra thought into wishing them the happiest of New Years with the perfect sentiment. Cheers to successes. Cheers to failures. And cheers to those who helped you make your year what it was.
     
    We always overestimate the change that will occur in the next two years and underestimate the change that will occur in the next ten.
    -Bill Gates
  2. Like
    Ridley got a reaction from sirmiles20 in Behold, 2021 is coming   
    The New Year is the perfect occasion to appreciate all the good things that the past year has given you and all the good things that are yet to come. In the past 365 days you have experienced beautiful moments in spite of any hard times in 2020, and they wouldn’t have been quite the same without all of the special people in your life.
    Convey your warmest New Year wishes and show your friends and family you put some extra thought into wishing them the happiest of New Years with the perfect sentiment. Cheers to successes. Cheers to failures. And cheers to those who helped you make your year what it was.
     
    We always overestimate the change that will occur in the next two years and underestimate the change that will occur in the next ten.
    -Bill Gates
  3. Upvote
    Ridley reacted to Neo-Mind in WARP - A successor to NEMO   
    Happy Thanksgiving everyone. Since I couldn't get the turkey, I thought I would bring this instead. 
    Without further ado, Let me introduce...

    WARP (Windows Application Revamp Package)
    Why this name?
    Because I like using acronyms and this name sounded apt. Plus it's the function & features that matter more.
    And no, I am not gonna change the name.
      Why not just fix up NEMO?
    The codebase for NEMO is pretty much ancient at this point. So rather than fixing it up, I decided to go the route of creating it fresh from scratch. The end result is a far superior product. 
      OK, but what if you end up AFRO (Away From RO)again?
    Well, I can't promise that I will be around forever. However, this time around, I am releasing the source code for the tool as well.
      So, exactly what has changed?
    Well, quite a few things. Let's start off with how the GUI looks now.

      As you can see, the GUI is much more modern and aesthetically pleasing thanks to @Haziel & @Hadrias.
      The package comes with 3 tools - Console version (for simple patching), Main GUI, and Tester GUI (for batch testing).
      A big salute to @4144  for keeping NEMO alive while I was AFRO 😄.
    Ok, jokes aside, I discussed with him about the changes he made and I have incorporated almost all of them but with some differences. 
      Language & Styles are now on the bottom as you can see. All the remaining menus have now been shifted to drawers (moving side panels). To reveal them you can either swipe from the respective edge or click the button at the top. 
      The right side drawer houses all the Extensions (Used to be called 'Addons' in NEMO).
    They are now loaded independently of the client. This avoids unnecessary redefinitions and now you can also use Extensions for activities that don't need a loaded client.
      All the common functions have been added to the 'Quick Actions' group and all the remaining ones are in the left drawer, which is not many. If you have suggestions for more features let me know.

    Moving on to the Back end (This is of no use to the regular user. So you can skip this part if you want)
      It was high time for us to have a proper input file format. Enter YAML. Love it or hate it but it's here to stay.
    Frankly, I like it more than libconfig and INI. You would be seeing YAML being used for almost every file in WARP.
    This includes input files for Patches & Extensions, Files defining those two, Session files, etc.
      Writing patches is far more flexible now. Say goodbye to PTYPE_HEX and \xAB. Now we can do wild card searches with the actual wild cards inside hex codes. Of course, we still need to have some well-defined characters for that.
    Currently, we have 2 forms of wildcards - Nibble wise - For e.g. => A?, ??, ?3 Bit wise - For e.g. => [1.0...01] 
      If you have any suggestions about it let me know.
      Speaking of writing hex code, I have provided functions looking almost identical to Assembly instructions for generating their equivalent hex code. This helps in making the hex code more human-readable and adds a little more flexibility.
      User inputs have a few more types and little more flexibility in specifying constraints now. 
      Scripts have proper segregation now. Please follow them when adding your own.
    Only the scripts inside the 'Init' folder gets reloaded each time the client is loaded. This avoids unnecessary reloads.
      exe has now become 'Exe'.  But in addition to this, you get 2 more objects - System (for filesystem activities) & Warp (whatever is outside the scope of the other two)
      Many of the functions used for retrieving some constant information in the 'Exe' have become properties now. For e.g. PEoffset, ImageBase, BuildDate, etc.

      During patching, the Diff section is only added if you have inserted any code using one of the 'Add' functions. Also, the Diff section now grows dynamically as per requirement (in increments of Section Alignment of course).
      In addition to the Patched Exe, The tool also generates an (Extra Patch Info) file with the suffix '.epi'. It holds just enough info for the tool to recognize existing patches in an exe from a previous patch session. 
    So how is it useful? Let's say you have a patched client and its EPI file. But you don't have the original anymore.
    Now you can remove 1 or 2 patches and keep the rest OR even restore the original from the patched exe.
      Last, but not least, I am providing documentation about everything including the API. But bear with me for a bit, as I am still working on the documentation part.
      I probably forgot more points to add here, but I think this pretty much covers the important stuff. Anyway, the documentation would be pretty comprehensive.
      Is it ready to be used now? The tool is definitely ready. I have added most of the patches but not all just yet.
      But I was not able to test all the patches in-game. So please don't attack me if something failed.
    I would appreciate a Bug Request in Github instead.
      Also note, that some patches are still failing for new clients, and some failing for old ones. However, I saw the same behavior in NEMO, so that would be part of the next stage of operations - Updating Patch scripts.
      So, where do I get it from?
    https://github.com/Neo-Mind/WARP
      How to use it?
    There is a User Guide in the git repo (best viewed from Github itself). Everyone is used to NEMO by now, so it shouldn't be difficult to use this even without the guide. Plus the Github wiki is pretty detailed. 
      Any last words before we close this?
    Just like in the case of NEMO, my intention with WARP is to create a common tool for patching without being restricted to RO or which OS you use it in. For this reason, you will be seeing multiple branches in the Git repo.

    If you are planning to use WARP for patching some other application, Create a branch using the 'win32' branch as a starting point.


    That's about it from me for now.

     
  4. Upvote
    Ridley reacted to L1nkZ in RPatchur, a customizable patcher   
    Hi,
     
    A few days ago I released the first version of an open-source patcher I've been working on. The project has been developed in Rust and the UI is based on the webview project.
    The project also includes a cross-platform, command-line THOR patch generator.
     
    The patcher's current features are the following:
    * Customizable, web-based UI
    * Cross-platform (Windows 7/8/10, Linux, macOS)
    * Configurable through an external YAML file
    * HTTP/HTTPS support
    * GRF file patching (version 0x101, 0x102, 0x103 and 0x200)
    * THOR patch format support
    * Drop-in replacement for the Thor patcher
    * SSO login support (i.e., can act as a launcher)
    * Manual patching
    * Can use multiple patch mirrors
     
    The project's repository can be found here: https://github.com/L1nkZ/rpatchur (and documentation can be found here). Contributions are welcome!
     
    Releases
    v0.3.0: https://github.com/L1nkZ/rpatchur/releases/tag/v0.3.0
    v0.2.3: https://github.com/L1nkZ/rpatchur/releases/tag/v0.2.3
    v0.2.2: https://github.com/L1nkZ/rpatchur/releases/tag/v0.2.2
    v0.2.1: https://github.com/L1nkZ/rpatchur/releases/tag/v0.2.1
    v0.2.0: https://github.com/L1nkZ/rpatchur/releases/tag/v0.2.0
    v0.1.0: https://github.com/L1nkZ/rpatchur/releases/tag/v0.1.0
  5. Like
    Ridley got a reaction from JulioCF in kRO Patch - 2020-07-29   
    Original Patch Notes
    안녕하세요.
    (주)그라비티 라그나로크 온라인 운영팀입니다.
    7월 29일(수) 정기점검 시간 및 업데이트에 대한 안내입니다.
    ■ 점검시간
    - 전 서버 : 10:00 ~ 17:00 16:55(완료) ■ 공통 패치내용
    - 메모리얼 던전에서 태양과 달과 별의 느낌 스킬 사용 시 등록된 맵이 저장되지 않던 현상이 수정됩니다. ■ 본 서버 패치내용
    - 기존 보안솔루션 Cheat Defender가 제거되며 신규 보안솔루션 nProtect가 적용됩니다. - 카츄아 확률증가 이벤트가 종료됩니다. - 부스터 프로모션 관련 아이템 및 지원 NPC가 제거됩니다. → 목록: 부스터 팩(1~200), 부스터 콜, 부스터 웨폰 1~3단꼐 업그레이드 패키지, 부스터 웨폰 교환권, 일루시온(귀속) 업그레이드 패키지, 부스터 코인, 성장 포션(하급 ~ 최상급), 직업 포션, 2020 부스터 목표 달성 선물 상자, 부스터 방어구 업그레이트 패키지, 부스터 아머 교환권, 스타터 방어구 상자, 어태커 부스터 상자, 레인지 부스터 상자, 엘리멘탈 부스터 상자, 디펀트 부스터 상자, 시간의 초월자 쉐도우 박스, 메탈 무기 교환권, 메탈 무기 7제련권 티켓, (이벤트)에피소드 16 클리어 티켓, 부스터 프로모션 사전예약 감사 상자, [비매품]탑승용 고삐 30일 상자 → 부스터 콜 관련 퀘스트가 제거됩니다. - 의상 엔젤링빵 모자를 NPC에게 판매할 수 있도록 변경됩니다. - 일부 의상을 냥다래 의상 뚝딱상자로 교환하지 못하는 현상이 수정됩니다. → 목록: 의상 프릴 넥케이프, 의상 로즈 고딕 보닛, 의상 리틀 가든, 의상 깜빡이는 붉은 눈 - 공중 딜리터 카드, 지상 딜리터 카드 드롭 시 빛 기둥 이펙트가 발생하지 않던 현상이 수정됩니다. - 성제강림 스킬 사용 시 데미지를 입지 않은 대상에게도 침묵이 발생하던 현상이 수정됩니다. - 영혼이 부여된 대상에게 날라차기 스킬 사용 시 일부 영혼이 해제되지 않는 현상이 수정됩니다. ■ 사크라이 서버 패치내용
    - 일부 인챈트 및 장비 아이템의 옵션이 변경됩니다. 디스플레이명 기존 옵션 변경 옵션 불굴1Lv 신규 인챈트 근접 물리 데미지 4% 증가, 유도 공격 확률 1% 증가. 불굴2Lv 근접 물리 데미지 8% 증가, 유도 공격 확률 2% 증가. 불굴3Lv 근접 물리 데미지 12% 증가, 유도 공격 확률 3% 증가. 불굴4Lv 근접 물리 데미지 16% 증가, 유도 공격 확률 4% 증가. 불굴5Lv 근접 물리 데미지 20% 증가, 유도 공격 확률 5% 증가. 불굴6Lv 근접 물리 데미지 24% 증가, 유도 공격 확률 6% 증가. 불굴7Lv 근접 물리 데미지 28% 증가, 유도 공격 확률 7% 증가. 불굴8Lv 근접 물리 데미지 32% 증가, 유도 공격 확률 8% 증가. 불굴9Lv 근접 물리 데미지 36% 증가, 유도 공격 확률 9% 증가. 불굴10Lv 근접 물리 데미지 44% 증가, 유도 공격 확률 10% 증가. 패기1Lv ATK + 3%, HIT + 3. ATK + 4%, HIT + 10. 패기2Lv ATK + 6%, HIT + 6. ATK + 8%, HIT + 20. 패기3Lv ATK + 9%, HIT + 9. ATK + 12%, HIT + 30. 패기4Lv ATK + 12%, HIT + 12. ATK + 16%, HIT + 40. 패기5Lv ATK + 15%, HIT + 15. ATK + 20%, HIT + 50. 패기6Lv ATK + 18%, HIT + 18. ATK + 24%, HIT + 60. 패기7Lv ATK + 21%, HIT + 21. ATK + 28%, HIT + 70. 패기8Lv ATK + 24%, HIT + 24. ATK + 32%, HIT + 80. 패기9Lv ATK + 27%, HIT + 27. ATK + 36%, HIT + 90. 패기10Lv ATK + 33%, HIT + 30. ATK + 44%, HIT + 100. 자애1Lv 힐량 + 5%, MDEF + 3. 힐량 + 5%, MSP + 3%. 자애2Lv 힐량 + 10%, MDEF + 6. 힐량 + 10%, MSP + 6%. 자애3Lv 힐량 + 15%, MDEF + 9. 힐량 + 15%, MSP + 9%. 자애4Lv 힐량 + 20%, MDEF + 12. 힐량 + 20%, MSP + 12%. 자애5Lv 힐량 + 25%, MDEF + 15. 힐량 + 25%, MSP + 15%. 자애6Lv 힐량 + 30%, MDEF + 18. 힐량 + 30%, MSP + 18%. 자애7Lv 힐량 + 35%, MDEF + 21. 힐량 + 35%, MSP + 21%. 자애8Lv 힐량 + 40%, MDEF + 24. 힐량 + 40%, MSP + 24%. 자애9Lv 힐량 + 45%, MDEF + 27. 힐량 + 45%, MSP + 27%. 자애10Lv 힐량 + 55%, MDEF + 30. 힐량 + 55%, MSP + 30%. 금강1Lv MHP + 5%, DEF + 15. MHP + 5%, DEF + 140, MDEF + 20. 금강2Lv MHP + 10%, DEF + 30. MHP + 10%, DEF + 180, MDEF + 40. 금강3Lv MHP + 15%, DEF + 45. MHP + 15%, DEF + 220, MDEF + 60. 금강4Lv MHP + 20%, DEF + 60. MHP + 20%, DEF + 260, MDEF + 80. 금강5Lv MHP + 25%, DEF + 75. MHP + 25%, DEF + 300, MDEF + 100. 금강6Lv MHP + 30%, DEF + 90. MHP + 30%, DEF + 340, MDEF + 120. 금강7Lv MHP + 35%, DEF + 105. MHP + 35%, DEF + 380, MDEF + 140. 금강8Lv MHP + 40%, DEF + 120. MHP + 40%, DEF + 420, MDEF + 160. 금강9Lv MHP + 45%, DEF + 135. MHP + 45%, DEF + 460, MDEF + 180. 금강10Lv MHP + 55%, DEF + 150. MHP + 55%, DEF + 500, MDEF + 200. 선궁1Lv 활 공격력 + 4%, 공격속도 증가.
    (공격 후딜레이 1% 감소) 원거리 물리 데미지 4% 증가, 공격 속도 증가.
    (공격 후 딜레이 1% 감소) 선궁2Lv 활 공격력 + 8%, 공격속도 증가.
    (공격 후딜레이 2% 감소) 원거리 물리 데미지 8% 증가, 공격 속도 증가.
    (공격 후 딜레이 2% 감소) 선궁3Lv 활 공격력 + 12%, 공격속도 증가.
    (공격 후딜레이 3% 감소) 원거리 물리 데미지 12% 증가, 공격 속도 증가.
    (공격 후 딜레이 3% 감소) 선궁4Lv 활 공격력 + 16%, 공격속도 증가.
    (공격 후딜레이 4% 감소) 원거리 물리 데미지 16% 증가, 공격 속도 증가.
    (공격 후 딜레이 4% 감소) 선궁5Lv 활 공격력 + 20%, 공격속도 증가.
    (공격 후딜레이 5% 감소) 원거리 물리 데미지 20% 증가, 공격 속도 증가.
    (공격 후 딜레이 5% 감소) 선궁6Lv 활 공격력 + 24%, 공격속도 증가.
    (공격 후딜레이 6% 감소) 원거리 물리 데미지 24% 증가, 공격 속도 증가.
    (공격 후 딜레이 6% 감소) 선궁7Lv 활 공격력 + 28%, 공격속도 증가.
    (공격 후딜레이 7% 감소) 원거리 물리 데미지 28% 증가, 공격 속도 증가.
    (공격 후 딜레이 7% 감소) 선궁8Lv 활 공격력 + 32%, 공격속도 증가.
    (공격 후딜레이 8% 감소) 원거리 물리 데미지 32% 증가, 공격 속도 증가.
    (공격 후 딜레이 8% 감소) 선궁9Lv 활 공격력 + 36%, 공격속도 증가.
    (공격 후딜레이 9% 감소) 원거리 물리 데미지 36% 증가, 공격 속도 증가.
    (공격 후 딜레이 9% 감소) 선궁10Lv 활 공격력 + 44%, 공격속도 증가.
    (공격 후딜레이 10% 감소) 원거리 물리 데미지 44% 증가, 공격 속도 증가.
    (공격 후 딜레이 10% 감소) 마정1Lv MATK + 3%, 고정 캐스팅 0.1초 감소. MATK + 4%, 고정 캐스팅 0.1초 감소. 마정2Lv MATK + 6%, 고정 캐스팅 0.2초 감소. MATK + 8%, 고정 캐스팅 0.2초 감소. 마정3Lv MATK + 9%, 고정 캐스팅 0.3초 감소. MATK + 12%, 고정 캐스팅 0.3초 감소. 마정4Lv MATK + 12%, 고정 캐스팅 0.4초 감소. MATK + 16%, 고정 캐스팅 0.4초 감소. 마정5Lv MATK + 15%, 고정 캐스팅 0.5초 감소. MATK + 20%, 고정 캐스팅 0.5초 감소. 마정6Lv MATK + 18%, 고정 캐스팅 0.6초 감소. MATK + 24%, 고정 캐스팅 0.6초 감소. 마정7Lv MATK + 21%, 고정 캐스팅 0.7초 감소. MATK + 28%, 고정 캐스팅 0.7초 감소. 마정8Lv MATK + 24%, 고정 캐스팅 0.8초 감소. MATK + 32%, 고정 캐스팅 0.8초 감소. 마정9Lv MATK + 27%, 고정 캐스팅 0.9초 감소. MATK + 36%, 고정 캐스팅 0.9초 감소. 마정10Lv MATK + 33%, 고정 캐스팅 1초 감소. MATK + 44%, 고정 캐스팅 1초 감소. 예기1Lv 크리티컬 데미지 + 10%, CRI + 3. 크리티컬 데미지 20% 증가, CRI + 3. 예기2Lv 크리티컬 데미지 + 20%, CRI + 6. 크리티컬 데미지 35% 증가, CRI + 6. 예기3Lv 크리티컬 데미지 + 30%, CRI + 9. 크리티컬 데미지 50% 증가, CRI + 9. 예기4Lv 크리티컬 데미지 + 40%, CRI + 12. 크리티컬 데미지 65% 증가, CRI + 12. 예기5Lv 크리티컬 데미지 + 50%, CRI + 15. 크리티컬 데미지 80% 증가, CRI + 15. 예기6Lv 크리티컬 데미지 + 60%, CRI + 18. 크리티컬 데미지 95% 증가, CRI + 18. 예기7Lv 크리티컬 데미지 + 70%, CRI + 21. 크리티컬 데미지 110% 증가, CRI + 21. 예기8Lv 크리티컬 데미지 + 80%, CRI + 24. 크리티컬 데미지 125% 증가, CRI + 24. 예기9Lv 크리티컬 데미지 + 90%, CRI + 27. 크리티컬 데미지 140% 증가, CRI + 27. 예기10Lv 크리티컬 데미지 + 110%, CRI + 30. 크리티컬 데미지 170% 증가, CRI + 30. 시간의 세공 보석
    (행운) 1Lv 투구의 제련도 2당 크리티컬 데미지 2% 증가.
    투구의 제련도 2당 CRI + 1.
    투구의 제련도 5당 ATK + 1%. 투구의 제련도 2당 크리티컬 데미지 3% 증가.
    투구의 제련도 2당 CRI + 1.
    투구의 제련도 5당 ATK + 1%. 시간의 세공 보석
    (행운) 2Lv 투구의 제련도 2당 크리티컬 데미지 4% 증가.
    투구의 제련도 2당 CRI + 2.
    투구의 제련도 5당 ATK + 2%. 투구의 제련도 2당 크리티컬 데미지 6% 증가.
    투구의 제련도 2당 CRI + 2.
    투구의 제련도 5당 ATK + 2%. 시간의 세공 보석
    (행운) 3Lv 투구의 제련도 2당 크리티컬 데미지 6% 증가.
    투구의 제련도 2당 CRI + 3.
    투구의 제련도 5당 ATK + 3%. 투구의 제련도 2당 크리티컬 데미지 9% 증가.
    투구의 제련도 2당 CRI + 3.
    투구의 제련도 5당 ATK + 3%. # 곰의 힘 변경 내용: 빅풋 변신 효과 제거 # 빛의 속도 변경 전: 초당 HP 400씩 SP 40씩을 잃는다. 변경 후: 초당 SP 50씩을 잃는다. # 근육바보 변경 전: 공격력과 마법공격력은 50% 줄어든다. 변경 후: 정신력이 부족하여 초당 SP 50씩을 잃는다. # 낡은 수호의 관 변경 전: 2제련 당 오버 브랜드의 데미지 5%씩 증가. 변경 후: 2제련 당 오버 브랜드의 데미지 15%씩 증가. # 낡은 드라이버 밴드(노랑) 변경 전: 2제련 당 암즈 캐논의 데미지 5%씩 증가. 변경 후: 2제련 당 암즈 캐논의 데미지 15%씩 증가. # 낡은 뼈의 서클릿 변경 전: 2제련 당 크로스 임팩트의 데미지 10%씩 증가. 변경 후: 2제련 당 크로스 임팩트의 데미지 15%씩 증가. # 낡은 마력의 돌 모자 변경 전: 2제련 당 소울 익스펜션의 데미지 5%씩 증가. 변경 후: 2제련 당 소울 익스펜션의 데미지 15%씩 증가. # 낡은 민스트럴 송의 모자, 낡은 빈사의 백조 변경 전: 2제련 당 서비어 레인스톰의 데미지 5%씩 증가. 변경 후: 2제련 당 서비어 레인스톰의 데미지 15%씩 증가. ※ 불굴 인챈트의 경우, 추후 인챈트 부여 NPC를 통해 업데이트될 예정입니다. - 아크메이지 전직 지원용 워프 NPC가 추가됩니다. → 에피소드 클리어 여부와 관계 없이 전직 퀘스트 시작 지점인 바르문트 저택으로 이동시켜주는 바르문트 저택 안내자β(gef_tower 119 34)가 추가됩니다. - '서번트 웨폰 - 사인' 효과가 해제될 경우 지면 이펙트가 사라지지 않는 현상이 수정됩니다. - 상태이상: 급냉의 피격대상 주변의 유저에게도 급냉의 이펙트가 발생하는 현상이 수정됩니다. 점검 내용을 숙지하시어 이용에 차질 없으시길 바랍니다.
    감사합니다.

    (주) 그라비티 라그나로크 온라인 운영팀
    Translated Patch Notes
    References
    https://ro.gnjoy.com/news/notice/View.asp?BBSMode=10001&seq=7279&curpage=1
    Retrieved from https://ragnarok.gamepedia.com/RO_Patch_(2020_Jul._29).
  6. Like
    Ridley reacted to w0wZukuBg in [Showcase] Lhz Dun Mobs Update aka Bio Lab Family   
    short description
    There are 3 different generations of laboratory monsters:
    1. Egnigem, Wickebine, Laurell, Errende, Josephina, Kavach, Armeyer
    2. Seyren, Eremes, Kathryne, Margaretha, Cecil, Howard
    3. Randel, Gertie, Celia, Chen, Trentini, Alphoccio, Flamel
    I collect them, correct mistakes, add every possible class to each monster,
    recolor them in 3 official color sets and improve their aura.
    As a basis, I took the logic of the first implemented sprites at lhz_dun01-03
    If you compare the following kRO sprites with corrections in the changelog you will notice
    that the logic has ceased to be respected and the sprites do not even have sounds!
     
    [DONE]
    1st classes
    2nd class
    advanced class
    3rd class
    3rd japan edition class
    4th class
    previous versions of some classes
    custom extended classes

    The total number of sprites in the pack: ~170 classes (including different types of weapons) x 3 color sets x 2 different auras = ~1020 sprites
     
    changelog:
    (!) Below are the non-clean gifs recorded using GifCam.exe over the Act Editor (!)
    So these can brake or accelerate and do not serve as an accurate image. These gifs are added just for reference
    For clarity, the background of the laboratory is taken, and the sprites are shown in transparent blue 969F9EE7 and with improved aura
    Seyren Windsor

    Eremes Guile

    Kathryne Keyron

    Margaretha Sorin

    Cecil Damon

    Howard Alt-Eisen


    Randel Lawrence

    Gertie Wie

    Celia Alde

    Chen Lio

    Trentini Ilaria

    Alphoccio Basil

    Flamel Emure

    Egnigem Chenia

    Wickebine Tres

    Laurell Weinder

    Errende Ebecee

    Josephina

    Kavach Icarus

    Armeyer Dinze

     

     
     
  7. Like
    Ridley reacted to Rytech in The End of A Era - Goodbye 3CeAM   
    Well this is it. This is the day I knew would one day come after spending some time thinking about the project and my priorities. After a number of not so good things happened to me during the first few months of this year (2020) I had to sit down and think about many things including this project. In the end I came to the difficult decision of ending this project. Many many years of work into something that I feel has to end. But not every reason for this is due to my current situation in life but also the changing world of Ragnarok Online. I won't get into the details of whats going on in my personal life but ill talk about the issues with the project itself.
     
    RO is changing. A lot. Its changing too much for me to keep up on jobs, skills, and important features on the project and my life future needs to take priority. For most of the time I worked on this project it has distracted me from my priorities in life. I kept up with it for a very long time and I tried to catch up on things for many years. With the complete recode of the elemental system on r900 I felt I finally got all caught up and only had a few bugs here and there related to skills that needed to be fixed and I just needed to finish up whats missing for the Summoner job. But I was so wrong. The thing is I felt the need to keep things up to keep the project alive and not have people wondering if the project is dead or not. Plus after doing so much work it felt like ending it would mean I wasted years of my life doing this for....what??? What exactly did I get out of this? Some fun, a hand full of thanks, and some credits and rep. Kinda felt like someone who played a MMO for many years and can't quit knowing it would make all that past time feel like it was all for nothing. A waste.
     
    So whats the issues with the project itself? Well....
     
    1. The Base Code Is Too Old
    3CeAM is running on eAthena r14767 which is around 9 or 10 years old. A base that dated has been found to have some issues with newer compilers like VS 2015 which I have resolved this year. But other issues appeared after running the program made with newer compilers which I fixed some. But I realized that not only is there a lot of hidden issues needing fixing but things like plugin's and other .dll files are dated and need updating along with the code that uses them. I have little knowledge of this stuff and can't do it by myself. Other projects like rAthena and Hercules are much more up-to-date for newer compilers and OS's. 3CeAM's base code is just too old to keep up with. Especially when im the only one working on it.
     
     
     
    2. Keeping Things Up-To-Date Is Impossible
    When it comes to development in this project there's a few key things I focus on most. Jobs, skills, any systems related to the jobs/skills that require them, and client support. I don't bother with things like the banking system or equip swap or other non important things. This pile of stuff I pushed off grew over the years and now while client support is good, many features in them don't work since I never coded them in. Im always busy working on job/skill related stuff most of the time. Its very time consuming. But after spending many years catching up on the official support for skills and these job/skill related systems I finally caught up in r900 with the exception of Summoners and a few skills that could use a quick recode.
     
    Looking at whats been going on in official kRO the dev's have been changing things with the 3rd job skills....A LOT!!!! They will increase the max level for some of them, change how some of the skills work, and do these massive skill updates. That would be kinda fine with me if it wasn't for the fact that they keep changing things. How many skill updates Rune Knights got? How many freaken times Sonic Wave got changed? How many times did they change a large number of 3rd job skills for each job? Each job must of gotten at least 3 or 4 massive skill change updates to their skill set. Its enough to drive me crazy trying to keep up with it all.
     
    Remember how long it took me to go through every 3rd job a few years back to comb through all of the code to get each of them up-to-date with the 2011 skill updates? Even after that I had to go back and revisit the parts I held off on knowing they would be very complex and time consuming to do. Now it feels like half or most of what ive done was now a time waster since I will have to do this exact procedure ALL OVER AGAIN combing through the code and kRO change logs to update each 3rd job skills 1 by 1 to get them up-to-date again. I did it once, im not doing it again.
     
     
    3. Newer Client Support.
    In mid 2018 official kRO increased the value that handles item ID's from short (16-bit 32k item limit or 64k however you look at it) to int (32-bit allowing over 2 billion ID's). But the way they did it made things difficult. Many existing packets relays on item ID's and so they decided to change this value in all already existing packets. To support newer clients over 50 or probely 70 or 80 or maybe more needs updating. But not only updating but many which only have 1 versions of itself requires additional code to keep backward support for older clients. Such a change is a huge workload and would require multiple updates to get it working. Me not having the time for this crap if I did it would just say FUCK IT and remove ALL of those packets and only readd the latest versions of each one to significantly reduce that workload. I would make a copy of the source files that handles the packets and put them to the side in the SVN for those who want 2018-06-20 or older support because that change will make it so only 2018-07-01 and newer clients will work. Won't be the most popular choice but im not up for trying to keep backward compatibility with years of clients. Just going to be a pain in the ass.
     
     
     
    4. The 4th Jobs Workload
    It took many years since the beginning to get the 3rd jobs caught up. Some of that time spent figuring out how to implement them in the system on their own layer and also inherit the features and permissions of the previous jobs. That was a big challenge since noone knew exactly how the job management system worked. Me and a few others made multiple prototype codes to find the best method until I found the right way to do it. Knowing this knowledge I can create a new layer for 4th jobs. But these jobs come with a lot more then just a hand full of skill sets.
     
    When 3rd jobs came, so did the introduction of a new game mechanic that split cast times into variable cast and fixed cast and it also introduced cooldowns. It was a nice and much needed change and it didn't take long to code this stuff in. 4th jobs however are adding new game mechanics much bigger then this. When you change to a 4th job, level 201 to 250 will give you a new kind of stat points called T.Stats and you use them on 6 new stats that are added to the 6 that existed since day 1 of RO, making the total number of stats in the game 12 now. This also comes with a hand full of new sub-stats which we can just call T.Sub-Stats. Coding all of this in will be a big work load since no new stats were added since the early days of RO server emulators. Also new to the table is something called AP which will be a new requirement for some if not all of the 4th job skills according to info I found in a updated skillinfo_f.lua file. So now we will soon have to mange HP, SP, and now AP.
     
    Info extracted from newer client exe's shows some of the new buff skills increases T.Stats and also increases T.Sub-Stats. Combining that with the new AP requirements and you now have over 100 new skills that will require all of this to be coded in and working to allow those skills to work properly. This is a workload much MUCH greater then what the 3rd jobs were and doing this alone will just stress me out. Especially when this is only a free time hobby that brings no income.
     
     
     
    5. A Project Managed By 1 Person
    Managing the project by myself has been somewhat stressful at times. It used to be developed by a small team but everyone moved on with their lives. And I got used to doing it all by myself. I knew the code inside and out because almost everything was being done by me and I knew what was done and what still needed to be coded in. Well this became a big part of the project's downfall. Doing it all by myself is a lot on me and it prevented things like a updated base code and .dll's, server/client features, and other things to fall behind. Sure 15peaces made patches you can apply to get those other features working but its not something officially in the project's code.
     
    I tried working with the team at rAthena before only to quickly find out that some of the dev's there don't do a good job at coding. Some would code something in and commit it to the GIT and those changes would cause problems. So dev's have to go back and fix the bug or the issue which sometimes causes crashes and commit again. And even with that the fix won't even fix the issue as if the dev didn't test it. WTF!!??!! The dev would commit multiple times on that code before its actually working. I can only imagine the number of issues in that project's code. When you code something in your supposed to TEST IT BEFORE RELEASING IT!!!! Test it thoroughly to make sure it works EXACTLY how its supposed to and test some scenario with it to make sure it doesn't cause problems or crashes in case there's any hidden bugs. And even if it works properly, find ways to shrink the code down to make it smaller and optimize it to use a few CPU cycles and little memory as possible.
     
    I follow a procedure when I do my own coding. Code it in, do simple tests, shrink and optimize the code if it passes the test, test again for the same expected results, do extra testing (thorough testing through stressing the code and running scenarios that might cause issues), and then release it if all passes. Its because of this 3CeAM has a history of being stable and extremely rarely has any crashes or bugs. If there's one thing dev's should take from this example, do it right the first time and give it your best at all times. If your often having to go back to your previous work or the same piece of code repeatedly to fix it then your doing something wrong. The lack of this procedure in rAthena made me quit in less then a month as I refused to fix/cleanup other people's messes. This is why I worked alone for so long. I was afraid to let or ask others join the team.
     
     
     
    Final Note
    3CeAM was fun to work on and I learned a lot from it. It was very popular before rAthena and Hercules existed since at the time people wanted 3rd jobs in their servers. But those golden years are gone and trying to keep this project alive will just be a waste. Its time to let go and move on to new hobbies. Im very interested in the 4th jobs but im not interested in trying to code them into a old very dated project. If I do such a thing it will be in rAthena (which is in a better standing then when I saw it years ago), or Hercules. Anything with 3CeAM will only happen if its a paid job and thats if I even choose to accept it.
     
    Thank you to the community for supporting the project and being with me all these years. It was a fun journey.
  8. Like
    Ridley got a reaction from evilpuncker in June and July Digest 2020   
    June & July Digest 2020
    The following digest covers the months of June 1st - July 31st 2020

    Team Changes
    None  
    Added
    Added information about the Random Item Options to the OnSellItem array list. (#2794, part of issue #2379)
    Added a new mf_nopet mapflag to control pet restrictions on a map by map basis. This supersedes the pet_disable_in_gvg battleconf setting. (#2652)
    Added/updated packets, encryption keys and message tables for clients up to 2020-07-15. (#2788)
    Added a new pair of item bonuses bSubDefEle and bMagicSubDefEle to reduce damage (physical and magical respectively) against a specific defense element. (#2790)
    Added support to display a pet's intimacy in the egg's item description window. (#2781)
    Added a convenience macro pc_has_pet() to check whether a character has a pet. (part of #2781)
    Added convenience macros pc_istrading_except_npc() and pc_cant_act_except_npc_chat(). (part of #2775)
    Added support for PACKET_ZC_PERSONAL_INFOMATION, to replace the old custom status messages about rates and penalties. (#2757)
    Added a new configuration flag display_rate_messages (conf/map/battle/client.conf) to control whether and when to display the rate modifiers to players. (part of #2757)
    Added a new configuration flag display_config_messages (conf/map/battle/client.conf) to control whether and when to display the configuration messages to players as well as which messages to display. By default, now the pet autofeed and guild urgent call setting are also displayed, along with the others. (part of #2757)
    Added a new configuration flag send_party_options (conf/map/battle/client.conf) to control whether and when to display the party option messages to players, including some cases (on login, when options are changed, when a party member is added or removed) that were previously not available. (part of #2757)
    Added a new configuration flag display_overweight_messages (conf/map/battle/client.conf) to control whether and when to display the overweight notification message to players. (part of #2757)
    Added support to display the Tip of the Day message box on login. A new configuration flag show_tip_window (conf/map/battle/client.conf) is provided, in order to disable this feature. (part of #2757)
    Added missing plugins to the makefiles. (part of #2778)
    Added missing mobs and items in the pre-re database, necessary for loading custom scripts. (part of #2778)
    Added support for GitHub actions and added builds to test different flags and compilers and different MySQL/MariaDB versions. (part of #2778 and 9b89425550)
    Added/updated packets, encryption keys and message tables for clients up to 2020-06-03. (#2763)
     
    Changed
    Changed the script command gettimetick(0) to never return negative values. The tick loop interval is reduced from about 50 to about 25 days, but the values are guaranteed to be positive. Since gettimetick(0) is only intended to be used for precise calculation of short durations, it is care of the scripter to account for overflows of the counter, treating it as a 31 bit unsigned integer operating in modulo 2**31. For most uses, gettimetick(2) should be preferred. (#2791, issue #2779)
    Updated the Renewal formula for the RG_SNATCHER skill. (#2802)
    Refactored the scripts that use OnTouch areas and enablednpc()/disablenpc() logic to warp characters, to use areawarp() instead, simplifying the scripts and resolving some possible exploits and issues. (#2798)
    Changed the @item2 atcommand's parameters to be optional, except the item ID. Default values of 1 for the Identified and Quantity parameters and 0 for everything else will be used, when not specified. (#2795)
    Updated/added the script for items that use bSubDefEle and bMagicSubDefEle. (part of #2790, issue #548)
    Updated the documentation of the instance_create() to clarify the type of ID required to create each type of instance. Notably, instances of type IOT_CHAR require an account ID and not a character ID. (part of #2732, issue #2326)
    Updated the instancing system so that the instance information window is also displayed on login for instances of type IOT_CHAR, IOT_PARTY, IOT_GUILD, even if the instance state is INSTANCE_IDLE. (part of #2732)
    Changed the chatroom creation and trade checks to allow dead characters to perform them. A new configuration flag allowed_actions_when_dead (conf/map/battle/player.conf) is now available, to allow neither, either or both. (#2755, issue #2740)
    Changed the behavior when a pet's intimacy drops to 0 to immediately remove the pet rather than leaving it free to roam on the map. A new configuration flag pet_remove_immediately (conf/map/battle/pet.conf) has been added, to restore the old behavior. (part of #2781)
    Centralized some repeated code related to pet spawning and consolidated the sending of the pet's intimacy and hunger information to the client when appropriate. (part of #2781)
    Extended the guild_notice_changemap configuration flag with more fine grained settings on when to display the guild notice. Note: if you are currently overriding this setting, you'll need to update its value with the new meaning. (part of #2757)
    Enforced the use of signed characters on platforms where char is unsigned. (part of #2778)
    Travis-CI scripts and configuration updates: (part of #2778)
    Improved the build speed by reducing the clone depth to 1
    Improved error reporting if an error occurs during tests
    Added configurations targeting the arm64 and ppc64le cpu architectures as well as the gcc-10 compiler
    Reduced the total amount of build configurations to improve the CI build time
    Added execution of the servers with all the plugins enabled in order to detect memory violations and errors
    Fixed some build failures caused by a false positive odr violation
    Added execution of the map server with all the custom scripts uncommented
    Disabled asan in the gcc-7 builds, as it's too slow
    Converted validateinterfaces.py to Python 3. (part of #2778)
    Changed the plugin handler to call all plugin events even when the server is running in minimal mode. (part of #2778)
    Updated the friend list related packets for Zero clients. (part of #2763)
    Changed the storage (account and guild storage) to automatically close when using the teleport skill. A configuration flag teleport_close_storage (conf/map/battle/skill.conf) has been added to restore the previous behavior. (#2756, issue #1762)
     
    Fixed
    Fixed a possible exploit in the Dokebi Battle Quest allowing to spawn a higher than expected amount of Am Muts. (#2797)
    Fixed the Dokebi Battle Quest becoming impossible to complete until server restart under certain circumstances. (part of #2797)
    Fixed the @changecharsex command not correctly saving the updated gender to the database. (#2796, issue #2789)
    Fixed an issue that made the Moscovia Whale Island Quest impossible to complete. (#2792, issue #2715)
    Fixed a missing cleanup of the dnsbl vectors on shutdown. (part of #2788)
    Fixed the experience gain messages printing a literal %"PRIu64" instead of the gained amount of experience. (#2647)
    Fixed several typos in the configuration files. (#2769)
    Fixed an issue when deleting instances of type IOT_CHAR. (part of #2732)
    Fixed an issue that prevented the removal of offline characters from parties to get correctly saved to the database. (#2762)
    Fixed the deletion of skill units belonging to an NPC when it gets unloaded. (#2712, issue #768)
    Fixed the selection of required items for various skills, such as Slim Potion Pitcher, for skill levels greater than 2. Required items are now selected through the skill->get_item_index() function. (#2774)
    Fixed the description of the meaning of rows and columns in the documentation for db/*/attr_fix.txt. (#2765)
    Fixed the behavior of the Megaphone item script to remove the normal script restrictions (walking, attacking, using skills and items, dropping and picking up items, trading, etc) while the message input box is present and not to be cancelled on death. (#2775, issue #2751)
    Fixed a client freeze when talking with an NPC or using a Megaphone while the Rodex window is open. Rodex and NPC scripts (or megaphones) are now mutually exclusive. (part of #2775)
    Added a workaround in the CI scripts to support MySQL/MariaDB setups where the normal grant code does not work. (part of #2778)
    Fixed a memory violation between core and plugins in the HPMDataCheck code. (part of #2778)
    Fixed warnings in the skill database parser when running in minimal mode. The battle configuration is now read in minimal mode. (part of #2778, issue #2776)
    Fixed warnings about missing maps that were present in the map index and scripts. (part of #2778)
    Fixed a duplicated fclose() call in the mapcache plugin. (part of #2778)
    Fixed conflicting NPC names in re/merchants/hd_refiner.txt and in various custom scripts. (part of #2778)
    Fixed builds on ARMv8, some ARMv7 versions and PPC64. (part of #2778)
    Fixed the field size of struct script_state::npc_item_flag to support all the possible values and reduced the maximum value of the item_enabled_npc configuration flag to 3. (#2784)
    Fixed the width of the path affected by Focused Arrow Strike to be 1 cell wide instead of 2 on each side. (part of #2785)
    Fixed a missing character ID in name requests. (part of #2763)
    Fixed an issue that caused loss of items when selling items to an NPC fails because of the character zeny cap. (#2782, issue #2780)
    Fixed the disappearance of status icon timers when the character spawns. (#2786, issue #580)
    Fixed a crash in the db2sql plugin with the MariaDB client library. (#2748)
    Fixed the job level stat bonuses for the Novice class to match the official servers. (#2747)
    Fixed an issue that caused the walk-path check to be never executed for skills that require the caster to be able to move. (#2761)
    Fixed an issue that caused "Unknown Skill" errors to appear while casting skills. The default value for the skill damage type field of the skill database is now NK_NONE instead of NK_NO_DAMAGE. (#2761, issue #2760)
     
    Deprecated
    None  
    Removed
    Removed the pet_disable_in_gvg battleconf setting in favor of the new mf_nopet mapflag. (part of #2652) Removed a duplicated function time2str from bg_common.txt. (part of #2778)  
    Special thanks to
    @Haru, @4144, @Emistry, @Dastgir, @skyleo, @Kenpachi, @Jedzkie, @hemagx, @Zopokx, @pazkero
     
  9. Like
    Ridley got a reaction from evilpuncker in kRO Patch - 2020-07-29   
    Original Patch Notes
    안녕하세요.
    (주)그라비티 라그나로크 온라인 운영팀입니다.
    7월 29일(수) 정기점검 시간 및 업데이트에 대한 안내입니다.
    ■ 점검시간
    - 전 서버 : 10:00 ~ 17:00 16:55(완료) ■ 공통 패치내용
    - 메모리얼 던전에서 태양과 달과 별의 느낌 스킬 사용 시 등록된 맵이 저장되지 않던 현상이 수정됩니다. ■ 본 서버 패치내용
    - 기존 보안솔루션 Cheat Defender가 제거되며 신규 보안솔루션 nProtect가 적용됩니다. - 카츄아 확률증가 이벤트가 종료됩니다. - 부스터 프로모션 관련 아이템 및 지원 NPC가 제거됩니다. → 목록: 부스터 팩(1~200), 부스터 콜, 부스터 웨폰 1~3단꼐 업그레이드 패키지, 부스터 웨폰 교환권, 일루시온(귀속) 업그레이드 패키지, 부스터 코인, 성장 포션(하급 ~ 최상급), 직업 포션, 2020 부스터 목표 달성 선물 상자, 부스터 방어구 업그레이트 패키지, 부스터 아머 교환권, 스타터 방어구 상자, 어태커 부스터 상자, 레인지 부스터 상자, 엘리멘탈 부스터 상자, 디펀트 부스터 상자, 시간의 초월자 쉐도우 박스, 메탈 무기 교환권, 메탈 무기 7제련권 티켓, (이벤트)에피소드 16 클리어 티켓, 부스터 프로모션 사전예약 감사 상자, [비매품]탑승용 고삐 30일 상자 → 부스터 콜 관련 퀘스트가 제거됩니다. - 의상 엔젤링빵 모자를 NPC에게 판매할 수 있도록 변경됩니다. - 일부 의상을 냥다래 의상 뚝딱상자로 교환하지 못하는 현상이 수정됩니다. → 목록: 의상 프릴 넥케이프, 의상 로즈 고딕 보닛, 의상 리틀 가든, 의상 깜빡이는 붉은 눈 - 공중 딜리터 카드, 지상 딜리터 카드 드롭 시 빛 기둥 이펙트가 발생하지 않던 현상이 수정됩니다. - 성제강림 스킬 사용 시 데미지를 입지 않은 대상에게도 침묵이 발생하던 현상이 수정됩니다. - 영혼이 부여된 대상에게 날라차기 스킬 사용 시 일부 영혼이 해제되지 않는 현상이 수정됩니다. ■ 사크라이 서버 패치내용
    - 일부 인챈트 및 장비 아이템의 옵션이 변경됩니다. 디스플레이명 기존 옵션 변경 옵션 불굴1Lv 신규 인챈트 근접 물리 데미지 4% 증가, 유도 공격 확률 1% 증가. 불굴2Lv 근접 물리 데미지 8% 증가, 유도 공격 확률 2% 증가. 불굴3Lv 근접 물리 데미지 12% 증가, 유도 공격 확률 3% 증가. 불굴4Lv 근접 물리 데미지 16% 증가, 유도 공격 확률 4% 증가. 불굴5Lv 근접 물리 데미지 20% 증가, 유도 공격 확률 5% 증가. 불굴6Lv 근접 물리 데미지 24% 증가, 유도 공격 확률 6% 증가. 불굴7Lv 근접 물리 데미지 28% 증가, 유도 공격 확률 7% 증가. 불굴8Lv 근접 물리 데미지 32% 증가, 유도 공격 확률 8% 증가. 불굴9Lv 근접 물리 데미지 36% 증가, 유도 공격 확률 9% 증가. 불굴10Lv 근접 물리 데미지 44% 증가, 유도 공격 확률 10% 증가. 패기1Lv ATK + 3%, HIT + 3. ATK + 4%, HIT + 10. 패기2Lv ATK + 6%, HIT + 6. ATK + 8%, HIT + 20. 패기3Lv ATK + 9%, HIT + 9. ATK + 12%, HIT + 30. 패기4Lv ATK + 12%, HIT + 12. ATK + 16%, HIT + 40. 패기5Lv ATK + 15%, HIT + 15. ATK + 20%, HIT + 50. 패기6Lv ATK + 18%, HIT + 18. ATK + 24%, HIT + 60. 패기7Lv ATK + 21%, HIT + 21. ATK + 28%, HIT + 70. 패기8Lv ATK + 24%, HIT + 24. ATK + 32%, HIT + 80. 패기9Lv ATK + 27%, HIT + 27. ATK + 36%, HIT + 90. 패기10Lv ATK + 33%, HIT + 30. ATK + 44%, HIT + 100. 자애1Lv 힐량 + 5%, MDEF + 3. 힐량 + 5%, MSP + 3%. 자애2Lv 힐량 + 10%, MDEF + 6. 힐량 + 10%, MSP + 6%. 자애3Lv 힐량 + 15%, MDEF + 9. 힐량 + 15%, MSP + 9%. 자애4Lv 힐량 + 20%, MDEF + 12. 힐량 + 20%, MSP + 12%. 자애5Lv 힐량 + 25%, MDEF + 15. 힐량 + 25%, MSP + 15%. 자애6Lv 힐량 + 30%, MDEF + 18. 힐량 + 30%, MSP + 18%. 자애7Lv 힐량 + 35%, MDEF + 21. 힐량 + 35%, MSP + 21%. 자애8Lv 힐량 + 40%, MDEF + 24. 힐량 + 40%, MSP + 24%. 자애9Lv 힐량 + 45%, MDEF + 27. 힐량 + 45%, MSP + 27%. 자애10Lv 힐량 + 55%, MDEF + 30. 힐량 + 55%, MSP + 30%. 금강1Lv MHP + 5%, DEF + 15. MHP + 5%, DEF + 140, MDEF + 20. 금강2Lv MHP + 10%, DEF + 30. MHP + 10%, DEF + 180, MDEF + 40. 금강3Lv MHP + 15%, DEF + 45. MHP + 15%, DEF + 220, MDEF + 60. 금강4Lv MHP + 20%, DEF + 60. MHP + 20%, DEF + 260, MDEF + 80. 금강5Lv MHP + 25%, DEF + 75. MHP + 25%, DEF + 300, MDEF + 100. 금강6Lv MHP + 30%, DEF + 90. MHP + 30%, DEF + 340, MDEF + 120. 금강7Lv MHP + 35%, DEF + 105. MHP + 35%, DEF + 380, MDEF + 140. 금강8Lv MHP + 40%, DEF + 120. MHP + 40%, DEF + 420, MDEF + 160. 금강9Lv MHP + 45%, DEF + 135. MHP + 45%, DEF + 460, MDEF + 180. 금강10Lv MHP + 55%, DEF + 150. MHP + 55%, DEF + 500, MDEF + 200. 선궁1Lv 활 공격력 + 4%, 공격속도 증가.
    (공격 후딜레이 1% 감소) 원거리 물리 데미지 4% 증가, 공격 속도 증가.
    (공격 후 딜레이 1% 감소) 선궁2Lv 활 공격력 + 8%, 공격속도 증가.
    (공격 후딜레이 2% 감소) 원거리 물리 데미지 8% 증가, 공격 속도 증가.
    (공격 후 딜레이 2% 감소) 선궁3Lv 활 공격력 + 12%, 공격속도 증가.
    (공격 후딜레이 3% 감소) 원거리 물리 데미지 12% 증가, 공격 속도 증가.
    (공격 후 딜레이 3% 감소) 선궁4Lv 활 공격력 + 16%, 공격속도 증가.
    (공격 후딜레이 4% 감소) 원거리 물리 데미지 16% 증가, 공격 속도 증가.
    (공격 후 딜레이 4% 감소) 선궁5Lv 활 공격력 + 20%, 공격속도 증가.
    (공격 후딜레이 5% 감소) 원거리 물리 데미지 20% 증가, 공격 속도 증가.
    (공격 후 딜레이 5% 감소) 선궁6Lv 활 공격력 + 24%, 공격속도 증가.
    (공격 후딜레이 6% 감소) 원거리 물리 데미지 24% 증가, 공격 속도 증가.
    (공격 후 딜레이 6% 감소) 선궁7Lv 활 공격력 + 28%, 공격속도 증가.
    (공격 후딜레이 7% 감소) 원거리 물리 데미지 28% 증가, 공격 속도 증가.
    (공격 후 딜레이 7% 감소) 선궁8Lv 활 공격력 + 32%, 공격속도 증가.
    (공격 후딜레이 8% 감소) 원거리 물리 데미지 32% 증가, 공격 속도 증가.
    (공격 후 딜레이 8% 감소) 선궁9Lv 활 공격력 + 36%, 공격속도 증가.
    (공격 후딜레이 9% 감소) 원거리 물리 데미지 36% 증가, 공격 속도 증가.
    (공격 후 딜레이 9% 감소) 선궁10Lv 활 공격력 + 44%, 공격속도 증가.
    (공격 후딜레이 10% 감소) 원거리 물리 데미지 44% 증가, 공격 속도 증가.
    (공격 후 딜레이 10% 감소) 마정1Lv MATK + 3%, 고정 캐스팅 0.1초 감소. MATK + 4%, 고정 캐스팅 0.1초 감소. 마정2Lv MATK + 6%, 고정 캐스팅 0.2초 감소. MATK + 8%, 고정 캐스팅 0.2초 감소. 마정3Lv MATK + 9%, 고정 캐스팅 0.3초 감소. MATK + 12%, 고정 캐스팅 0.3초 감소. 마정4Lv MATK + 12%, 고정 캐스팅 0.4초 감소. MATK + 16%, 고정 캐스팅 0.4초 감소. 마정5Lv MATK + 15%, 고정 캐스팅 0.5초 감소. MATK + 20%, 고정 캐스팅 0.5초 감소. 마정6Lv MATK + 18%, 고정 캐스팅 0.6초 감소. MATK + 24%, 고정 캐스팅 0.6초 감소. 마정7Lv MATK + 21%, 고정 캐스팅 0.7초 감소. MATK + 28%, 고정 캐스팅 0.7초 감소. 마정8Lv MATK + 24%, 고정 캐스팅 0.8초 감소. MATK + 32%, 고정 캐스팅 0.8초 감소. 마정9Lv MATK + 27%, 고정 캐스팅 0.9초 감소. MATK + 36%, 고정 캐스팅 0.9초 감소. 마정10Lv MATK + 33%, 고정 캐스팅 1초 감소. MATK + 44%, 고정 캐스팅 1초 감소. 예기1Lv 크리티컬 데미지 + 10%, CRI + 3. 크리티컬 데미지 20% 증가, CRI + 3. 예기2Lv 크리티컬 데미지 + 20%, CRI + 6. 크리티컬 데미지 35% 증가, CRI + 6. 예기3Lv 크리티컬 데미지 + 30%, CRI + 9. 크리티컬 데미지 50% 증가, CRI + 9. 예기4Lv 크리티컬 데미지 + 40%, CRI + 12. 크리티컬 데미지 65% 증가, CRI + 12. 예기5Lv 크리티컬 데미지 + 50%, CRI + 15. 크리티컬 데미지 80% 증가, CRI + 15. 예기6Lv 크리티컬 데미지 + 60%, CRI + 18. 크리티컬 데미지 95% 증가, CRI + 18. 예기7Lv 크리티컬 데미지 + 70%, CRI + 21. 크리티컬 데미지 110% 증가, CRI + 21. 예기8Lv 크리티컬 데미지 + 80%, CRI + 24. 크리티컬 데미지 125% 증가, CRI + 24. 예기9Lv 크리티컬 데미지 + 90%, CRI + 27. 크리티컬 데미지 140% 증가, CRI + 27. 예기10Lv 크리티컬 데미지 + 110%, CRI + 30. 크리티컬 데미지 170% 증가, CRI + 30. 시간의 세공 보석
    (행운) 1Lv 투구의 제련도 2당 크리티컬 데미지 2% 증가.
    투구의 제련도 2당 CRI + 1.
    투구의 제련도 5당 ATK + 1%. 투구의 제련도 2당 크리티컬 데미지 3% 증가.
    투구의 제련도 2당 CRI + 1.
    투구의 제련도 5당 ATK + 1%. 시간의 세공 보석
    (행운) 2Lv 투구의 제련도 2당 크리티컬 데미지 4% 증가.
    투구의 제련도 2당 CRI + 2.
    투구의 제련도 5당 ATK + 2%. 투구의 제련도 2당 크리티컬 데미지 6% 증가.
    투구의 제련도 2당 CRI + 2.
    투구의 제련도 5당 ATK + 2%. 시간의 세공 보석
    (행운) 3Lv 투구의 제련도 2당 크리티컬 데미지 6% 증가.
    투구의 제련도 2당 CRI + 3.
    투구의 제련도 5당 ATK + 3%. 투구의 제련도 2당 크리티컬 데미지 9% 증가.
    투구의 제련도 2당 CRI + 3.
    투구의 제련도 5당 ATK + 3%. # 곰의 힘 변경 내용: 빅풋 변신 효과 제거 # 빛의 속도 변경 전: 초당 HP 400씩 SP 40씩을 잃는다. 변경 후: 초당 SP 50씩을 잃는다. # 근육바보 변경 전: 공격력과 마법공격력은 50% 줄어든다. 변경 후: 정신력이 부족하여 초당 SP 50씩을 잃는다. # 낡은 수호의 관 변경 전: 2제련 당 오버 브랜드의 데미지 5%씩 증가. 변경 후: 2제련 당 오버 브랜드의 데미지 15%씩 증가. # 낡은 드라이버 밴드(노랑) 변경 전: 2제련 당 암즈 캐논의 데미지 5%씩 증가. 변경 후: 2제련 당 암즈 캐논의 데미지 15%씩 증가. # 낡은 뼈의 서클릿 변경 전: 2제련 당 크로스 임팩트의 데미지 10%씩 증가. 변경 후: 2제련 당 크로스 임팩트의 데미지 15%씩 증가. # 낡은 마력의 돌 모자 변경 전: 2제련 당 소울 익스펜션의 데미지 5%씩 증가. 변경 후: 2제련 당 소울 익스펜션의 데미지 15%씩 증가. # 낡은 민스트럴 송의 모자, 낡은 빈사의 백조 변경 전: 2제련 당 서비어 레인스톰의 데미지 5%씩 증가. 변경 후: 2제련 당 서비어 레인스톰의 데미지 15%씩 증가. ※ 불굴 인챈트의 경우, 추후 인챈트 부여 NPC를 통해 업데이트될 예정입니다. - 아크메이지 전직 지원용 워프 NPC가 추가됩니다. → 에피소드 클리어 여부와 관계 없이 전직 퀘스트 시작 지점인 바르문트 저택으로 이동시켜주는 바르문트 저택 안내자β(gef_tower 119 34)가 추가됩니다. - '서번트 웨폰 - 사인' 효과가 해제될 경우 지면 이펙트가 사라지지 않는 현상이 수정됩니다. - 상태이상: 급냉의 피격대상 주변의 유저에게도 급냉의 이펙트가 발생하는 현상이 수정됩니다. 점검 내용을 숙지하시어 이용에 차질 없으시길 바랍니다.
    감사합니다.

    (주) 그라비티 라그나로크 온라인 운영팀
    Translated Patch Notes
    References
    https://ro.gnjoy.com/news/notice/View.asp?BBSMode=10001&seq=7279&curpage=1
    Retrieved from https://ragnarok.gamepedia.com/RO_Patch_(2020_Jul._29).
  10. Like
    Ridley got a reaction from IndieRO in [Release] The (data) GRF Project   
    Offering 2 versions of the grf now. Scroll down for more info. Both data.grf do NOT require rdata.grf.
     
    Option 1: (clean standard kRO GRF)
    Download OneDrive
     The grf is up-to-date 2018-12-22. Its cleaned up, and optimized. A Lot of invalid content is removed or merged. The size is 1,40gb (1.503.844.793 bytes) compared to the original 2.13gb (2.291.252.926)
    Works perfect with all current pre-renewal and/or renewal content (rdata.grf is not needed). You still need the content of the Translation Project in order to use this.
    All cutins in this grf are reduced by 35%
    Note: This is pure kro data.grf and does not contain any jro/iro/whatever files
     

      
    Option 2: GRF with the content of all official servers
    Download Mediafire
    Download OneDrive
    Download Mega
     
    This GRF contains all official files. Its cleaned up, and optimized. A Lot of invalid content is removed or merged. The size is 1,43gb (1.536.478.834 bytes)
    The grf is up-to-date 2016-08-04.
    Please throw a PM on me if this GRF is missing something! I want this to be the most complete one of all
    Small summarize
    more than 200 additional maps more than 700 additional items more than 60 additional NPC's more than 130 additionalmobs more than 900 additional cutins
     
    Instructions:
    1. Download the data.7z
    2. Extract it
    3. Put both (grf + dll) into your RO folder
     
    Changelog: Fixed Rock Ridge Illustrations use wrong Magenta (200, 238, 120 instead of 200, 240, 120) Removed chunk  
    Option 3: Episode 13.2 Pre-Renewal GRF
    This one is 775 MB (812.914.794 Bytes) and great for all kind of pre-re servers.
    Download OneDrive

    All rights and credits belong to Gravity
     
    Note: you can still encrypt your grf with SecureGRF or Tokei's GRF Editor - just use another name than cps.dll for it.
    updated thread 2019-01-13
  11. Upvote
    Ridley got a reaction from ratbugasmati in @itemall and @itemmap   
    File Name: @itemall and @itemmap
    File Submitter: Ridley
    File Submitted: 12 Feb 2017
    File Category: Utility
     
    Give an item to all players online
    @itemall <Item ID> <Item Amount>
     
    Give an item to all players on the same map as you
    @itemmap <Item ID> <Item Amount>
     
    Using some old code from Emistry for this, thank you for your permission to use it.
     
    Click here to download this file
  12. Like
    Ridley got a reaction from Saitama in [PAID] Looking for Server Developer/Client Side Developer   
    Approved, Good Luck
  13. Like
    Ridley reacted to SyncMaster in [Showcase] Konohagakure (Naruto)   
    Konohagakure no Sato
    "[...] Is the hidden village of the Land of Fire. As the village of one of the Five Great Shinobi Countries."









     
    Ingame
     









     
     
  14. Upvote
    Ridley got a reaction from kaiyongkai in KrakenRO   
    Approved, good luck
  15. Like
    Ridley got a reaction from ADec in Social media coordinator   
    Approved, Good Luck
  16. Like
    Ridley got a reaction from juniorbocask8 in WeeThumbnail under Windows 10   
    As requested here
    WeeThumbnail.dll is part of the WeeTools and allows Windows to preview a .spr file. Original Author is Shinryo @rAthena
     
    In order to make it work in Windows 10 you need to register the .dll
     
    Download x86 or x64 based on your OS Copy the .dll to your windows/system32 folder Click the Windows/Start button in the lower left corner Type CMD - then right click it and select "Run as Administrator" Note: If you run it through Win+R you need to confirm with  Ctrl+Shift+Enter to run it as administrator
    Now in CMD Run the following command regsvr32 "C:\Windows\System32\WeeThumbnail.dll" This is how it should look like:
     

     
    Afterwards a PopUp from RegSvr32 appears, saying the .dll was installed successfully.
    Now Restart your system and Windows should preview .spr files

     
    Troubleshooting: 
    Error 0x80070005 means you didn't run CMD as admin.
     
     
  17. Upvote
    Ridley got a reaction from johnlol in [Collection] Official Full Clients + latest kRO   
    Changelog:
    - Updated all Clients
    - Updated twRO BGMS (3 new ones)
    NOTE: to disable the Snow effect in Prontera, open your grf and navigate to data/etcinfo.txt
    Then add (or edit) the following:
    weather# //prontera.rsw# //snow# Collection of official Full Clients. Those are vanilla, not modified in any way or whatever. They are patched up to date. Let me know if I've missed something.
    Server Name
    With BGM
    Without BGM
    BGM only
    South Korea (kRO)
    21. Dec. 2018
    2,70 GB
    Mega
    OneDrive
    2,42 GB
    Mega
    OneDrive
    294 MB
    Mega
    OneDrive
    South Korea (Ragnarok Zero)
    21. Dec. 2018
    2,22 GB
    Mega
    OneDrive
        Taiwan and Hongkong (twRO)
    21. Dec. 2018
    2,24 GB
    Mega
    OneDrive
    1,95 GB
    Mega
    OneDrive
    310 MB
    Mega
    OneDrive
    Japan (jRO)
    21. Dec. 2018
    2,23 GB
    Mega
    OneDrive
    1,93 GB
    Mega
    OneDrive
    311 MB
    Mega
    OneDrive
    Thailland (tRO)
    21. Dec. 2018
    1,67 GB
    Mega
    OneDrive
    1,41 GB
    Mega
    OneDrive
    272 MB
    Mega
    OneDrive
    International (iRO)
    21. Dec. 2018
    2,42 GB
    Mega
    OneDrive
    2,14 GB
    Mega
    OneDrive
    294 MB
    Mega
    OneDrive
    Philippines (pRO)
    21. Dec. 2018
    1,5 GB
    Mega
    OneDrive
    1,25 GB
    Mega
    OneDrive
    272 MB
    Mega
    OneDrive
    Indonesia (idRO)
    21. Dec. 2018
    1,88 GB
    Mega
    OneDrive
    1,61 GB
    Mega
    OneDrive
    282 MB
    Mega
    OneDrive
    Brazil (bRO)
    21. Dec. 2018
    1,95 GB
    Mega
    OneDrive
    1,69 GB
    Mega
    OneDrive
    273 MB
    Mega
    OneDrive
    France, Europe (fRO, euRO) 21. Dec. 2018
    1,85 GB
    Mega
    OneDrive
    1,59 GB
    Mega
    OneDrive
    273 MB
    Mega
    OneDrive
  18. Like
    Ridley reacted to SyncMaster in [Showcase] Jutsu - Kuchyiose Gojuu Rashomon   
    Summoning: Quintuple Rashōmon
    Summons five Rashōmon gates to block an incoming attack.
    Reference:
    Skill:
    https://streamable.com/o9gn67
    Skill : Gojuu Rashomon
    By: @SyncMaster e @NettHacker
    Bugs fixed by: @Zell
    3D Models by: @SyncMaster
  19. Like
    Ridley got a reaction from ADec in Position not available anymore   
    Approved, good luck
  20. Like
    Ridley got a reaction from Zarbony in April & May Digest 2020   
    April & May Digest 2020
    The following digest covers the months of April 1st - May 31st 2020

    Team Changes
    None  
    Added
    Added the possibility to declare local NPC functions as public or private. (#2142)
    Functions declared as public can be called from other scripts with the syntax `"npc name"::function_name()`.
    The configuration option `script_configuration.functions_private_by_default` controls whether functions are public or private when not specified.
    Added a new cast condition `MSC_MAGICATTACKED` to the mob skill database, allowing mobs to react to magical attacks. (#2733, issue #2578)
    Added support for level-specific values in the skill database fields `Hit`, `AttackType`, `InterruptCast`, `CastDefRate`, `Requirement.State`, `Unit.Id`, `Unit.Interval`, `Unit.Target`, `Requirements.Items.Amount` (part of #2731)
    Removed hardcoded required item amounts for various skills, moving them to the skill database.
    Added support for `Requirements.Items.Any` in the skill database, allowing skills that require any one of their item conditions to be verified (as opposed to all). (part of #2731, issue #1250)
    Added support for `Requirements.Equip` in the skill database, allowing to specify a required equipment to cast a skill. (part of #2731)
    Removed hardcoded equip requirements for various skills, moving them to the skill database.
    Added support for `Requirements.MaxSPTrigger` in the skill database, allowing to specify a maximum SP percentage that allows to cast a skill. (part of #2731)
    Added/updated packets, encryption keys and message tables for clients up to 2020-05-20. (#2713)
    Added support for the gcc sanitizer flags `address-use-after-scope`, `pointer-overflow`, `builtin`, `pointer-compare`, `pointer-subtract`, `shift-exponent`, `shift-base`, `sanitize-address-use-after-scope`. (part of #2713)
    Added support for binary and octal number literals in scripts and libconfig configuration files, using the syntax 0b000 / 0o000. (#2671)
    Added support for number separators in number literals in scripts and libconfig configuration files. The symbol `_` can be used as grouping separator (`1_000_000`, `0x_ffff_ffff`, etc). (part of #2671)
    Added support for overriding `ENABLE_SC_SAVING`, `MAX_CARTS`, `MAX_SLOTS`, `MAX_AMOUNT`, `MAX_ZENY`, `MAX_BANK_ZENY`, `MAX_FAME`, `MAX_CART` through CFLAGS. (#2220)
    Added a `skill_enabled_npc` battle flag allowing to specify whether self-targeted or targeted skills can be used while interacting with NPCs. (part of #2718, issue #862)
    Added the `loudhailer()` script command, as used by the `Megaphone_` item. (#2758, issue #2751)
    Added the new pets (including the jRO exclusive ones) and their related items/monsters to the renewal database. (#2689)
    Added constants `ALL_MOBS_NONBOSS`, `ALL_MOBS_BOSS`, `ALL_MOBS` for the special mob IDs for global skill assignment in the mob skill database. (part of #2691)
    Added support for `__func__` on Windows, since it's now available in every supported compiler. (part of #2691)
    Added documentation for the mob skill database. See `doc/mob_skill_db.conf`. (#2680)
    Added missing functions for the name ack packets for `BL_ITEM` and `BL_SKILL`. (part of #2695)
    Added/updated packets and encryption keys for clients up to 2020-04-14. (#2695)
    Added support for packets `ZC_LAPINEUPGRADE_OPEN`, `CZ_LAPINEUPGRADE_CLOSE` and `ZC_LAPINEUPGRADE_RESULT` and a placeholder for `CZ_LAPINEUPGRADE_MAKE_ITEM`. (part of #2695)
    Added a new cell type `cell_noskill`, to block skill usage. (#2188)
    Added/updated packets, encryption keys and message tables for clients up to 2020-04-01. (#2663)
    The `setpcblock()` and `checkpcblock()` can now be used on another character by passing the account id. (#2668)
    Added new StatusChange types (`SC_POPECOOKIE`, `SC_VITALIZE_POTION`, `SC_SKF_MATK`, `SC_SKF_ATK`, `SC_SKF_ASPD`, `SC_SKF_CAST`, `SC_ALMIGHTY`) and updated relevant items. (#2658, related to #1177)
    Added _libbacktrace_ support (currently Linux-only) for better error call stack logging. (#2581)
     
    Changed
    Added validation for the maximum length of permanent string variables and consolidated it to 255 characters. This requires a database migration. (#2705, issue #1037)
    Split the `mapreg` SQL table into separate tables for integer and string variables. This requires a database migration. (#2720)
    Updated the AUTHORS file to include names and emails from every commit so far. A helper script `tools/authors.sh` to extract them has been added. (#2729, issue #245)
    Updated the drop chance of the Black and White Wing Suits. (#2739, issue #562)
    Improved validation and bounds checking in the skill database loader. (#2731)
    Increased the maximum length of the skill descriptions (display names) to 50. (part of #2731)
    Increased the maximum skill level to 20 (to support `NPC_RUN`). (part of #2731)
    Capped the SkillInstances values to 25 (`MAX_SKILLUNITGROUP`) in the skill database. (part of #2731)
    Extended the `item_enabled_npc` battle flag and the `enable_items()`/`disable_items()` script commands with finer grained options to allow the use of usable items or equipment while interacting with NPCs. (#2718)
    Changed the default setting of `player_warp_keep_direction` to match the official servers' setting. (#2752)
    Replaced the (failing) gitlab-ci centos6 builds with centos8 (released in september 2019). (#2759)
    Removed warning messages about missing elements in the mob db, since it's an optional field. (part of #2689)
    Updated the renewal pet database with the correct values and bonuses. (part of #2689, issue #2435)
    Changed `mob_getfriendstatus()` to consider character as friends of their support monsters, for consistency with `mob_getfriendhprate()`. (part of #2691)
    Changed `MSC_AFTERSKILL` to trigger on any skill when its `ConditionData` is 0, for consistency with `MSC_SKILLUSED`. (part of #2691)
    Improved data validation and error reporting in the mob skill database. (part of #2691)
    Changed return values of `mob_skill_use()` and `mobskill_event()`. Any third party code that uses them needs to be updated. (part of #2691)
    Changed the battle configuration flag `manner_system` to be applied immediately to any existing `SC_NOCHAT`. (#2696, issue #227)
    Changed the `atcommand()` command to ignore `PCBLOCK_COMMANDS`. (#2062)
    Extended the atcommand `@fakename` with a new `options` parameter, to select which names will be displayed. (#2637, related to issue #1966 and #2168)
    Refactored the pet system code. (#2600, issues #2434 and #303)
    Added enumerations for pet hunger/intimacy levels
    Added value capping to `pet_set_intimate()` function.
    Adjusted pet catch rate calculation. The old, custom, calculation can be restored by setting the `pet_catch_rate_official_formula` battle config flag to false.
    Adjusted pet intimacy calculation when feeding.
    Improved validation of the Pet DB fields and of the input of various pet related functions.
    Removed the redundant `SpriteName` field from pet DB.
    Changed `EggItem` field in pet DB to be mandatory.
    Added new field `HungerDecrement` to pet DB. This replaces the `pet_hungry_friendly_decrease` battle config setting.
    Added new field `Intimacy.StarvingDelay` to pet DB.
    Added new field `Intimacy.StarvingDecrement` to pet DB.
    Increased `MAX_MOB_DB` to 22000.
    Added pet DB documentation file. (`doc/pet_db.txt`)
    Removed fields from pet DB where default values can be used.
    Added intimacy validation to pet DB `EquipScript` fields. This replaces the `pet_equip_min_friendly` battle config setting.
    Adjusted `inter_pet_tosql()` and `inter_pet_fromsql()` functions to use prepared statements.
    Refactored and/or updated code style of various functions that were touched by this pull request.
    Added a backtrace to the error message of `clif_unknownname_ack()`. (part of #2663)
    Added a `UNIQUE` constraint to the `userid` column of the `login` SQL table to prevent having multiple accounts with the same name. (#2666, related to #2169)
    Increased the column size of `list`for the `ipbanlist` SQL table to accomodate for non-wildcard IPv4 and for IPv6 compatiblity. (#2665, issue #2631)
     
    Fixed
    Fixed the logic and interaction between the (element)proof Potions and Undead Scrolls and their status icons. (#2708)
    Fixed an issue in the Lost Puppies quest causing the dogs to be unable to reappear. (#2698)
    Fixed a possible data corruption caused by gender mismatch after a changesex/changecharsex operation. (#2714, issue #985)
    Fixed a warning and name truncation when receiving a whisper message with a recipient name with a length of 24 characters. This allows to whisper to scripts with a name length up to 20 (through the `NPC:name` syntax). (#2721, issue #718)
    Fixed interaction between `itemskill()` other item/skill uses, including other `itemskill()`. The autocast code has been changed to use a vector, to allow multiple concurrent skills. (#2699)
    It's now possible to use multiple `itemskill()` calls in the same item, as long there is at most one targeted skill, and it's the last one used.
    It's now possible to use items while the target cursor for a previously activated skill is visible, without aborting it. (issue #816)
    It's now possible to use a scroll while casting another skill (and the provided skill will be cast after the current one finishes). (issue #1026)
    Fixed use of Fly Wing/Butterfly Wing while riding a cash shop mount (Boarding Halter) and having a falcon. (part of #2699, issue #2750)
    Fixed the `Requirements.MaxHPTrigger` conditions for mercenary skills. (part of #2731)
    Fixed a possible memory corruption or crash in the mob delayed removal function. (part of #2713, issue #2719)
    Fixed a crash in the `npcshopdelitem()` script command. (part of #2713)
    Fixed a crash in the achievement progress update code. (part of #2713)
    Fixed a possible crash in the RODEX check name function. (part of #2713)
    Added null pointer checks for missing view data in clif and status code. (part of #2713)
    Added a check for the current map in mob and map code. (part of #2713)
    Fixed an error or possible crash when a mob dies on an invalid map. (part of #2713)
    Fixed an incorrect npc ID for the MOTD script after reloading or unloading scripts. (part of #2713)
    Fixed an use after free in `party->broken()`. (part of #7213)
    Fixed a possible crash in `mapif->guild_withdraw()`. (part of #2713)
    Fixed a null pointer error in `unit->steptimer()`. (#2723, issue #2707)
    Fixed the left-shift of a negative value in `GN_CRAZYWEED_ATK`. (#2734, issue #1151)
    Fixed a missing "Beloved" attribute on the eggs of renamed pets. (#2744, issue #2743)
    Fixed an inverted logic in the `storage_use_item` battle flag. (#2746)
    Fixed the mineffect map property flag so that it's not affected by the character's minimized effects but only by the map type. It's enabled on all the guild castles, regardless of whether WoE is running. (#2754, issue #803)
    Fixed a crash in the equip check code if a character logs wearing an item that was previously, but is no longer, equippable. (#2745)
    Fixed a compiler warnings in 32 bit builds. (#2759)
    Fixed `SC_AUTOTRADE`, `SC_KSPROTECTED` and `SC_NO_SWITCH_EQUIP` incorrectly recognized as unknown status changes. (#2686, issue #2684)
    Prevented `SC_KSPROTECTED` from starting on dead monsters. (part of #2686)
    Fixed character unhiding while disguised or when using `@option 0`. (#2687, issues #1556 and #2104)
    Fixed an incorrect order of operations causing results too small in various calculations related to free cell search, mob skill chances/delays, exp penalty, pet hunger and friendly rates, cast duration. (#2690)
    Fixed errors caused by `pet_ai_sub_hard()` called for monsters that haven't been added to a map yet. (#2693)
    Fixed a wrong packet error displayed when using an incorrect password for the char-login connection. (part of #2695)
    Fixed a security check in the lapine ack packet handler. (part of #2695)
    Fixed some incorrect assumptions about the skill index values, causing the Bard/Dancer soul link to grant the wrong skills. (#2710, issue #2670)
    Fixed some conditions that could cause a skill to be attempted to save to the database with a negative skill level, resulting in query errors and data loss. (part of #2710)
    Fixed the skill type of `RK_DRAGONBREATH` and `RK_DRAGONBREATH_WATER` to be `BF_WEAPON` and support the `bLongAtkRate` bonus. (#1304)
    Fixed `SC_TELEKINESIS_INTENSE` to add percent MATK instead of fixed MATK. (part of #1304)
    Fixed a regression that prevented pets from hatching. (#2685, issue #2683)
    Fixed memory violations and incorrect handling of `npc_data` in the quest info code. (#2682)
    Fixed an issue that prevented the fake name to show up when using `@fakename` in RE clients. (part of #2637)
    Fixed a compiler error in `PACKET_ZC_SE_CASHSHOP_OPEN`. (part of #2663, issue #2669)
    Added missing libraries into the plugins Makefile, causing a linking error when a plugin uses MySQL or other libraries. (part of #2663)
    Fixed a bug causing failed assertions that appeared when attacking a skill unit (such as Ice Wall). (#2678)
    Fixed a bug causing failed assertions in `timer_do_delete()`, related to `ud->walktimer`. (#2676)
    Fixed a bug allowing to equip bullets and grenades regardless of the weapon type. (#2660, issue #2661, related to #2579)
    Fixed a memory leak in barter NPCs. (#2655)
    Fixed a pointer overflow in the script command `getiteminfo()`.  (#2656)
    Refactored and fixed several bugs in the skill auto-cast system. (#2657, issue #1211)
     
    Deprecated
    Deprecated the (unintended and undocumented) possibility of calling local NPC functions as event labels if their name started with `On`. (part of #2142, issue #2137)   The functionality is now disabled by default, and can be enabled by changing the `script_configuration.functions_as_events` setting.  
    Removed
    Removed old debug code from the `SC_DANCING` case of `status_change_end_()`. (#2736, issue #2716) Removed useless `FixedCastTime` values from the pre-re skill database. (part of #2731) Removed the `pet_hungry_friendly_decrease` battle config setting, superseded by the `HungerDecrement` field of the Pet DB. (part of #2600) Removed the `pet_equip_min_friendly` battle config setting, superseded by the code inside the Pet DB `EquipScript` fields. (part of #2600) Removed the redundant `SpriteName` field from pet DB. (part of #2600)  
    Special thanks to
    @Haru, @4144, @Kenpachi, @Asheraf, @hemagx, @skyleo, @meko, @Zarbony, @Jedzkie, @danieldpl
     
  21. Like
    Ridley got a reaction from kerbiii in Simplified map skin and skills for woe and pvp   
    Good Luck kerbiii
  22. Like
    Ridley got a reaction from Kubix in [Paid]: Looking for developers!   
    Good luck
  23. Like
    Ridley got a reaction from Khazou in March Digest 2020   
    March Digest 2020
    The following digest covers the month of March1st - March 30th 2020

    Team Changes
    None  
    Added
    Added/updated packets, encryption keys and message tables for clients up to 2020-03-04. (#2645)
    Exposed the item bound type (`IBT_*`) constants to the script engine. (#2650)
    Added item scripts for item IDs 12459 through 12465 and corrected their name in the pre-renewal DB. (#2634, issue #1196)
    Added the `unitiswalking()` script command, to check whether an unit is walking at a given time. (#2628)
     
    Changed
    Changed the default `PACKETVER` to 2019-05-30. (part of #2645)
    Major refactoring of the functions in `unit.c`, adding code documentation and following the code style guidelines. Functions have been renamed when backward compatible changes to the arguments or return values were made. (#2546)
    A new header `unitdefines.h` has been added.
    `enum unit_dir` is now provided, to standardize handling of facing/walking directions.
    The macros `unit_get_opposite_dir()`, `unit_is_diagonal_dir()`, `unit_is_dir_or_opposite()`, `unit_get_ccw90_dir()`, `unit_get_rnd_diagonal_dir()` have been added.
    `unit->walktoxy_timer()` has been renamed to `unit->walk_toxy_timer()` and its return values have been changed and documented.
    `unit->walktoxy_sub()` has been renamed to `unit->walk_toxy_sub()` and its return values have been changed and documented.
    `unit->delay_walktoxy_timer()` has been renamed to `unit->delay_walk_toxy_timer()` and its return values have been changed and documented.
    `unit->walktoxy()` has been renamed to `unit->walk_toxy()` and its return values have been changed and documented.
    `unit->walktobl_sub()` has been renamed to `unit->walk_tobl_timer()` and its return values have been changed and documented.
    `unit->setdir()` has been renamed to `unit->set_dir()` and its return value and arguments have been changed and documented.
    `unit->getdir()` has been renamed to `unit->get_dir()` and its return type and constness of the arguments have been changed.
    `unit->warpto_master()` has been added.
    `unit->sleep_timer()` has been renamed to `unit->sleeptimer()` and its return values have been changed and documented.
    `unit->calc_pos()` now accepts `enum unit_dir`.
    `map->check_dir()` now accepts `enum unit_dir`.
    `map->calc_dir()` now returns `enum unit_dir` and accepts a const bl.
    `npc->create_npc()` now accepts `enum unit_dir`.
    `skill->blown()` now accepts `enum unit_dir`.
    `skill->brandishspear_first()` now accepts `enum unit_dir`.
    `skill->brandishspear_dir()` now accepts `enum unit_dir`.
    `skill->attack_blow_unknown()` now accepts `enum unit_dir`.
    The remaining unit functions have been documented.
    New return values have been added to `pc->setpos()`, for better error handling. (#2633, issue #2632)
    Increased the `MAX_MOB_LIST_PER_MAP` value to 115 in pre-renewal builds, to fit all the default spawns. (#2638, issue #1915)
    Extended the `getiteminfo()` command to also accept item names, and added the types `ITEMINFO_ID`, `ITEMINFO_AEGISNAME`, `ITEMINFO_NAME`. (#2639)
    Changed `itemskill()` to ignore conditions by default. The `ISF_CHECKCONDITIONS` needs to be explicitly passed if conditions should be checked/consumed. (part of #2648)
    Changed the NPC shop behavior to prevent selling items from the favorites tab of the inventory. (#2651)
    Updated Doxygen configuration to speed up generation and fix compatibility warnings. (0d747896e0)
    Updated the Travis-CI configuration file according to the validation warnings and notices. (eb97973e68)
     
    Fixed
    Fixed a missing `get_index()` call in `Skill2SCTable`, causing some skills to activate the wrong status. (#2643, issue #2636)
    Fixed a compilation error C2233 in Visual Studio. (part of #2645)
    Fixed Basilica unintentionally restraining boss mobs. (#2612, issue #1276, related to issue #2420)
    Fixed the handling of unequip scripts in zones where an item is restricted. The `OnUnequip` script is now never executed when unequipping in a restricted zone, but it is always executed when entering such zones, regardless of the `unequip_restricted_equipment` battle flag. (#2642, issue #2180)
    Fixed the handling of skill requirements and conditions by the `itemskill()` command. (#2648, issue #2646)
    Added missing requirements to `CASH_INCAGI` and `RK_CRUSHSTRIKE`. (part of #2648)
    Fixed an incorrect return value in `unit->walktobl()` causing mobs to be unable to walk to their target. (#2659)
    Fixed an incorrect return value in `unit->walktobl()` causing mobs to get stuck when they try to loot. (#2664)
     
    Deprecated
    None  
    Removed
    Removed the `ISF_IGNORECONDITIONS` flag previously used by `itemskill()`, now the default behavior. (#2648)  
    Special thanks to
    @Haru, @4144, @Kenpachi, @Asheraf, @hemagx, @skyleo, @Emistry
     
  24. Like
    Ridley got a reaction from Khazou in February Digest 2020   
    February Digest 2020
    The following digest covers the month of February 1st - February 29th 2020

    Team Changes
    @Wolf is now a Global Moderator The following Members have been moved to the new "Retired Staff" Group. Special thanks to Ind and Jman for funding Hercules and this community - and also to everyone else who has contributed towards it. @Ind, @Jman and @Mystery - Former Administrators @Masao, @Nameless2you, @Ragno and @Sneaky - Former Script Developers @malufett, @Michi and @mkbu95  - Former Core Developers The following Members were contributing as High Council, Moderator or Graphics Moderator and got moved to Community Contributor Group. Thank you for your help and contribution. @Eurydice, @Gepard, @Muad_Dib, @Xgear, @Yommy, @jaBote, @Judas, @Adel and @Uzieal  
    Added
    Added/updated packets, encryption keys and message tables for clients up to 2020-02-06. (#2625)
    Added support for the expanded barter shop, see example script in `npc/custom/expandedbartershop.txt` and the related script commands `sellitem()`, `startsellitem()`, `sellitemcurrency()`, `endsellitem()`. Note: this includes a database migration. (part of #2625)
    Added the new script commands `cloakonnpc()` and `cloakoffnpc()`. (part of #2615)
    Added the new script command `achievement_iscompleted()` to check for achievement completion. (part of #2615)
    Added Exploration Achievement NPCs. (#2615)
    Added support for an `OnNPCUnload` label, where a script can perform its cleanup before being unloaded (such as removing mapflags, etc). (part of #2590)
    Added the Rebellion jobchange quest and its related mobs and items. (#2621)
    Added support for switching madogear type. See the documentation for `setmount()` and the related `MADO_ROBOT` and `MADO_SUITE` constants. (#2586)
     
    Changed
    Changed the logic of `skill_get_index` to make it easier to add new skills, custom or official. (#2596)
    Refactored `int_party` code related to exp sharing calculations. (part of #2601)
    Updated the Duel system cooldown to be configurable with seconds granularity. The `duel_time_interval` setting can be safely updated and with `@reloadbattleconf`, applying to any existing cooldowns. (#1495)
    Converted `PACKET_ZC_STATE_CHANGE` to use its struct format and added a function to send it to a single target. (part of #2615)
    Changed the behavior of `@unloadnpc`, `@reloadnpc`, `@unloadnpcfile` to kill the monsters that were spawned by the unloaded script (non-permanent spawns). (#2590, issue #2530)
    Updated the `mobdbconverter.py` tool to support Race, Size and Element constants. The script now requires Python 3. (#2620)
    Cleaned up a duplicate definition of `SP_VARCASTRATE` in `pc_readparam()`. (#2624, issue #1311)
    Extended `itemskill()` with a new `ISF_INSTANTCAST` flag to be able to cast a skill without cast time. (part of #2616)
    Extended `itemskill()` with a new `ISF_CASTONSELF` flag to be able to forcefully cast a skill on the invoking character. (part of #2616)
    Converted `ZC_AUTORUN_SKILL` to use its struct format. (part of #2616)
     
    Fixed
    Fixed some signed/unsigned mismatch compiler warnings. (#2601, issue #1434)
    Fixed some cases where the family exp sharing state wasn't correctly detected. (part of #2601)
    Fixed a duplicate "Skill Failed" message when using Asura Strike. (part of #2248, issue #1239)
    Fixed an issue that made a character turn to face its target after casting Asura Strike. (#2248, issue #1239)
    Fixed the position of a character after a failed Asura Strike cast, to be 3 cells from its original position instead of 2. (part of #2248, issue #1239)
    Fixed the status icon from the Elemental Resistance Potions and the Undead Element Scroll not disappearing when the status changes end. (#2614, issue #2593)
    Fixed a crash when using `@loadnpc`, `@reloadnpc` or `@unloadnpcfile` on a directory. (part of #2590, issue #2179)
    Fixed `PR_STRECOVERY` to only cure status effects if the target's element isn't Undead. (#2618, issue #2558)
    Fixed the mobs spawned by `mob_clone_spawn()` (`clone()`, `@evilclone`) being invulnerable because of an uninitialized `dmg_taken_rate` taking the value of 0. (#2617, issue #2607)
    Fixed a crash when the script function `getunits()` was called with an invalid mapindex. Now an error message is added when the mapindex validation fails. (#2619)
    Fixed a crash when `map_forcountinmap()` was called with an invalid mapindex. Now the function will return 0 instead. (part of #2619)
    Fixed clientside errors when using a `ViewData` block in the mob database without specifying a `HairStyleId`. The hair style will now default to 1 when a `ViewData` block is specified. (#2622)
    Fixed the damage calculation being too low when using weapons of type `W_RIFLE` (in pre-renewal). (#2623)
    Fixed an issue that could cause homunculi to be in an unexpected partially-vaporized state (i.e. when a Vanilmirth kills its own master through `HVAN_EXPLOSION`). (#2626)
    Fixed NPC ID validation when `SECURE_NPCTIMEOUT` is defined, causing scripts to abort with an "Unknown NPC" error on the console. (#2627, issue #2073)
    Fixed the skill condition checks and the `flag` parameter of `itemskill()`. The constants `ISF_NONE` and `ISF_IGNORECONDITIONS` are now available. (part of #2616)
    Fixed the `itemskill()` items to provide their proper Aegis behavior, in their requirement checks, self-targeting and item consumption.  (#2616, issue #819)
    Fixed the Earth Spike Scroll to consume 10 SP when `SC_EARTHSCROLL` is active. (part of #2616)
    Fixed warnings in the HPMHookGenerator. (1000b10026)
     
     
    Deprecated
    None  
    Removed
    None  
    Special thanks to
    @Haru, @4144, @Kenpachi, @Asheraf
     
    Additional thanks to @Haziel for creating the badge for the retired staff group
  25. Upvote
    Ridley got a reaction from Nong009 in [Collection] Official Full Clients + latest kRO   
    Changelog:
    - Updated all Clients
    - Updated twRO BGMS (3 new ones)
    NOTE: to disable the Snow effect in Prontera, open your grf and navigate to data/etcinfo.txt
    Then add (or edit) the following:
    weather# //prontera.rsw# //snow# Collection of official Full Clients. Those are vanilla, not modified in any way or whatever. They are patched up to date. Let me know if I've missed something.
    Server Name
    With BGM
    Without BGM
    BGM only
    South Korea (kRO)
    21. Dec. 2018
    2,70 GB
    Mega
    OneDrive
    2,42 GB
    Mega
    OneDrive
    294 MB
    Mega
    OneDrive
    South Korea (Ragnarok Zero)
    21. Dec. 2018
    2,22 GB
    Mega
    OneDrive
        Taiwan and Hongkong (twRO)
    21. Dec. 2018
    2,24 GB
    Mega
    OneDrive
    1,95 GB
    Mega
    OneDrive
    310 MB
    Mega
    OneDrive
    Japan (jRO)
    21. Dec. 2018
    2,23 GB
    Mega
    OneDrive
    1,93 GB
    Mega
    OneDrive
    311 MB
    Mega
    OneDrive
    Thailland (tRO)
    21. Dec. 2018
    1,67 GB
    Mega
    OneDrive
    1,41 GB
    Mega
    OneDrive
    272 MB
    Mega
    OneDrive
    International (iRO)
    21. Dec. 2018
    2,42 GB
    Mega
    OneDrive
    2,14 GB
    Mega
    OneDrive
    294 MB
    Mega
    OneDrive
    Philippines (pRO)
    21. Dec. 2018
    1,5 GB
    Mega
    OneDrive
    1,25 GB
    Mega
    OneDrive
    272 MB
    Mega
    OneDrive
    Indonesia (idRO)
    21. Dec. 2018
    1,88 GB
    Mega
    OneDrive
    1,61 GB
    Mega
    OneDrive
    282 MB
    Mega
    OneDrive
    Brazil (bRO)
    21. Dec. 2018
    1,95 GB
    Mega
    OneDrive
    1,69 GB
    Mega
    OneDrive
    273 MB
    Mega
    OneDrive
    France, Europe (fRO, euRO) 21. Dec. 2018
    1,85 GB
    Mega
    OneDrive
    1,59 GB
    Mega
    OneDrive
    273 MB
    Mega
    OneDrive
×
×
  • Create New...

Important Information

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