Compare commits

...

34 Commits

Author SHA1 Message Date
Atemo
be632c5d5c Follow-up 5e84cc685d
Too many SCs were removed
2024-07-22 17:09:32 +02:00
Atemo
5e84cc685d Small clean-up 2024-07-22 16:56:58 +02:00
Atemo
121c2d10f3 Merge branch 'master' into update/skills_Spirit_Handler 2024-07-22 16:45:55 +02:00
Atemo
5bc0702191 Merge correction 2024-05-13 16:12:10 +02:00
Atemo
6fac9beb79 Merge branch 'master' into update/skills_Spirit_Handler 2024-05-13 15:44:36 +02:00
Atemo
055253a926 Merge corrections 2024-03-25 20:37:34 +01:00
Atemo
fc53e2e6dc Merge branch 'master' into update/skills_Spirit_Handler 2024-03-25 20:27:12 +01:00
Atemo
ac685aaa98 Merge correction 2024-01-26 15:20:48 +01:00
Atemo
b58eeb79ac Merge correction 2024-01-23 15:21:19 +01:00
Atemo
dd540bddb2 Merge branch 'master' into update/skills_Spirit_Handler 2024-01-23 15:07:47 +01:00
Atemo
6b2b0f3392 Merge branch 'master' into update/skills_Spirit_Handler 2024-01-18 15:48:45 +01:00
Atemo
0a9e1cd977 Removed useless sd check 2024-01-01 16:27:24 +01:00
Atemo
2aa0335165 Moved SC_KI_SUL_RAMPAGE to clif_parse_WalkToXY (request to walk) 2023-12-29 20:33:47 +01:00
Atemo
ea9d7ea370 Merge branch 'update/skills_Spirit_Handler' of https://github.com/rathena/rathena into update/skills_Spirit_Handler 2023-11-03 14:18:04 +01:00
Atemo
d71b8dc13c Corrected skill Description of SH_COMMUNE_WITH_KI_SUL in skill_db.yml 2023-11-03 14:17:28 +01:00
Atemo
7d05fc72a9
Update src/map/battle.cpp
Co-authored-by: munkrej <schmunk@posteo.de>
2023-11-01 23:06:51 +01:00
Atemo
4825842ef2 Corrections 2023-11-01 15:57:48 +01:00
Atemo
3f30991efa 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)
2023-11-01 15:57:47 +01:00
Atemo
b09a53cfe1 Implemented SH_HYUN_ROK_CANNON (2nd rebalance)
MAX Lv: 7
Skill Requirement: Mystical Creature Mastery 5, Hyunrok Breeze 3
Skill Form: Active
Type: Magic
Target: Single target
Recovery: AP 1 (2 if Commune With Hyunrok is learned)
Description: Using the mysterious magical power of Hyunrok, fires the powerful magic cannon to the target.
Deals additional damage depends on level of Mystical Creature Mastery user learned, user's base level and SPL.
If the user learned Commune With Hyunrok, increases skill damage and increases AP recovery amount.
Damage property can be changed according to Colors of Hyunrok.
_
[Level 1]: (2600 + (Mystical Creature level x 50))% Matk.
Commune With Hyunrok: (2900 + (Mystical Creature level x 75))% Matk.
[Level 2]: (4150 + (Mystical Creature level x 50))% Matk.
Commune With Hyunrok: (4750 + (Mystical Creature level x 75))% Matk.
[Level 3]: (5700 + (Mystical Creature level x 50))% Matk.
Commune With Hyunrok: (6600 + (Mystical Creature level x 75))% Matk.
[Level 4]: (7250 + (Mystical Creature level x 50))% Matk.
Commune With Hyunrok: (8450 + (Mystical Creature level x 75))% Matk.
[Level 5]: (8800 + (Mystical Creature level x 50))% Matk.
Commune With Hyunrok: (10300 + (Mystical Creature level x 75))% Matk.
[Level 6]: (10350 + (Mystical Creature level x 50))% Matk.
Commune With Hyunrok: (12150 + (Mystical Creature level x 75))% Matk.
[Level 7]: (11900 + (Mystical Creature level x 50))% Matk.
Commune With Hyunrok: (14000 + (Mystical Creature level x 75))% Matk.

1st rebalance :
- Removes 0.5 seconds delay after skill.
- Increases SP consumption from 62 to 74 based on level 7.
- Increases damage from 3400%/4400%(Commune With Hyunrok)Matk to 7300%/8500%(Commune With Hyunrok)Matk based on level 7.

2nd rebalance :
- Increases cast range from 9 cells to 11 cells.
- Reduces SP consumption from 74 to 65 based on level 7.
- Increases base damage from 7350%/8500%Matk to 11900%/14000%Matk based on level 7.
2023-11-01 15:56:18 +01:00
Atemo
750a5af89e Implemented SH_HYUN_ROKS_BREEZE (2nd rebalance)
MAX Lv: 7
Skill Requirement: Mystical Creature Mastery 3, Colors of Hyunrok 3
Skill Form: Active
Type: Magic
Target: 1 cell ground target
Recovery: AP 4
Description: Using the mysterious magical power of Hyunrok to create breeze on the ground, inflicts neutral property magical damage every 0.3 seconds for 4.5 seconds to all targets within range.
Deals additional damage depends on level of Mystical Creature Mastery user learned, user's base level and SPL.
If the user learned Commune With Hyunrok, increases skill damage.
Damage property can be changed according to Colors of Hyunrok.
_
[Level 1]: (1400 + (Mystical Creature level x 20))% Matk.
Commune With Hyunrok: (1700 + (Mystical Creature level x 40))% Matk / area of effect: 5 x 5 cells.
[Level 2]: (2150 + (Mystical Creature level x 20))% Matk.
Commune With Hyunrok: (2650 + (Mystical Creature level x 40))% Matk / area of effect: 5 x 5 cells.
[Level 3]: (2900 + (Mystical Creature level x 20))% Matk.
Commune With Hyunrok: (3600 + (Mystical Creature level x 40))% Matk / area of effect: 7 x 7 cells.
[Level 4]: (3650 + (Mystical Creature level x 20))% Matk.
Commune With Hyunrok: (4550 + (Mystical Creature level x 40))% Matk / area of effect: 7 x 7 cells.
[Level 5]: (4400 + (Mystical Creature level x 20))% Matk.
Commune With Hyunrok: (5500 + (Mystical Creature level x 40))% Matk / area of effect: 9 x 9 cells.
[Level 6]: (5150 + (Mystical Creature level x 20))% Matk.
Commune With Hyunrok: (6450 + (Mystical Creature level x 40))% Matk / area of effect: 9 x 9 cells.
[Level 7]: (5900 + (Mystical Creature level x 20))% Matk.
Commune With Hyunrok: (7400 + (Mystical Creature level x 40))% Matk / area of effect: 11 x 11 cells.

1st rebalance :
- Increases SP consumption from 92 to 94 based on level 7.
- Increases AP recovery rate from 3 to 4.
- Increases damage from 2250%/4000%(Commune With Hyunrok)Matk to 4800%/6300%(Commune With Hyunrok)Matk based on level 7.

