Jump to content

schwierig

Members
  • Content Count

    11
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by schwierig


  1. Look at this line in skill.c

     

    if( rnd() % 100 > skill_lv * 8 || (dstmd && ((dstmd->guardian_data && dstmd->class_ == MOBID_EMPERIUM) || mob_is_battleground(dstmd))) )

     

    There the fail chance is being evaluated, in this case a percent chance of skill_lv*8 and a random. Change it to your needs :)


  2. Simple modification for Priest.

    I am using the Shield Reflect Statuschange from the Crusader and add it as an additional status on the Priest when the SL is cast. Though I can't make it reflect exactly 30% with that method, since it is using this table:

     

    http://ratemyserver.net/index.php?sk_name=Reflect+Shield&page=skill_db&sk_search=Search

     

    I could make a switch for the status effect itself, but I think that's a bit overkill considering on level 7 the difference is only 1%.

     

    In skill.c search for:

    			if (skill_id == SL_SUPERNOVICE && dstsd && dstsd->die_counter && !(rnd()%100))			{	//Erase death count 1% of the casts				dstsd->die_counter = 0;				pc_setglobalreg(dstsd,"PC_DIE_COUNTER", 0);				clif->specialeffect(bl, 0x152, AREA);				//SC_SOULLINK invokes status_calc_pc for us.			}

    and place this after that:

    if (skill_id == SL_PRIEST) {    clif->skill_nodamage(src,bl,skill_id,skill_lv,    sc_start4(bl,SC_REFLECTSHIELD,100,7,skill_id,0,0,skill->get_time(skill_id,skill_lv)));}

     

    I have no idea how the others work. I don't even know if the HP modification is possible. Though I will take a look into the Knight issue. Everything else I can't help you with at this point.


  3. It's not that much of a difference if you got the variables in SQL or in your code. I would even say SQL is way better since you can reuse everything.

     

    Though an official map database would be the best option. I read about this being developed on rA but I have no idea if there is something similiar going on in Hercules.


  4. The very easy ones:

    2.Alchemist - Acid Terror Damage + 100% (I guess you want to double the damage here)

    search (battle.c):

    case AM_ACIDTERROR:    skillratio += 40 * skill_lv;    break;

     

    replace with:

    case AM_ACIDTERROR:    skillratio += 40 * skill_lv;    if (sc && sc->data[SC_SOULLINK] && sc->data[SC_SOULLINK]->val2 == SL_ALCHEMIST)	skillratio *= 2;    break;

     

    5.Crusader - Shield-Chain damage by 200% (I guess you want to tripple the damage?)

    search (battle.c):

    case PA_SHIELDCHAIN:    skillratio += 30 * skill_lv;    break; 

    replace with:

    case PA_SHIELDCHAIN:    skillratio += 30 * skill_lv;    if (sc && sc->data[SC_SOULLINK] && sc->data[SC_SOULLINK]->val2 == SL_CRUSADER)	skillratio *= 3;    break;

     

    8.Rogue - You can use Single Strip through Full Chemical Protection by consumin Glistening Coat(Working only when the target has FCP or Full Chemical Protection), Increase Double Strafe damage by 150%

    - Strip:

    http://rathena.org/board/topic/87197-single-strip-bypass/

    - DS

    Not sure if this works (no time to try)

    search (battle.c):

    case AC_DOUBLE:case MA_DOUBLE:    skillratio += 10 * (skill_lv-1);    break; 

    replace with:

    case AC_DOUBLE:case MA_DOUBLE:    skillratio += 10 * (skill_lv-1);    if (sc && sc->data[SC_SOULLINK] && sc->data[SC_SOULLINK]->val2 == SL_ROGUE)	skillratio *= 1.5;    break;

     

    9.Hunter - It gives 15% Chance of auto casting Falcon Assault when attacking.

    search (skill.c):

    				// Automatic trigger of Blitz Beat				if (pc_isfalcon(sd) && sd->status.weapon == W_BOW && (temp=pc->checkskill(sd,HT_BLITZBEAT))>0 &&					rnd()%1000 <= sstatus->luk*3 ) {					rate = sd->status.job_level / 10 + 1;					skill->castend_damage_id(src,bl,HT_BLITZBEAT,(temp<rate)?temp:rate,tick,SD_LEVEL);				}

    place after that:

    				if(pc_isfalcon(sd) && sd->status.weapon == W_BOW && sc && sc->data[SC_SOULLINK] && sc->data[SC_SOULLINK]->val2 == SL_HUNTER) {					skill->castend_damage_id(src,bl,SN_FALCONASSAULT,temp,tick,0);				}

     

    Looking up the other ones and will edit later I guess.

×
×
  • Create New...

Important Information

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