Removed useless sd check

This commit is contained in:
Atemo 2024-01-01 16:27:24 +01:00
parent 2aa0335165
commit 0a9e1cd977
4 changed files with 38 additions and 49 deletions

View File

@ -2956,7 +2956,7 @@ static bool is_attack_critical(struct Damage* wd, struct block_list *src, struct
return false;
case SH_CHUL_HO_SONIC_CLAW:
case SH_HOGOGONG_STRIKE:
if (!(sd && pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO)) || !(sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
if (pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO) == 0 || !(sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
return false;
break;
}
@ -5751,46 +5751,40 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
case ABR_INFINITY_BUSTER:// Need official formula.
skillratio += -100 + 50000;
break;
case SH_CHUL_HO_SONIC_CLAW: {
int tmp_val = (sd ? pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY) : 0);
case SH_CHUL_HO_SONIC_CLAW:
skillratio += -100 + 850 + 1650 * skill_lv;
skillratio += 50 * tmp_val;
skillratio += 50 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
skillratio += 5 * sstatus->pow;
if ((sd && pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
if (pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
skillratio += 100 + 400 * skill_lv;
skillratio += 50 * tmp_val;
skillratio += 50 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
}
RE_LVL_DMOD(100);
break;
}
case SH_HOWLING_OF_CHUL_HO: {
int tmp_val = (sd ? pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY) : 0);
case SH_HOWLING_OF_CHUL_HO:
skillratio += -100 + 600 + 1050 * skill_lv;
skillratio += 50 * tmp_val;
skillratio += 50 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
skillratio += 5 * sstatus->pow;
if ((sd && pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
if (pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
skillratio += 100 + 100 * skill_lv;
skillratio += 50 * tmp_val;
skillratio += 50 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
}
RE_LVL_DMOD(100);
break;
}
case SH_HOGOGONG_STRIKE: {
int tmp_val = (sd ? pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY) : 0);
case SH_HOGOGONG_STRIKE:
skillratio += -100 + 180 + 200 * skill_lv;
skillratio += 10 * tmp_val;
skillratio += 10 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
skillratio += 5 * sstatus->pow;
if ((sd && pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
if (pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
skillratio += 70 + 150 * skill_lv;
skillratio += 10 * tmp_val;
skillratio += 10 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
}
RE_LVL_DMOD(100);
break;
}
}
return skillratio;
}
@ -8173,33 +8167,29 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
case NPC_RAINOFMETEOR:
skillratio += 350; // unknown ratio
break;
case SH_HYUN_ROKS_BREEZE: {
int tmp_val = (sd ? pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY) : 0);
case SH_HYUN_ROKS_BREEZE:
skillratio += -100 + 650 + 750 * skill_lv;
skillratio += 20 * tmp_val;
skillratio += 20 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
skillratio += 5 * sstatus->spl;
if ((sd && pc_checkskill(sd, SH_COMMUNE_WITH_HYUN_ROK)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
if (pc_checkskill(sd, SH_COMMUNE_WITH_HYUN_ROK) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
skillratio += 100 + 200 * skill_lv;
skillratio += 20 * tmp_val;
skillratio += 20 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
}
RE_LVL_DMOD(100);
break;
}
case SH_HYUN_ROK_CANNON: {
int tmp_val = (sd ? pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY) : 0);
case SH_HYUN_ROK_CANNON:
skillratio += -100 + 1050 + 1550 * skill_lv;
skillratio += 50 * tmp_val;
skillratio += 50 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
skillratio += 5 * sstatus->spl;
if ((sd && pc_checkskill(sd, SH_COMMUNE_WITH_HYUN_ROK)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
if (pc_checkskill(sd, SH_COMMUNE_WITH_HYUN_ROK) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
skillratio += 300 * skill_lv;
skillratio += 25 * tmp_val;
skillratio += 25 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
}
RE_LVL_DMOD(100);
break;
}
}
if (sc) {// Insignia's increases the damage of offensive magic by a fixed percentage depending on the element.
if ((sc->getSCE(SC_FIRE_INSIGNIA) && sc->getSCE(SC_FIRE_INSIGNIA)->val1 == 3 && s_ele == ELE_FIRE) ||

View File

@ -7145,10 +7145,11 @@ int pc_get_skillcooldown(map_session_data *sd, uint16 skill_id, uint16 skill_lv)
*------------------------------------------*/
uint8 pc_checkskill(map_session_data *sd, uint16 skill_id)
{
uint16 idx = 0;
if (sd == NULL)
if (sd == nullptr)
return 0;
uint16 idx = 0;
#ifdef RENEWAL
if ((idx = skill_get_index(skill_id)) == 0) {
#else

View File

@ -12804,7 +12804,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case SH_HOWLING_OF_CHUL_HO:
i = skill_get_splash(skill_id, skill_lv);
if ((sd && pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
if (pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
i += 1;
skill_area_temp[0] = 0;
skill_area_temp[1] = bl->id;
@ -12814,7 +12814,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
case SH_HOGOGONG_STRIKE:
i = skill_get_splash(skill_id, skill_lv);
if( (sd && pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
if( pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
status_heal(src, 0, 0, 1, 0);
skill_area_temp[0] = 0;
skill_area_temp[1] = bl->id;
@ -12825,12 +12825,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case SH_KI_SUL_WATER_SPRAYING:
if (flag & 1) {
int heal = 500 * skill_lv + status_get_int(src) * 5;
if (sd)
heal += pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY)*100;
if ((sd && pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
{
if (pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
heal += 250 * skill_lv;
if (sd)
heal += pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY) * 50;
}
heal = heal * (100 + status_get_crt(src)) * status_get_lv(src) / 10000;
@ -12839,7 +12837,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
}
else {
i = skill_get_splash(skill_id, skill_lv);
if ((sd && pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
if (pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
i += 2;
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
@ -12850,14 +12848,14 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case SH_SANDY_FESTIVAL_OF_KI_SUL:
if (flag & 1) {
int time = skill_get_time(skill_id, skill_lv);
if ((sd && pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
if (pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
time *= 2;
sc_start(src, bl, type, 100, skill_lv, time);
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
}
else {
i = skill_get_splash(skill_id, skill_lv);
if ((sd && pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
if (pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
i += 2;
map_foreachinrange(skill_area_sub, bl, i, BL_CHAR, src, skill_id, skill_lv, tick, flag | BCT_PARTY | SD_SPLASH | 1, skill_castend_nodamage_id);
@ -12866,7 +12864,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case SH_KI_SUL_RAMPAGE:
if (flag & 1) {
if (!(src == bl)) {
if ((sd && pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
if (pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
status_heal(bl, 0, 0, 4, 0);
else
status_heal(bl, 0, 0, 2, 0);
@ -12880,7 +12878,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
for(i = SC_COLORS_OF_HYUN_ROK_1; i < SC_COLORS_OF_HYUN_ROK_1+6; i++)
status_change_end(src, (sc_type)i);
if (skill_lv < 7) {
if ((sd && pc_checkskill(sd, SH_COMMUNE_WITH_HYUN_ROK)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
if (pc_checkskill(sd, SH_COMMUNE_WITH_HYUN_ROK) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
sc_start(src, bl, type, 100, skill_lv, skill_get_time(skill_id, skill_lv));
sc_start(src, bl, (sc_type)(SC_COLORS_OF_HYUN_ROK_1+skill_lv-1), 100, skill_lv, skill_get_time(skill_id, skill_lv));
}
@ -13281,7 +13279,7 @@ TIMER_FUNC(skill_castend_id){
}
break;
case SH_HYUN_ROK_CANNON:
if (pc_checkskill(sd, SH_COMMUNE_WITH_HYUN_ROK) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
if (pc_checkskill(sd, SH_COMMUNE_WITH_HYUN_ROK) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
add_ap += 1;
break;
}
@ -17914,7 +17912,7 @@ bool skill_check_condition_castbegin(map_session_data* sd, uint16 skill_id, uint
return false;
break;
case SH_TEMPORARY_COMMUNION:
if (sd && !pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO) && !pc_checkskill(sd, SH_COMMUNE_WITH_HYUN_ROK) && !pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL)) {
if (sd && pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO) == 0 && pc_checkskill(sd, SH_COMMUNE_WITH_HYUN_ROK) == 0 && pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL) == 0) {
clif_skill_fail(sd,skill_id,USESKILL_FAIL_CONDITION,0);
return false;
}

View File

@ -14859,7 +14859,7 @@ TIMER_FUNC(status_change_timer){
if (sce->val4-- > 0) {
int i = skill_get_splash(SH_KI_SUL_RAMPAGE, sce->val1);
int lv = sce->val1;
if ((sd && pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
if (pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
i += 2;
lv += skill_get_max(SH_KI_SUL_RAMPAGE);
}