2nd rebalance :
- Increases base damage from 4800%/6300%Matk to 5900%/7400%Matk per hit based on level 7.
2023-11-01 15:56:17 +01:00
Atemo
e78f81b1d1 Implemented SH_COLORS_OF_HYUN_ROK (2nd rebalance)
MAX Lv: 7
Skill Requirement: Mystical Creature Mastery 1
Skill Form: Active
Type: Secondary
Target: Instant Casting
Description: With the mysterious magical power of Hyunrok, endows elemental property to Catnip Meteor, Hyunrok Breeze and Hyunrok Cannon for 300 seconds.
If the user learned Commune with Hyunrok, using this skill also increases Catnip Meteor damage by 50%.
When using skill level 7, the endowment is canceled.
_
[Level 1]: Endows water property.
[Level 2]: Endows wind property.
[Level 3]: Endows earth property.
[Level 4]: Endows fire property.
[Level 5]: Endows shadow property.
[Level 6]: Endows holy property.
[Level 7]: Removes the endowment.

1st rebalance :
(nothing)

2nd rebalance :
(nothing)
2023-11-01 15:56:15 +01:00
Atemo
f17fb250be Implemented SH_KI_SUL_RAMPAGE (2nd rebalance)
MAX Lv: 7
Skill Requirement: Mystical Creature Mastery 5, Marine Festival of Kisul 2, Sandy Festival of Kisul 2
Skill Form: Active
Type: Recovery
Target: Instant Casting
Description: Using the powerful healing effect of Kisul.
Recovers 2 AP every 1 second to all party members, excluding the user, with 7 x 7 cells around the user.
The user can't use other skills while this skill is active, and if the user leaves the standing cell due to certain effect such as being knocked-back, the skill effect is canceled.
If the user learned Commune with Kisul, increases area of effect to 11 x 11 cells and increases AP recovery amount to 4.
_
[Level 1]: Duration: 4 seconds.
[Level 2]: Duration: 5 seconds.
[Level 3]: Duration: 6 seconds.
[Level 4]: Duration: 7 seconds.
[Level 5]: Duration: 8 seconds.
[Level 6]: Duration: 9 seconds.
[Level 7]: Duration: 10 seconds.

1st rebalance :
(nothing)

2nd rebalance :
- Reduces AP recovery rate from 3/6 to 2/4.
2023-11-01 15:56:14 +01:00
Atemo
6680ce00df Implemented SH_SANDY_FESTIVAL_OF_KI_SUL (2nd rebalance)
MAX Lv: 5
Skill Requirement: Mystical Creature Mastery 3, Kisul Water Spraying 3
Skill Form: Active
Type: Buff
Target: Instant Casting
Recovery: AP 4
Description: With the power of the sea by Kisul, increases SPL, WIS and STA to self and nearby party member around the user.
If the user learned Commune With Kisul, increases area of effect and doubles the skill duration.
Doesn't stack with Cardinal's Religio.
_
[Level 1]: SPL, WIS, STA + 2 / duration: 60 seconds / area of effect: 5 x 5 cells.
Commune With Kisul: area of effect: 9 x 9 cells.
[Level 2]: SPL, WIS, STA + 4 / duration: 75 seconds / area of effect: 7 x 7 cells.
Commune With Kisul: area of effect: 11 x 11 cells.
[Level 3]: SPL, WIS, STA + 6 / duration: 90 seconds / area of effect: 9 x 9 cells.
Commune With Kisul: area of effect: 13 x 13 cells.
[Level 4]: SPL, WIS, STA + 8 / duration: 105 seconds / area of effect: 11 x 11 cells.
Commune With Kisul: area of effect: 15 x 15 cells.
[Level 5]: SPL, WIS, STA + 10 / duration: 120 seconds / area of effect: 13 x 13 cells.
Commune With Kisul: area of effect: 17 x 17 cells.

1st rebalance :
- Increases AP recovery rate from 2 to 4.

2nd rebalance :
(nothing)
2023-11-01 15:56:13 +01:00
Atemo
5c9a72efef Implemented SH_MARINE_FESTIVAL_OF_KI_SUL (2nd rebalance)
MAX Lv: 5
Skill Requirement: Mystical Creature Mastery 3, Kisul Water Spraying 3
Skill Form: Active
Type: Buff
Target: Instant Casting
Recovery: AP 4
Description: With the power of the sea by Kisul, increases POW, CRT and CON to self and nearby party member around the user.
If the user learned Commune With Kisul, increases area of effect and doubles the skill duration.
Doesn't stack with Cardinal's Benedictum.
_
[Level 1]: POW, CRT, CON + 2 / duration: 60 seconds / area of effect: 5 x 5 cells.
Commune With Kisul: area of effect: 9 x 9 cells.
[Level 2]: POW, CRT, CON + 4 / duration: 75 seconds / area of effect: 7 x 7 cells.
Commune With Kisul: area of effect: 11 x 11 cells.
[Level 3]: POW, CRT, CON + 6 / duration: 90 seconds / area of effect: 9 x 9 cells.
Commune With Kisul: area of effect: 13 x 13 cells.
[Level 4]: POW, CRT, CON + 8 / duration: 105 seconds / area of effect: 11 x 11 cells.
Commune With Kisul: area of effect: 15 x 15 cells.
[Level 5]: POW, CRT, CON + 10 / duration: 120 seconds / area of effect: 13 x 13 cells.
Commune With Kisul: area of effect: 17 x 17 cells.

1st rebalance :
- Increases AP recovery rate from 2 to 4.

2nd rebalance :
(nothing)
2023-11-01 15:56:12 +01:00
Atemo
76d7234565 Implemented SH_KI_SUL_WATER_SPRAYING
MAX Lv: 7
Skill Requirement: Mystical Creature Mastery 1
Skill Form: Active
Type: Recovery
Target: Instant Casting
Recovery: AP 1
Description: Fires the water cannon contained healing power of Kisul, recovers HP to self and nearby party member around the user.
Recovers additional amount depends on level of Mystical Creature Mastery user learned, user's base level and CRT.
If the user learned Commune with Kisul, increases area of effect and healing amount.
_
[Level 1]: Healing amount: 500 + (Mystical Creature Mastery level x 100) / area of effect: 7 x 7 cells.
Commune With Kisul: Healing amount: 750 + (Mystical Creature Mastery level x 150) / area of effect: 11 x 11 cells.
[Level 2]: Healing amount: 1000 + (Mystical Creature Mastery level x 100) / area of effect: 7 x 7 cells.
Commune With Kisul: Healing amount: 1500 + (Mystical Creature Mastery level x 150) / area of effect: 11 x 11 cells.
[Level 3]: Healing amount: 1500 + (Mystical Creature Mastery level x 100) / area of effect: 9 x 9 cells.
Commune With Kisul: Healing amount: 2250 + (Mystical Creature Mastery level x 150) / area of effect: 13 x 13 cells.
[Level 4]: Healing amount: 2000 + (Mystical Creature Mastery level x 100) / area of effect: 9 x 9 cells.
Commune With Kisul: Healing amount: 3000 + (Mystical Creature Mastery level x 150) / area of effect: 13 x 13 cells.
[Level 5]: Healing amount: 2500 + (Mystical Creature Mastery level x 100) / area of effect: 11 x 11 cells.
Commune With Kisul: Healing amount: 3750 + (Mystical Creature Mastery level x 150) / area of effect: 15 x 15 cells.
[Level 6]: Healing amount: 3000 + (Mystical Creature Mastery level x 100) / area of effect: 11 x 11 cells.
Commune With Kisul: Healing amount: 4500 + (Mystical Creature Mastery level x 150) / area of effect: 15 x 15 cells.
[Level 7]: Healing amount: 3500 + (Mystical Creature Mastery level x 100) / area of effect: 13 x 13 cells.
Commune With Kisul: Healing amount: 5250 + (Mystical Creature Mastery level x 150) / area of effect: 17 x 17 cells.

