Implemented new Meister skills (#7986)

* Implemented MT_MIGHTY_SMASH
- Deals melee physical damage to all targets around the user.
- When using while under Axe Stomp buff, increases damage and number of hit.
- Fixed casting time : - (based on level 10).
- Variable Casting time : - (based on level 10).
- Cooldown: 0.3 seconds (based on level 10).
- Global cool time : - (based on level 10).

* Updated Mighty Smash to last rebalance
- Increases cooldown from 0.3 seconds to 0.5 seconds.
- Adds global cool time by 0.25 seconds.
- Increases SP consumption from 78 to 95 based on level 10.
- Reduces base damage from 3100%/3150%Atk to 1825%/1850%Atk per hit based on level 10.
- Increases number of hit from 3/5 hits to 5/7 hits.
- While under Axe Stomp buff, increases factor weight of POW in skill formula from 7 to 10.

* Implemented MT_TRIPLE_LASER
- Deals long ranged physical damage to the target.
- Can only be used when using Madogear.
- Has a chance to trigger critical, the critical chance is the user's cri.
- Damage property depends on weapon property.
- Doesn't consume magic gear fuel or cannonball.
- Fixed casting time : 0.5 seconds (based on level 5).
- Variable Casting time : 1 seconds (based on level 5).
- Cooldown: 0.25 seconds (based on level 5).
- Global cool time : - (based on level 5).

* Updated Triple Laser to last rebalance
- Increases cooldown from 0.25 seconds to 0.35 seconds.
- Adds global cool time by 0.25 seconds.
- Increases base damage from 3300%Atk to 5050%Atk per hit based on level 5.
- Increases factor weight of POW in skill formula from 10 to 12.

* Implemented MT_SPARK_BLASTER
- Deals long ranged physical damage to the target and surrounding enemies around the target with the range up to 9x9 cells.
- Can only be used when using Madogear.
- Affected by Hit/Flee calculation.
- Ignores physical defense.
- Doesn't consume magic gear fuel or cannonball.
- Damage property depends on weapon property.
- Recovers 2 AP.
- Fixed casting time : 0.5 seconds (based on level 10).
- Variable Casting time : 1.5 seconds (based on level 10).
- Cooldown: 0.7 seconds (based on level 10).
- Global cool time : 0.25 seconds (based on level 10).

* Updated Spark Blaster to last rebalance
- Reduces cooldown from 0.7 seconds to 0.5 seconds.
- Increases base damage from 7750%Atk to 9250%Atk based on level 10.

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>

Credits to @datawulf
This commit is contained in:
Atemo 2023-10-30 16:34:52 +01:00 committed by GitHub
parent f000e76ba4
commit eec9d34ead
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 211 additions and 1 deletions

View File

@ -41389,6 +41389,166 @@ Body:
SplashArea: 6
Requires:
SpCost: 1
- Id: 6002
Name: MT_SPARK_BLASTER
Description: Spark Blaster
MaxLevel: 10
Type: Weapon
TargetType: Attack
DamageFlags:
Splash: true
IgnoreDefense: true
Flags:
AllowOnMado: true
Range: 9
Hit: Multi_Hit
HitCount: 2
GiveAp: 2
Element: Weapon
SplashArea:
- Level: 1
Area: 3
- Level: 2
Area: 3
- Level: 3
Area: 3
- Level: 4
Area: 3
- Level: 5
Area: 3
- Level: 6
Area: 4
- Level: 7
Area: 4
- Level: 8
Area: 4
- Level: 9
Area: 4
- Level: 10
Area: 4
CastCancel: true
CastTime: 1500
FixedCastTime: 500
AfterCastActDelay: 500
Cooldown: 500
Requires:
SpCost:
- Level: 1
Amount: 48
- Level: 2
Amount: 52
- Level: 3
Amount: 56
- Level: 4
Amount: 60
- Level: 5
Amount: 64
- Level: 6
Amount: 68
- Level: 7
Amount: 72
- Level: 8
Amount: 76
- Level: 9
Amount: 80
- Level: 10
Amount: 84
State: Mado
- Id: 6003
Name: MT_TRIPLE_LASER
Description: Triple Laser
MaxLevel: 5
Type: Weapon
TargetType: Attack
Flags:
AllowOnMado: true
DamageFlags:
Critical: true
Range: 11
Hit: Multi_Hit
HitCount: 3
Element: Weapon
CastCancel: true
CastTime: 1000
FixedCastTime: 500
AfterCastActDelay: 250
Cooldown: 350
Requires:
SpCost:
- Level: 1
Amount: 40
- Level: 2
Amount: 45
- Level: 3
Amount: 50
- Level: 4
Amount: 55
- Level: 5
Amount: 60
State: Mado
- Id: 6004
Name: MT_MIGHTY_SMASH
Description: Mighty Smash
MaxLevel: 10
Type: Weapon
TargetType: Self
DamageFlags:
Splash: true
Flags:
AllowOnMado: true
Range: 1
Hit: Multi_Hit
HitCount: 5
Element: Weapon
SplashArea:
- Level: 1
Area: 1
- Level: 2
Area: 1
- Level: 3
Area: 1
- Level: 4
Area: 1
- Level: 5
Area: 2
- Level: 6
Area: 2
- Level: 7
Area: 2
- Level: 8
Area: 2
- Level: 9
Area: 3
- Level: 10
Area: 3
CastCancel: true
AfterCastActDelay: 250
Cooldown: 500
Requires:
SpCost:
- Level: 1
Amount: 68
- Level: 2
Amount: 71
- Level: 3
Amount: 74
- Level: 4
Amount: 77
- Level: 5
Amount: 80
- Level: 6
Amount: 83
- Level: 7
Amount: 86
- Level: 8
Amount: 89
- Level: 9
Amount: 92
- Level: 10
Amount: 95
Weapon:
1hAxe: true
2hAxe: true
- Id: 8001
Name: HLIF_HEAL
Description: Healing Touch

View File

@ -6765,6 +6765,21 @@ Body:
Level: 3
- Name: MT_SUMMON_ABR_BATTLE_WARIOR
Level: 2
- Name: MT_SPARK_BLASTER
MaxLevel: 10
Requires:
- Name: MT_M_MACHINE
Level: 1
- Name: MT_TRIPLE_LASER
MaxLevel: 5
Requires:
- Name: MT_SPARK_BLASTER
Level: 5
- Name: MT_MIGHTY_SMASH
MaxLevel: 10
Requires:
- Name: MT_AXE_STOMP
Level: 3
- Name: MT_SUMMON_ABR_MOTHER_NET
MaxLevel: 4
Requires:

View File

@ -89,7 +89,7 @@ typedef uint32 t_itemid;
#endif
#define MAX_FAME 1000000000 ///Max fame points
#define MAX_CART 100 ///Maximum item in cart
#define MAX_SKILL 1500 ///Maximum skill can be hold by Player, Homunculus, & Mercenary (skill list) AND skill_db limit
#define MAX_SKILL 1623 ///Maximum skill can be hold by Player, Homunculus, & Mercenary (skill list) AND skill_db limit
#define DEFAULT_WALK_SPEED 150 ///Default walk speed
#define MIN_WALK_SPEED 20 ///Min walk speed
#define MAX_WALK_SPEED 1000 ///Max walk speed

View File

@ -5533,6 +5533,15 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
skillratio += -100 + 350 + 850 * skill_lv + 5 * sstatus->pow;
RE_LVL_DMOD(100);
break;
case MT_MIGHTY_SMASH:
skillratio += -100 + 25 + 180 * skill_lv;
skillratio += 5 * sstatus->pow;
if (sc && sc->getSCE(SC_AXE_STOMP)) {
skillratio += 25;
skillratio += 5 * sstatus->pow;
}
RE_LVL_DMOD(100);
break;
case MT_RUSH_QUAKE:
skillratio += -100 + 3600 * skill_lv + 10 * sstatus->pow;
if (tstatus->race == RC_FORMLESS || tstatus->race == RC_INSECT)
@ -5543,6 +5552,16 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
skillratio += -100 + 200 * skill_lv + 5 * sstatus->pow;
RE_LVL_DMOD(100);
break;
case MT_SPARK_BLASTER:
skillratio += -100 + 250 + 900 * skill_lv;
skillratio += 5 * sstatus->pow;
RE_LVL_DMOD(100);
break;
case MT_TRIPLE_LASER:
skillratio += -100 + 550 + 900 * skill_lv;
skillratio += 12 * sstatus->pow;
RE_LVL_DMOD(100);
break;
case ABC_ABYSS_DAGGER:
skillratio += -100 + 100 + 500 * skill_lv + 5 * sstatus->pow;
RE_LVL_DMOD(100);
@ -6640,6 +6659,10 @@ static struct Damage initialize_weapon_data(struct block_list *src, struct block
case SHC_SAVAGE_IMPACT:
wd.div_ = wd.div_ + wd.miscflag;
break;
case MT_MIGHTY_SMASH:
if (sc && sc->getSCE(SC_AXE_STOMP))
wd.div_ = 7;
break;
}
} else {
bool is_long = false;

View File

@ -5207,6 +5207,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case ABR_BATTLE_BUSTER:
case ABR_DUAL_CANNON_FIRE:
case ABR_INFINITY_BUSTER:
case MT_TRIPLE_LASER:
skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
break;
@ -5641,8 +5642,10 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case SHC_IMPACT_CRATER:
case SHC_FATAL_SHADOW_CROW:
case MT_AXE_STOMP:
case MT_MIGHTY_SMASH:
case MT_RUSH_QUAKE:
case MT_A_MACHINE:
case MT_SPARK_BLASTER:
case ABC_ABYSS_DAGGER:
case ABC_CHAIN_REACTION_SHOT:
case ABC_DEFT_STAB:
@ -5730,6 +5733,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case GN_CARTCANNON:
case SU_SCRATCH:
case DK_HACKANDSLASHER:
case MT_SPARK_BLASTER:
clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
#ifdef RENEWAL
@ -8486,6 +8490,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case IQ_EXPOSION_BLASTER:
case SHC_IMPACT_CRATER:
case MT_AXE_STOMP:
case MT_MIGHTY_SMASH:
case ABC_ABYSS_DAGGER:
{
status_change *sc = status_get_sc(src);

View File

@ -2331,6 +2331,13 @@ enum e_skill {
NW_THE_VIGILANTE_AT_NIGHT_GUN_SHOTGUN,
SS_FUUMAKOUCHIKU_BLASTING,
DK_DRAGONIC_BREATH = 6001,
MT_SPARK_BLASTER,
MT_TRIPLE_LASER,
MT_MIGHTY_SMASH,
BO_EXPLOSIVE_POWDER,
BO_MAYHEMIC_THORNS,
HLIF_HEAL = 8001,
HLIF_AVOID,
HLIF_BRAIN,