From a8b4244aea48a5b7118acb2c136adcd50e8b650f Mon Sep 17 00:00:00 2001
From: Ben Longbons <b.r.longbons@gmail.com>
Date: Wed, 9 Jan 2013 14:46:35 -0800
Subject: Begin to trim skills.

---
 src/map/skill.cpp   | 400 +---------------------------------------------------
 src/map/skill.hpp   |   1 -
 src/map/skill.t.hpp |  31 ----
 3 files changed, 1 insertion(+), 431 deletions(-)

(limited to 'src')

diff --git a/src/map/skill.cpp b/src/map/skill.cpp
index 98b6f7d..5488738 100644
--- a/src/map/skill.cpp
+++ b/src/map/skill.cpp
@@ -7401,7 +7401,6 @@ int skill_check_condition(struct map_session_data *sd, int type)
     sp_rate = (lv <= 0) ? 0 : skill_db[skill].sp_rate[lv - 1];
     zeny = skill_get_zeny(skill, lv);
     weapon = skill_db[skill].weapon;
-    SkillState state = skill_db[skill].state;
     spiritball = (lv <= 0) ? 0 : skill_db[skill].spiritball[lv - 1];
     mhp = skill_get_mhp(skill, lv);    /* 消費HP */
     for (int i = 0; i < 10; i++)
@@ -7622,101 +7621,6 @@ int skill_check_condition(struct map_session_data *sd, int type)
         }
     }
 