(no rebalance)
2023-11-01 15:56:11 +01:00
Atemo
c006ae4da7 Implemented SH_TEMPORARY_COMMUNION
MAX Lv: 5
Skill Requirement: Mystical Creature Mastery 10
Skill Form: Active(AP)
Type: Secondary
Target: Instant Casting
Consumes: AP 150
Description: Can only be used when the user learned at least one of either Commune with Chulho, Kisul or Hyunrok.
Through the temporary communion with Chulho, Kisul and Hyunrok, the user is in the state of communion of all three mystical creatures for the certain duration.
Increases P.Atk, S.Matk and H.Plus for the duration.
_
[Level 1]: Duration: 30 seconds / P.Atk, S.Matk, H.Plus +3
[Level 2]: Duration: 60 seconds / P.Atk, S.Matk, H.Plus +6
[Level 3]: Duration: 90 seconds / P.Atk, S.Matk, H.Plus +9
[Level 4]: Duration: 120 seconds / P.Atk, S.Matk, H.Plus +12
[Level 5]: Duration: 150 seconds / P.Atk, S.Matk, H.Plus +15

1st rebalance :
(none)

2nd rebalance :
(none)
2023-11-01 15:56:09 +01:00
Atemo
9de0a5fa53 Implemented SH_HOGOGONG_STRIKE (2nd rebalance)
MAX Lv: 7
Skill Requirement: Mystical Creature Mastery 5, Howling of Chulho 3
Skill Form: Active
Type: Ranged Physical
Target: Single target
Recovery: AP 1 (2 if Commune With Chulho is learned)
Description: Punches the front paws of Chulho to nearby targets who are affected by [Hogogong effect], inflicts long ranged physical damage to the targets for 3 hits.
Deals additional damage depends on level of Mystical Creature Mastery user learned, user's base level and POW, has a chance to trigger critical, critical chance is the user's Cri.
The effectiveness of critical modifier is applied by half.
If the user learned Commune With Chulho, increases skill damage and increases AP recovery amount.
_
[Level 1]: (380 + (Mystical Creature level x 10))% Atk per hit.
Commune With Chulho: (600 + (Mystical Creature level x 20))% Atk per hit / area of effect: 7 x 7 cells.
[Level 2]: (580 + (Mystical Creature level x 10))% Atk per hit.
Commune With Chulho: (950 + (Mystical Creature level x 20))% Atk per hit / area of effect: 7 x 7 cells.
[Level 3]: (780 + (Mystical Creature level x 10))% Atk per hit.
Commune With Chulho: (1300 + (Mystical Creature level x 20))% Atk per hit / area of effect: 7 x 7 cells.
[Level 4]: (980 + (Mystical Creature level x 10))% Atk per hit.
Commune With Chulho: (1650 + (Mystical Creature level x 20))% Atk per hit / area of effect: 9 x 9 cells.
[Level 5]: (1180 + (Mystical Creature level x 10))% Atk per hit.
Commune With Chulho: (2000 + (Mystical Creature level x 20))% Atk per hit / area of effect: 9 x 9 cells.
[Level 6]: (1380 + (Mystical Creature level x 10))% Atk per hit.
Commune With Chulho: (2350 + (Mystical Creature level x 20))% Atk per hit / area of effect: 9 x 9 cells.
[Level 7]: (1580 + (Mystical Creature level x 10))% Atk per hit.
Commune With Chulho: (2700 + (Mystical Creature level x 20))% Atk per hit / area of effect: 11 x 11 cells.

1st rebalance :
- Increases SP consumption from 68 to 72 based on level 7.
- Increases damage from 900%/1500%(Commune With Chulho)Atk to 1580%/2700%(Commune With Chulho)Atk per hit based on level 7.
- Reduces cooldown from 0.5 seconds to 0.35 seconds.

2nd rebalance :
- Increases SP consumption from 72 to 85 based on level 7.
2023-11-01 15:54:37 +01:00
Atemo
ef9f422b08 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
2023-11-01 15:54:36 +01:00
Atemo
13a8b0a368 Implemented SH_CHUL_HO_SONIC_CLAW (2nd rebalance)
MAX Lv: 7
Skill Requirement: Mystical Creature Mastery 1
Skill Form: Active
Type: Ranged Physical
Target: Single target
Recovery: AP 1
Description: Using the sharp claw of Chulho by scratches the air towards the target, inflicts long ranged physical damage to the target.
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 and applies critical damage, the critical chance is the user's Cri.
The effectiveness of critical modifier is applied by half.
_
[Level 1]: (2500 + (Mystical Creature level x 50))% Atk.
Commune With Chulho: (2900 + (Mystical Creature level x 100))% Atk.
[Level 2]: (4150 + (Mystical Creature level x 50))% Atk.
Commune With Chulho: (4950 + (Mystical Creature level x 100))% Atk.
[Level 3]: (5800 + (Mystical Creature level x 50))% Atk.
Commune With Chulho: (7000 + (Mystical Creature level x 100))% Atk.
[Level 4]: (7450 + (Mystical Creature level x 50))% Atk.
Commune With Chulho: (9050 + (Mystical Creature level x 100))% Atk.
[Level 5]: (9100 + (Mystical Creature level x 50))% Atk.
Commune With Chulho: (11100 + (Mystical Creature level x 100))% Atk.
[Level 6]: (10750 + (Mystical Creature level x 50))% Atk.
Commune With Chulho: (13150 + (Mystical Creature level x 100))% Atk.
[Level 7]: (12400 + (Mystical Creature level x 50))% Atk.
Commune With Chulho: (15200 + (Mystical Creature level x 100))% Atk.

