Fixed Poison/Blind/Silence effects and Zeny penalty for Masquerade Unlucky - http://rathena.org/board/tracker/issue-8098-masquerade-unlucky/

Fixed and modified SP absorb from mobs and players for Masquerade Ignorance - http://rathena.org/board/tracker/issue-8099-masquerade-ignorance/
This commit is contained in:
Akinari1087 2013-10-16 03:19:12 -07:00
parent aab4f719a8
commit 3387b6a441
2 changed files with 17 additions and 4 deletions

View File

@ -8596,9 +8596,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
- status_get_lv(bl)/10 - tstatus->luk/10 - (dstsd?(dstsd->max_weight-dstsd->weight)/10000:0) - rnd_value(tstatus->agi/6,tstatus->agi/3);
rate = cap_value(rate, skill_lv+sstatus->dex/20, 100);
if (clif_skill_nodamage(src,bl,skill_id,0,sc_start(src,bl,type,rate,skill_lv,skill_get_time(skill_id,skill_lv)))) {
int sp = 200 * skill_lv;
int sp = 100 * skill_lv;
if( dstmd ) sp = dstmd->level * 2;
if( status_zap(bl,0,sp) )
if( !dstmd && status_zap(bl,0,sp) )
status_heal(src,0,sp/2,3);
}
else if( sd ) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
@ -14125,8 +14125,12 @@ struct skill_condition skill_get_requirement(struct map_session_data* sd, uint16
req.zeny = skill_db[idx].require.zeny[skill_lv-1];
if( sc && sc->data[SC__UNLUCKY] )
req.zeny += sc->data[SC__UNLUCKY]->val1 * 500;
if( sc && sc->data[SC__UNLUCKY] ) {
if(sc->data[SC__UNLUCKY]->val1 < 3)
req.zeny += sc->data[SC__UNLUCKY]->val1 * 250;
else
req.zeny += 1000;
}
req.spiritball = skill_db[idx].require.spiritball[skill_lv-1];
req.state = skill_db[idx].require.state;

View File

@ -8473,9 +8473,18 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
val_flag |= 1|2|4;
break;
case SC__UNLUCKY:
{
short rand_eff;
switch(rand() % 3) {
case 1: rand_eff = SC_BLIND; break;
case 2: rand_eff = SC_SILENCE; break;
default: rand_eff = SC_POISON; break;
}
val2 = 10 * val1; // Crit and Flee2 Reduction
val_flag |= 1|2|4;
status_change_start(src,bl,rand_eff,10000,val1,0,0,0,tick,10);
break;
}
case SC__WEAKNESS:
val2 = 10 * val1;
val_flag |= 1|2;