Implemented SH_HOWLING_OF_CHUL_HO (2nd rebalance)

MAX Lv: 7
Skill Requirement: Mystical Creature Mastery 3, Chulho Sonic Claw 3
Skill Form: Active
Type: Ranged Physical
Target: Instant Casting
Recovery: AP 2
Description: Roars with the power of Chulho, inflicts long ranged physical damage to all targets around the user.
Inflicts [Hogogong effect] to the targets for 12 seconds.
Deals additional damage depends on level of Mystical Creature Mastery user learned, user's base level and POW.
If the user learned Commune With Chulho, increases skill damage.

[Level 1]: (1650 + (Mystical Creature level x 50))% Atk / area of effect: 5 x 5 cells.
Commune With Chulho: (1850 + (Mystical Creature level x 100))% Atk / area of effect: 7 x 7 cells.
[Level 2]: (2700 + (Mystical Creature level x 50))% Atk / area of effect: 5 x 5 cells.
Commune With Chulho: (3000 + (Mystical Creature level x 100))% Atk / area of effect: 7 x 7 cells.
[Level 3]: (3750 + (Mystical Creature level x 50))% Atk / area of effect: 5 x 5 cells.
Commune With Chulho: (4150 + (Mystical Creature level x 100))% Atk / area of effect: 7 x 7 cells.
[Level 4]: (4800 + (Mystical Creature level x 50))% Atk / area of effect: 7 x 7 cells.
Commune With Chulho: (5300 + (Mystical Creature level x 100))% Atk / area of effect: 9 x 9 cells.
[Level 5]: (5850 + (Mystical Creature level x 50))% Atk / area of effect: 7 x 7 cells.
Commune With Chulho: (6450 + (Mystical Creature level x 100))% Atk / area of effect: 9 x 9 cells.
[Level 6]: (6900 + (Mystical Creature level x 50))% Atk / area of effect: 7 x 7 cells.
Commune With Chulho: (7600 + (Mystical Creature level x 100))% Atk / area of effect: 9 x 9 cells.
[Level 7]: (7950 + (Mystical Creature level x 50))% Atk / area of effect: 9 x 9 cells.
Commune With Chulho: (8750 + (Mystical Creature level x 100))% Atk / area of effect: 11 x 11 cells.

1st rebalance :
- Increases SP consumption from 62 to 68.
- Increases damage from 5750%/7250%(Commune With Chulho)Atk to 7950%/8750%(Commune With Chulho)Atk based on level 7.
- Increases factor weight of Mystical Creature skill level in skill formula from 30/50(Commune With Chulho) to 50/100(Commune With Chulho).

2nd rebalance :
- Increases SP consumption from 68 to 72
This commit is contained in:
Atemo 2023-10-28 15:48:42 +02:00
parent 13a8b0a368
commit ef9f422b08
6 changed files with 205 additions and 0 deletions

View File

@ -41442,6 +41442,41 @@ Body:
Amount: 52
- Level: 7
Amount: 54
- Id: 5436
Name: SH_HOWLING_OF_CHUL_HO
Description: Howling of Chulho
MaxLevel: 7
Type: Weapon
TargetType: Self
Range: -9
Hit: Multi_Hit
HitCount: -3
GiveAp: 2
Element: Weapon
DamageFlags:
Splash: true
SplashArea:
- Level: 1
Area: 2
- Level: 2
Area: 2
- Level: 3
Area: 2
- Level: 4
Area: 3
- Level: 5
Area: 3
- Level: 6
Area: 3
- Level: 7
Area: 4
Duration1: 12000
Cooldown: 1000
CastCancel: true
FixedCastTime: 1000
Requires:
SpCost: 72
Status: Hogogong
- Id: 5438
Name: SH_COMMUNE_WITH_KI_SUL
Description: Commune with Chulho

View File

@ -8751,3 +8751,10 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
- Status: Hogogong
Icon: EFST_HOGOGONG
DurationLookup: SH_HOWLING_OF_CHUL_HO
Flags:
Debuff: true
BlEffect: true
DisplayPc: true

View File

@ -5744,6 +5744,19 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
RE_LVL_DMOD(100);
break;
}
case SH_HOWLING_OF_CHUL_HO: {
int tmp_val = (sd ? pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY) : 0);
skillratio += -100 + 600 + 1050 * skill_lv;
skillratio += 50 * tmp_val;
skillratio += 5 * sstatus->pow;
if ((sd && pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
skillratio += 100 + 100 * skill_lv;
skillratio += 50 * tmp_val;
}
RE_LVL_DMOD(100);
break;
}
}
return skillratio;
}

View File