1st rebalance :
- Increases SP consumption from 42 to 54 based on level 7.
- Increases damage from 2800%/3150%(Commune With Chulho)Atk to 5650%/6450%(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 cast range from 9 cells to 11 cells.
- Increases base damage from 5650%/6450%Atk to 12400%/15200%Atk based on level 7.
2023-11-01 15:54:35 +01:00
Atemo
c639490c28 Implemented SH_COMMUNE_WITH_HYUN_ROK
MAX Lv: 1
Skill Requirement: Mystical Creature Mastery 7, Hyunrok Cannon 3
Skill Form: Passive
Description: Empowers the skills that borrow the power from Hyunrok through perfect communion with the mystical creature Hyunrok.
2023-11-01 15:54:34 +01:00
Atemo
e6be453ad0 Implemented SH_COMMUNE_WITH_KI_SUL
MAX Lv: 1
Skill Requirement: Mystical Creature Mastery 7, Kisul Rampage 3
Skill Form: Passive
Description: Empowers the skills that borrow the power from Kisul through perfect communion with the mystical creature Kisul.
2023-11-01 15:52:33 +01:00
Atemo
32ba1babfc Implemented SH_COMMUNE_WITH_CHUL_HO
MAX Lv: 1
Skill Requirement: Mystical Creature Mastery 7, Hogogong Strike 3
Skill Form: Passive
Description: Empowers the skills that borrow the power from Chulho through perfect communion with the mystical creature Chulho.
2023-11-01 15:51:47 +01:00
Atemo
de98f5402e Implemented SH_MYSTICAL_CREATURE_MASTERY
Mystical Creature Mastery
MAX Lv: 10
Skill Form: Passive
Description: By communicating with mystical creatures, increases P.Atk, S.Matk and the effectiveness of mystical creatures skills.
_
[Level 1]: P.Atk/S.Matk +1
[Level 2]: P.Atk/S.Matk +3
[Level 3]: P.Atk/S.Matk +4
[Level 4]: P.Atk/S.Matk +6
[Level 5]: P.Atk/S.Matk +7
[Level 6]: P.Atk/S.Matk +9
[Level 7]: P.Atk/S.Matk +10
[Level 8]: P.Atk/S.Matk +12
[Level 9]: P.Atk/S.Matk +13
[Level 10]: P.Atk/S.Matk +15
2023-11-01 15:50:57 +01:00
Atemo
16de2a89c4 Spirit_Handler skill tree 2023-11-01 15:49:45 +01:00
11 changed files with 1032 additions and 6 deletions

View File

@ -41424,6 +41424,489 @@ Body:
SplashArea: 6
Requires:
SpCost: 1
- Id: 5433
Name: SH_MYSTICAL_CREATURE_MASTERY
Description: Mystical Creature Mastery
MaxLevel: 10
- Id: 5434
Name: SH_COMMUNE_WITH_CHUL_HO
Description: Commune with Chulho
MaxLevel: 1
- Id: 5435
Name: SH_CHUL_HO_SONIC_CLAW
Description: Chulho Sonic Claw
MaxLevel: 7
Type: Weapon
TargetType: Attack
DamageFlags:
Critical: true
Range: -11
Hit: Multi_Hit
HitCount: -2
GiveAp: 1
Element: Weapon
AfterCastActDelay: 500
Cooldown:
- Level: 1
Time: 1150
- Level: 2
Time: 1000
- Level: 3
Time: 850
- Level: 4
Time: 700
- Level: 5
Time: 550
- Level: 6
Time: 400
- Level: 7
Time: 250
Requires:
SpCost:
- Level: 1
Amount: 42
- Level: 2
Amount: 44
- Level: 3
Amount: 46
- Level: 4
Amount: 48
- Level: 5
Amount: 50
- Level: 6
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: 5437
Name: SH_HOGOGONG_STRIKE
Description: Hogogong Strike
MaxLevel: 7
Type: Weapon
TargetType: Self
Range: -9
Hit: Multi_Hit
HitCount: 3
GiveAp: 1
Element: Weapon
DamageFlags:
Splash: true
Critical: true
SplashArea:
- Level: 1
Area: 3
- Level: 2
Area: 3
- Level: 3
Area: 3
- Level: 4
Area: 4
- Level: 5
Area: 4
- Level: 6
Area: 4
- Level: 7
Area: 5
Cooldown: 350
CastCancel: true
FixedCastTime: 1000
Requires:
SpCost:
- Level: 1
Amount: 67
- Level: 2
Amount: 70
- Level: 3
Amount: 73
- Level: 4
Amount: 76
- Level: 5
Amount: 79
- Level: 6
Amount: 82
- Level: 7
Amount: 85
- Id: 5438
Name: SH_COMMUNE_WITH_KI_SUL
Description: Commune with Kisul
MaxLevel: 1
- Id: 5439
Name: SH_KI_SUL_WATER_SPRAYING
Description: Kisul Water Spraying
MaxLevel: 7
Type: Magic
TargetType: Self
GiveAp: 1
DamageFlags:
NoDamage: true
Splash: true
SplashArea:
- Level: 1
Area: 3
- Level: 2
Area: 3
- Level: 3
Area: 4
- Level: 4
Area: 4
- Level: 5
Area: 5
- Level: 6
Area: 5
- Level: 7
Area: 6
CastCancel: true
CastTime: 1700
AfterCastActDelay: 1000
FixedCastTime: 1000
Cooldown: 300
Requires:
SpCost:
- Level: 1
Amount: 61
- Level: 2
Amount: 65
- Level: 3
Amount: 69
- Level: 4
Amount: 73
- Level: 5
Amount: 77
- Level: 6
Amount: 81
- Level: 7
Amount: 85
- Id: 5440
Name: SH_MARINE_FESTIVAL_OF_KI_SUL
Description: Marine Festival of Kisul
MaxLevel: 5
Type: Magic
TargetType: Self
DamageFlags:
NoDamage: true
Splash: true
GiveAp: 4
SplashArea:
- Level: 1
Area: 2
- Level: 2
Area: 3
- Level: 3
Area: 4
- Level: 4
Area: 5
- Level: 5
Area: 6
Duration1:
- Level: 1
Time: 60000
- Level: 2
Time: 75000
- Level: 3
Time: 90000
- Level: 4
Time: 105000
- Level: 5
Time: 120000
CastCancel: true
CastTime: 1700
AfterCastActDelay: 1000
FixedCastTime: 1000
Cooldown: 2000
Requires:
SpCost:
- Level: 1
Amount: 80
- Level: 2
Amount: 90
- Level: 3
Amount: 100
- Level: 4
Amount: 110
- Level: 5
Amount: 120
Status: Marine_Festival
- Id: 5441
Name: SH_SANDY_FESTIVAL_OF_KI_SUL
Description: Sandy Festival of Kisul
MaxLevel: 5
Type: Magic
TargetType: Self
DamageFlags:
NoDamage: true
Splash: true
GiveAp: 4
SplashArea:
- Level: 1
Area: 2
- Level: 2
Area: 3
- Level: 3
Area: 4
- Level: 4
Area: 5
- Level: 5
Area: 6
Duration1:
- Level: 1
Time: 60000
- Level: 2
Time: 75000
- Level: 3
Time: 90000
- Level: 4
Time: 105000
- Level: 5
Time: 120000
CastCancel: true
CastTime: 1700
AfterCastActDelay: 1000
FixedCastTime: 1000
Cooldown: 2000
Requires:
SpCost:
- Level: 1
Amount: 80
- Level: 2
Amount: 90
- Level: 3
Amount: 100
- Level: 4
Amount: 110
- Level: 5
Amount: 120
Status: Sandy_Festival
- Id: 5442
Name: SH_KI_SUL_RAMPAGE
Description: Kisul Rampage
MaxLevel: 7
Type: Magic
TargetType: Self
DamageFlags:
NoDamage: true
Splash: true
SplashArea: 3
Duration1:
- Level: 1
Time: 4000
- Level: 2
Time: 5000
- Level: 3
Time: 6000
- Level: 4
Time: 7000
- Level: 5
Time: 8000
- Level: 6
Time: 9000
- Level: 7
Time: 10000
CastCancel: true
CastTime: 3000
AfterCastActDelay: 1000
Cooldown: 60000
FixedCastTime: 1500
Requires:
SpCost:
- Level: 1
Amount: 90
- Level: 2
Amount: 100
- Level: 3
Amount: 110
- Level: 4
Amount: 120
- Level: 5
Amount: 130
- Level: 6
Amount: 140
- Level: 7
Amount: 150
Status: Ki_Sul_Rampage
- Id: 5443
Name: SH_COMMUNE_WITH_HYUN_ROK
Description: Commune with Hyunrok
MaxLevel: 1
- Id: 5444
Name: SH_COLORS_OF_HYUN_ROK
Description: Colors of Hyunrok
MaxLevel: 7
Type: Magic
TargetType: Self
DamageFlags:
NoDamage: true
Duration1: 300000
CastCancel: true
CastTime: 1700
FixedCastTime: 1000
Requires:
SpCost: 90
- Id: 5445
Name: SH_HYUN_ROKS_BREEZE
Description: Hyunrok Breeze
MaxLevel: 7
Type: Magic
TargetType: Ground
Hit: Single
HitCount: 1
Range: 9
GiveAp: 4
CastCancel: true
CastTime: 3000
AfterCastActDelay: 500
Cooldown: 4500
FixedCastTime: 1500
Duration1: 4500
Requires:
SpCost:
- Level: 1
Amount: 58
- Level: 2
Amount: 64
- Level: 3
Amount: 70
- Level: 4
Amount: 76
- Level: 5
Amount: 82
- Level: 6
Amount: 88
- Level: 7
Amount: 94
Unit:
Id: HYUN_ROKS_BREEZE
Range:
- Level: 1
Size: 2
- Level: 2
Size: 2
- Level: 3
Size: 3
- Level: 4
Size: 3
- Level: 5
Size: 4
- Level: 6
Size: 4
- Level: 7
Size: 5
Interval: 300
Target: Enemy
Flag:
NoOverlap: true
PathCheck: true
- Id: 5446
Name: SH_HYUN_ROK_CANNON
Description: Hyunrok Cannon
MaxLevel: 7
Type: Magic
TargetType: Attack
Range: -11
GiveAp: 1
Hit: Single
HitCount: 1
CastCancel: true
CastTime: 2000
Cooldown: 300
FixedCastTime: 1500
Requires:
SpCost:
- Level: 1
Amount: 47
- Level: 2
Amount: 50
- Level: 3
Amount: 53
- Level: 4
Amount: 56
- Level: 5
Amount: 59
- Level: 6
Amount: 62
- Level: 7
Amount: 65
- Id: 5447
Name: SH_TEMPORARY_COMMUNION
Description: Temporary Communion
MaxLevel: 5
Type: Magic
TargetType: Self
DamageFlags:
NoDamage: true
CastCancel: true
CastTime: 2000
AfterCastActDelay: 500
Cooldown: 60000
FixedCastTime: 1500
Duration1:
- Level: 1
Time: 30000
- Level: 2
Time: 60000
- Level: 3
Time: 90000
- Level: 4
Time: 12000
- Level: 5
Time: 150000
Requires:
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: 5401
Name: NW_P_F_I
Description: P.F.I

View File

@ -8039,3 +8039,108 @@ Body:
Level: 5
- Name: HN_NAPALM_VULCAN_STRIKE
Level: 5
- Job: Spirit_Handler
Inherit:
Summoner: true
Tree:
- Name: SH_MYSTICAL_CREATURE_MASTERY
MaxLevel: 10
- Name: SH_CHUL_HO_SONIC_CLAW
MaxLevel: 7
Requires:
- Name: SH_MYSTICAL_CREATURE_MASTERY
Level: 1
- Name: SH_KI_SUL_WATER_SPRAYING
MaxLevel: 7
Requires:
- Name: SH_MYSTICAL_CREATURE_MASTERY
Level: 1
- Name: SH_COLORS_OF_HYUN_ROK
MaxLevel: 7
Requires:
- Name: SH_MYSTICAL_CREATURE_MASTERY
Level: 1
- Name: SH_HOWLING_OF_CHUL_HO
MaxLevel: 7
Requires:
- Name: SH_MYSTICAL_CREATURE_MASTERY
Level: 3
- Name: SH_CHUL_HO_SONIC_CLAW
Level: 3
- Name: SH_MARINE_FESTIVAL_OF_KI_SUL
MaxLevel: 5
Requires:
- Name: SH_MYSTICAL_CREATURE_MASTERY
Level: 3
- Name: SH_KI_SUL_WATER_SPRAYING
Level: 3
- Name: SH_SANDY_FESTIVAL_OF_KI_SUL
MaxLevel: 5
Requires:
- Name: SH_MYSTICAL_CREATURE_MASTERY
Level: 3
- Name: SH_KI_SUL_WATER_SPRAYING
Level: 3
- Name: SH_HYUN_ROKS_BREEZE
MaxLevel: 7
Requires:
- Name: SH_MYSTICAL_CREATURE_MASTERY
Level: 3
- Name: SH_COLORS_OF_HYUN_ROK
Level: 3
- Name: SH_HOGOGONG_STRIKE
MaxLevel: 7
Requires:
- Name: SH_MYSTICAL_CREATURE_MASTERY
Level: 5
- Name: SH_CHUL_HO_SONIC_CLAW
Level: 3
- Name: SH_KI_SUL_RAMPAGE
MaxLevel: 7
Requires:
- Name: SH_MYSTICAL_CREATURE_MASTERY
Level: 5
- Name: SH_MARINE_FESTIVAL_OF_KI_SUL
Level: 2
- Name: SH_SANDY_FESTIVAL_OF_KI_SUL
Level: 2
- Name: SH_HYUN_ROK_CANNON
MaxLevel: 7
Requires:
- Name: SH_MYSTICAL_CREATURE_MASTERY
Level: 5
- Name: SH_HYUN_ROKS_BREEZE
Level: 3
- Name: SH_COMMUNE_WITH_CHUL_HO
MaxLevel: 1
Requires:
- Name: SH_MYSTICAL_CREATURE_MASTERY
Level: 7
- Name: SH_HOGOGONG_STRIKE
Level: 3
- Name: SH_COMMUNE_WITH_KI_SUL
MaxLevel: 1
Requires:
- Name: SH_MYSTICAL_CREATURE_MASTERY
Level: 7
- Name: SH_KI_SUL_RAMPAGE
Level: 3
- Name: SH_COMMUNE_WITH_HYUN_ROK
MaxLevel: 1
Requires:
- Name: SH_MYSTICAL_CREATURE_MASTERY
Level: 7
- Name: SH_HYUN_ROK_CANNON
Level: 3
- Name: SH_TEMPORARY_COMMUNION
MaxLevel: 5
Requires:
- Name: SH_MYSTICAL_CREATURE_MASTERY
Level: 10
- Name: SH_BLESSING_OF_MYSTICAL_CREATURES
MaxLevel: 5
Requires:
- Name: SH_COMMUNE_WITH_KI_SUL
Level: 1
- Name: SH_MYSTICAL_CREATURE_MASTERY
Level: 10

View File

@ -7828,6 +7828,8 @@ Body:
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
Sandy_Festival: true
- Status: Benedictum
Icon: EFST_BENEDICTUM
DurationLookup: CD_BENEDICTUM
@ -7838,6 +7840,8 @@ Body:
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
Marine_Festival: true
- Status: Axe_Stomp
Icon: EFST_AXE_STOMP
DurationLookup: MT_AXE_STOMP
@ -8944,3 +8948,106 @@ Body:
Bleeding: true
Confusion: true
Freeze: true
- Status: Hogogong
Icon: EFST_HOGOGONG
DurationLookup: SH_HOWLING_OF_CHUL_HO
Flags:
Debuff: true
BlEffect: true
DisplayPc: true
- Status: Temporary_Communion
Icon: EFST_TEMPORARY_COMMUNION
DurationLookup: SH_TEMPORARY_COMMUNION
CalcFlags:
Patk: true
Smatk: true
Hplus: true
- Status: Marine_Festival
Icon: EFST_MARINE_FESTIVAL
DurationLookup: SH_MARINE_FESTIVAL_OF_KI_SUL
CalcFlags:
Pow: true
Con: true
Crt: true
EndOnStart:
Benedictum: true
- Status: Sandy_Festival
Icon: EFST_SANDY_FESTIVAL
DurationLookup: SH_SANDY_FESTIVAL_OF_KI_SUL
CalcFlags:
Spl: true
Wis: true
Sta: true
EndOnStart:
Religio: true
- Status: Ki_Sul_Rampage
Icon: EFST_KI_SUL_RAMPAGE
DurationLookup: SH_KI_SUL_RAMPAGE
States:
NoCast: true
- Status: Colors_of_Hyun_Rok_Buff
Icon: EFST_COLORS_OF_HYUN_ROK_BUFF
DurationLookup: SH_COLORS_OF_HYUN_ROK
- Status: Colors_of_Hyun_Rok_1
Icon: EFST_COLORS_OF_HYUN_ROK_1
DurationLookup: SH_COLORS_OF_HYUN_ROK
EndOnStart:
Colors_of_Hyun_Rok_2: true
Colors_of_Hyun_Rok_3: true
Colors_of_Hyun_Rok_4: true
Colors_of_Hyun_Rok_5: true
Colors_of_Hyun_Rok_6: true
- Status: Colors_of_Hyun_Rok_2
Icon: EFST_COLORS_OF_HYUN_ROK_2
DurationLookup: SH_COLORS_OF_HYUN_ROK
EndOnStart:
Colors_of_Hyun_Rok_1: true
Colors_of_Hyun_Rok_3: true
Colors_of_Hyun_Rok_4: true
Colors_of_Hyun_Rok_5: true
Colors_of_Hyun_Rok_6: true
- Status: Colors_of_Hyun_Rok_3
Icon: EFST_COLORS_OF_HYUN_ROK_3
DurationLookup: SH_COLORS_OF_HYUN_ROK
EndOnStart:
Colors_of_Hyun_Rok_1: true
Colors_of_Hyun_Rok_2: true
Colors_of_Hyun_Rok_4: true
Colors_of_Hyun_Rok_5: true
Colors_of_Hyun_Rok_6: true
- Status: Colors_of_Hyun_Rok_4
Icon: EFST_COLORS_OF_HYUN_ROK_4
DurationLookup: SH_COLORS_OF_HYUN_ROK
EndOnStart:
Colors_of_Hyun_Rok_1: true
Colors_of_Hyun_Rok_2: true
Colors_of_Hyun_Rok_3: true
Colors_of_Hyun_Rok_5: true
Colors_of_Hyun_Rok_6: true
- Status: Colors_of_Hyun_Rok_5
Icon: EFST_COLORS_OF_HYUN_ROK_5
DurationLookup: SH_COLORS_OF_HYUN_ROK
EndOnStart:
Colors_of_Hyun_Rok_1: true
Colors_of_Hyun_Rok_2: true
Colors_of_Hyun_Rok_3: true
Colors_of_Hyun_Rok_4: true
Colors_of_Hyun_Rok_6: true
- Status: Colors_of_Hyun_Rok_6
Icon: EFST_COLORS_OF_HYUN_ROK_6
DurationLookup: SH_COLORS_OF_HYUN_ROK
EndOnStart:
Colors_of_Hyun_Rok_1: true
Colors_of_Hyun_Rok_2: true
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

View File

@ -3037,6 +3037,10 @@ static bool is_attack_critical(struct Damage* wd, struct block_list *src, struct
return false;
}
break;
case SH_CHUL_HO_SONIC_CLAW:
if (pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO) == 0 && !(sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
return false;
break;
}
if(tsd && tsd->bonus.critical_def)
cri = cri * ( 100 - tsd->bonus.critical_def ) / 100;
@ -3609,6 +3613,25 @@ int battle_get_magic_element(struct block_list* src, struct block_list* target,
if (sd)
element = sd->bonus.arrow_ele;
break;
case SU_CN_METEOR:
case SU_CN_METEOR2:
case SH_HYUN_ROKS_BREEZE:
case SH_HYUN_ROK_CANNON:
if (sc && sc->count) {
if (sc->getSCE(SC_COLORS_OF_HYUN_ROK_1))
element = ELE_WATER;
else if (sc->getSCE(SC_COLORS_OF_HYUN_ROK_2))
element = ELE_WIND;
else if (sc->getSCE(SC_COLORS_OF_HYUN_ROK_3))
element = ELE_EARTH;
else if (sc->getSCE(SC_COLORS_OF_HYUN_ROK_4))
element = ELE_FIRE;
else if (sc->getSCE(SC_COLORS_OF_HYUN_ROK_5))
element = ELE_DARK;
else if (sc->getSCE(SC_COLORS_OF_HYUN_ROK_6))
element = ELE_HOLY;
}
break;
}
return element;
@ -6273,6 +6296,39 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
skillratio += 5 * sstatus->con;
RE_LVL_DMOD(100);
break;
case SH_CHUL_HO_SONIC_CLAW:
skillratio += -100 + 850 + 1650 * skill_lv;
skillratio += 50 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
skillratio += 5 * sstatus->pow;
if (pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
skillratio += 100 + 400 * skill_lv;
skillratio += 50 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
}
RE_LVL_DMOD(100);
break;
case SH_HOWLING_OF_CHUL_HO:
skillratio += -100 + 600 + 1050 * skill_lv;
skillratio += 50 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
skillratio += 5 * sstatus->pow;
if (pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
skillratio += 100 + 100 * skill_lv;
skillratio += 50 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
}
RE_LVL_DMOD(100);
break;
case SH_HOGOGONG_STRIKE:
skillratio += -100 + 180 + 200 * skill_lv;
skillratio += 10 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
skillratio += 5 * sstatus->pow;
if (pc_checkskill(sd, SH_COMMUNE_WITH_CHUL_HO) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
skillratio += 70 + 150 * skill_lv;
skillratio += 10 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
}
RE_LVL_DMOD(100);
break;
}
return skillratio;
}
@ -8330,6 +8386,8 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
case SU_CN_METEOR:
case SU_CN_METEOR2:
skillratio += 100 + 100 * skill_lv + sstatus->int_ * 5; // !TODO: Confirm INT bonus
if (sc && sc->getSCE(SC_COLORS_OF_HYUN_ROK_BUFF))
skillratio += skillratio * 50 / 100;
RE_LVL_DMOD(100);
break;
case NPC_VENOMFOG:
@ -8723,6 +8781,28 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
skillratio += 5 * sstatus->spl;
RE_LVL_DMOD(100);
break;
case SH_HYUN_ROKS_BREEZE:
skillratio += -100 + 650 + 750 * skill_lv;
skillratio += 20 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
skillratio += 5 * sstatus->spl;
if (pc_checkskill(sd, SH_COMMUNE_WITH_HYUN_ROK) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
skillratio += 100 + 200 * skill_lv;
skillratio += 20 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
}
RE_LVL_DMOD(100);
break;
case SH_HYUN_ROK_CANNON:
skillratio += -100 + 1050 + 1550 * skill_lv;
skillratio += 50 * pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY);
skillratio += 5 * sstatus->spl;
if (pc_checkskill(sd, SH_COMMUNE_WITH_HYUN_ROK) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
skillratio += 300 * skill_lv;
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.

View File

@ -11304,6 +11304,7 @@ void clif_parse_WalkToXY(int fd, map_session_data *sd)
skill_check_cloaking(&sd->bl, sd->sc.getSCE(SC_CLOAKING));
status_change_end(&sd->bl, SC_ROLLINGCUTTER); // If you move, you lose your counters. [malufett]
status_change_end(&sd->bl, SC_CRESCIVEBOLT);
status_change_end(&sd->bl, SC_KI_SUL_RAMPAGE);
pc_delinvincibletimer(sd);

View File

@ -7182,10 +7182,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 == nullptr)
return 0;
uint16 idx = 0;
#ifdef RENEWAL
if ((idx = skill_get_index(skill_id)) == 0) {
#else

View File

@ -1915,6 +1915,20 @@
export_constant(SC_POWERUP);
export_constant(SC_AGIUP);
export_constant(SC_PROTECTION);
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);
/* status icons */
export_deprecated_constant2("SI_BLANK",-1);

