From 5bdf402cff0d71b3791ee7782280b8889a51e10e Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 10 Jul 2016 16:22:29 +0300 Subject: Add sc_config.txt flag for always visible effects. Remove hardcoded visible effects from status.c and add visible flag into sc_config.txt --- db/sc_config.txt | 71 +++++++++++++++++++++++++++++--------------------------- src/map/status.c | 44 ++++------------------------------- src/map/status.h | 17 +++++++------- 3 files changed, 50 insertions(+), 82 deletions(-) diff --git a/db/sc_config.txt b/db/sc_config.txt index ac65a6677..104f81102 100644 --- a/db/sc_config.txt +++ b/db/sc_config.txt @@ -11,6 +11,7 @@ // 32 - SC considered as debuff and be removed by Gospel and etc. // 64 - SC cannot be reset when MADO Gear is taken off. // 128 - SC cannot be reset by 'sc_end SC_ALL' and status change clear. +// 256 - SC can be visible for all players // Example: // SC_ENDURE, 21 //SC_ENDURE: cannot be removed by death and dispell and cosidered as buff. (16 + 4 + 1 = 21) @@ -249,16 +250,16 @@ SC_ABUNDANCE, 20 //SC_REUSE_REFRESH, 29 //SC_REUSE_STORMBLAST, 29 SC_EPICLESIS, 29 -SC_ORATIO, 20 +SC_ORATIO, 276 SC_LAUDAAGNUS, 20 SC_LAUDARAMUS, 20 SC_CLOAKINGEXCEED, 30 -SC_HALLUCINATIONWALK, 28 +SC_HALLUCINATIONWALK, 284 SC_HALLUCINATIONWALK_POSTDELAY, 31 SC_RENOVATIO, 20 SC_WEAPONBLOCKING, 28 //SC_WEAPONBLOCKING_POSTDELAY, 31 -SC_ROLLINGCUTTER, 30 +SC_ROLLINGCUTTER, 286 SC_EXPIATIO, 20 SC_POISONINGWEAPON, 28 SC_TOXIN, 20 @@ -269,7 +270,7 @@ SC_DEATHHURT, 20 SC_PYREXIA, 20 SC_OBLIVIONCURSE, 20 SC_LEECHESEND, 20 -SC_DUPLELIGHT, 20 +SC_DUPLELIGHT, 276 SC_FEARBREEZE, 28 SC_ELECTRICSHOCKER, 30 SC_MARSHOFABYSS, 20 @@ -277,14 +278,14 @@ SC_RECOGNIZEDSPELL, 20 //SC_WUGRIDER, 29 SC_WUGDASH, 30 SC_WUGBITE, 30 -SC_CAMOUFLAGE, 30 +SC_CAMOUFLAGE, 286 SC_ACCELERATION, 28 SC_HOVERING, 28 -SC_SUMMON1, 24 -SC_SUMMON2, 24 -SC_SUMMON3, 24 -SC_SUMMON4, 24 -SC_SUMMON5, 24 +SC_SUMMON1, 280 +SC_SUMMON2, 280 +SC_SUMMON3, 280 +SC_SUMMON4, 280 +SC_SUMMON5, 280 SC_MVPCARD_TAOGUNKA, 60 SC_MVPCARD_MISTRESS, 60 SC_MVPCARD_ORCHERO, 60 @@ -309,7 +310,7 @@ SC_INT_SCROLL, 61 SC_FORCEOFVANGUARD, 28 SC_BUCHEDENOEL, 60 SC__AUTOSHADOWSPELL, 16 -SC__SHADOWFORM, 30 +SC__SHADOWFORM, 286 SC_RAID, 28 SC_SHIELDSPELL_DEF, 16 SC_SHIELDSPELL_MDEF, 16 @@ -320,7 +321,7 @@ SC_ADORAMUS, 16 SC_PRESTIGE, 16 SC__INVISIBILITY, 30 SC__DEADLYINFECT, 20 -SC_BANDING, 28 +SC_BANDING, 284 SC_BANDING_DEFENCE, 28 SC_EARTHDRIVE, 20 SC_INSPIRATION, 28 @@ -332,8 +333,8 @@ SC__LAZINESS, 16 SC_LIGHTNINGWALK, 28 SC_ACARAJE, 24 SC__UNLUCKY, 16 -SC_CURSEDCIRCLE_ATKER, 28 -SC_CURSEDCIRCLE_TARGET, 28 +SC_CURSEDCIRCLE_ATKER, 284 +SC_CURSEDCIRCLE_TARGET, 284 SC__WEAKNESS, 16 SC_CRESCENTELBOW, 28 //SC_NOEQUIPACCESSARY, 30 @@ -347,7 +348,7 @@ SC_PROPERTYWALK, 18 SC_SPELLFIST, 16 SC_NETHERWORLD, 16 SC_SIREN, 16 -SC_DEEP_SLEEP, 34 +SC_DEEP_SLEEP, 290 SC_SIRCLEOFNATURE, 16 SC_GLOOMYDAY, 16 SC_GLOOMYDAY_SK, 16 @@ -365,8 +366,8 @@ SC_MELODYOFSINK, 28 SC_BEYOND_OF_WARCRY, 28 SC_UNLIMITED_HUMMING_VOICE, 28 SC_WARMER, 2 -SC_VENOMIMPRESS, 4 -SC_FROSTMISTY, 32 +SC_VENOMIMPRESS, 260 +SC_FROSTMISTY, 288 //SC_ASSUMPTIO2, 16 //SC_GN_TRAINING_SWORD, 31 //SC_GN_REMODELING_CART, 31 @@ -402,7 +403,7 @@ SC_LIGHT_OF_REGENE, 1 SC_MAGIC_CANDY, 92 //SC_ALL_RIDING_REUSE_LIMIT, 1 //SC_HANDICAPSTATE_DEEP_SLEEP, 80 -SC_MONSTER_TRANSFORM, 12 +SC_MONSTER_TRANSFORM, 268 SC_MTF_ASPD, 12 SC_MTF_RANGEATK, 12 SC_MTF_MATK, 12 @@ -471,23 +472,25 @@ SC_DONTFORGETME, 79 SC_FORTUNE, 79 SC_SERVICEFORYOU, 79 SC_INCHIT, 77 -SC_PUSH_CART, 205 +SC_PUSH_CART, 461 +SC_COLD, 256 +SC_BLOOD_SUCKER, 256 // Costumes -SC_MOONSTAR, 207 -SC_SUPER_STAR, 207 -SC_STRANGELIGHTS, 207 -SC_DECORATION_OF_MUSIC, 207 -SC_LJOSALFAR, 207 -SC_MERMAID_LONGING, 207 -SC_HAT_EFFECT, 207 -SC_FLOWERSMOKE, 207 -SC_FSTONE, 207 -SC_HAPPINESS_STAR, 207 -SC_MAPLE_FALLS, 207 -SC_TIME_ACCESSORY, 207 -SC_MAGICAL_FEATHER, 207 -SC_BLOSSOM_FLUTTERING, 207 +SC_MOONSTAR, 463 +SC_SUPER_STAR, 463 +SC_STRANGELIGHTS, 463 +SC_DECORATION_OF_MUSIC, 463 +SC_LJOSALFAR, 463 +SC_MERMAID_LONGING, 463 +SC_HAT_EFFECT, 463 +SC_FLOWERSMOKE, 463 +SC_FSTONE, 463 +SC_HAPPINESS_STAR, 463 +SC_MAPLE_FALLS, 463 +SC_TIME_ACCESSORY, 463 +SC_MAGICAL_FEATHER, 463 +SC_BLOSSOM_FLUTTERING, 463 // Cant Clear -SC_ALL_RIDING, 141 +SC_ALL_RIDING, 397 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; /** -- cgit v1.2.3-70-g09d2