@ -1894,6 +1894,71 @@
export_constant(SC_RUSH_QUAKE2);
export_constant(SC_G_LIFEPOTION);
// Hyper Novice
export_constant(SC_SHIELDCHAINRUSH);
export_constant(SC_MISTYFROST);
export_constant(SC_GROUNDGRAVITY);
export_constant(SC_BREAKINGLIMIT);
export_constant(SC_RULEBREAK);
export_constant(SC_HNNOWEAPON);
// 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);
// Night Watch
export_constant(SC_INTENSIVE_AIM);
export_constant(SC_INTENSIVE_AIM_COUNT);
export_constant(SC_GRENADE_FRAGMENT_1);
export_constant(SC_GRENADE_FRAGMENT_2);
export_constant(SC_GRENADE_FRAGMENT_3);
export_constant(SC_GRENADE_FRAGMENT_4);
export_constant(SC_GRENADE_FRAGMENT_5);
export_constant(SC_GRENADE_FRAGMENT_6);
export_constant(SC_AUTO_FIRING_LAUNCHER);
export_constant(SC_HIDDEN_CARD);
// 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);
export_constant(SC_MARINE_FESTIVAL);
export_constant(SC_SANDY_FESTIVAL);
export_constant(SC_KI_SUL_RAMPAGE);
export_constant(SC_COLORS_OF_HYUN_ROK_1);
export_constant(SC_COLORS_OF_HYUN_ROK_2);
export_constant(SC_COLORS_OF_HYUN_ROK_3);
export_constant(SC_COLORS_OF_HYUN_ROK_4);
export_constant(SC_COLORS_OF_HYUN_ROK_5);
export_constant(SC_COLORS_OF_HYUN_ROK_6);
export_constant(SC_COLORS_OF_HYUN_ROK_BUFF);
export_constant(SC_TEMPORARY_COMMUNION);
export_constant(SC_BLESSING_OF_M_CREATURES);
export_constant(SC_BLESSING_OF_M_C_DEBUFF);
#ifdef RENEWAL
export_constant(SC_EXTREMITYFIST2);
#endif

View File

@ -2202,6 +2202,9 @@ int skill_additional_effect( struct block_list* src, struct block_list *bl, uint
case MT_RUSH_QUAKE:
sc_start( src, bl, SC_RUSH_QUAKE1, 100, skill_lv, skill_get_time( skill_id, skill_lv ) );
break;
case SH_HOWLING_OF_CHUL_HO:
sc_start(src, bl, skill_get_sc(skill_id), 100, skill_lv, skill_get_time(skill_id, skill_lv));
break;
} //end switch skill_id
if (md && battle_config.summons_trigger_autospells && md->master_id && md->special_state.ai && md->special_state.ai != AI_ABR && md->special_state.ai != AI_BIONIC)
@ -5909,6 +5912,11 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
}
break;
case SH_HOWLING_OF_CHUL_HO:
if (flag & 1)
skill_attack(skill_get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, flag);
break;
//Place units around target
case NJ_BAKUENRYU:
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
@ -12792,6 +12800,17 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
}
break;
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)))
i += 1;
skill_area_temp[0] = 0;
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);
break;
default: {
std::shared_ptr<s_skill_db> skill = skill_db.find(skill_id);
ShowWarning("skill_castend_nodamage_id: missing code case for skill %s(%d)\n", skill ? skill->name : "UNKNOWN", skill_id);

View File

@ -1284,6 +1284,72 @@ enum sc_type : int16 {
SC_RUSH_QUAKE2,
SC_G_LIFEPOTION,
// Hyper Novice
SC_SHIELDCHAINRUSH,
SC_MISTYFROST,
SC_GROUNDGRAVITY,
SC_BREAKINGLIMIT,
SC_RULEBREAK,
SC_HNNOWEAPON,
// 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,
// Shinkiro/Shiranui
SC_SHADOW_CLOCK,
SC_SHINKIROU_CALL,
SC_NIGHTMARE,
SC_SBUNSHIN,
// Spirit Handler
SC_HOGOGONG,
SC_MARINE_FESTIVAL,
SC_SANDY_FESTIVAL,
SC_KI_SUL_RAMPAGE,
SC_COLORS_OF_HYUN_ROK_1,
SC_COLORS_OF_HYUN_ROK_2,
SC_COLORS_OF_HYUN_ROK_3,
SC_COLORS_OF_HYUN_ROK_4,
SC_COLORS_OF_HYUN_ROK_5,
SC_COLORS_OF_HYUN_ROK_6,
SC_COLORS_OF_HYUN_ROK_BUFF,
SC_TEMPORARY_COMMUNION,
SC_BLESSING_OF_M_CREATURES,
SC_BLESSING_OF_M_C_DEBUFF,
#ifdef RENEWAL
SC_EXTREMITYFIST2, //! NOTE: This SC should be right before SC_MAX, so it doesn't disturb if RENEWAL is disabled
#endif