Jump to content

Playtester

Developer
  • Posts

    905
  • Joined

  • Last visited

  • Days Won

    26

Posts posted by Playtester

  1. A bit late, but the code you are looking for is in skill.c

    	case ASC_METEORASSAULT:
    		//Any enemies hit by this skill will receive Stun, Darkness, or external bleeding status ailment with a 5%+5*skill_lv% chance.
    		switch(rnd()%3) {
    			case 0:
    				sc_start(src,bl,SC_BLIND,(5+skill_lv*5),skill_lv,skill_get_time2(skill_id,1));
    				break;
    			case 1:
    				sc_start(src,bl,SC_STUN,(5+skill_lv*5),skill_lv,skill_get_time2(skill_id,2));
    				break;
    			default:
    				sc_start2(src,bl,SC_BLEEDING,(5+skill_lv*5),skill_lv,src->id,skill_get_time2(skill_id,3));
    		}
    		break;

    If you change SC_STUN in general, it affects all skills, not only Meteor Assault.

    You will need to replace sc_start with a status_change_start call with the corresponding parameters. With the "flag" parameter you can define that chance / duration cannot be reduced.

     * @param flag: Value which determines what parts to calculate. See e_status_change_start_flags
    
  2. Make sure you modify it in the /re/ folder rather than the /pre-re/ folder.

    It should work for sure. If it doesn't for you, there must be an error in your modification. Make sure the class matches and the weapon type matches.

  3. I always start a second client to fix it in the first client then close the second client. But your solution seems even easier than this. It actually seems that taken over admin rights is what fixes it. You usually take over admin rights when starting RO but for some reason that isn't sufficient for it. You need to get admin rights while the client is already running.

  4. This must be caused by some customization. You first need to find out which status change reduces LUK. Because in that screenshot above you applied at least two (Agi Up and Blessing). Try to apply them one-by-one to find the one that reduces LUK. After you found that out, you can check for it in status.c to see if there's anything that would make the status change reduce LUK.

    If only the NPC reduces LUK but the buffs normally don't you also should post the NPC script part, because the error might be there (might add another SC that's invisible and reduces LUK).

  5. Nah, Bowling Bash works in a way that it hits twice (hard-coded) because it works with collision code. If it only hits once it's either not default rAthena (which it actually isn't) or you are standing on the gutter line on which Bowling Bash doesn't hit twice.

    Also note, that even if BB hits twice, you won't see it. The two damage numbers usually overlap.

  6. There's a global setting for the amount in monster.conf as well, no need to change it in all spawn files.

    // Rate of monsters on a map, 200 would be twice as many as normal. (Note 2)
    mob_count_rate: 100

     

  7. Yes, that file contains all the delays. Keep in mind that +5 ASPD is equal to -50 delay. So if you change 700 to 650, that would be +5 ASPD. This is just the base ASPD though. If you have a buff that halves your delay, the bonus will also be halved. (130->165 would change to 135->167.5).

    • MVP 1
  8. There's no reason to use old eAthena sources. rAthena has all the stuff that eAthena had plus a tons of bug fixes that are all relevant for pre-renewal.

    And it's super easy to setup rAthena for pre-renewal, you just need to uncomment a single line in renewal.h.

    //quick option to disable all renewal option, used by ./configure
    //#define PRERE

    Other than that you only need to setup IPs and packet versions (which you had to do on eAthena too) and then just compile and go.

    Editing GRFs is independent on what emulator you use, but you might have to change the NPC positions and warp coordinates when you change the maps.

     

    Edit: Also check this thread:

     

  9. Don't know how it is on official servers, but right now, Magnum breaks affects all weapon skills that don't have:

    //    0x10 - Skill ignores elemental adjustments
    

    And Dragon Breath doesn't have it:

    2008,9,6,2,3,0x42,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0x40000,0,weapon,0,0x0,	RK_DRAGONBREATH,Dragon Breath
    

    If you want to change that you can easily change the 0x42 to 0x52.

    • Upvote 1
  10. Yep, skill_cast_db:

    //===== Guild Skills =======================
    //-- GD_LEADERSHIP
    10006,0,0,0,300000,0,0,-1
    //-- GD_GLORYWOUNDS
    10007,0,0,0,300000,0,0,-1
    //-- GD_SOULCOLD
    10008,0,0,0,300000,0,0,-1
    //-- GD_HAWKEYES
    10009,0,0,0,300000,0,0,-1
    //-- GD_BATTLEORDER
    10010,0,0,0,180000,300000,0,-1
    //-- GD_REGENERATION
    10011,0,0,0,60000,300000,0,-1
    //-- GD_RESTORE
    10012,0,0,0,0,300000,0,10000
    //-- GD_EMERGENCYCALL
    10013,0,0,0,0,300000,0,5000
    //-- GD_ITEMEMERGENCYCALL
    10015,0,0,0,0,300000,0,5000
    //==========================================

     

  11. Actually buy price should be set to 2z so that the sell price is 1z.

    If you are using text files, you can easily edit them with a spreadsheet editor (Excel or Open Office). If you are using a database, you can pretty much change all with a simple SQL command.

  12. Go to skill.c and find:

    	case BA_POEMBRAGI:
    		val1 = 3 * skill_lv + status->dex / 10; // Casting time reduction
    		//For some reason at level 10 the base delay reduction is 50%.
    		val2 = (skill_lv < 10 ? 3 * skill_lv : 50) + status->int_ / 5; // After-cast delay reduction
    		if (sd) {
    			val1 += pc_checkskill(sd, BA_MUSICALLESSON);
    			val2 += 2 * pc_checkskill(sd, BA_MUSICALLESSON);
    		}
    		break;

    Then put whatever formula you want.

    The comments already tell you what val1 and val2 means.

  13. There's no mob_db.conf in rAthena. If you are using Hercules, you better ask at herc.ws.

    Generally, you can't make monsters chase you for that far, because calculating the walkpath at that length has a too high complexity which the client won't handle. You'll have to rewrite a lot of the movement code to somehow emulate longer chase paths (turning them into many shorter paths with waypoints).

    Some things you can do that could help you server-side are disabling OFFICIAL_WALKPATH (that limits complex walkpaths to 14 cells) and raising range3 in mob_db. Not sure how the client will behave here, though.

  14. "ifndef" stands for "if NOT defined", so that actually means this code part is for pre-renewal only. Otherwise I wouldn't have quoted it. :-)

    200 = 20%

    val1 is the skil level

     

    Theoretically you could check for weapon type equipped and set val2 to a different value depending on that, but it will probably cause the issue that someone could equip a two-handed spear, then cast the skill and then equip a one-handed spear to still get a larger boost. Anything beyond that might be a bit more work to code so I can't do it for you with my limited time.

  15. You can define the boost of SPEARQUICKEN in status.c for pre-renewal:

    #ifndef RENEWAL_ASPD
    		case SC_SPEARQUICKEN:
    			val2 = 200+10*val1;
    			break;
    #endif

    There's no easy way to make it work differently depending on weapon type, though.

×
×
  • Create New...