-    switch (state)
-    {
-        case ST_HIDING:
-            if (!bool(sd->status.option & Option::HIDE2))
-            {
-                clif_skill_fail(sd, skill, 0, 0);
-                return 0;
-            }
-            break;
-        case ST_CLOAKING:
-            if (!bool(sd->status.option & Option::CLOAK))
-            {
-                clif_skill_fail(sd, skill, 0, 0);
-                return 0;
-            }
-            break;
-        case ST_HIDDEN:
-            if (!pc_ishiding(sd))
-            {
-                clif_skill_fail(sd, skill, 0, 0);
-                return 0;
-            }
-            break;
-        case ST_RIDING:
-            if (!pc_isriding(sd))
-            {
-                clif_skill_fail(sd, skill, 0, 0);
-                return 0;
-            }
-            break;
-        case ST_FALCON:
-            if (!pc_isfalcon(sd))
-            {
-                clif_skill_fail(sd, skill, 0, 0);
-                return 0;
-            }
-            break;
-        case ST_CART:
-            if (!pc_iscarton(sd))
-            {
-                clif_skill_fail(sd, skill, 0, 0);
-                return 0;
-            }
-            break;
-        case ST_SHIELD:
-            if (sd->status.shield <= 0)
-            {
-                clif_skill_fail(sd, skill, 0, 0);
-                return 0;
-            }
-            break;
-        case ST_SIGHT:
-            if (sd->sc_data[SC_SIGHT].timer == -1 && type & 1)
-            {
-                clif_skill_fail(sd, skill, 0, 0);
-                return 0;
-            }
-            break;
-        case ST_EXPLOSIONSPIRITS:
-            if (sd->sc_data[SC_EXPLOSIONSPIRITS].timer == -1)
-            {
-                clif_skill_fail(sd, skill, 0, 0);
-                return 0;
-            }
-            break;
-        case ST_RECOV_WEIGHT_RATE:
-            if (battle_config.natural_heal_weight_rate <= 100
-                && sd->weight * 100 / sd->max_weight >=
-                battle_config.natural_heal_weight_rate)
-            {
-                clif_skill_fail(sd, skill, 0, 0);
-                return 0;
-            }
-            break;
-        case ST_MOVE_ENABLE:
-        {
-            struct walkpath_data wpd;
-            if (path_search(&wpd, sd->bl.m, sd->bl.x, sd->bl.y, sd->skillx, sd->skilly,
-                 1) == -1)
-            {
-                clif_skill_fail(sd, skill, 0, 0);
-                return 0;
-            }
-        }
-            break;
-        case ST_WATER:
-            if (map_getcell(sd->bl.m, sd->bl.x, sd->bl.y) != 3
-                && (sd->sc_data[SC_DELUGE].timer == -1))
-            {                   //水場判定
-                clif_skill_fail(sd, skill, 0, 0);
-                return 0;
-            }
-            break;
-    }
-
     for (int i = 0; i < 10; i++)
     {
         int x = lv % 11 - 1;
@@ -11641,7 +11545,7 @@ SP scan_stat(char *statname)
 static
 int skill_readdb(void)
 {
-    int j, k, l;
+    int j, k;
     FILE *fp;
     char line[1024], *p;
 
@@ -11766,308 +11670,6 @@ int skill_readdb(void)
     fclose_(fp);
     PRINTF("read db/skill_db.txt done\n");
 
-    fp = fopen_("db/skill_require_db.txt", "r");
-    if (fp == NULL)
-    {
-        PRINTF("can't read db/skill_require_db.txt\n");
-        return 1;
-    }
-    while (fgets(line, 1020, fp))
-    {
-        char *split[51], *split2[MAX_SKILL_LEVEL];
-        if (line[0] == '/' && line[1] == '/')
-            continue;
-        for (j = 0, p = line; j < 30 && p; j++)
-        {
-            while (*p == '\t' || *p == ' ')
-                p++;
-            split[j] = p;
-            p = strchr(p, ',');
-            if (p)
-                *p++ = 0;
-        }
-        if (split[29] == NULL || j < 30)
-            continue;
-
-        SkillID i = SkillID(atoi(split[0]));
-        if (/*i < SkillID() ||*/ i > MAX_SKILL_DB)
-            continue;
-
-        memset(split2, 0, sizeof(split2));
-        for (j = 0, p = split[1]; j < MAX_SKILL_LEVEL && p; j++)
-        {
-            split2[j] = p;
-            p = strchr(p, ':');
-            if (p)
-                *p++ = 0;
-        }
-        for (k = 0; k < MAX_SKILL_LEVEL; k++)
-            skill_db[i].hp[k] =
-                (split2[k]) ? atoi(split2[k]) : atoi(split2[0]);
-
-        memset(split2, 0, sizeof(split2));
-        for (j = 0, p = split[2]; j < MAX_SKILL_LEVEL && p; j++)
-        {
-            split2[j] = p;
-            p = strchr(p, ':');
-            if (p)
-                *p++ = 0;
-        }
-        for (k = 0; k < MAX_SKILL_LEVEL; k++)
-            skill_db[i].mhp[k] =
-                (split2[k]) ? atoi(split2[k]) : atoi(split2[0]);
-
-        memset(split2, 0, sizeof(split2));
-        for (j = 0, p = split[3]; j < MAX_SKILL_LEVEL && p; j++)
-        {
-            split2[j] = p;
-            p = strchr(p, ':');
-            if (p)
-                *p++ = 0;
-        }
-        for (k = 0; k < MAX_SKILL_LEVEL; k++)
-            skill_db[i].sp[k] =
-                (split2[k]) ? atoi(split2[k]) : atoi(split2[0]);
-
-        memset(split2, 0, sizeof(split2));
-        for (j = 0, p = split[4]; j < MAX_SKILL_LEVEL && p; j++)
-        {
-            split2[j] = p;
-            p = strchr(p, ':');
-            if (p)
-                *p++ = 0;
-        }
-        for (k = 0; k < MAX_SKILL_LEVEL; k++)
-            skill_db[i].hp_rate[k] =
-                (split2[k]) ? atoi(split2[k]) : atoi(split2[0]);
-
-        memset(split2, 0, sizeof(split2));
-        for (j = 0, p = split[5]; j < MAX_SKILL_LEVEL && p; j++)
-        {
-            split2[j] = p;
-            p = strchr(p, ':');
-            if (p)
-                *p++ = 0;
-        }
-        for (k = 0; k < MAX_SKILL_LEVEL; k++)
-            skill_db[i].sp_rate[k] =
-                (split2[k]) ? atoi(split2[k]) : atoi(split2[0]);
-
-        memset(split2, 0, sizeof(split2));
-        for (j = 0, p = split[6]; j < MAX_SKILL_LEVEL && p; j++)
-        {
-            split2[j] = p;
-            p = strchr(p, ':');
-            if (p)
-                *p++ = 0;
-        }
-        for (k = 0; k < MAX_SKILL_LEVEL; k++)
-            skill_db[i].zeny[k] =
-                (split2[k]) ? atoi(split2[k]) : atoi(split2[0]);
-
-        memset(split2, 0, sizeof(split2));
-        for (j = 0, p = split[7]; j < 32 && p; j++)
-        {
-            split2[j] = p;
-            p = strchr(p, ':');
-            if (p)
-                *p++ = 0;
-        }
-        for (k = 0; k < 32 && split2[k]; k++)
-        {
-            l = atoi(split2[k]);
-            if (l == 99)
-            {
-                skill_db[i].weapon = 0xffffffff;
-                break;
-            }
-            else
-                skill_db[i].weapon |= 1 << l;
-        }
-
-        if (strcasecmp(split[8], "hiding") == 0)
-            skill_db[i].state = ST_HIDING;
-        else if (strcasecmp(split[8], "cloaking") == 0)
-            skill_db[i].state = ST_CLOAKING;
-        else if (strcasecmp(split[8], "hidden") == 0)
-            skill_db[i].state = ST_HIDDEN;
-        else if (strcasecmp(split[8], "riding") == 0)
-            skill_db[i].state = ST_RIDING;
-        else if (strcasecmp(split[8], "falcon") == 0)
-            skill_db[i].state = ST_FALCON;
-        else if (strcasecmp(split[8], "cart") == 0)
-            skill_db[i].state = ST_CART;
-        else if (strcasecmp(split[8], "shield") == 0)
-            skill_db[i].state = ST_SHIELD;
-        else if (strcasecmp(split[8], "sight") == 0)
-            skill_db[i].state = ST_SIGHT;
-        else if (strcasecmp(split[8], "explosionspirits") == 0)
-            skill_db[i].state = ST_EXPLOSIONSPIRITS;
-        else if (strcasecmp(split[8], "recover_weight_rate") == 0)
-            skill_db[i].state = ST_RECOV_WEIGHT_RATE;
-        else if (strcasecmp(split[8], "move_enable") == 0)
-            skill_db[i].state = ST_MOVE_ENABLE;
-        else if (strcasecmp(split[8], "water") == 0)
-            skill_db[i].state = ST_WATER;
-        else
-            skill_db[i].state = ST_NONE;
-
-        memset(split2, 0, sizeof(split2));
-        for (j = 0, p = split[9]; j < MAX_SKILL_LEVEL && p; j++)
-        {
-            split2[j] = p;
-            p = strchr(p, ':');
-            if (p)
-                *p++ = 0;
-        }
-        for (k = 0; k < MAX_SKILL_LEVEL; k++)
-            skill_db[i].spiritball[k] =
-                (split2[k]) ? atoi(split2[k]) : atoi(split2[0]);
-        skill_db[i].itemid[0] = atoi(split[10]);
-        skill_db[i].amount[0] = atoi(split[11]);
-        skill_db[i].itemid[1] = atoi(split[12]);
-        skill_db[i].amount[1] = atoi(split[13]);
-        skill_db[i].itemid[2] = atoi(split[14]);
-        skill_db[i].amount[2] = atoi(split[15]);
-        skill_db[i].itemid[3] = atoi(split[16]);
-        skill_db[i].amount[3] = atoi(split[17]);
-        skill_db[i].itemid[4] = atoi(split[18]);
-        skill_db[i].amount[4] = atoi(split[19]);
-        skill_db[i].itemid[5] = atoi(split[20]);
-        skill_db[i].amount[5] = atoi(split[21]);
-        skill_db[i].itemid[6] = atoi(split[22]);
-        skill_db[i].amount[6] = atoi(split[23]);
-        skill_db[i].itemid[7] = atoi(split[24]);
-        skill_db[i].amount[7] = atoi(split[25]);
-        skill_db[i].itemid[8] = atoi(split[26]);
-        skill_db[i].amount[8] = atoi(split[27]);
-        skill_db[i].itemid[9] = atoi(split[28]);
-        skill_db[i].amount[9] = atoi(split[29]);
-    }
-    fclose_(fp);
-    PRINTF("read db/skill_require_db.txt done\n");
-
-    /* ? */
-    fp = fopen_("db/skill_cast_db.txt", "r");
-    if (fp == NULL)
-    {
-        PRINTF("can't read db/skill_cast_db.txt\n");
-        return 1;
-    }
-    while (fgets(line, 1020, fp))
-    {
-        char *split[50], *split2[MAX_SKILL_LEVEL];
-        memset(split, 0, sizeof(split));  // [Valaris] thanks to fov
-        if (line[0] == '/' && line[1] == '/')
-            continue;
-        for (j = 0, p = line; j < 5 && p; j++)
-        {
-            while (*p == '\t' || *p == ' ')
-                p++;
-            split[j] = p;
-            p = strchr(p, ',');
-            if (p)
-                *p++ = 0;
-        }
-        if (split[4] == NULL || j < 5)
-            continue;
-
-        SkillID i = SkillID(atoi(split[0]));
-        if (/*i < SkillID() ||*/ i > MAX_SKILL_DB)
-            continue;
-
-        memset(split2, 0, sizeof(split2));
-        for (j = 0, p = split[1]; j < MAX_SKILL_LEVEL && p; j++)
-        {
-            split2[j] = p;
-            p = strchr(p, ':');
-            if (p)
-                *p++ = 0;
-        }
-        for (k = 0; k < MAX_SKILL_LEVEL; k++)
-            skill_db[i].cast[k] =
-                (split2[k]) ? atoi(split2[k]) : atoi(split2[0]);
-
-        memset(split2, 0, sizeof(split2));
-        for (j = 0, p = split[2]; j < MAX_SKILL_LEVEL && p; j++)
-        {
-            split2[j] = p;
-            p = strchr(p, ':');
-            if (p)
-                *p++ = 0;
-        }
-        for (k = 0; k < MAX_SKILL_LEVEL; k++)
-            skill_db[i].delay[k] =
-                (split2[k]) ? atoi(split2[k]) : atoi(split2[0]);
-
-        memset(split2, 0, sizeof(split2));
-        for (j = 0, p = split[3]; j < MAX_SKILL_LEVEL && p; j++)
-        {
-            split2[j] = p;
-            p = strchr(p, ':');
-            if (p)
-                *p++ = 0;
-        }
-        for (k = 0; k < MAX_SKILL_LEVEL; k++)
-            skill_db[i].upkeep_time[k] =
-                (split2[k]) ? atoi(split2[k]) : atoi(split2[0]);
-
-        memset(split2, 0, sizeof(split2));
-        for (j = 0, p = split[4]; j < MAX_SKILL_LEVEL && p; j++)
-        {
-            split2[j] = p;
-            p = strchr(p, ':');
-            if (p)
-                *p++ = 0;
-        }
-        for (k = 0; k < MAX_SKILL_LEVEL; k++)
-            skill_db[i].upkeep_time2[k] =
-                (split2[k]) ? atoi(split2[k]) : atoi(split2[0]);
-    }
-    fclose_(fp);
-    PRINTF("read db/skill_cast_db.txt done\n");
-
-    fp = fopen_("db/skill_castnodex_db.txt", "r");
-    if (fp == NULL)
-    {
-        PRINTF("can't read db/skill_castnodex_db.txt\n");
-        return 1;
-    }
-    while (fgets(line, 1020, fp))
-    {
-        char *split[50], *split2[MAX_SKILL_LEVEL];
-        memset(split, 0, sizeof(split));
-        if (line[0] == '/' && line[1] == '/')
-            continue;
-        for (j = 0, p = line; j < 2 && p; j++)
-        {
-            while (*p == '\t' || *p == ' ')
-                p++;
-            split[j] = p;
-            p = strchr(p, ',');
-            if (p)
-                *p++ = 0;
-        }
-
-        SkillID i = SkillID(atoi(split[0]));
-        if (/*i < SkillID() ||*/ i > MAX_SKILL_DB)
-            continue;
-
-        memset(split2, 0, sizeof(split2));
-        for (j = 0, p = split[1]; j < MAX_SKILL_LEVEL && p; j++)
-        {
-            split2[j] = p;
-            p = strchr(p, ':');
-            if (p)
-                *p++ = 0;
-        }
-        for (k = 0; k < MAX_SKILL_LEVEL; k++)
-            skill_db[i].castnodex[k] =
-                (split2[k]) ? atoi(split2[k]) : atoi(split2[0]);
-    }
-    fclose_(fp);
-    PRINTF("read db/skill_castnodex_db.txt done\n");
-
     return 0;
 }
 
diff --git a/src/map/skill.hpp b/src/map/skill.hpp
index 086b9cb..12021ff 100644
--- a/src/map/skill.hpp
+++ b/src/map/skill.hpp
@@ -30,7 +30,6 @@ struct skill_db
         hp_rate[MAX_SKILL_LEVEL], sp_rate[MAX_SKILL_LEVEL],
         zeny[MAX_SKILL_LEVEL];
     int weapon;
-    SkillState state;
     int spiritball[MAX_SKILL_LEVEL];
     int itemid[10], amount[10];
     int castnodex[MAX_SKILL_LEVEL];
diff --git a/src/map/skill.t.hpp b/src/map/skill.t.hpp
index e286831..199114f 100644
--- a/src/map/skill.t.hpp
+++ b/src/map/skill.t.hpp
@@ -5,37 +5,6 @@
 
 #include "../common/utils.hpp"
 
-// only ST_NONE is actually used - TODO remove
-enum class SkillState
-{
-    ST_NONE,
-#define ST_NONE SkillState::ST_NONE
-    ST_HIDING,
-#define ST_HIDING SkillState::ST_HIDING
-    ST_CLOAKING,
-#define ST_CLOAKING SkillState::ST_CLOAKING
-    ST_HIDDEN,
-#define ST_HIDDEN SkillState::ST_HIDDEN
-    ST_RIDING,
-#define ST_RIDING SkillState::ST_RIDING
-    ST_FALCON,
-#define ST_FALCON SkillState::ST_FALCON
-    ST_CART,
-#define ST_CART SkillState::ST_CART
-    ST_SHIELD,
-#define ST_SHIELD SkillState::ST_SHIELD
-    ST_SIGHT,
-#define ST_SIGHT SkillState::ST_SIGHT
-    ST_EXPLOSIONSPIRITS,
-#define ST_EXPLOSIONSPIRITS SkillState::ST_EXPLOSIONSPIRITS
-    ST_RECOV_WEIGHT_RATE,
-#define ST_RECOV_WEIGHT_RATE SkillState::ST_RECOV_WEIGHT_RATE
-    ST_MOVE_ENABLE,
-#define ST_MOVE_ENABLE SkillState::ST_MOVE_ENABLE
-    ST_WATER,
-#define ST_WATER SkillState::ST_WATER
-};
-
 // TODO remove most of these as their corresponding SkillIDs get deleted.
 enum class StatusChange : uint16_t
 {
-- 
cgit v1.2.3-70-g09d2