Jump to content

Playtester

Members
  • Content Count

    41
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Playtester

  1. Well first of all, check the links I posted earlier, the ones not crossed out yet (I don't know if you have merged them yet, but I didn't see it). If you just want a list of all rAthena commits: https://github.com/rathena/rathena/commits/master I think almost all my commits are interesting for Herc too (I verified all of these are official): https://github.com/rathena/rathena/commits/master?author=Playtester Some of the bugfixes I made are not needed on Herc because they were fixing bugs caused by commits from aleos/Cydh that Herc didn't merge in the first place. Unfortunately I don't have enough time check Herc's code and compare anymore and give as extensive explanations as I did on the previous page, but if you have any questions about my commits, feel free to ask, I will provide as much information as I can. I always make sure my commits are well documented and linked to an issue. Click on the issue link if you want additional info on why something was changed. Also my commit messages should all be understandable for normal players, so they could check what they are interested in the most via the list. Fixing the range system and Sanctuary / Evil Land would be a start, I even created Github issues on those (wanted to see how actively you process them). Also how about finally fixing the critical range exploit reported here: https://github.com/HerculesWS/Hercules/issues/841 Commit: https://github.com/rathena/rathena/commit/6f74f67da060a063183e1147dfc893c9454af853 There's so many awesome things to merge. Especially all the skill fixes... @Players I assume Dastgir is asking you to point out rAthena commits that you'd like to see on Herc. So just browse through the commits and if you find something that's important to you, link it here.
  2. Yes. And it's also "uncomment pre-renewal" instead of "disable renewal". ;-)
  3. I meant back to RO emulator development. I'm using SVN so I can't do it myself, but feel free to blatantly use all my commits. I did them all for the players and not for myself. :-)
  4. Due to my declining health, I probably won't be able to do as many updates on rAthena anymore (but it's pointless if they don't get merged to Hercules anyway), so here are the last two updates I did that should be merged to Hercules if there aren't yet (sorry, no energy to check): 1. https://github.com/rathena/rathena/commit/861112b89b58eeeb875d36b0c59f3e999b5f528d Official behavior of Gravitational Field and official ranges for Ganbantein and Gravitational Field. This makes the skill quite unique and really interesting. For example how it allows to add autocasts to the formula. I think some of the minor fixes are not needed on Herc due to different damage code. 2. https://github.com/rathena/rathena/commit/b5fd69b64d6456df04f14930a022f712be460488 Spiritual Bestowment fix. Not sure if it works properly on Herc. It should only consume a sphere if a sphere is actually transferred (so if the target already has 5 you won't lose any) and also should not work on Gunslingers. Maybe once all my fixes are on Herc I come back. =3
  5. Ok seems to be that routing from my connection isn't able to leave Europe. Strange.
  6. Yup, seems to be down, but better report it on IRC than on Herc forums. =p Edit: Actually 80% of all websites can't be reached by me. Seems I can only reach Google and .ws domains. o.o .org and .com are completely unreachable. Maybe some core router or cable went bye bye.
  7. Well all really do stack you just can't duplicate the effect. But it's very easy to implement no skill unit cell stacking. Simply open skill.c and find the function skill_cell_overlap. There you can block every skill unit combination you want.
  8. The Land Protector fix was merged so I crossed it out. In meantime I did some more smaller fixes: 1. https://github.com/rathena/rathena/commit/a0bd0168cf0e7fa257f67bd5eae4d2a4721a6807 Same issue is on Herc. Autobonus3 is called in skill_onskillusage, but it's only called in skill_attack by default. There are skills that don't use skill_attack in particular nodamage and ground skills. For nodamage skills it was already implemented to separately call skill_onskillusage, but it also needs to be done for position skills. 2. https://github.com/rathena/rathena/commit/13d1c2dcd93f7a789266b312ec8c420c20a51077 This was mostly correct on Hercules already, except for the bonus from Musical Lessons. Bonus should increase at every even number (2, 4, 6, 8 and 10) instead of every odd number. 3. https://github.com/rathena/rathena/commit/d20ac845d1e2fe90eb0fcbf50365f7f2207234bc On officials direction of a unit doesn't change when it attacks, so when a knockback depends on direction, it will depend on the last direction walked into even when attacking in the opposite direction. Merged 4. https://github.com/rathena/rathena/commit/0fd7ba72dfea51b037f02ebc77c00d5f7e585a6a On one hand fixed 1st Transcendent Spirit. On officials it basically works like Marionette Control, it calculates the bonus at cast (which makes stats go to BaseLevel-10 with a maximum of 50). If there are other buffs later it's added on top of the bonus (except for Agi Up and Blessing which cancel the soullink directly). There was a lot wrong with this skill which is all fixed now. :-) Even more interesting than that is that I fixed several position lag issues. Basically the client will not display complex paths properly. On official servers, monsters won't even start chasing a target when the path to it is too far. If a monster does anyway (as on emulator) the path of the monster will not be displayed properly. There was also an issue that a monster displayed "irregular movement" which causes high position lags when a status changed ended (e.g. Quagmire) which I also fixed. Finally there was also a problem that sometimes I monster stopped chasing but still displayed as "moving" on the client. When merging, please also merge the follow up fix: https://github.com/rathena/rathena/commit/0359420f422cfdb8bd24dc2623d6235b77123178 Merged 5. https://github.com/rathena/rathena/commit/e6caa9569b62eec5093954a4298ff0d2632cdb53 Seems the skill menu bug is already fixed on Hercules. The looter behavior is quite wrong on Hercules as much it was on rA, though. Looters should only run to items that are in a linear line of sight (not walk around corners to get an item). Also they will always target the first item that drops (on Herc, it's still closest item). Plus their loot range is only "0" meaning they have to be on the same cell as the loot. It makes quite a difference because it makes them walk around a lot to loot stuff whereas on Herc it's basically just walk to an item and then take everything.
  9. More fixes to merge: 1. https://github.com/rathena/rathena/commit/04a1173f7d4c0e1ffbace05d34d8b60dfd037a94 Plant damage code will be hard to fix, probably better to just implement it yourself. I posted all the test data in the corresponding bugreport thread here: http://rathena.org/board/tracker/issue-9380-plant-damage/ The skill damage and hit definition can just be merged, though. The fix is still missing that Fire Pillar also should be unable to hit plants, I fixed that in a follow-up (see below). Found plant code important to fix because I noticed several classes can kill plant mode monsters very easy with certain skills although they shouldn't be able to. Land Mine fix should be easy to merge (simply didn't make sense that it deals the highest damage and still has AoE like Blast Mine which is much weaker). Fixed reflect flag - not sure if there's a conflict in Herc as well since it uses different flags. Sightblaster code improvement is something I got from idAthena, prevents a possible crash fix (even though I have my doubt that sce can be NULL at that point). 2. https://github.com/rathena/rathena/commit/525e8178c27327f000e15ba557c6ed37a371c0b2 Several Waterball improvements. Fix is not perfect, but important as it fixes several critical exploits that were possible with the old version. Removal of knockback of Crimson Fire Formation (bug report is on Herc forums about it). Bosses ignoring skill induced walk delay should be added at the same time as the Waterball update (so they don't get stuck for 10 seconds). The timer interval is probably Herc's own decision. We decided in rAthena that accurate emulation takes priority over performance. In any case since it's just changing a define, each server owner can do it himself (but I still like it if the official behavior is the default). 3. https://github.com/rathena/rathena/commit/e7e8b5454b8093840cb2a9c03903ca08ffeeae4d Finally implemented Land Protector to behave as on official servers. This was the most-wanted bugfix of players / server owners when I asked around, that's why I took the time to investigate and fix it. All the skills and Storm Gust knockback need to be updated at the same time as they are all related to the Land Protector issue. There's also a bugreport about it on Herc forums. Merged 4. https://github.com/rathena/rathena/commit/08bf5112a1f12fd5ae1b3715eddfa2918370d20d Follow up to plant damage -> Fire Pillar should not be able to hit plants (you can hit plants because the AoE of level 6-10 is 5x5 so you can place Fire Pillar two cells next to a plant and then let a monster walk over it). Also fixed Acid Bomb (the ground skill) interval for renewal, although that still doesn't fix it fully as in renewal it should be ATK+MATK and not just ATK. Well the interval was easy to fix so I did that quickly. Merged 5. https://github.com/rathena/rathena/commit/d9a9a024f6ef47c48679629fa508dcb6793a8dce Small Magnum Break damage fix. Merged
  10. Yes 2% vending tax is official behavior. Gravity added this around episode 10 to battle inflation (same reason why they added Rachel Donation, Socket Enchanter and Comodo Gambling). Ragnarok Online easily suffers inflation (= more money "created" by NPCs than money used), the Vending Tax helps to stabilize the economy.
  11. Well if you look at status.c and search for SC_ENDURE, you will see that all of its special item-granted properties are hardcoded. Basically that's why it even uses sc_start4 so it can set val4 which then signalizes if it's an item-granted endure. Like for example here: if(sc->data[SC_ENDURE])// It has been confirmed that eddga card grants 1 MDEF, not 0, not 10, but 1. mdef += (sc->data[SC_ENDURE]->val4 == 0) ? sc->data[SC_ENDURE]->val1 : 1;It's kind of weird as on official server it will simply grants level 1 endure (with duration 9999 seconds), so why do we grant endure level 10 and then hardcode it so that it's reduced to the effect of level 1 endure? Not sure. Anyway, if you don't want to write your own status change and still want item-granted SC to be undispellable then you will need to change the code for dispell / dead and so on to not only check for the status change but also val4 (or any other free value) and only remove the status change when val4 has a certain value. Quite a lot of work, though. You're better off duplicating the status effects.
  12. Working on the emulators certainly helped me a lot also learning it. I'm not the type who reads explanations. I just look at examples and then try to imitate them. At first I started with easy code changes like just correcting the damage which is basically just finding it in the code and changing a number and then tried continuously harder things. Now I set debug messages everywhere and run test cases to figure out complex problems. But I guess I had programming knowledge even before joining eAthena. So going back even earlier... well I guess I simply wrote a hello world program. Also looking at an example, copying it, getting it to compile, and be happy that it showed "Hello world". And then I slowly expanded that like "When I press a key I want it to show a second message" and "Now the user should input a number and it should show the square of it" and then I started writing small minigames like "A goblin appears what to you want to do? 1. Hit it 2. Run away".
  13. Which script are you using? Can you link to it on Github? I only found this: https://github.com/HerculesWS/Hercules/blob/master/npc/custom/jobmaster.txt But it doesn't seem to be the script you are using because the NPC coordinates are different. Wrong parameter "119" should indicate that the string "119" appears in the script, but it doesn't in the end I linked either.
  14. What if you add some debug output before the "if" and test with that: ShowDebug("Attack against plant: critical=%d class_=%dn", flag.cri, class_);Whenever someone attacks a plant mode monster it will then print out if it's a critical and the ID of the target. Then you can check if it's correct against the castle emperium.
  15. It's because it filters for MOBID_EMPERIUM. In map.h: https://raw.githubusercontent.com/HerculesWS/Hercules/b8abf962fd079bc3cad4498aa968f2318d1f5fde/src/map/map.h You can see that MOBID_EMPERIUM is defined as ID=1288, so it will only work on the monster with ID 1288. If you want a different Emperium to work like this instead, just check for its monster ID and put the number instead of MOBID_EMPERIUM. What Emperium ID is spawning in WoE anyway?
  16. You won't be able to make the walkpath much longer, even if you can recode pathfinding to not have any limits, it will become so complex that just a few units will make the CPU busy and require a lot of memory to remember all possible paths. So yes, you need to use waypoints.
  17. Oh and I forgot to mention that Herc still has custom ABRACADABRA rates rather than rates depending on level of skill used. https://github.com/rathena/rathena/commit/da56e53efd7f10da6f2aa546ee88de93e92c646f Imo, should have high priority to update as the chance of classchange is more than 10 times higher than officially at the moment. And MVP drop should check first item first, then second, then third, instead of random order: https://github.com/rathena/rathena/commit/5110ddbaf47c358a4a656c32043eb9973b3cd0ab
  18. I don't really get how their server being hacked and Aegis being stolen prevented them from fixing any bugs, though. I don't really buy that store. And iRO doesn't even have the source code, so how could they have restored it from there? By reverse engineering? Yeah right. In the meantime those "super Aegis hackers" have disassembled most of the Aegis code and detected most of the bugs that Gravity apparently can't fix (like Bowling Bash gutter line, which could easily be fixed with a one-line change). How come they can do it but the one who actually created the source code in the first place can't?
  19. I would quit literary consider Renewal "the final nail on the coffin". It's the perfect metaphor. As the others said, RO was declining way before that. I disagree that it's just that "RO's time came". The problem was more that RO turned into a niche game, but the developers didn't treat it as such and tried to go mainstream, but the game itself is just too outdated for that. They should have stayed niche and focus on the things that made RO unique. Things that are negative for many mainstream MMORPG players are exactly those things that loyal RO fans liked: - no quests that tell you what to do, instead encouraging role-play, quests are only there for the lore, not for the reward - your characters growth slowly, you grow along with your character over the span of years - P2P over F2P - each class is unique and most classes are designed so they work well together, rather than playing alone If they just had kept focusing on these.
  20. Just a Heads-up for Michi. The following changes still need to be merged: A https://github.com/rathena/rathena/commit/b89b66932511e12b5b168e5dfee3f59e5ed02e49 Half of the combo code was already working in Herc, I tried to use Herc's structure so it's easier to merge. However when browsing Herc code I found a few bugs that I fixed at the same time: 1. All combos have a hard-coded delay on Aegis, so it won't show up on the Aegis files. By testing I concluded that the canact delay applied is 1000ms - 4*agi - 2*dex whereas the time you can activate a combo is until 1300ms - 4*agi - 2*dex (so effectively you have a 300ms time window to activate them). Even though our old files had different after cast delays specified, my tests on official servers showed that it's same delay for all of them (exactly the same time until I can activate them). The problem is that the current code uses aftercast delay specified in the skill_cast_db and that value was not set for many skills, especially in the renewal database it was missing completely. I solved this by defaulting the aftercast delay of combo skills to 1000ms if not specified otherwise in the skill_cast_db and removing all the delay from the pre-re skill_cast_db. This is still missing on Herc. Also on rAthena there was the bug that skills that automatically activate but do not go via the Autospell code will not set any canact delay so it was possible use MO_CHAINCOMBO right when triple attack activates rather than after it. We have to manually set canact delay in these cases. This probably needs to be fixed on Herc as well but I'm not sure. Needs to be tested. Should be easy to merge, on Herc function is called "skill_delay_fix" instead of "skill_delayfix", otherwise identical. 2. Beast Strafing was already fixed on Hercules Renewal, however it was neglected on Pre-Renewal, see this bug report: http://herc.ws/board/tracker/issue-8417-beast-strafing/ Just need to update pre-re/skill_db.txt to fix it as I posted in the thread already. :-) 3. Taekwon combos were already 75% fixed on Hercules. You implemented a new mode "2" of SC_COMBOATTACK which means "set only attack delay but no move delay". I used a similar solution in my commit. However you forgot to forward that variable for TK_COUNTER: sc_start2(src, src, SC_COMBOATTACK, rate, TK_COUNTER, bl->id,(2000 - 4*sstatus->agi - 2*sstatus->dex));Just replace this code with sc_start4 as I did in my commit. It's a different function, but the code part is 1:1 identical so it should be easy to merge. 4. This is ONLY bugged on Herc: In unit.c, Herc removed SC_COMBOATTACK when moving. However, my tests showed that I could use combo skills even after moving. That means SC_COMBOATTACK should NOT be removed on moving. 5. Herc doesn't have the function skill_combo, but you can find this code part: if (combo) { //Possible to chain if ( (combo = DIFF_TICK32(sd->ud.canact_tick, tick)) < 50 ) combo = 50;/* less is a waste. */ sc_start2(NULL,src,SC_COMBOATTACK,100,skill_id,bl->id,combo); clif->combo_delay(src, combo);}As you can see here, it put minimum delay for combos to 50. But actually a delay below aMotion doesn't make any sense because the client will refuse to send skill requests during aMotion in the first place. The only who benefits from a lower delay is a hacker who can send skill requests manually. 6. Monk Spirit should make the 4 Monk Combo skills CHAINCOMBO, COMBOFINISH, TIGERFIST and CHAINCRUSH cost only 2 SP, regardless of original cost. Also easy to merge, code is pretty much the same just search for the line: req.sp -= req.sp*25/100; //FIXME: Need real data. this is a custom value.Don't forget to remove MO_TRIPLEATTACK from the case list or else you will make it cost 2 SP instead of 0 SP! The rest of my changes were already working on Hercules, no need to merge. :-) B https://github.com/rathena/rathena/commit/37faf6b9f6271b657a9c1168bd2011f5be43b5e7 Strongly recommend to use my solution for Icewall instead of the current "can't cast on same cell again" implementation. Reasons are explained here: http://herc.ws/board/tracker/issue-7058-icewall/ (Btw you can close this one - http://herc.ws/board/tracker/issue-144-firepillar-and-traps/) C https://github.com/rathena/rathena/commit/902c920b734cdaa0a13650528a6075937edfb95c Most of this still needs to be merged. Not sure how easy it is to merge. I recommend at least updating map.c and add the unit_blown_immune function. Those changes are 100% backwards compatible. My Skid Trap fix should also be easily possible to directly merge (make it knock back away from original position of caster when the trap was placed and make the affected unit unable to walk for 3000ms). The rest depends a bit on the existing code structure and might require testing renewal traps, but from a quick look, it looks almost identical to rA, so should be easy to merge I think? D https://github.com/rathena/rathena/commit/b6b6b1366a6d30f38bcc895f9215ddee66c5976a Should be merged, autobonus is also bugged on Herc in exactly the same way. The other half is already merged. :-) E https://github.com/rathena/rathena/commit/0d8a7c0313ebba3ebc11fe65906759fcc40fc41f These are also bugged on Herc, but the code is a bit different. However it's not too hard to fix. Basically level 1-5 have duration 30000 and level 6-10 have duration 2000. We originally solved that on rAthena by making the duration divided by 15 for players in the status change defense code. But later it was changed to use Aegis behavior and just define different duration in skill_cast_db. It is however conflicting with the defense code (divided by 15 TWICE). Also there is some weird status change resistance code there that shouldn't be there: sc_def2 = st->vit*25 + st->agi*10 + SCDEF_LVL_CAP(bl, 99) * 20; // Linear Reduction of RateThat part should be removed. You CAN'T resist buffs. Also note that SC_ARMORCHANGE on rAthena is SC_STONESKIN on Herc. Otherwise it's quite similar. Hope this helps, just ask if you have more questions.
  21. I haven't tested it, but theoretically you just need to increase "splash" in your skill_db file. For example: 428,1,6,4,-1,0x2,1,3,1,yes,0,0,0,weapon,2, SG_SUN_WARM,Warmth of the Sun 429,1,6,4,-1,0x2,1,3,1,yes,0,0,0,weapon,2, SG_MOON_WARM,Warmth of the Moon 430,1,6,4,-1,0x2,1,3,1,yes,0,0,0,weapon,2, SG_STAR_WARM,Warmth of the Stars Change to: 428,1,6,4,-1,0x2,2,3,1,yes,0,0,0,weapon,2, SG_SUN_WARM,Warmth of the Sun 429,1,6,4,-1,0x2,2,3,1,yes,0,0,0,weapon,2, SG_MOON_WARM,Warmth of the Moon 430,1,6,4,-1,0x2,2,3,1,yes,0,0,0,weapon,2, SG_STAR_WARM,Warmth of the Stars
  22. Playtester

    Status Point

    If you disable renewal it will automatically read from the pre-re folders. That's the reason why you get apples. :-)
  23. Playtester

    Status Point

    Ah sorry, too used to rA code. ^^;
  24. Playtester

    Status Point

    For starters, do you want a renewal server at all? If you want pre-renewal, find renewal.h in src/config and change: //quick option to disable all renewal option, used by ./configure//#define PRERETo://quick option to disable all renewal option, used by ./configure#define PREREI think this is actually what you want because you said 2nd job server. Or do you want some renewal mechanics?
  25. Michieru and me have updated Pathfinding recently so the path.c in both versions should now be quite similar, so it should be fairly easy to merge if you just take the current file: https://raw.githubusercontent.com/rathena/rathena/master/src/map/path.c As far as I can see you can just copy the whole function from rAthena except that you need to change map_getcellp to md->getcellp. Alternatively ask Michieru to merge it. =D
×
×
  • Create New...

Important Information

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