Implemented SH_BLESSING_OF_MYSTICAL_CREATURES (2nd rebalance)
MAX Lv: 5 Skill Requirement: Mystical Creature Mastery 10, Commune with Kisul 1 Skill Form: Active(AP) Type: Secondary Target: Single target Consumes: AP 100 Description: Gives the Blessing of Mystical Creatures to 1 party member, excluding doram and self, recovers the target's AP to 200 and increases P.Atk, S.Matk for 10 seconds. When the skill duration ends, target's AP becomes 0. The target can't receive Blessing of Mystical Creatures again for 1 minute. _ [Level 1]: P.Atk, S.Matk +10 [Level 2]: P.Atk, S.Matk +20 [Level 3]: P.Atk, S.Matk +30 [Level 4]: P.Atk, S.Matk +40 [Level 5]: P.Atk, S.Matk +50 1st rebalance : (nothing) 2nd rebalance : (nothing)
This commit is contained in:
parent
b09a53cfe1
commit
3f30991efa
@ -41855,6 +41855,26 @@ Body:
|
||||
SpCost: 100
|
||||
ApCost: 150
|
||||
Status: Temporary_Communion
|
||||
- Id: 5448
|
||||
Name: SH_BLESSING_OF_MYSTICAL_CREATURES
|
||||
Description: Blessing of Mystical Creatures
|
||||
MaxLevel: 5
|
||||
Type: Magic
|
||||
TargetType: Support
|
||||
Range: -9
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
CastCancel: true
|
||||
CastTime: 2000
|
||||
AfterCastActDelay: 500
|
||||
Cooldown: 60000
|
||||
FixedCastTime: 1500
|
||||
Duration1: 10000
|
||||
Duration2: 60000
|
||||
Requires:
|
||||
SpCost: 100
|
||||
ApCost: 100
|
||||
Status: Blessing_of_M_Creatures
|
||||
- Id: 6001
|
||||
Name: DK_DRAGONIC_BREATH
|
||||
Description: Dragonic Breath
|
||||
|
@ -8849,3 +8849,15 @@ Body:
|
||||
Colors_of_Hyun_Rok_3: true
|
||||
Colors_of_Hyun_Rok_4: true
|
||||
Colors_of_Hyun_Rok_5: true
|
||||
- Status: Blessing_of_M_Creatures
|
||||
Icon: EFST_BLESSING_OF_M_CREATURES
|
||||
DurationLookup: SH_BLESSING_OF_MYSTICAL_CREATURES
|
||||
CalcFlags:
|
||||
Patk: true
|
||||
Smatk: true
|
||||
- Status: Blessing_of_M_C_Debuff
|
||||
Icon: EFST_BLESSING_OF_M_C_DEBUFF
|
||||
DurationLookup: SH_BLESSING_OF_MYSTICAL_CREATURES
|
||||
CalcFlags:
|
||||
Patk: true
|
||||
Smatk: true
|
||||
|
@ -12893,6 +12893,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
}
|
||||
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);
|
||||
break;
|
||||
|
||||
default: {
|
||||
std::shared_ptr<s_skill_db> skill = skill_db.find(skill_id);
|
||||
@ -13021,6 +13026,10 @@ static int8 skill_castend_id_check(struct block_list *src, struct block_list *ta
|
||||
if (!tsc || !tsc->getSCE(SC_SECOND_BRAND))
|
||||
return USESKILL_FAIL_LEVEL;
|
||||
break;
|
||||
case SH_BLESSING_OF_MYSTICAL_CREATURES:
|
||||
if (src == target || battle_check_target(src, target, BCT_PARTY) <= 0 || (status_get_class_(target) & MAPID_BASEMASK) == MAPID_SUMMONER || (tsc && tsc->getSCE(SC_BLESSING_OF_M_C_DEBUFF)))
|
||||
return USESKILL_FAIL_TOTARGET;
|
||||
break;
|
||||
}
|
||||
|
||||
if (inf&INF_ATTACK_SKILL ||
|
||||
|
@ -8501,6 +8501,8 @@ static signed short status_calc_patk(struct block_list *bl, status_change *sc, i
|
||||
}
|
||||
if (sc->getSCE(SC_TEMPORARY_COMMUNION))
|
||||
patk += sc->getSCE(SC_TEMPORARY_COMMUNION)->val2;
|
||||
if (sc->getSCE(SC_BLESSING_OF_M_CREATURES))
|
||||
patk += sc->getSCE(SC_BLESSING_OF_M_CREATURES)->val2;
|
||||
|
||||
return (short)cap_value(patk, 0, SHRT_MAX);
|
||||
}
|
||||
@ -8530,6 +8532,8 @@ static signed short status_calc_smatk(struct block_list *bl, status_change *sc,
|
||||
}
|
||||
if (sc->getSCE(SC_TEMPORARY_COMMUNION))
|
||||
smatk += sc->getSCE(SC_TEMPORARY_COMMUNION)->val2;
|
||||
if (sc->getSCE(SC_BLESSING_OF_M_CREATURES))
|
||||
smatk += sc->getSCE(SC_BLESSING_OF_M_CREATURES)->val2;
|
||||
|
||||
return (short)cap_value(smatk, 0, SHRT_MAX);
|
||||
}
|
||||
@ -12723,6 +12727,9 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
val4 = tick / 1000;
|
||||
tick_time = 100;
|
||||
break;
|
||||
case SC_BLESSING_OF_M_CREATURES:
|
||||
val2 = val1 * 10;
|
||||
break;
|
||||
|
||||
default:
|
||||
if (calc_flag.none() && scdb->skill_id == 0 && scdb->icon == EFST_BLANK && scdb->opt1 == OPT1_NONE && scdb->opt2 == OPT2_NONE && scdb->state.none() && scdb->flag.none() && scdb->endonstart.empty() && scdb->endreturn.empty() && scdb->fail.empty() && scdb->endonend.empty()) {
|
||||
@ -13697,6 +13704,10 @@ int status_change_end(struct block_list* bl, enum sc_type type, int tid)
|
||||
pc_delabyssball( *sd, sd->abyssball );
|
||||
}
|
||||
break;
|
||||
case SC_BLESSING_OF_M_CREATURES:
|
||||
sc_start(bl,bl, SC_BLESSING_OF_M_C_DEBUFF, 100, 1, skill_get_time2(SH_BLESSING_OF_MYSTICAL_CREATURES, 1));
|
||||
status_percent_change(bl,bl,0, 0, -100,1);
|
||||
break;
|
||||
}
|
||||
|
||||
// End statuses found in the EndOnEnd list.
|
||||
|
Loading…
x
Reference in New Issue
Block a user