summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/pre-re/skill_db.conf20
-rw-r--r--db/re/skill_db.conf20
-rw-r--r--src/map/skill.c30
-rw-r--r--src/map/skill.h1
4 files changed, 50 insertions, 21 deletions
diff --git a/db/pre-re/skill_db.conf b/db/pre-re/skill_db.conf
index f3e3bfb4a..0660ce01d 100644
--- a/db/pre-re/skill_db.conf
+++ b/db/pre-re/skill_db.conf
@@ -76,6 +76,7 @@
ShowSkillScale: true/false (boolean, defaults to false)
AllowReproduce: true/false (boolean, defaults to false)
HiddenTrap: true/false (boolean, defaults to false)
+ IsCombo: true/false (boolean, defaults to false)
}
AttackType: "Attack Type" (string, defaults to "None")
Types: "None", "Weapon", "Magic" or "Misc"
@@ -7735,6 +7736,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
DamageType: {
@@ -7811,6 +7813,7 @@ skill_db: (
SkillInfo: {
NoCastSelf: true
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -7871,6 +7874,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -10921,6 +10925,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -10969,6 +10974,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12254,6 +12260,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12306,6 +12313,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12356,6 +12364,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12411,6 +12420,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12462,6 +12472,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -15021,6 +15032,7 @@ skill_db: (
}
SkillInfo: {
Spirit: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -19061,6 +19073,9 @@ skill_db: (
SkillType: {
Self: true
}
+ SkillInfo: {
+ IsCombo: true
+ }
AttackType: "Weapon"
Element: "Ele_Weapon"
DamageType: {
@@ -19097,6 +19112,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -25006,6 +25022,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -25129,6 +25146,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -25174,6 +25192,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -25642,6 +25661,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
NumberOfHits: -7
diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf
index e1f2098cd..0fc15c9d1 100644
--- a/db/re/skill_db.conf
+++ b/db/re/skill_db.conf
@@ -76,6 +76,7 @@
ShowSkillScale: true/false (boolean, defaults to false)
AllowReproduce: true/false (boolean, defaults to false)
HiddenTrap: true/false (boolean, defaults to false)
+ IsCombo: true/false (boolean, defaults to false)
}
AttackType: "Attack Type" (string, defaults to "None")
Types: "None", "Weapon", "Magic" or "Misc"
@@ -8067,6 +8068,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
DamageType: {
@@ -8155,6 +8157,7 @@ skill_db: (
SkillInfo: {
NoCastSelf: true
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -8213,6 +8216,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -11237,6 +11241,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -11283,6 +11288,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12604,6 +12610,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12656,6 +12663,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12706,6 +12714,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12761,6 +12770,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12812,6 +12822,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -15371,6 +15382,7 @@ skill_db: (
}
SkillInfo: {
Spirit: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -19616,6 +19628,9 @@ skill_db: (
SkillType: {
Self: true
}
+ SkillInfo: {
+ IsCombo: true
+ }
AttackType: "Weapon"
Element: "Ele_Weapon"
DamageType: {
@@ -19652,6 +19667,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -25675,6 +25691,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -25799,6 +25816,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -25844,6 +25862,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -26320,6 +26339,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
NumberOfHits: -7
diff --git a/src/map/skill.c b/src/map/skill.c
index 7451fbf41..ad974c10b 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -13962,27 +13962,9 @@ static int skill_isammotype(struct map_session_data *sd, int skill_id)
**/
static bool skill_is_combo(int skill_id)
{
- switch( skill_id )
- {
- case MO_CHAINCOMBO:
- case MO_COMBOFINISH:
- case CH_TIGERFIST:
- case CH_CHAINCRUSH:
- case MO_EXTREMITYFIST:
- case TK_TURNKICK:
- case TK_STORMKICK:
- case TK_DOWNKICK:
- case TK_COUNTER:
- case TK_JUMPKICK:
- case HT_POWER:
- case GC_COUNTERSLASH:
- case GC_WEAPONCRUSH:
- case SR_FALLENEMPIRE:
- case SR_DRAGONCOMBO:
- case SR_TIGERCANNON:
- case SR_GATEOFHELL:
- return true;
- }
+ if (skill->get_inf2(skill_id) & INF2_IS_COMBO_SKILL)
+ return true;
+
return false;
}
@@ -20279,6 +20261,12 @@ static void skill_validate_skillinfo(struct config_setting_t *conf, struct s_ski
} else {
sk->inf2 &= ~INF2_HIDDEN_TRAP;
}
+ } else if (strcmpi(type, "IsCombo") == 0) {
+ if (on) {
+ sk->inf2 |= INF2_IS_COMBO_SKILL;
+ } else {
+ sk->inf2 &= ~INF2_IS_COMBO_SKILL;
+ }
} else if (strcmpi(type, "None") != 0) {
skilldb_invalid_error(type, config_setting_name(t), sk->nameid);
}
diff --git a/src/map/skill.h b/src/map/skill.h
index 5da37d129..fe5cb6282 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -125,6 +125,7 @@ enum e_skill_inf2 {
INF2_SHOW_SKILL_SCALE = 0x20000,
INF2_ALLOW_REPRODUCE = 0x40000,
INF2_HIDDEN_TRAP = 0x80000, // Traps that are hidden (based on trap_visiblity battle conf)
+ INF2_IS_COMBO_SKILL = 0x100000, // Sets whether a skill can be used in combos or not
};