|
@@ -1585,11 +1585,18 @@ int skill_additional_effect( struct block_list* src, struct block_list *bl, uint
|
|
|
break;
|
|
|
|
|
|
case BA_FROSTJOKER:
|
|
|
- sc_start(src,bl,SC_FREEZE,(15+5*skill_lv),skill_lv,skill_get_time2(skill_id,skill_lv));
|
|
|
- break;
|
|
|
-
|
|
|
case DC_SCREAM:
|
|
|
- sc_start(src,bl,SC_STUN,(25+5*skill_lv),skill_lv,skill_get_time2(skill_id,skill_lv));
|
|
|
+ {
|
|
|
+ int rate = 150 + 50 * skill_lv; // Aegis accuracy (1000 = 100%)
|
|
|
+ int duration = skill_get_time2(skill_id, skill_lv);
|
|
|
+ if (skill_id == DC_SCREAM) rate += 100; // DC_SCREAM has a 10% higher base chance
|
|
|
+ if (battle_check_target(src, bl, BCT_PARTY) > 0) {
|
|
|
+ // On party members: Chance is divided by 4 and BA_FROSTJOKER duration is fixed to 15000ms
|
|
|
+ rate /= 4;
|
|
|
+ duration = skill_get_time(skill_id, skill_lv);
|
|
|
+ }
|
|
|
+ status_change_start(src, bl, skill_get_sc(skill_id), rate*10, skill_lv, 0, 0, 0, duration, SCSTART_NONE);
|
|
|
+ }
|
|
|
break;
|
|
|
|
|
|
case BD_LULLABY:
|
|
@@ -19938,9 +19945,7 @@ int skill_frostjoke_scream(struct block_list *bl, va_list ap)
|
|
|
return 0;//Frost Joke / Scream cannot target invisible or MADO Gear characters [Ind]
|
|
|
}
|
|
|
//It has been reported that Scream/Joke works the same regardless of woe-setting. [Skotlex]
|
|
|
- if(battle_check_target(src,bl,BCT_ENEMY) > 0)
|
|
|
- skill_additional_effect(src,bl,skill_id,skill_lv,BF_MISC,ATK_DEF,tick);
|
|
|
- else if(battle_check_target(src,bl,BCT_PARTY) > 0 && rnd()%100 < 10)
|
|
|
+ if(battle_check_target(src,bl,BCT_ENEMY|BCT_PARTY) > 0)
|
|
|
skill_additional_effect(src,bl,skill_id,skill_lv,BF_MISC,ATK_DEF,tick);
|
|
|
|
|
|
return 0;
|