Jump to content

15peaces

Members
  • Content Count

    115
  • Joined

  • Last visited

  • Days Won

    2

Reputation Activity

  1. Like
    15peaces got a reaction from MaiJung in 15peaces 3CeAM Patches   
    favorite tab
    Don't forget to apply the 3ceam_favorite_tab.sql & 3ceam_favorite_tab_log.sql files.
    Added patch for the "favorite item tab" feature.
    -This feature requires 2011-11-22aRagexeRE or newer to work.
    Note: For this patch I also needed to change the nameid variable in item struct to unsigned short.
    -The mmo_charstatus struct is getting to large to be send between char and map server.
    -By changing the nameid from int to unsigned char I was able to reduce the size significantly without any disadvantages.
    -The server still supports a max of 65,535 item ids.
    -This also adjusted the CARD0_PET from -256 to 256.
    Commit
    Patch
  2. Upvote
    15peaces 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.
  3. Like
    15peaces reacted to Rytech in r895 - Elemental System Recode Part 5   
    =General
    *Elemental system recode part 5.
    -This part focused on finishing up the rest of the AI related stuff, how the
    -mode switching functions work, and all that happens while a mode is active and
    -what happens during the switching of modes. Database relate stuff is updated
    -to remove all the useless stuff not needed. Finally, some code was updated to
    -be more compact and efficant now that things are finalized.
    -
    -With this step done the system is now complete enough to where I can start
    -putting focus on coding in their skills. I can also focus on moving the sub-stat
    -calculations to the elemental create function and also update the save data
    -format for them. Which ever one I choose to work on next.
     
    *Replaced the "elem_support" config with "elem_defensive_support" config.
    -It works similar to the old one except it only applies to Defensive mode.
    -Felt allowing a elemental to attack while in Wait or Passive mode was too much.
     
    *Added "elem_defensive_attack_skill" config.
    -Sets if a elemental can autocast its offensive skills in Defensive mode.
    -Its set to no by default as you can trigger them using Elemental Action.
     
    *Reaplced "natural_elem_healhp_interval" and "natural_elem_healsp_interval" with
    -"natural_elem_healhp_interval" config. This is necessary due to the changes to
    -their HP/SP regen mechanics.
     
    *The "eleminfo" command no longer shows the elementals regen rate.
     
    *Elemental type checks is switched to use the "elemental_get_type" function.
     
     
     
    =Database
    *Updated the elemental_db.
    -Removed quite a number of columns since a lot of it is pointless. Most of a
    -elementals sub-stats are set using formulas different from the norm.
     
    *Removed the elemental_skill_db.
    -Aegis has the skill selection and management hardcoded. Doing the same here
    -showed to be much easier to do and is more efficant. Plus its easy to add new
    -skills to the lists in the code if needed.
     
     
     
    =Elementals
    *Recoded the handling of HP/SP regen to official.
    -HP/SP is no longer regenerated by normal means and is now done through the "Wait"
    -mode status. While this means that status's that normally increases a player's
    -regen rate no longer affects elementals, it also means status's that reduce or
    -disables HP/SP regen won't affect elementals.
    -
    -For as long as the elemental is in the wait mode it will regen HP/SP. The regen
    -can be doubled when standing in a level 1 insignia of the same element. Regen is
    -only disabled when the elemental is in any of the 3 active modes...
    -Passive / Defensive / Offensive.
     
    *SP is now drained while in Passive and Defensive modes. If there's not enough SP
    -to continue the state it will switch back to Wait mode.
     
    *The masters SP will now be drained every 10 seconds for as long as the elemental
    -is alive. If theres not enough SP to continue, the elemental will be lost.
     
    *Elementals follow distance increased to 3.
  4. Like
    15peaces reacted to Rytech in r894 - Elemental System Recode Part 4   
    =General
    *Elemental system recode part 4.
    -This part focused on coding in the rest of the AI for handling skill related
    -stuff. Elementals will now autocast their offensive skills when attacking and
    -also use them when commanded with Elemental Action. Skills are also handled
    -through 3 seprate skill type functions and are triggered depending on the
    -elementals set mood.
    -
    -With how well the skills control is being handled in the source im thinking of
    -just removing the elemental_skill_db since its just feels pointless. It turned
    -out to be much easier and cleaner to hardcode the stuff in a group for each
    -mode. Best and most efficant way to go since all skills are 1 level max,
    -there's no skill tree, and skills can't be used/triggered by normal means.
    -
    -With the main parts of the system now working I feel its safe to enable the
    -Sorcerer's elemental related skills. There's still some bugs as the system
    -is still in development but nothing to worry about.
     
    *elem_support
    *elem_offensive_skill_chance
    *elem_offensive_skill_casttime
    *elem_offensive_skill_aftercast
    -Added these configs to the elemental config.
     
    *Updated the "useskill" command to check if the player has a elemental when
    -casting a skill from their skill range. If one exists, it will cast the skill
    -instead of the player. This check is also added for mercenarys and their skills.
     
    *Elementals are now summoned with full HP/SP....again.
     
    *Elementals are now only allowed to attack when in offensive mode.
     
    *Cleaned up some code.
     
     
     
    =Jobs
    *Sorcerer
    -Enabled skills related to the elemental system.
    -With the system recode now stable and mostly working it should be safe to allow
    -use of these skills.
     
     
     
    =Skills
    *Elementals
    -Updated all timer data settings in the skill_renewal_cast_db to prepare for
    -coding in their skills soon. Some may need to be hardcoded later on.
    -All skill animation code is complete (should be) and so is the status support.
    -They only look pretty for now but I wanted a way to visually see if the mode
    -switch function is working and it appear that it does. PROGRESS!!!!
     
    *EL_FIRE_MANTLE
    *EL_FIRE_ARROW
    *EL_FIRE_BOMB
    *EL_FIRE_WAVE
    -Added support for these skills.
    -A bit early on coding some of their skills in but I needed a few working to test
    -their offensive skill autocasting AI and also their mode switching functions.
  5. Like
    15peaces reacted to Rytech in r893 - Elemental System Recode Part 3   
    =General
    *Elemental system recode part 3.
    -This part focused on adding AI support for the elementals.
    -With the AI requiring a lot of work its best to do the main functions here and
    -do the other functions in the next part.
     
    *Added AI support for the elementals.
    -Elementals appear to use the same AI as monsters in official and because of this
    -I decided to make a copy of the mob's AI and then do the needed edits to make it
    -usable for elementals. The basic functions and feature are complete which gives
    -the elementals life. They will follow its master, attack anything the master
    -attacks, attack anything that attacks it, search for and attack stuff when set
    -to aggressive, etc.
    -
    -Only the main parts of the AI is done. More features and functions will be added
    -in the next update.
     
    *Added the "elemtalk" command.
    -This allows you to make a elemental say what you type. Fun extra to have.
     
    *Added the "elemental_ai" config setting.
    -Allows setting custom AI settings for the elemental's AI.
    -Note: Not all of the settings work since the AI is still under development.
  6. Like
    15peaces reacted to Rytech in r892 - Elemental System Recode Part 2   
    =General
    *Elemental system recode part 2.
    -This part focused on recoding the elemental C/H files from the ground up.
    -With the core parts complete, its possible to summon and release elementals.
    -They don't have a working AI yet and will just stand in place and do nothing.
     
    *Elementals are now supported in TXT mode.
    -The support bypasses the need for the char server and any save functions.
    -Since nearly every server run's in SQL mode its pointless to add save function
    -support to the char server. This TXT support is good enough for development
    -and testing purposes.
     
    *Updated the "eleminfo" command.
    -Now shows the elemental's summon Lv next to the name.
    -Now displays the remaining time left for the current elemental.
    -Note: The rate display will remain in here for now for testing purposes.
     
    *Shifted the offset ranges for homunculus, mercenary, elemental, and guild skills.
     
     
     
    =Database
    *Updated the elemental_db and elemental_skill_db.
    -The formats should be finalized but well see.
     
     
     
    =Skills
    *SO_EL_CONTROL
    -Partly recoded the skill but did enough for allowing releasing the elemental.
    -It does not support mode switching yet.
     
    *SO_SUMMON_AGNI
    *SO_SUMMON_AQUA
    *SO_SUMMON_VENTUS
    *SO_SUMMON_TERA
    -Recoded these skills.
  7. Like
    15peaces reacted to Rytech in r891 - Elemental System Recode Part 1   
    =General
    *Elemental system recode part 1.
    -Removed all status and skill code for elemental skills.
    -There was a lot to track after doing this. Best to commit the changes before
    -doing the elemental system itself as it too is a lot of code to remove.
     
    *All elemental related skills in the Sorcerer's skill tree is set to passive type
    -for now to prevent use of those skills. They will be renabled once the recoding
    -is complete. Gotta error proof things for anyone updating past r890 not aware of
    -whats going on.
  8. Like
    15peaces reacted to Rytech in r899 - Elemental System Recode Part 9   
    =General
    *Elemental system recode part 9.
    -This update focused on adding support for all of Ventus's skills.
    -3 elementals down. Only 1 more to go. Im so ready to finish this.
     
     
     
    =Skills
    *EL_WIND_STEP
    *EL_WIND_CURTAIN
    *EL_ZEPHYR
    *EL_GUST
    *EL_BLAST
    *EL_WILD_STORM
    *EL_WIND_SLASH
    *EL_HURRICANE
    *EL_HURRICANE_ATK
    *EL_TYPOON_MIS
    *EL_TYPOON_MIS_ATK
    -Added support for these skills.
  9. Like
    15peaces reacted to Rytech in r898 - Elemental System Recode Part 8   
    =General
    *Elemental system recode part 8.
    -This update focused on adding support for all of Aqua's skills.
    -2 elementals down. 2 more to go.
     
    *Added some checks to help stablize the elemental skills.
     
     
     
    =Skills
    *EL_PYROTECHNIC
    *EL_HEATER
    -Corrected the damage increase to certain skills.
     
    *EL_WATER_SCREEN
    *EL_WATER_DROP
    *EL_WATER_BARRIER
    *EL_AQUAPLAY
    *EL_COOLER
    *EL_CHILLY_AIR
    *EL_ICE_NEEDLE
    *EL_WATER_SCREW
    *EL_WATER_SCREW_ATK
    *EL_TIDAL_WEAPON
    -Added support for these skills.
  10. Like
    15peaces reacted to Rytech in r900 - Elemental System Recode Part 10 / Elemental System Recode Complete   
    =General
    *Elemental system recode part 10.
    -This update focuses on adding support for all of Tera's skills.
    -With this update, the recoding of the entire elemental system is now complete.
    -Any further updates to the system will be bug fixes and optimization.
    -Im sooooooo glad im finally done with this.

    *Reduced the amount of code used for some autocasting status's.
     
     
     
    =Skills
    *EL_WIND_SLASH
    -Fixed a issue where it was dealing magical damage instead of physical.
     
    *EL_SOLID_SKIN
    *EL_STONE_SHIELD
    *EL_POWER_OF_GAIA
    *EL_PETROLOGY
    *EL_CURSED_SOIL
    *EL_UPHEAVAL
    *EL_STONE_HAMMER
    *EL_ROCK_CRUSHER
    *EL_ROCK_CRUSHER_ATK
    *EL_STONE_RAIN
    -Added support for these skills.
  11. Like
    15peaces reacted to Rytech in r897 - Elemental System Recode Part 7   
    =General
    *Elemental system recode part 7.
    -This update focuses on adding the structures and handlings for the elementals
    -skills and the status for them. This update also adds support for all of Agni's
    -skills. Now that I have things set on how to handle these skills it should be
    -a smooth development for the remaining 3 elementals.
     
     
     
    =Elementals
    *Fixed a issue where LV 1 elementals would not stay in passive mode.
     
     
     
    =Skills
    *SA_AUTOSPELL
    -Aftercast delay is now properly triggered on autocast.
     
    *NC_RESEARCHFE
    -Recoded the skill.
    -Bonus ATK now only applies to fire and earth element monsters.
    -Damage reduction is corrected to be a fixed reduction.
    -The damage reduction only applies to attacks from fire and earth element monsters.
     
    *SO_WARMER
    -Recoded the skill.
    -Freeze, Frost Misty, and Crystalize status are now removed by the AoE itself.
    -HP recovery is now handled by the warmer status. This is the official handling.
    -Status is now removed when you walk outside of the AoE.
    -I had to recode this when adding Agni's Heater skill.
     
    *SO_EL_CONTROL
    -Fixed a issue where the skill would fail even if you have a elemental.
     
    *EL_CIRCLE_OF_FIRE
    *EL_FIRE_CLOAK
    *EL_PYROTECHNIC
    *EL_HEATER
    *EL_TROPIC
    *EL_FIRE_BOMB_ATK
    *EL_FIRE_WAVE_ATK
    -Added support for these skills.
     
    *EL_FIRE_MANTLE
    -Number of hits per cell changed to 1.
    -Due to the damage they deal and with no known official number, its best to keep
    -it safe for now. Especially when you can lure a enemy to walk through multiple
    -cells at a time. 1000% MATK is a lot of damage for 1 hit from a firewall.
    -A regular LV 10 firewall deals 50% MATK per hit for 12 hits per cell.
    -Thats 600% total.
     
    *EL_FIRE_BOMB
    *EL_FIRE_WAVE
    -Now has a 50/50 chance of casting 1 of 2 versions of itself.
  12. Like
    15peaces reacted to Rytech in r896 - Elemental System Recode Part 6   
    =General
    *Elemental system recode part 6.
    -This part focused on redoing all the SQL save/load related stuff for elementals
    -and the format that the data for them is saved in. Due to the major rework on
    -the format for their save data a SQL update is required. This update drops the
    -elemental table and all of the data for them and creates a new one with the new
    -format. This is also important to get rid of any unused elemental data caused
    -by a bug on character deletion.
    -
    -Glad I got this out of the way. All thats left is to code in all of the skills
    -for the elementals. Should be easy to do since their skills are simple.
     
    *Fixed a issue where deleting a character would not delete the data for a attached
    -elemental if one was active at the time of deletion.
     
     
     
    =Elementals
    *Base sub-stats are now calculated during the summoning of a elemental.
    -Once summoned, these base sub-stats will be set for the entire duration of the
    -elementals life. The only thing that will affect them after is changes through
    -status's.
     
     
     
    =SQL
    *Updated the main.sql file with the new format for the elemental table.
     
    *Added update 3CeAM_svn896.sql.
  13. Like
    15peaces reacted to Rytech in Sorcerer's Elemental System Recode   
    Starting on r888 I begun work on getting the elementals working more like official after dodging it for a few years to work on other priority things. r887 is what set me off to work on this after I had to fix one of the effects they can place on the players. During r888 I added many needed checks and missing code to better help the handling for them and in r889 I added support for their sub-stats and fixed the Elemental Cure skill and a few other things that make it much easier to keep them alive and also make them more useful.
    During all of this I learned that the coding for the core parts of the system is very flawed and because of the amount of code that would need to be fixed I decided its best to just recode the entire system itself instead of going through every piece of code and try to fix it all. But doing so will be a massive task that I would have to spread out over a number of revisions due to the massive amount of changes that will happen and keeping track of it al for 1 revision isnt possible. Sadly this means that a few revisions will have to happen with the system not working. Not my norm when it comes to development but I have to do whats best in the long run.
    Because of this I focused on stable fixes first for the past 3 revisions and r890 is the last stable release ive released in preparing for the future. r891 and the next 5 to around 10 revisions will focus on the elementals recode which will mean unstable releases. So if your running a server powered by 3CeAM, its best to stay on and go no higher then r890 until I give the green light. You can get the update now by SVN update or downloading the "3CeAM r890 2018-06-21" pre-compile from the project page.
    So whats the plan during the recode? Below is what my plan is for doing this. Keep in mind that this is as is right now and could change during the recoding process....
    r891 - Gut out all of the code for the elemental system and all of their status/skills. Its not just the system itself that needs recoding but all of the skills they can cast. So pretty much nearly everything except the type checks for BL_ELEM or elementals since those are fine.
    r892 - Recode everything for elemental.c and elemental.h. Summoning, its AI, database handling, timers and safety checks, etc..
    r893 - Char server's saving for elementals. I will start with SQL support and then do TXT support as well since this is a major job related thing for Sorcerer's just like how homunculus are a major part for Alchemist. Both must be supported. Also the formatting for the elemental save data is getting entirely redone. There is a chance the SQL part for this update may have to be done in r892 as well with the core recode.
    r894 - Code in a few simple skills and work on the AI to prepare the system for checking which skill the elemental is supposed to be using depending on its type, summon LV, and mode. Other things that are needed will be code here as well. Hope to get things stabilized here.
    r895 - If all goes well then this update and those following will focus on adding in their skills. With 42 skills in total its going to take some time to get them all in.
    I estimate that this may take around 2 or 3 months to complete. If you want to see the progress thats been made you can click the link below to view a post I made not long ago showing the difference in the elementals sub-stats. You can also read a document I made from my research showing what all the elementals skills are able to do.
     
  14. Like
    15peaces reacted to Rytech in r890 - Regen Rates Update / Insignia LV 1 Works / Gentle Touch Revitalize Recoded / Other Fixes   
    =General
    *Regen rate adjusting for natural HP/SP recovery through status's and skills is
    -updated to support adjustments in multiples of 1%.
    -Why this was done in multiples of 100% before is just....ugh.
    *The "eleminfo" command now displays a elementals regen rate.
    -This is a temp thing and might be removed in the future once the recode is done.
     
    =Database
    *White Potion Z and Vitata 500 no longer increases HP/SP recovered through potions
    -and heal skills. They do now increase natural HP/SP recovery rates by 20%.
    *FAW's now have a 10% chance of dropping steel when killed.
    *Updated settings for elemental skills.
    -This is to prepare for the recoding of these skills.
     
    =Skills
    *SR_GENTLETOUCH_REVITALIZE
    -Recoded the skill.
    -Now properly increases natural HP recovery rate.
    -Now allows natural HP recovery while moving.
    -Natural HP recovery rate is not reduced while moving.
    *SO_FIRE_INSIGNIA
    *SO_WATER_INSIGNIA
    *SO_WIND_INSIGNIA
    *SO_EARTH_INSIGNIA
    -Level 1 now works on elementals.
    *MH_SUMMON_LEGION
    -Summoned monster's HP, MaxAttack, DEF, and ASPD is now affected by the homunculus
    -BaseLV and the skill level used.
  15. Like
    15peaces reacted to Rytech in Elemental Spirits Research   
    Back in March of 2010 (earliest I can find in 3CeAM's records) we started adding the first of the data found for the Sorcerer's elemental spirits and during the next few months other things like tags and ID's for skills, stats, and what else was added. During those first 6 months not much happened with them until September when Pakpil released a working version of the elemental system which excited many. During the next few months their skills and other functions were added and since then nothing else happened other then a few bug fixes.
    In May 2012 I did the Sorcerer 2011 update and noted that the elemental system would be worked on in a separate future update. But it never came due to many other things having a priority over it. Not only that but I didn't know much about them and detailed info on them was lacking. The 2011 iRO document had info, but it was small compared to what the entire system holds. And to top it off, the system with its current coding is kinda....meh. So I avoided working on it.
    But now that things are pretty much up-to-date and complete for all existing jobs and the latest jobs like Star Emperor and Soul Reaper, there really isnt much to do other then bug fixes and code cleanups. But after coming across some code for the status's that elementals give to allow autocasting bolt skills, I felt its time to tackle the system. Starting with r888 I spent a lot of time updating checks for them and figuring out how this entity is supposed to be handled and how to recode it in the proper way. Then with r889 came the 2nd update to them which brought huge changes. Took much longer since I was still figuring out how to handle them.
    That 2nd update made a huge difference with their sub-stats. I added a command to show their sub-stats so I could see if their being calculated correctly since there's no official way to see this. Seeing how well the command worked I decided to keep it in so player's can use it in other server's to see the sub-stats of their elementals. Below are 2 pics showing before and after the updates....
    Before r889
    After r889
    Seeing this big of a difference I really want to do more to improve the system and make it work like official. But to do that I will have to recode the entire core of the system which will take a lot of time to do. Along with this, all of the skills that the elementals cast will need to be properly recoded as well and with that I wanted to know exactly how they work before doing so. Matter of fact, I want to know how everything works. So for around a entire week I spent most of my free time doing research by poking around in aegis files and its zone.exe and created a document containing all of the data and information ive extracted from the files.
    With the document now complete I will now share everything I learned from this research....
    Elemental Spirits Information.txt
    I learned a lot of interesting things about the elementals but at the same time wondered what the hell they were thinking when they made this system. That thought popped in my mind multiple times which isn't good. I feel like they failed to make a proper logical system and kinda rushed it. But hopefully the current dev team at Gravity will rework it into a more proper system when they do the update for the Sorcerer's skills. But seeing that no dev note announcements were made yet and the fact that most of the existing 3rd jobs already got updates, Sorcerers will likely be last on the list due to the elemental system. Might not hear anything til mid or late 2020. Lets cross our fingers and hope for the best.
    Expect more major updates in the next few upcoming updates for 3CeAM.
  16. Like
    15peaces reacted to Rytech in r889 - Elemental System Update Part 2 / Homunculus Bug Fixes   
    =General
    *Elemental update part 2 completed.
    *Added the "elemental" battle config file with a bunch of new configs in it.
    *natural_homun_healhp_interval
    *natural_homun_healsp_interval
    *natural_elem_healhp_interval
    *natural_elem_healsp_interval
    *elemental_masters_walk_speed
    *max_elemental_hp
    *max_elemental_sp
    *max_elemental_def_mdef
    -Added these new configs.
    *Added the "eleminfo" command.
    -This command allows one to see the stats of a summoned elemental.
    -Quite useful for seeing the build of your elemental and what to expect from it.
    *Added elemental tags and ID's to the mobid enum table.
     
    =Database
    *Cleaned up the elemental database.
    -Note: Won't allow blank lines. This will be fixed on the elemental system recode.
    *changed the required state "elementalspirit" to "elemental" for skill checks.
     
    =Elementals
    *Updated the behavior of the elementals.
    -Reduced the chase range to a proper 2 above the view range.
    -aMotion and aDelay behavior corrected to fix cropped attack animations.
    -dMotion reduced to 300.
    -Now has the same movement speed as their master.
    -Chance of autocasting attack skill when attacking increased from 2% to 5%.
    -Max follow distance from the master reduced from 6 to 3 cells.
    -HP/SP now recovers at a rate of 2% MaxHP/MaxSP every 3 seconds.
    -Sub-stats are now affected by the master's build.
    -Formula's for MATK, DEF, and MDEF are customized to be balanced for pre-re.
    -Formula for ASPD is official. The 2011 balance update document is wrong.
    -Note: Natural HP/SP recovery will be on no matter the mode selected for now
    -until the main system code is redone.
     
    =Homunculus
    *Fixed a issue where the attack speed was faster then what it should be.
    *Corrected a mistake that allowed them to do crits through regular attacks.
    -Turns out in official they can't crit. Its like this for any non player entity
    -unless its done through a skill that forces crit damage. Sorry about that.
     
    =Skills
    *SO_EL_CURE
    -Recoded the skill.
    -HP/SP recovery formula updated to official.
    -Old Formula: Recovers 10% MaxHP/MaxSP.
    -New Formula: Recovers HP/SP by the amount equal to what the master sacrificed.
    -Example: Master with 47997 HP and 4387 SP will recover the elemental by 4799 HP
    -and 438 SP.
    *MH_OVERED_BOOST
    -Now sets the homunculus and master's ASPD to a fixed value.
  17. Like
    15peaces got a reaction from Quazi in Repository for Clasic eAthena (before rebirth)   
    yes, you can. But you could also use 3ceam / herc / rA and disable all of these features. All of these use the same old eAthena coding as a base.
    3ceam and 15-3athena only try to keep the old style of coding/configs, etc and also skip renewal calculations. 
    If you want to use my emulator, please keep in mind that this is mainly a testing emu for adding new features to my life-server / create feature- patches for 3ceam. However, if you don't want to use any renewal area features, you can do it without any problems. ^^
    (Might be interesting: This is a completely unmodified eA rev. 15265, which is one of the last revs before they stopped the project completely: https://github.com/15peaces/15-3athena/tree/55efa2abe96db1f9295421ef42552481983e1c1a)
  18. Like
    15peaces reacted to Rytech in r888 - Elemental System Update Part 1   
    =General
    *Elemental Update Part 1
    -This is the start of a series of updates that focuses on fixing up the elementals
    -system. Due to the system being coded in 2010 with very little info on the
    -elementals, how they work and are handled, and how things were coded, the system
    -will have to be completely redone which will take a lot of work to do.
    -
    -The work load will be spread out between updates to make it easier to keep track
    -of changes in the updates. This first part focuses on adding missing checks in
    -the code for elemental entitys and other similar checks needed to perform
    -functions for this kind of entity.
    *Updated Visual Studio 2008 project files.
    -Would update the 2010 ones too but I don't have that version installed.
    *attack_walk_delay
    *attack_direction_change
    *clear_skills_on_warp
    *auto_counter_type
    *land_skill_limit
    -Added mercenarys and elementals to these configs by default.
    *MAX_MERCSKILL increased to 41.
    -This should of been increased long ago when MER_INVINCIBLEOFF2 was added.
    *Added a bunch of missing code that should resolve some hidden issues with the
    -elementals. What all it fixes im not entirely sure. I just know they should
    -be there.
    *ZC_EL_INIT
    *ZC_EL_PAR_CHANGE
    -Updated these packets.
    *Added some stuff to prepare for future updates to elementals.
     
    =Skills
    *EL_WILD_STORM
    -Fixed a issue where the caster's ASPD didn't increase properly.
  19. Like
    15peaces reacted to Rytech in r887 - Added Syrups And Green Apple Ring / Recoded Some Elemental Skills / Added Item Auto Identify Config / Other Fixes   
    =General
    *Added the "item_auto_identify" config setting.
    -This setting allows equips dropped by monsters to drop in a identified state.
    *Added new skill and status tags and ID's.
    *MAX_ITEMDELAYS increased to 20.
     
    =Database
    *Did a few updates in the item database.
    -Fixed the long range damage bonus for the Elven Bow.
    -Added the 30 days version of the Boarding Halter Box.
    -Added the syrups which are basicly stronger HP/SP potions.
    -Added the Green Apple Ring.
    *Added item usage delays for ygg berry and ygg seed.
    -Its disabled by default since its a RE thing but there for those wanting balance.
     
    =NPC
    *Updated 3ceam_jobchange with checks for mounts, falcons, wargs, and carts.
    -Now players will have to remove these things from their character before changing
    -jobs to prevent certain possible issues. Also to future proof if more jobs come
    -out in the future.
     
    =Skills
    *NC_PILEBUNKER
    -Added the Engine Pile Bunker to the check.
    -Now there's a total of 5 pile bunkers.
    *EL_TROPIC
    *EL_CHILLY_AIR
    *EL_WILD_STORM
    *EL_UPHEAVAL
    -Recoded these skills.
    -The success chance and level of bolts casted is now affected by master's JobLV.
    -Wild Storm now increases the master's ASPD by 5.
    -Upheaval now increases the master's MaxHP by 5 * SummonLV.
  20. Like
    15peaces reacted to Rytech in r886 - Added Bonus Stats For New JobLV Caps / Recoded Crescent Elbow And Lightning Walk   
    =General
    *Added some new skill tags and ID's.
    *MAX_SKILL increased to 5079.
     
    =Mobs
    *Updated the LV and HP for GUILD_SKILL_FLAG.
    -Big thanks to Optimus for the replay files.
     
    =Jobs
    *Renewal Era Jobs
    +Added stat bonuses for new job level caps.
     
    =Skills
    *SR_CRESCENTELBOW
    +Recoded the skill.
    -Effect is now triggered on physical melee attacks both regular and skills.
    -Effect will not trigger on attacks from boss monsters.
    -Formula updated. Damage from the ratio part is affected by normal means like
    -the caster's ATK, enemy's DEF, etc. and the fixed damage after can't be reduced.
    -The ratio part of the damage is forced neutral for now. (Need a confirm if it is)
    -Skill now ignores the enemy's flee. This is a counter skill after all.
    -Enemy takes the full damage and the caster takes 10% of what the dealt damage is.
    -Knockback range increased to 7 cells.
    -Now deals's knockback damage if pushed into a wall.
    *SR_LIGHTNINGWALK
    +Recoded the skill.
    -Now only triggers on physical ranged attacks.
    -Caster will now warp to the attacking enemy and face the direction of the enemy.
    *GD_CHARGESHOUT_FLAG
    +Updated cooldown to official.
    -Big thanks to Optimus for the replay data showing this.
  21. Like
    15peaces got a reaction from Ridley in 15peaces 3CeAM Patches   
    alootid Patch
    *This patch updates @alootid command to support multiple slots.
    -you can set the number of slots in pc.h. Default is 5. Patch
     
  22. Like
    15peaces reacted to Rytech in r884 - Quest Database Update / Few Skill Bug Fixes   
    =General
    *Increased the MAX_QUEST_DB to 4000 to support all the latest and future entry's
    -in the quest database.
     
    =Database
    *Added emoticon entrys to the const file.
    *Added tons of new entry's to the quest database.
    -This is basicly the entire database replaced with rAthena's quest database.
    -I only removed the unused columns. They will be added in on a later update once
    -support for them is completed. This does not mean these new quests are playable
    -yet as I still need to add their NPC scripts in.
     
    =Skills
    *RK_SONICWAVE
    *RK_HUNDREDSPEAR
    *RK_IGNITIONBREAK
    -Fixed a issue where having a base level below 100 would break the damage.
  23. Upvote
    15peaces reacted to Rytech in r882 - Updated Login And Quest Packets / Guild Position Mode Value Fix   
    =General
    *AC_ACCEPT_LOGIN4
    -Updated the packet code to pad in the unused parts of the structure.
    *ZC_ALL_QUEST_LIST3
    *ZC_ADD_QUEST_EX
    *ZC_UPDATE_MISSION_HUNT_EX
    *HC_NOTIFY_ZONESVR2
    -Added support for these packet.
    *npc_chat_sub
    -Applied a fix to the function that should resolve issues with npc script
    -commands like the defpattern function. Credits to 15pieces for the fix.
     
    =SQL
    *Updated 3CeAM_svn876.sql to update the guild position mode value to smallint.
    -This is required since the value for guild storage permission is higher then 256.
    *Added 3CeAM_svn882.sql which changes the guild storage mode value to smallint.
     
    =Skills
    *NJ_HUUJIN (Wind Blade)
    -Corrected the cast time.
  24. Upvote
    15peaces reacted to Rytech in r883 - Corrected Behavior of ALL_QUEST_LIST3 Packet   
    =General
    *Fixed a issue that can cause clients to crash on map load or cause lua errors.
    =This was caused by the ALL_QUEST_LIST3 packet. I was unaware of how much its
    -structure can change depending on the number of objectives detected.
    -Big thanks to 4144 for explaining to me how it works.
    -
    -Note: Players will still experience lua errors when quests like the endless
    -tower (ID's 60200 and 60201 for example or anything in the 60k range) is
    -active. This is not a packet issue.
  25. Upvote
    15peaces reacted to Rytech in r879 - Recoded Some Skills And Fixed Others / Cursed Circle Issues Fixed   
    =General
    *Cleaned up some code.
     
    =Skills
    *WL_FROSTMISTY
    *WL_JACKFROST
    -Fixed a issue where under certain odd conditions the damage might miss.
    *WL_CRIMSONROCK
    -Updated damage formula.
    -Adjusted knock back behavior.
    -Fixed a odd issue with the skill being used on ice walls.
    *SC_TRIANGLESHOT
    *LG_OVERBRAND_BRANDISH
    -Fixed a issue where the target would get pushed back depending on its facing
    -direction when it should be depending on the caster and targets position.
    *SR_CURSEDCIRCLE
    -Recoded the skill.
    -Now requires 1 spirit sphere before casting.
    -Item pickup/drop is now blocked for both caster and enemies.
    -Now uses a array to keep track of all affected enemys.
    -Status now checks every second to see if the affected target is still in AoE
    -range. If outside the AoE the status will end.
    -Status now ends if the caster dies, if the caster uses any skills, if outside
    -the AoE, or if the duration ends.
    -Does not affect boss monsters.
    *GN_BLOOD_SUCKER
    -Recoded the skill.
    -Now uses a array to keep track of all affected enemys.
    -A max of 3 can be active at a time.
    -Caster no longer does repeated skill cast actions while active.
    -The status now ends if the caster dies, is farther then 12 cells from the
    -caster, or the duration ends.
    *GN_CRAZYWEED
    *GN_CRAZYWEED_ATK
    -Fixed a issue where the caster did repeated skill cast actions when casted.
    *RL_C_MARKER
    *RL_H_MINE
    *SJ_FLASHKICK
    -Fixed a issue where the status was not removed from monster's when the caster dies.
×
×
  • Create New...

Important Information

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