Jump to content

Playtester

Developer
  • Posts

    905
  • Joined

  • Last visited

  • Days Won

    26

Everything posted by Playtester

  1. bonus2 bAddEle,Ele_Ghost,x; Increases damage on Ghost element by x%. Could add that to Ice Pick script. There's no bonus for "Less damage when being attacked by a specific weapon" yet, though.
  2. Well the main problem I see is that if you just take the renewal database you will have all monster stats completely different to what pre-renewal had. Even if you somehow converted the stats. So the first question is, do your players really want that? All monster stats changed from what they are used to? Like Desert Wolf becoming one of the hardest monsters in the game? Renewal stats go also along with a lot of spawn changes so it wouldn't make much sense to use renewal monsters stats without the renewal spawns too. You wouldn't need to do them one-by-one though. Learn to use a spreadsheet program, then you could write a formula and apply it to all lines. Or as you said change the code so you do the calculation when reading in the database files. But first you probably want to clear up if you really want to use (converted) renewal stats on all monsters. Edit: The next problem would be the drops, they drop renewal items what should happen with those? Some drop rates are also too extrem in pre-renewal like Banaspaty dropping Elunium to 15% on 1x rates. That would totally ruin the pre-re economy. It's better to think about each monster individually.
  3. You have to write your own mob entries for new mobs instead of using the re file. See my reply here:
  4. McDonalds
  5. That's because in renewal VIT has no effect on piercing damage. In re piercing damage is basically just ignoring DEF. Not a bug.
  6. Yes, you can't just use the renewal monster stats with pre-renewal. Instead use pre-renewal mob_db and then slowly copy over the monsters that are only in the re file and give them appropriate stats for pre-renewal. That includes reducing their DEF (you can use the attached converter to find out a comparable pre-renewal DEF value), reducing the level (reduce by ~30), increasing the ATK and increasing the Base Exp and Job Exp (base more than job). prerenewal.zip
  7. How much DEF does the status window show for the target with both armors? -50 DEF wouldn't have much of an effect if your DEF is already 0 anyway and you have 300 VIT.
  8. 99% sure you are using the renewal database on a pre-renewal compile.
  9. If it was a problem with the vit, then the damage should also be low without ghostring armor. I tested myself right now and it works fine. Normal damage - 200 Vs. Ghostring - 50 Vs. Ghostring with Fire Elemental Converter - 200 (In pre-renewal.) Are you testing in renewal or pre-renewal?
  10. Used elemental converter?
  11. Isn't Cart Termination forced neutral? Try it with normal attacks.
  12. Um, not sure what you want but you can check for skill_id in both functions if you want specific handling for a skill.
  13. It's not a knockback, the server just send you the correct coordinates so there is no position lag. If you rather want position lag you have to stop the client from sending fixpos packets when using a skill. This can be done by calling "unit_stop_walking" without the "1" bitset. For example here (unit.c): if(!ud->state.running) // Need TK_RUN or WUGDASH handler to be done before that, see bugreport:6026 unit_stop_walking(src, 1); // Even though this is not how official works but this will do the trick. bugreport:6829 And here: } unit_stop_walking(src,1); // SC_MAGICPOWER needs to switch states at start of cast skill_toggle_magicpower(src, skill_id); Change the "1" to "0". Might already have the effect you are looking for.
  14. Right now there is no bonus to only reduce physical damage from a race. If a server had that they must have solved that by changing the source code. I've never seen a server like that, though. If you want that too you'd need to learn how to code yourself. Or ask those servers for a diff. https://raw.githubusercontent.com/rathena/rathena/master/src/map/battle.c The function you are looking for is: int battle_calc_cardfix(int attack_type, struct block_list *src, struct block_list *target, int nk, int rh_ele, int lh_ele, int64 damage, int left, int flag){
  15. 0x42 + 0x08 = 0x4A
  16. Racial reductions always worked for magical damage too. Some skills ignore it, though.
  17. // 0x08 - Skill ignores caster's % damage cards (misc type always ignores) And this mode doesn't work?
  18. //Job - Pre-renewal 255 Levels 120,4054:4055:4056:4057:4058 So you changed this line to actually include the correct IDs? Like 4008 for Lord Knight? And Lord Knight max level is still 70? Also if you don't care for exact HP/SP values, you might want to just not use the job_basehpsp file. /// Uncomment to enable the job base HP/SP table (job_basehpsp_db.txt) #define HP_SP_TABLES Comment this for now to have one worry less.
  19. Can't you just define that in skill_db? // 0x08 - Skill ignores caster's % damage cards (misc type always ignores) // 0x10 - Skill ignores elemental adjustments // 0x20 - Skill ignores target's defense (misc type always ignores) // 0x40 - Skill ignores target's flee (magic type always ignores) // 0x80 - Skill ignores target's def cards
  20. Desperado doesn't do multi-hits, it does many single hits. You can't add those up. It works on official servers like that too.
  21. First of all, that file specifies base and job exp twice once for renewal and once for pre-renewal... decide for one. Second, several job IDs are missing in the job exp specification. If you want all to use the same exp table make sure you also list all job IDs (I think the third line might the only one that already has all). Then again, it's a bad idea to allow Novice Job Level above 10 because then you will have skill points an nothing to spent them on, so you can never job change. I recommend keeping job exp and max job level for classes as official and only increase it to 120 for end classes. If you really release the import folder rather than changing the normal job_exp.txt in /db/ then you shouldn't have some of these issues, so that you report it not working would indicate to me that you aren't working with the import folder.
  22. Fully official Aegis spawns you can get here: http://forum.asb-sakray.net/index.php?showtopic=37666 You will need to convert them to rAthena format, though.
  23. Does the "monsterinfo" atcommand also show the adjusted job exp? Or does it show job exp at 1x rate? Other than that, you can probably easily figure it out by debugging. The code you are looking for is in mob.c function "mob_dead". else { double exp = apply_rate2(md->db->job_exp, per, 1); exp = apply_rate(exp, bonus); exp = apply_rate(exp, map[m].adjust.jexp); job_exp = (unsigned int)cap_value(exp, 1, UINT_MAX); } e.g. check what "mb->db->job_exp", "per", "bonus" and "map[m].adjust.jexp" contains here.
  24. If you want to debug, I think the relevant code you are looking for is in skill.c: skill_check_condition_castbegin if( require.weapon && !pc_check_weapontype(sd,require.weapon) ) { clif_skill_fail(sd,skill_id,USESKILL_FAIL_THIS_WEAPON,0); return false; }
  25. Hmm yeah if you look at the function the error points to: if (type2 < SC_COMMON_MIN || type2 > SC_COMMON_MAX) { ShowError("pc_bonus2: SP_RESEFF: %d is invalid effect.\n", type2); break; } It only works for status changes that are considered a common status change. The IDs are defined in status.h. You'll need to rewrite the status change into a common status change.
×
×
  • Create New...