Jump to content

Shade

Members
  • Posts

    123
  • Joined

  • Last visited

  • Days Won

    7

Community Answers

  1. Shade's post in EDP Modification was marked as the answer   
    If you want to change it for skill damage, go to battle.c look for:
    if( sc->data[SC_EDP] ){ switch(skill_id){ case AS_SPLASHER: // Pre-Renewal only: Soul Breaker and Meteor Assault ignores EDP // Renewal only: Grimtooth and Venom Knife ignore EDP // Both: Venom Splasher ignores EDP [helvetica] #ifndef RENEWAL case ASC_BREAKER: case ASC_METEORASSAULT: #else case AS_GRIMTOOTH: case AS_VENOMKNIFE: #endif break; // skills above have no effect with edp #ifdef RENEWAL // renewal EDP mode requires renewal enabled as well // Renewal EDP: damage gets a half modifier on top of EDP bonus for skills [helvetica] // * Sonic Blow // * Soul Breaker // * Counter Slash // * Cross Impact case AS_SONICBLOW: case ASC_BREAKER: case GC_COUNTERSLASH: case GC_CROSSIMPACT: ATK_RATE(wd.weaponAtk, wd.weaponAtk2, 50); ATK_RATE(wd.equipAtk, wd.equipAtk2, 50); default: // fall through to apply EDP bonuses // Renewal EDP formula [helvetica] // weapon atk * (1 + (edp level * .8)) // equip atk * (1 + (edp level * .6)) ATK_RATE(wd.weaponAtk, wd.weaponAtk2, 100 + (sc->data[SC_EDP]->val1 * 80)); ATK_RATE(wd.equipAtk, wd.equipAtk2, 100 + (sc->data[SC_EDP]->val1 * 60)); break; #else default: ATK_ADDRATE(wd.damage, wd.damage2, sc->data[SC_EDP]->val3); #endif } }   
    change to
    if( sc->data[SC_EDP] ){ switch(skill_id){ case AS_SPLASHER: // Pre-Renewal only: Soul Breaker and Meteor Assault ignores EDP // Renewal only: Grimtooth and Venom Knife ignore EDP // Both: Venom Splasher ignores EDP [helvetica] #ifndef RENEWAL case ASC_BREAKER: case ASC_METEORASSAULT: #else case AS_GRIMTOOTH: case AS_VENOMKNIFE: #endif break; // skills above have no effect with edp #ifdef RENEWAL // renewal EDP mode requires renewal enabled as well // Renewal EDP: damage gets a half modifier on top of EDP bonus for skills [helvetica] // * Sonic Blow // * Soul Breaker // * Counter Slash // * Cross Impact case AS_SONICBLOW: case ASC_BREAKER: case GC_COUNTERSLASH: case GC_CROSSIMPACT: ATK_RATE(wd.weaponAtk, wd.weaponAtk2, 50/2); ATK_RATE(wd.equipAtk, wd.equipAtk2, 50/2); default: // fall through to apply EDP bonuses // Renewal EDP formula [helvetica] // weapon atk * (1 + (edp level * .8)) // equip atk * (1 + (edp level * .6)) ATK_RATE(wd.weaponAtk, wd.weaponAtk2, (100 + (sc->data[SC_EDP]->val1 * 80))/2); ATK_RATE(wd.equipAtk, wd.equipAtk2, (100 + (sc->data[SC_EDP]->val1 * 60))/2); break; #else default: ATK_ADDRATE(wd.damage, wd.damage2, (sc->data[SC_EDP]->val3)/2); #endif } } Re-compile.
     
    ______________________________________________________________________________________
     
     
    If you want to change EDP status in general go to status.c, look for:
    case SC_EDP: val2 = val1 + 2; // Chance to Poison enemies. #ifndef RENEWAL val3 = 50*(val1+1); // Damage increase (+50 +50*lv%) #endif if( sd )// [Ind] - iROwiki says each level increases its duration by 3 seconds tick += pc_checkskill(sd,GC_RESEARCHNEWPOISON)*3000; break;  change to
    case SC_EDP: val2 = val1 + 2; // Chance to Poison enemies. #ifndef RENEWAL val3 = (50*(val1+1))/2; // Damage increase (+50 +50*lv%) #endif if( sd )// [Ind] - iROwiki says each level increases its duration by 3 seconds tick += pc_checkskill(sd,GC_RESEARCHNEWPOISON)*3000; break;  Re-compile.
     
    Let me know if it works.
     
    Cheers,
    Shade
  2. Shade's post in H>A little modification was marked as the answer   
    I didn't read all of the script but I assume all the members will also be in the same map. So why don't you use a script to give items to everyone in that particular map.
     
    Here's a reference that might be useful. http://rathena.org/board/topic/86286-get-map-player-list/
    Instead of giving one random person apple, edit that script to make it give apple to everyone in the map by adding a for-loop like so:
    prontera,150,150,5 script Give Item 100,{ set(.player,getcharid(3)); deletearray(.players[0],128); addrid(1); set(.players[getarraysize(.players)],getcharid(3)); detachrid; attachrid(.player); for(set @i,0; @i < getarraysize(.players); set @i,@i+1) {     getitem(512,1,set(.@a,.players[@i]));     npctalk rid2name(.@a)+" got a Apple!"; } end; } This code is untested.
  3. Shade's post in Status Icon Bugged was marked as the answer   
    SOLVED I've added my own status icon for it and had to make it priority_red in order to overwrite the null_status_icon in order for it to work
×
×
  • Create New...