Jump to content

Singe Horizontal

Members
  • Posts

    15
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Singe Horizontal

  1. I need to make a clean gist again, I lost track on what prevented compiling with g++. Moreover the yml update broke a part of the mod, I'll be waiting a week more before updating to the new system. Sorry for the inconvenience and thanks for the report
  2. Hi thanks for the message. My friends and I have a small discord group where we sometimes host "lan" parties, where we mess around with the ai. I created a pre configured installation all in one ( server + client ) to be downloaded, so that the mod can be played locally without having to modify the sources and recompile. If interested : https://discord.gg/qZt7aaBb2R
  3. In this example you put the two lines to be called when "idle", so only the first one will be used (default behavior). Mvps use "onspawn" to summon only once mobs that should drop/give exp, so that's what you may want to use.
  4. Hi, In skill.cpp, find the SA_DISPEL entry in function skill_castend_nodamage_id, and in the list of all status add case SC_PRESERVE:
  5. Hi, I found an useful guide on how to reduce those long loading time with probably very few consequences : https://codeyarns.com/tech/2010-09-10-visual-c-iterator-checks-and-slow-stl-code.html
  6. It's because you're using a grf that modifies number display. now they need to add "K" and "M" too to be compatible. The file name is
  7. A small awk program to be called from command line that generates a job_basepoints.yml for a desired level. For windows users, awk is available in cygwin or git bash. Change directory to the one where the file was downloaded and run the command : ./job_basepoints_re_gen.awk 200 > job_basepoints.yml It should produce a job_basepoints.yml file. https://gist.github.com/Singe-Horizontal/4c59ca0ee10cd21fd736101bec9e8cfa EDIT : Caution I have to put this tool in a halt, since the formula from irowiki doesn't reflect actual values after a certain level. I nevertheless let the sources if someone wants to rework the code for himself.
  8. Thank you It is indeed possible since there are no scripting involved in its behavior, hence it can be set to be spawned as a regular mob.
  9. I wasn't in my best shape https://youtu.be/HycjQX2Toe8 https://www.youtube.com/watch?v=T8zclDH9WbQ
  10. Git patch : https://gist.github.com/Singe-Horizontal/c6e3bb57f7bfdb16e99d748faec30926
  11. A nice duel between a champ and a ninja bots( boosted stats + delay)
  12. Good morning, For the last months I've been working on a mod that would allow deeper ai conditions. Here is how the config file looks like : - friendrecoverable: # arbitrary name tag - or: - friend sleep - friend stone - friend stun - friend freeze - selfcellempty: - not self safetywall - not self pneuma - not self landprotector - not self icewall - friendcellempty: - not friend safetywall - not friend pneuma - not friend landprotector - not friend icewall Then you can add or modify lines in the usual mob_skill_db.yml file : 1639,Kathryne [email protected]_SAFETYWALL,anytarget,12,10,3000,0,10000,yes,self,expanded,selfcellempty,,,,,,, #use tag "expanded" then the name 1639,Kathryne [email protected]_SAFETYWALL,anytarget,12,10,3000,0,10000,yes,friend,expanded,friendcellempty,,,,,,, 1637,Margaretha [email protected]_STRECOVERY,any,72,1,10000,1000,10000,no,friend,expanded,friendrecoverable,,,,,,, I also added 2 new modes to complement these new behaviors : Modes: SkillOnly: true PcSkillBehavior: true SkillOnly will disable basic attacks and PcSkillBehavior will modify its skills' ranged/melee flag depending on range and not distance, as players' behave. The full mod : https://github.com/Singe-Horizontal/rathena/tree/feature/expanded_ai_full_mod Condition module standalone : https://github.com/Singe-Horizontal/rathena/tree/feature/expanded_ai_conditions AI mode standalone : https://github.com/Singe-Horizontal/rathena/tree/feature/additional_ai_modes Quick design video : It is my first c++ project mod and contribution with git, I gave all the care I could but unoticed things may have slipped out.
  13. Hi, On the servers I played on for the last couple years, I noticed that the effect of Hell poodle cards and such, that is all the items that give bonus to heal rate, were quite nerfed. The 100% bonus heal was neither multiplied to the bonus given by vitality and Increase Hp Recovery. I made some research in old commits, and I found something on pc.cpp, on the function pc_itemheal(). On 29 Jun 2017, a commit was made with one objective of "Clean[ing] up overall pc_itemheal function calculations.", which made that change on line 8290 - bonus += bonus*pc_get_itemgroup_bonus(sd, itemid)/100; + bonus += pc_get_itemgroup_bonus(sd, itemid); This is what explained the change in the behavior of the bonus items, and is more than just cleaning code. Here is the commit : https://github.com/rathena/rathena/commit/5729a3dedb6aca0d4cced23e242462d4970ffd3b Then, the code was refactored, propagating the new behavior - for(i = 0; i < ARRAYLENGTH(sd->itemhealrate) && sd->itemhealrate[i].nameid; i++) { - if (sd->itemhealrate[i].nameid == itemid) { - bonus += sd->itemhealrate[i].rate; + for(const auto &it : sd->itemhealrate) { + if (it.id == itemid) { + bonus += it.val; https://github.com/rathena/rathena/commit/c71ef92fb0aa50119484d5576853eb0c79baa397#diff-49937e616f59c440ac7bc7d0d5ec2237 Shouldn't the correct behavior be bonus+= bonus*it.val/100 ? EDIT : To give an example, with 100 vit and increase hp recovery 10, one meat gives 280~400. Now with x2 hell poodles, with the old formula you used to heal for 840,00 ~1 200,00, now it's 420~600, which is disappointing considering the investment and the weight of a meat (15)
×
×
  • Create New...

Important Information

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