Small clean-up
This commit is contained in:
parent
121c2d10f3
commit
5e84cc685d
@ -41769,20 +41769,19 @@ Body:
|
||||
TargetType: Self
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
Duration1: 300000
|
||||
Duration1: 300000
|
||||
CastCancel: true
|
||||
CastTime: 1700
|
||||
FixedCastTime: 1000
|
||||
Requires:
|
||||
SpCost: 90
|
||||
Status: Colors_of_Hyun_Rok_Buff
|
||||
- Id: 5445
|
||||
Name: SH_HYUN_ROKS_BREEZE
|
||||
Description: Hyunrok Breeze
|
||||
MaxLevel: 7
|
||||
Type: Magic
|
||||
TargetType: Ground
|
||||
Hit: Multi_Hit
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
Range: 9
|
||||
GiveAp: 4
|
||||
@ -41810,7 +41809,6 @@ Body:
|
||||
Amount: 94
|
||||
Unit:
|
||||
Id: HYUN_ROKS_BREEZE
|
||||
Layout: 0
|
||||
Range:
|
||||
- Level: 1
|
||||
Size: 2
|
||||
@ -41839,9 +41837,8 @@ Body:
|
||||
TargetType: Attack
|
||||
Range: -11
|
||||
GiveAp: 1
|
||||
Hit: Multi_Hit
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
Element: Endowed
|
||||
CastCancel: true
|
||||
CastTime: 2000
|
||||
Cooldown: 300
|
||||
|
@ -9051,6 +9051,3 @@ Body:
|
||||
- Status: Blessing_of_M_C_Debuff
|
||||
Icon: EFST_BLESSING_OF_M_C_DEBUFF
|
||||
DurationLookup: SH_BLESSING_OF_MYSTICAL_CREATURES
|
||||
CalcFlags:
|
||||
Patk: true
|
||||
Smatk: true
|
||||
|
@ -3038,8 +3038,7 @@ static bool is_attack_critical(struct Damage* wd, struct block_list *src, struct
|
||||
}
|
||||
break;
|
||||
case SH_CHUL_HO_SONIC_CLAW:
|
||||
case SH_HOGOGONG_STRIKE:
|
||||
if (pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO) == 0 || !(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;
|
||||
}
|
||||
|
@ -1912,35 +1912,6 @@
|
||||
export_constant(SC_HIDDEN_CARD);
|
||||
export_constant(SC_PERIOD_RECEIVEITEM_2ND);
|
||||
export_constant(SC_PERIOD_PLUSEXP_2ND);
|
||||
|
||||
// Sky Emperor
|
||||
export_constant(SC_RISING_SUN);
|
||||
export_constant(SC_NOON_SUN);
|
||||
export_constant(SC_SUNSET_SUN);
|
||||
export_constant(SC_RISING_MOON);
|
||||
export_constant(SC_MIDNIGHT_MOON);
|
||||
export_constant(SC_DAWN_MOON);
|
||||
export_constant(SC_STAR_BURST);
|
||||
export_constant(SC_SKY_ENCHANT);
|
||||
|
||||
// Soul Ascetic
|
||||
export_constant(SC_TALISMAN_OF_PROTECTION);
|
||||
export_constant(SC_TALISMAN_OF_WARRIOR);
|
||||
export_constant(SC_TALISMAN_OF_MAGICIAN);
|
||||
export_constant(SC_TALISMAN_OF_FIVE_ELEMENTS);
|
||||
export_constant(SC_TOTEM_OF_TUTELARY);
|
||||
export_constant(SC_T_FIRST_GOD);
|
||||
export_constant(SC_T_SECOND_GOD);
|
||||
export_constant(SC_T_THIRD_GOD);
|
||||
export_constant(SC_T_FOURTH_GOD);
|
||||
export_constant(SC_T_FIFTH_GOD);
|
||||
export_constant(SC_HEAVEN_AND_EARTH);
|
||||
|
||||
// Shinkiro/Shiranui
|
||||
export_constant(SC_SHADOW_CLOCK);
|
||||
export_constant(SC_SHINKIROU_CALL);
|
||||
export_constant(SC_NIGHTMARE);
|
||||
export_constant(SC_SBUNSHIN);
|
||||
|
||||
// Spirit Handler
|
||||
export_constant(SC_HOGOGONG);
|
||||
@ -11062,7 +11033,6 @@
|
||||
export_constant(UNT_JACK_FROST_NOVA);
|
||||
export_constant(UNT_GROUND_GRAVITATION);
|
||||
export_constant(UNT_KUNAIWAIKYOKU);
|
||||
|
||||
export_constant(UNT_GD_LEADERSHIP);
|
||||
export_constant(UNT_GD_GLORYWOUNDS);
|
||||
export_constant(UNT_GD_SOULCOLD);
|
||||
|
@ -6191,7 +6191,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
||||
case TR_SOUNDBLEND:
|
||||
case SH_HYUN_ROK_CANNON:
|
||||
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
|
||||
skill_attack(BF_MAGIC, src, src, bl, skill_id, skill_lv, tick, flag);
|
||||
skill_attack(skill_get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, flag);
|
||||
break;
|
||||
|
||||
case AG_DEADLY_PROJECTION:
|
||||
@ -13015,8 +13015,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
skill_area_temp[1] = bl->id;
|
||||
skill_area_temp[2] = 0;
|
||||
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
|
||||
map_foreachinrange(skill_area_sub, bl, i, BL_CHAR, src, skill_id, skill_lv, tick, flag | BCT_ENEMY | SD_SPLASH | 1, skill_castend_damage_id);
|
||||
map_foreachinrange(skill_area_sub, bl, i, BL_CHAR, src, skill_id, skill_lv, tick, flag | BCT_ENEMY | 1, skill_castend_damage_id);
|
||||
break;
|
||||
|
||||
case SH_HOGOGONG_STRIKE:
|
||||
i = skill_get_splash(skill_id, skill_lv);
|
||||
if( pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
|
||||
@ -13025,12 +13026,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
skill_area_temp[1] = bl->id;
|
||||
skill_area_temp[2] = 0;
|
||||
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
|
||||
map_foreachinrange(skill_area_sub, bl, i, BL_CHAR, src, skill_id, skill_lv, tick, flag | BCT_ENEMY | SD_SPLASH | 1, skill_castend_damage_id);
|
||||
map_foreachinrange(skill_area_sub, bl, i, BL_CHAR, src, skill_id, skill_lv, tick, flag | BCT_ENEMY | 1, skill_castend_damage_id);
|
||||
break;
|
||||
|
||||
case SH_KI_SUL_WATER_SPRAYING:
|
||||
if (flag & 1) {
|
||||
if (sd == nullptr || sd->status.party_id == 0 || (flag & 1)) {
|
||||
int heal = 500 * skill_lv + status_get_int(src) * 5;
|
||||
heal += pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY)*100;
|
||||
heal += pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY) * 100;
|
||||
|
||||
if (pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
|
||||
heal += 250 * skill_lv;
|
||||
@ -13038,37 +13040,35 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
}
|
||||
heal = heal * (100 + status_get_crt(src)) * status_get_lv(src) / 10000;
|
||||
status_heal(bl, heal, 0, 0, 0);
|
||||
clif_skill_nodamage(0, bl, AL_HEAL, heal, 1);
|
||||
clif_skill_nodamage(src, bl, skill_id, heal, 1);
|
||||
}
|
||||
else {
|
||||
else if (sd != nullptr) {
|
||||
i = skill_get_splash(skill_id, skill_lv);
|
||||
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);
|
||||
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);
|
||||
party_foreachsamemap(skill_area_sub, sd, i, src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill_castend_nodamage_id);
|
||||
}
|
||||
break;
|
||||
|
||||
case SH_MARINE_FESTIVAL_OF_KI_SUL:
|
||||
case SH_SANDY_FESTIVAL_OF_KI_SUL:
|
||||
if (flag & 1) {
|
||||
if (sd == nullptr || sd->status.party_id == 0 || (flag & 1)) {
|
||||
int time = skill_get_time(skill_id, skill_lv);
|
||||
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);
|
||||
clif_skill_nodamage(src, bl, skill_id, skill_lv, sc_start(src, bl, type, 100, skill_lv, time));
|
||||
}
|
||||
else {
|
||||
else if (sd != nullptr) {
|
||||
i = skill_get_splash(skill_id, skill_lv);
|
||||
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);
|
||||
party_foreachsamemap(skill_area_sub, sd, i, src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill_castend_nodamage_id);
|
||||
}
|
||||
break;
|
||||
|
||||
case SH_KI_SUL_RAMPAGE:
|
||||
if (flag & 1) {
|
||||
if (!(src == bl)) {
|
||||
if (src != bl) {
|
||||
if (pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
|
||||
status_heal(bl, 0, 0, 4, 0);
|
||||
else
|
||||
@ -13076,23 +13076,56 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
}
|
||||
}
|
||||
else {
|
||||
// TODO: no party check ?
|
||||
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
|
||||
sc_start(src, bl, type, 100, skill_lv, skill_get_time(skill_id, skill_lv));
|
||||
}
|
||||
break;
|
||||
|
||||
case SH_COLORS_OF_HYUN_ROK:
|
||||
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 (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));
|
||||
if (skill_lv == 7) {
|
||||
status_change_end(src, SC_COLORS_OF_HYUN_ROK_1);
|
||||
status_change_end(src, SC_COLORS_OF_HYUN_ROK_2);
|
||||
status_change_end(src, SC_COLORS_OF_HYUN_ROK_3);
|
||||
status_change_end(src, SC_COLORS_OF_HYUN_ROK_4);
|
||||
status_change_end(src, SC_COLORS_OF_HYUN_ROK_5);
|
||||
status_change_end(src, SC_COLORS_OF_HYUN_ROK_6);
|
||||
|
||||
clif_skill_nodamage(src, src, skill_id, skill_lv, 1);
|
||||
}
|
||||
else {
|
||||
// Buff to increase Catnip Meteor damage
|
||||
if (pc_checkskill(sd, SH_COMMUNE_WITH_HYUN_ROK) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
|
||||
sc_start(src, bl, SC_COLORS_OF_HYUN_ROK_BUFF, 100, 1, skill_get_time(skill_id, skill_lv));
|
||||
|
||||
// Endows elemental property to Catnip Meteor, Hyunrok Breeze and Hyunrok Cannon skills
|
||||
switch (skill_lv) {
|
||||
case 1:
|
||||
type = SC_COLORS_OF_HYUN_ROK_1;
|
||||
break;
|
||||
case 2:
|
||||
type = SC_COLORS_OF_HYUN_ROK_2;
|
||||
break;
|
||||
case 3:
|
||||
type = SC_COLORS_OF_HYUN_ROK_3;
|
||||
break;
|
||||
case 4:
|
||||
type = SC_COLORS_OF_HYUN_ROK_4;
|
||||
break;
|
||||
case 5:
|
||||
type = SC_COLORS_OF_HYUN_ROK_5;
|
||||
break;
|
||||
case 6:
|
||||
type = SC_COLORS_OF_HYUN_ROK_6;
|
||||
break;
|
||||
}
|
||||
clif_skill_nodamage(src, src, skill_id, skill_lv, sc_start(src, bl, type, 100, skill_lv, skill_get_time(skill_id,skill_lv)) );
|
||||
}
|
||||
clif_skill_nodamage(src, src, skill_id, skill_lv, 1);
|
||||
break;
|
||||
|
||||
case SH_BLESSING_OF_MYSTICAL_CREATURES:
|
||||
status_heal(bl, 0, 0, 200-status_get_ap(bl), 0);
|
||||
sc_start(src, bl, type, 100, skill_lv, skill_get_time(skill_id, skill_lv));
|
||||
clif_skill_nodamage(src, src, skill_id, skill_lv, 1);
|
||||
clif_skill_nodamage(src, src, skill_id, skill_lv, sc_start(src, bl, type, 100, skill_lv, skill_get_time(skill_id, skill_lv)));
|
||||
break;
|
||||
|
||||
default: {
|
||||
|
@ -4427,8 +4427,8 @@ int status_calc_pc_sub(map_session_data* sd, uint8 opt)
|
||||
}
|
||||
|
||||
if ((skill = pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY)) > 0) {
|
||||
base_status->smatk += 1 + (skill - 1) * 15 / 10 + ((skill - 1) * 15 % 10 ? 1 : 0);
|
||||
base_status->patk += 1 + (skill - 1) * 15 / 10 + ((skill - 1) * 15 % 10 ? 1 : 0);
|
||||
base_status->smatk += skill * 15 / 10;
|
||||
base_status->patk += skill * 15 / 10;
|
||||
}
|
||||
|
||||
// ----- PHYSICAL RESISTANCE CALCULATION -----
|
||||
@ -12814,8 +12814,8 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
val2 = 2 * val1;
|
||||
break;
|
||||
case SC_KI_SUL_RAMPAGE:
|
||||
val4 = tick / 1000;
|
||||
tick_time = 100;
|
||||
tick_time = 1000;
|
||||
val4 = tick / tick_time;
|
||||
break;
|
||||
case SC_BLESSING_OF_M_CREATURES:
|
||||
val2 = val1 * 10;
|
||||
@ -14978,7 +14978,7 @@ TIMER_FUNC(status_change_timer){
|
||||
sc_timer_next(500 + tick);
|
||||
return 0;
|
||||
case SC_KI_SUL_RAMPAGE:
|
||||
if (sce->val4-- > 0) {
|
||||
if (--(sce->val4) >= 0) {
|
||||
int i = skill_get_splash(SH_KI_SUL_RAMPAGE, sce->val1);
|
||||
int lv = sce->val1;
|
||||
if (pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
|
||||
@ -14986,7 +14986,7 @@ TIMER_FUNC(status_change_timer){
|
||||
lv += skill_get_max(SH_KI_SUL_RAMPAGE);
|
||||
}
|
||||
clif_skill_nodamage(bl, bl, SH_KI_SUL_RAMPAGE, lv, 1);
|
||||
map_foreachinrange(skill_area_sub, bl, i, BL_CHAR, bl, SH_KI_SUL_RAMPAGE, lv, tick, BCT_PARTY | SD_SPLASH | 1, skill_castend_nodamage_id);
|
||||
map_foreachinrange(skill_area_sub, bl, i, BL_CHAR, bl, SH_KI_SUL_RAMPAGE, lv, tick, BCT_PARTY | 1, skill_castend_nodamage_id);
|
||||
sc_timer_next(1000 + tick);
|
||||
return 0;
|
||||
}
|
||||
|
@ -1292,41 +1292,7 @@ enum sc_type : int16 {
|
||||
SC_GROUNDGRAVITY,
|
||||
SC_BREAKINGLIMIT,
|
||||
SC_RULEBREAK,
|
||||
|
||||
// Sky Emperor
|
||||
SC_RISING_SUN,
|
||||
SC_NOON_SUN,
|
||||
SC_SUNSET_SUN,
|
||||
SC_RISING_MOON,
|
||||
SC_MIDNIGHT_MOON,
|
||||
SC_DAWN_MOON,
|
||||
SC_STAR_BURST,
|
||||
SC_SKY_ENCHANT,
|
||||
|
||||
// Soul Ascetic
|
||||
SC_TALISMAN_OF_PROTECTION,
|
||||
SC_TALISMAN_OF_WARRIOR,
|
||||
SC_TALISMAN_OF_MAGICIAN,
|
||||
SC_TALISMAN_OF_FIVE_ELEMENTS,
|
||||
SC_T_FIRST_GOD,
|
||||
SC_T_SECOND_GOD,
|
||||
SC_T_THIRD_GOD,
|
||||
SC_T_FOURTH_GOD,
|
||||
SC_T_FIFTH_GOD,
|
||||
SC_HEAVEN_AND_EARTH,
|
||||
SC_TOTEM_OF_TUTELARY,
|
||||
|
||||
// Night Watch
|
||||
SC_INTENSIVE_AIM,
|
||||
SC_INTENSIVE_AIM_COUNT,
|
||||
SC_GRENADE_FRAGMENT_1,
|
||||
SC_GRENADE_FRAGMENT_2,
|
||||
SC_GRENADE_FRAGMENT_3,
|
||||
SC_GRENADE_FRAGMENT_4,
|
||||
SC_GRENADE_FRAGMENT_5,
|
||||
SC_GRENADE_FRAGMENT_6,
|
||||
SC_AUTO_FIRING_LAUNCHER,
|
||||
SC_HIDDEN_CARD,
|
||||
|
||||
SC_PERIOD_RECEIVEITEM_2ND,
|
||||
SC_PERIOD_PLUSEXP_2ND,
|
||||
|
||||
@ -1335,12 +1301,6 @@ enum sc_type : int16 {
|
||||
SC_AGIUP,
|
||||
SC_PROTECTION,
|
||||
|
||||
// Shinkiro/Shiranui
|
||||
SC_SHADOW_CLOCK,
|
||||
SC_SHINKIROU_CALL,
|
||||
SC_NIGHTMARE,
|
||||
SC_SBUNSHIN,
|
||||
|
||||
// Spirit Handler
|
||||
SC_HOGOGONG,
|
||||
SC_MARINE_FESTIVAL,
|
||||
|
Loading…
x
Reference in New Issue
Block a user