-
Posts
15 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Singe Horizontal
-
MOD : Expanded Ai Conditions
Singe Horizontal replied to Singe Horizontal's topic in Project Releases
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 -
MOD : Expanded Ai Conditions
Singe Horizontal replied to Singe Horizontal's topic in Project Releases
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 -
Transitioned from yaml-cpp to rapidyaml
Singe Horizontal replied to Aleos's topic in Development News
Thank you -
understanding mob_skill_db -- SUMMONSLAVE skill
Singe Horizontal replied to mizuki04's question in Database Support
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. -
how to not dispell the preserve
Singe Horizontal replied to bannizter22's question in Source Requests
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: -
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
- 1 reply
-
- 1
-
-
Damage output number can't past 1 M
Singe Horizontal replied to players's question in General Support
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 -
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.
-
MOD : Expanded Ai Conditions
Singe Horizontal replied to Singe Horizontal's topic in Project Releases
Yes of course I'll be glad to -
MOD : Expanded Ai Conditions
Singe Horizontal replied to Singe Horizontal's topic in Project Releases
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. -
MOD : Expanded Ai Conditions
Singe Horizontal replied to Singe Horizontal's topic in Project Releases
I wasn't in my best shape https://youtu.be/HycjQX2Toe8 https://www.youtube.com/watch?v=T8zclDH9WbQ -
MOD : Expanded Ai Conditions
Singe Horizontal replied to Singe Horizontal's topic in Project Releases
Git patch : https://gist.github.com/Singe-Horizontal/c6e3bb57f7bfdb16e99d748faec30926 -
MOD : Expanded Ai Conditions
Singe Horizontal replied to Singe Horizontal's topic in Project Releases
A nice duel between a champ and a ninja bots( boosted stats + delay) -
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.
- 14 replies
-
- 11
-
-
-
-
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)