View File

@ -2212,6 +2212,9 @@ int skill_additional_effect( struct block_list* src, struct block_list *bl, uint
case HN_GROUND_GRAVITATION:
sc_start(src, bl, skill_get_sc(skill_id), 100, 0, skill_get_time2(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)
@ -3112,6 +3115,8 @@ short skill_blown(struct block_list* src, struct block_list* target, char count,
status_change_end(target, SC_ROLLINGCUTTER);
if (tsc->getSCE(SC_CRESCIVEBOLT))
status_change_end(target, SC_CRESCIVEBOLT);
if (tsc->getSCE(SC_KI_SUL_RAMPAGE))
status_change_end(target, SC_KI_SUL_RAMPAGE);
if (tsc->getSCE(SC_SV_ROOTTWIST)) // Shouldn't move.
return 0;
}
@ -5271,6 +5276,10 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
break;
case DK_DRAGONIC_AURA:
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
skill_attack(BF_WEAPON, src, src, bl, skill_id, skill_lv, tick, flag);
sc_start(src, src, SC_DRAGONIC_AURA, 100, skill_lv, skill_get_time(skill_id,skill_lv));
break;
case DK_STORMSLASH:
case CD_EFFLIGO:
case ABC_FRENZY_SHOT:
@ -5280,10 +5289,9 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case TR_RHYTHMSHOOTING:
case HN_MEGA_SONIC_BLOW:
case HN_SPIRAL_PIERCE_MAX:
case SH_CHUL_HO_SONIC_CLAW:
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
skill_attack(BF_WEAPON, src, src, bl, skill_id, skill_lv, tick, flag);
if (skill_id == DK_DRAGONIC_AURA)
sc_start(src, src, SC_DRAGONIC_AURA, 100, skill_lv, skill_get_time(skill_id,skill_lv));
break;
case SHC_ETERNAL_SLASH:
@ -5969,6 +5977,16 @@ 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;
case SH_HOGOGONG_STRIKE:
if ((flag & 1) && (tsc && tsc->getSCE(SC_HOGOGONG))) {
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);
@ -6171,8 +6189,9 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case IG_JUDGEMENT_CROSS:
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:
@ -8024,6 +8043,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case NPC_RELIEVE_OFF:
case HN_BREAKINGLIMIT:
case HN_RULEBREAK:
case SH_TEMPORARY_COMMUNION:
clif_skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id,skill_lv)));
break;
@ -12987,6 +13007,127 @@ 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_HOWLING_OF_CHUL_HO:
i = skill_get_splash(skill_id, skill_lv);
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;
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 | 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)))
status_heal(src, 0, 0, 1, 0);
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 | 1, skill_castend_damage_id);
break;
case SH_KI_SUL_WATER_SPRAYING:
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;
if (pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) {
heal += 250 * skill_lv;
heal += pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY) * 50;
}
heal = heal * (100 + status_get_crt(src)) * status_get_lv(src) / 10000;
status_heal(bl, heal, 0, 0, 0);
clif_skill_nodamage(src, bl, skill_id, heal, 1);
}
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;
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 (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;
clif_skill_nodamage(src, bl, skill_id, skill_lv, sc_start(src, bl, type, 100, skill_lv, time));
}
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;
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 (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);
}
}
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:
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)) );
}
break;
case SH_BLESSING_OF_MYSTICAL_CREATURES:
status_heal(bl, 0, 0, 200-status_get_ap(bl), 0);
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: {
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);
@ -13113,6 +13254,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 ||
@ -13372,6 +13517,10 @@ TIMER_FUNC(skill_castend_id){
add_ap += 2;
}
break;
case SH_HYUN_ROK_CANNON:
if (pc_checkskill(sd, SH_COMMUNE_WITH_HYUN_ROK) > 0 || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION)))
add_ap += 1;
break;
}
status_heal(&sd->bl, 0, 0, add_ap, 0);
@ -13946,6 +14095,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
case EM_VENOM_SWAMP:
case EM_CONFLAGRATION:
case EM_TERRA_DRIVE:
case SH_HYUN_ROKS_BREEZE:
flag|=1;//Set flag to 1 to prevent deleting ammo (it will be deleted on group-delete).
[[fallthrough]];
case GS_GROUNDDRIFT: //Ammo should be deleted right away.
@ -16044,6 +16194,7 @@ int skill_unit_onplace_timer(struct skill_unit *unit, struct block_list *bl, t_t
case UNT_SOLIDTRAP:
case UNT_SWIFTTRAP:
case UNT_FLAMETRAP:
case UNT_HYUN_ROKS_BREEZE:
skill_attack(skill_get_type(sg->skill_id),ss,&unit->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
break;
@ -18130,6 +18281,12 @@ bool skill_check_condition_castbegin( map_session_data& sd, uint16 skill_id, uin
if (!(sc && sc->getSCE(SC_THIRD_EXOR_FLAME)))
return false;
break;
case SH_TEMPORARY_COMMUNION:
if (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 );
return false;
}
break;
}
/* check state required */

View File

@ -33,8 +33,8 @@ class status_change;
#define MAX_SKILL_LEVEL 13 /// Max Skill Level (for skill_db storage)
#define MAX_MOBSKILL_LEVEL 100 /// Max monster skill level (on skill usage)
#define MAX_SKILL_CRIMSON_MARKER 3 /// Max Crimson Marker targets (RL_C_MARKER)
#define SKILL_NAME_LENGTH 31 /// Max Skill Name length
#define SKILL_DESC_LENGTH 31 /// Max Skill Desc length
#define SKILL_NAME_LENGTH 40 /// Max Skill Name length
#define SKILL_DESC_LENGTH 40 /// Max Skill Desc length
/// Used with tracking the hitcount of Earthquake for skills that can avoid the first attack
#define NPC_EARTHQUAKE_FLAG 0x800
@ -2796,6 +2796,7 @@ void skill_combo(struct block_list* src,struct block_list *dsrc, struct block_li
enum sc_type skill_get_sc(int16 skill_id);
void skill_reveal_trap_inarea(struct block_list *src, int range, int x, int y);
int skill_get_time3(struct map_data *mapdata, uint16 skill_id, uint16 skill_lv);
int skill_area_sub(struct block_list *bl, va_list ap);
/// Variable name of copied skill by Plagiarism
#define SKILL_VAR_PLAGIARISM "CLONE_SKILL"

View File

@ -4426,6 +4426,11 @@ int status_calc_pc_sub(map_session_data* sd, uint8 opt)
base_status->smatk += skill * 2;
}
if ((skill = pc_checkskill(sd, SH_MYSTICAL_CREATURE_MASTERY)) > 0) {
base_status->smatk += skill * 15 / 10;
base_status->patk += skill * 15 / 10;
}
// ----- PHYSICAL RESISTANCE CALCULATION -----
if ((skill = pc_checkskill_imperial_guard(sd, 1)) > 0)// IG_SHIELD_MASTERY
base_status->res += skill * 3;
@ -6932,6 +6937,8 @@ static unsigned short status_calc_pow(struct block_list *bl, status_change *sc,
if (sc->getSCE(SC_BENEDICTUM))
pow += sc->getSCE(SC_BENEDICTUM)->val2;
if (sc->getSCE(SC_MARINE_FESTIVAL))
pow += sc->getSCE(SC_MARINE_FESTIVAL)->val2;
return (unsigned short)cap_value(pow, 0, USHRT_MAX);
}
@ -6950,6 +6957,8 @@ static unsigned short status_calc_sta(struct block_list *bl, status_change *sc,
if (sc->getSCE(SC_RELIGIO))
sta += sc->getSCE(SC_RELIGIO)->val2;
if (sc->getSCE(SC_SANDY_FESTIVAL))
sta += sc->getSCE(SC_SANDY_FESTIVAL)->val2;
return (unsigned short)cap_value(sta, 0, USHRT_MAX);
}
@ -6968,6 +6977,8 @@ static unsigned short status_calc_wis(struct block_list *bl, status_change *sc,
if (sc->getSCE(SC_RELIGIO))
wis += sc->getSCE(SC_RELIGIO)->val2;
if (sc->getSCE(SC_SANDY_FESTIVAL))
wis += sc->getSCE(SC_SANDY_FESTIVAL)->val2;
return (unsigned short)cap_value(wis, 0, USHRT_MAX);
}
@ -6986,6 +6997,8 @@ static unsigned short status_calc_spl(struct block_list *bl, status_change *sc,
if (sc->getSCE(SC_RELIGIO))
spl += sc->getSCE(SC_RELIGIO)->val2;
if (sc->getSCE(SC_SANDY_FESTIVAL))
spl += sc->getSCE(SC_SANDY_FESTIVAL)->val2;
return (unsigned short)cap_value(spl, 0, USHRT_MAX);
}
@ -7004,6 +7017,8 @@ static unsigned short status_calc_con(struct block_list *bl, status_change *sc,
if (sc->getSCE(SC_BENEDICTUM))
con += sc->getSCE(SC_BENEDICTUM)->val2;
if (sc->getSCE(SC_MARINE_FESTIVAL))
con += sc->getSCE(SC_MARINE_FESTIVAL)->val2;
return (unsigned short)cap_value(con, 0, USHRT_MAX);
}
@ -7022,6 +7037,8 @@ static unsigned short status_calc_crt(struct block_list *bl, status_change *sc,
if (sc->getSCE(SC_BENEDICTUM))
crt += sc->getSCE(SC_BENEDICTUM)->val2;
if (sc->getSCE(SC_MARINE_FESTIVAL))
crt += sc->getSCE(SC_MARINE_FESTIVAL)->val2;
return (unsigned short)cap_value(crt, 0, USHRT_MAX);
}
@ -8542,6 +8559,10 @@ static signed short status_calc_patk(struct block_list *bl, status_change *sc, i
}
if (sc->getSCE(SC_HIDDEN_CARD))
patk += sc->getSCE(SC_HIDDEN_CARD)->val2;
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);
}
@ -8569,6 +8590,10 @@ static signed short status_calc_smatk(struct block_list *bl, status_change *sc,
if( sc->getSCE( SC_ATTACK_STANCE ) ){
smatk += sc->getSCE( SC_ATTACK_STANCE )->val3;
}
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);
}
@ -8637,6 +8662,9 @@ static signed short status_calc_hplus(struct block_list *bl, status_change *sc,
if (!sc || !sc->count)
return cap_value(hplus, 0, SHRT_MAX);
if (sc->getSCE(SC_TEMPORARY_COMMUNION))
hplus += sc->getSCE(SC_TEMPORARY_COMMUNION)->val2;
return (short)cap_value(hplus, 0, SHRT_MAX);
}
@ -12778,6 +12806,20 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
val2 = 3 * val1;
val3 = 10 * val1;
break;
case SC_TEMPORARY_COMMUNION:
val2 = val1 * 3;
break;
case SC_MARINE_FESTIVAL:
case SC_SANDY_FESTIVAL:
val2 = 2 * val1;
break;
case SC_KI_SUL_RAMPAGE:
tick_time = 1000;
val4 = tick / tick_time;
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()) {
@ -13768,6 +13810,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.
@ -14928,8 +14974,23 @@ TIMER_FUNC(status_change_timer){
sce->val4++;
sc_start(bl, bl, SC_INTENSIVE_AIM_COUNT, 100, sce->val4, INFINITE_TICK);
}
sc_timer_next(500 + tick);
return 0;
case SC_KI_SUL_RAMPAGE:
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))) {
i += 2;
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 | 1, skill_castend_nodamage_id);
sc_timer_next(1000 + tick);
return 0;
}
break;
}
// If status has an interval and there is at least 100ms remaining time, wait for next interval

View File

@ -1312,6 +1312,22 @@ enum sc_type : int16 {
SC_AGIUP,
SC_PROTECTION,
// 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,
SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
};