summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-07-10 16:22:29 +0300
committerAndrei Karas <akaras@inbox.ru>2016-07-10 16:22:29 +0300
commit5bdf402cff0d71b3791ee7782280b8889a51e10e (patch)
treef1a24cd5b9ee164aba624d0547a6d8ffbab6e186 /src/map
parent66618b60c096f98f2c849ff5f8ce02a3af580996 (diff)
downloadhercules-5bdf402cff0d71b3791ee7782280b8889a51e10e.tar.gz
hercules-5bdf402cff0d71b3791ee7782280b8889a51e10e.tar.bz2
hercules-5bdf402cff0d71b3791ee7782280b8889a51e10e.tar.xz
hercules-5bdf402cff0d71b3791ee7782280b8889a51e10e.zip
Add sc_config.txt flag for always visible effects.
Remove hardcoded visible effects from status.c and add visible flag into sc_config.txt
Diffstat (limited to 'src/map')
-rw-r--r--src/map/status.c44
-rw-r--r--src/map/status.h17
2 files changed, 13 insertions, 48 deletions
diff --git a/src/map/status.c b/src/map/status.c
index 83d8943c9..e5fdd26ea 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -1170,46 +1170,6 @@ void initChangeTables(void) {
status->dbs->ChangeFlagTable[SC_MAGICAL_FEATHER] |= SCB_NONE;
status->dbs->ChangeFlagTable[SC_BLOSSOM_FLUTTERING] |= SCB_NONE;
- /* status->dbs->DisplayType Table [Ind/Hercules] */
- status->dbs->DisplayType[SC_ALL_RIDING] = true;
- status->dbs->DisplayType[SC_PUSH_CART] = true;
- status->dbs->DisplayType[SC_SUMMON1] = true;
- status->dbs->DisplayType[SC_SUMMON2] = true;
- status->dbs->DisplayType[SC_SUMMON3] = true;
- status->dbs->DisplayType[SC_SUMMON4] = true;
- status->dbs->DisplayType[SC_SUMMON5] = true;
- status->dbs->DisplayType[SC_CAMOUFLAGE] = true;
- status->dbs->DisplayType[SC_DUPLELIGHT] = true;
- status->dbs->DisplayType[SC_ORATIO] = true;
- status->dbs->DisplayType[SC_FROSTMISTY] = true;
- status->dbs->DisplayType[SC_VENOMIMPRESS] = true;
- status->dbs->DisplayType[SC_HALLUCINATIONWALK] = true;
- status->dbs->DisplayType[SC_ROLLINGCUTTER] = true;
- status->dbs->DisplayType[SC_BANDING] = true;
- status->dbs->DisplayType[SC_COLD] = true;
- status->dbs->DisplayType[SC_DEEP_SLEEP] = true;
- status->dbs->DisplayType[SC_CURSEDCIRCLE_ATKER] = true;
- status->dbs->DisplayType[SC_CURSEDCIRCLE_TARGET] = true;
- status->dbs->DisplayType[SC_BLOOD_SUCKER] = true;
- status->dbs->DisplayType[SC__SHADOWFORM] = true;
- status->dbs->DisplayType[SC_MONSTER_TRANSFORM] = true;
-
- // Costumes
- status->dbs->DisplayType[SC_MOONSTAR] = true;
- status->dbs->DisplayType[SC_SUPER_STAR] = true;
- status->dbs->DisplayType[SC_STRANGELIGHTS] = true;
- status->dbs->DisplayType[SC_DECORATION_OF_MUSIC] = true;
- status->dbs->DisplayType[SC_LJOSALFAR] = true;
- status->dbs->DisplayType[SC_MERMAID_LONGING] = true;
- status->dbs->DisplayType[SC_HAT_EFFECT] = true;
- status->dbs->DisplayType[SC_FLOWERSMOKE] = true;
- status->dbs->DisplayType[SC_FSTONE] = true;
- status->dbs->DisplayType[SC_HAPPINESS_STAR] = true;
- status->dbs->DisplayType[SC_MAPLE_FALLS] = true;
- status->dbs->DisplayType[SC_TIME_ACCESSORY] = true;
- status->dbs->DisplayType[SC_MAGICAL_FEATHER] = true;
- status->dbs->DisplayType[SC_BLOSSOM_FLUTTERING] = true;
-
if( !battle_config.display_hallucination ) //Disable Hallucination.
status->dbs->IconChangeTable[SC_ILLUSION] = SI_BLANK;
#undef add_sc
@@ -13006,6 +12966,10 @@ bool status_readdb_scconfig(char* fields[], int columns, int current) {
}
status->dbs->sc_conf[val] = (int)strtol(fields[1], NULL, 0);
+ if (status->dbs->sc_conf[val] & SC_VISIBLE)
+ {
+ status->dbs->DisplayType[val] = true;
+ }
return true;
}
diff --git a/src/map/status.h b/src/map/status.h
index dbb507bd1..e4a326e88 100644
--- a/src/map/status.h
+++ b/src/map/status.h
@@ -74,14 +74,15 @@ enum refine_type {
* @see db/sc_config.txt for more information
**/
typedef enum sc_conf_type {
- SC_NO_REM_DEATH = 0x01,
- SC_NO_SAVE = 0x02,
- SC_NO_DISPELL = 0x04,
- SC_NO_CLEARANCE = 0x08,
- SC_BUFF = 0x10,
- SC_DEBUFF = 0x20,
- SC_MADO_NO_RESET = 0x40,
- SC_NO_CLEAR = 0x80,
+ SC_NO_REM_DEATH = 0x001,
+ SC_NO_SAVE = 0x002,
+ SC_NO_DISPELL = 0x004,
+ SC_NO_CLEARANCE = 0x008,
+ SC_BUFF = 0x010,
+ SC_DEBUFF = 0x020,
+ SC_MADO_NO_RESET = 0x040,
+ SC_NO_CLEAR = 0x080,
+ SC_VISIBLE = 0x100
} sc_conf_type;
/**