Advertisement
Guest User

comm

a guest
Dec 3rd, 2017
2,061
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 28.75 KB | None | 0 0
  1. #ifndef __INC_METIN2_COMMON_DEFINES_H__
  2. #define __INC_METIN2_COMMON_DEFINES_H__
  3.  
  4. enum eCommonDefines
  5. {
  6.     MAP_ALLOW_LIMIT = 32,                           // 32 default
  7. };
  8.  
  9. //------SECURITY------>
  10. #define ENABLE_PORT_SECURITY                        // Blockiert db_port, p2p_port und remote adminpage exploits
  11. // #define ENABLE_CHANGE_PACKET_LOGIN                   // Ändert den Login Packet
  12.  
  13.  
  14.  
  15.  
  16.  
  17. //------CHARACTERS------>
  18. #define ENABLE_PLAYER_PER_ACCOUNT5                  // Erlaubt 5 Character
  19.  
  20. #define ENABLE_WOLFMAN_CHARACTER                    // Wolfman Character
  21.     #ifdef ENABLE_WOLFMAN_CHARACTER
  22.         #define USE_MOB_BLEEDING_AS_POISON                  // Bluten wird deaktiviert und ist wie Gift
  23.         #define USE_MOB_CLAW_AS_DAGGER                      // Krallen wird deaktiviert und ist wie Dolche
  24.         #define USE_ITEM_BLEEDING_AS_POISON                 // Giftbonus kann bluten deffen (bluten wird deaktiviert)
  25.         #define USE_ITEM_CLAW_AS_DAGGER                     // Wiederstand gegen Dolche bonus kann Krallen deffen (Krallen wird deaktiviert)
  26.         #define USE_WOLFMAN_STONES                          // Wolfmenschsteine können bei Metins gedroppt werden
  27.         #define USE_WOLFMAN_BOOKS                           // Wolfmensch Skillbücher können gedropt werden
  28.         #define USE_LYCAN_CREATE_POSITION                   // if enabled, the lycan will be warped to his own village at character creation
  29.         #define ENABLE_WOLFMAN_CHARACTER_78                 // aktiviert 7&8 Skill für Wolfmenschen
  30.         // #define ENABLE_USE_SKILLS_WITHOUT_SWORD_FIX          // Fügt eine Abfrage ein, so das man kein Aura des Schwerts oder Verzauberte Klinge ohne Schwert benutzen kann
  31.     #endif
  32.  
  33. // #define ENABLE_KEYTO_CHARACTER                       // Keyto/Elfe Character
  34.     #ifdef ENABLE_KEYTO_CHARACTER
  35.         #define ENABLE_KEYTO_CHARACTER_EFFEKT               // Skill Effekt (Red-Shield)
  36.         #define USE_MOB_POLE_AS_BELL                        // Stange wird deaktiviert und ist wie Glocke
  37.         #define USE_ITEM_POLE_AS_BELL                       // Wiederstand gegen Glocken bonus kann Stange deffen (Stange wird deaktiviert)
  38.         #define USE_ELFE_STONES                             // Elfensteine können bei Metins gedroppt werden
  39.         #define USE_ELFE_BOOKS                              // Elfen Skillbücher können gedropt werden
  40.     //  #define ENABLE_KEYTO_CHARACTER_78                   // aktiviert 7&8 Skill für Elfen [NICHT IMPLEMENTIERT]
  41.     #endif
  42.  
  43.  
  44.  
  45.  
  46.  
  47. //--------SYSTEMS------->
  48. #define ENABLE_SHOW_MOB_INFO                        // Aktiviert Moob,NPC,Stone LVL-Anzeige
  49. #define ENABLE_SHOW_STROKE_INFO                     // Aktiviert Moob Schlag Info
  50. #define ENABLE_TRADABLE_ICON                        // Handelbare Items Anzeige
  51. #define NEW_ADD_INVENTORY                           // Inventarerweiterung
  52. #define __LANGUAGE_SYSTEM__                         // Multilanguage System
  53.     #define ENABLE_LANGUAGE_SYSTEM_FLAG                     // Ingame Multilang Flags
  54.     #ifdef __LANGUAGE_SYSTEM__
  55.         #include <sstream>
  56.  
  57.         #define SSTR( x ) static_cast< std::ostringstream & >( \
  58.             ( std::ostringstream() << std::dec << x ) ).str()
  59.     #endif
  60. /*---Main Systems*///--->
  61. #define ENABLE_SASH_SYSTEM                          // Sash mit Item-Scale
  62. #define NEW_PET_SYSTEM                              // Pet-System
  63.     #ifdef NEW_PET_SYSTEM
  64.     //  #define DISABLE_TRADE_UNSUMMON                      // this disable the unsummon of pet when a excange/trade/shop/myshop/safebox windows is open,
  65.                                                             // MAKE SURE to have set the items with vnum 55401/55402/55403/55404 with antiflag ANTI_SAFEBOX | ANTI_PKDROP | ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_STACK | ANTI_MYSHOP
  66.     #endif
  67. #define ENABLE_MOUNT_COSTUME_SYSTEM                 // Mount Slot
  68. #define ENABLE_WEAPON_COSTUME_SYSTEM                // Waffenkostümsystem
  69. #define ENABLE_MAGIC_REDUCTION_SYSTEM               // Anti-Magic bonus
  70.     #ifdef ENABLE_MAGIC_REDUCTION_SYSTEM
  71.         #define USE_MAGIC_REDUCTION_STONES                  // Anti-Magic Steine können bei Metins gedroppt werden
  72.     #endif
  73. #define ENABLE_SOULBIND_SYSTEM                      // Seelenbindungsystem
  74. #define ENABLE_ENCHANT_BONUS_ADD                    // Costume-Bonus Add&Change
  75. #define __CHANGE_LOOK_SYSTEM__                      // Projektionssystem
  76. #define __EXP_RING__
  77. // #define ENABLE_GM_ONLINE_LIST            // BUGG -> Man kann keine Freunde der Liste hinzufügen (keine Syserr)
  78.  
  79. #define ENABLE_OFFLINE_SHOP                         // Aktiviert Offline-Shop-System!
  80.     #ifdef ENABLE_OFFLINE_SHOP
  81.         #define SHOP_SEARCH                         // Shop Search
  82.             #ifdef SHOP_SEARCH
  83.                 #define SHOP_SEARCH_PRICE_MIN               //Price in gui is a minimum eq. price >= item_price if is commented price in gui is a maximum
  84.             #endif
  85.  
  86.         #ifdef ENABLE_VIP_SYSTEM
  87.     //      #define ENABLE_OFFLINESHOP_ONLY_FOR_VIP         // Offline-Shop kann nur als VIP-Spieler genutzt werden
  88.         #endif
  89.  
  90.         #define OFFLINE_SHOP                        // Offline shops system
  91.         #define GIFT_SYSTEM                                 // Geschenkesystem (GIFT ICON)
  92.         #define SHOP_TIME_REFRESH 1*60                      // Überprüfungszyklus der älteren Geschäfte
  93.         #define SHOP_BLOCK_GAME99                           // Verhindert shops erstellen auf Channel 99
  94.     //  #define SHOP_DISTANCE                               // Zeigt Shops Distance like WoM2
  95.         #define SHOP_AUTO_CLOSE                             // Auto-close des Shops nach letztem Itemverkauf
  96.     //  #define SHOP_ONLY_ALLOWED_INDEX                     // Enable limiting for other map index which is not defined in player.shop_limit
  97.     //  #define SHOP_HIDE_NAME                              // Shopnamen verheimlichen -> like "Player's shop"
  98.         #define SHOP_GM_PRIVILEGES GM_PLAYER                // Minimum GM Rechte für Shop GM Panel
  99.     #endif
  100.  
  101. /*Secundary Systems*///->
  102. #define ENABLE_OKAY_CARD                            // Okay-Card-Event
  103. #define ENABLE_7AND8TH_SKILLS                       // 7&8 Skill-System
  104. #define ENABLE_BOOK_COMBINATION                     // Bücherkombinieren
  105. #define ENABLE_TITLE_SYSTEM                         // Titelsystem (by Vegas)
  106. #define ENABLE_SHOP_EX                              // Shops werden aus der "shop_table_ex.txt" geladen
  107. #define ENABLE_CHEQUE_SYSTEM                        // WON
  108. // #define FULL_YANG                                    // Max-Yang
  109. // #define ENABLE_OFFLINE_PN_SYSTEM                 // Offline Nachrichten
  110. // #define __SKILLS_LEVEL_OVER_P__                  // P1-S Skill
  111. #define __GUILD_SAFEBOX__                           // Gildenlager
  112.  
  113. #define ENABLE_VIP_SYSTEM                           // VIPs vorhanden
  114.     #ifdef ENABLE_VIP_SYSTEM
  115.         #define ENABLE_RESTART_NOW_VIP                      // Sofort Aufstehen nur für VIPs
  116.     //  #define ENABLE_COSTS_OF_NOWSTART                    // Kostet 5kk fürs Aufstehen auf für VIPs
  117.     #endif
  118.  
  119. //#define ENABLE_PVP_ADVANCED                       // Erweitertes Duell System (by Vegas)
  120.     #ifdef ENABLE_PVP_ADVANCED
  121.         #define EQUIP_ENABLE_VIEW_SASH                      // EQ-Viewer    - [edit on length.h]
  122.  
  123.         #define BLOCK_CHANGEITEM    "pvp.BlockChangeItem"
  124.         #define BLOCK_BUFF          "pvp.BlockBuff"
  125.         #define BLOCK_POTION        "pvp.BlockPotion"
  126.         #define BLOCK_RIDE          "pvp.BlockRide"
  127.         #define BLOCK_PET           "pvp.BlockPet"
  128.         #define BLOCK_POLY          "pvp.BlockPoly"
  129.         #define BLOCK_PARTY         "pvp.BlockParty"
  130.         #define BLOCK_EXCHANGE_     "pvp.BlockExchange"
  131.         #define BLOCK_EQUIPMENT_    "pvp.BLOCK_VIEW_EQUIPMENT"
  132.         #define BET_WINNER          "pvp.BetMoney"
  133.         #define CHECK_IS_FIGHT      "pvp.IsFight"
  134.     #endif
  135.  
  136. /*-----Dungeons*///----->
  137. #define ENABLE_OCHAO_TEMPLE                         // Tempel der Ochao Dungeon
  138.     #ifdef ENABLE_OCHAO_TEMPLE
  139.         #define HEALING_SKILL_VNUM 265
  140.     #endif
  141.  
  142. #define __DUNGEON_FOR_GUILD__                       // Meley's Hort Dungeon
  143.     #ifdef __DUNGEON_FOR_GUILD__
  144.         #define __MELEY_LAIR_DUNGEON__
  145.         #ifdef __MELEY_LAIR_DUNGEON__
  146.             #define __DESTROY_INFINITE_STATUES_GM__
  147.             #define __LASER_EFFECT_ON_75HP__
  148.             #define __LASER_EFFECT_ON_50HP__
  149.         #endif
  150.     #endif
  151.  
  152.  
  153.  
  154. #define ENABLE_IMMUNE_POISON
  155.  
  156. //-----OPTIONS----->
  157. #define ENABLE_EXTEND_INVEN_SYSTEM                  // Aktiviert 4 Pages / deaktiviert 2 Pages
  158. #define __HIGHLIGHT_SYSTEM__                        // Inventar Drop Effekt
  159.  
  160. /*---Main Options*///--->
  161. #define ENABLE_DICE_SYSTEM                          // Randomdrop in einer Gruppe bei Bossen
  162. #define ENABLE_PARTY_EXP_DISTRIBUTION_EQUAL         // real equal exp distribution
  163.  
  164. #define __SEND_TARGET_INFO__                        // Mob-Drop Info @ Monsterleiste
  165.     #ifdef __SEND_TARGET_INFO__
  166.     //  #define ENABLE_COMMON_DROP_INFO                     // Lädt common_drop_item.txt (not recommand)
  167.     #endif
  168. #define ENABLE_DROP_DIALOG                          // Item Drop Dialog
  169. #define ENABLE_CHANNEL_SWITCHER                     // Ingame-Channel-Switcher
  170. #define ENABLE_SELLING_DRAGONSOUL                   // Erlaubt das verkaufen von Dragonsoul Items
  171. #define ENABLE_AFFECT_POLYMORPH_REMOVE              // Entfernt eine Verwandlung auf Abfrage
  172. #define ENABLE_SHOW_GUILD_RANKING_INFO              // Gildenrang vorm Gildennamen sichtbar
  173. #define ENABLE_GUILD_SESSION                        // Gildenkonferenz
  174. #define ENABLE_ATTBONUS_INSECT                      // Bonus gegen Insekten (Spinnen)
  175. #define ENABLE_QUIVER_SYSTEM                        // Arraw System
  176. #define ENABLE_GROUP_BUFF_SYSTEM                    // x
  177. #ifndef ENABLE_PVP_ADVANCED
  178.     #define ENABLE_EXTENDED_EQUIP_VIEW              // EQUIPMENT VIEWER
  179.     #define ENABLE_DUELL_BLOCK_SYSTEM               // Duellanfragen Ingame Blocken
  180. #endif
  181.  
  182. /*Secundary Options*///->
  183. #define ENABLE_RELOAD_ADMIN_LSIT
  184. #define ENABLE_FIX_BUFF_WO_SWORD                    // VZK, AURA Effekt Bug ohne Waffe
  185. #define ENABLE_REMOVE_SKILLS_IFPOLYMORPHED          // Entfernt bei der Verwandlung die Skills die in der Tabelle angegeben sind (Patch vom offiziellen Metin2)
  186. #define ENABLE_BLOCK_EXP                            // Ingame-Exp-Blocker
  187. #define ENABLE_ANNOUNCEMENT_LEVELUP                 // Chat-Level-Anzeige bei Levelup in 30er Steps
  188. #define __YANG_BOMB__
  189. #define ENABLE_CHECK_IF_SAFEBOX_OPEN        // nochmal durchchecken!
  190. #define ENABLE_INVENTORY_SORT               // nochmal durchchecken!
  191. #define _isBLOCK_Change_Add_Attribute_and_Socket_Put_
  192. #define ENABLE_SET_STATES                           // Status Verteilen mit Eingabe
  193.     #ifdef ENABLE_SET_STATES
  194.         #define ENABLE_STATES_VALUE_CHANGE                  // con+ -> ht
  195.         #define ENABLE_SET_STATES_PRIVILEGES GM_PLAYER      // Privileges: GM_PLAYER, GM_LOW_WIZARD
  196.     #endif
  197. #define ENABLE_MONARCH_AFFECT                       // Monarch KING Zeichen
  198. #define ENABLE_WEARED_ITEM_SAFEBOX_BLOCK            // Blockiert das man ausgerüstete Gegenstände ins Lager geben kann
  199. // #define ENABLE_EMOTION_WITH_SAME_SEX             // Aktiv: Gleichgeschlechtliche Emotionen möglich
  200. // #define ENABLE_BIGGER_SHOPS                      // Erweitert Shopgröße um das doppelte; Default: 40
  201.  
  202. #define ENABLE_NEW_EFFECT                           // Aktiviert neuen Clienteffekt
  203.     #ifdef ENABLE_NEW_EFFECT
  204.         #define ENABLE_NEW_RING_EFFECT                      // Ring Effekt
  205.         #define ENABLE_NEW_WS_EFFECT                        // Windschuhe Effekt
  206.         #define ENABLE_NEW_HM_EFFECT                        // Helden Medaille Effekt
  207.         #define ENABLE_NEW_CHOC_EFFECT                      // Chocolate Effekt
  208.         #define ENABLE_EMOTION_MASK_EFFECT                  // Emotions Maske Effekt
  209.         #define ENABLE_POWER_RINGS_EFFECT                   // Power Ringe Effekt [71148, 71149]
  210.  
  211.         #define ENABLE_NEW_AFFECT_POTION                    // Tau-Effekte
  212.     #endif
  213.  
  214. #define ENABLE_TELEPORT_COMMAND                     // /teleport Command System
  215.     #ifdef ENABLE_TELEPORT_COMMAND
  216.         #define NUMBER_MAX_MAPS 13                          // Wie viele Maps gelistet sind
  217.         #define ENABLE_TRANSLATE_LC_GERMANY                 // Sprachen: ENABLE_TRANSLATE_LC_ENGLISH, ENABLE_TRANSLATE_LC_GERMANY, ENABLE_TRANSLATE_LC_SPAIN, ENABLE_TRANSLATE_LC_POLAND
  218.         #define GM_TELEPORT_PRIVILEGES GM_VIP               // Privileges: GM_PLAYER, GM_VIP, GM_IMPLEMENTOR
  219.     #endif
  220.  
  221. #define ENABLE_ONLINE_COMMAND                       // Online Info (by Vegas)
  222.     #ifdef ENABLE_ONLINE_COMMAND
  223.         #define ENABLE_ONLINE_GM_COMMAND_PRIVILEGES GM_LOW_WIZARD   // Privileges: GM_LOW_WIZARD
  224.     //  #define ENABLE_FAKE_ONLINE_COUNT                            // Fake Online Spieler Anzahl
  225.     #endif
  226.  
  227. // #define ENABLE_BLOCKING_GM_FUNCTIONS             // Deaktiviert GM Funktionen
  228.     #ifdef ENABLE_BLOCKING_GM_FUNCTIONS
  229.         #define GM_BLOCK_BUFF_SKILL                         // GM's können keine Spieler buffen
  230.         #define GM_BLOCK_PARTY_INVITE                       // GM's & Spieler können keine Gruppe gegenseitig öffnen
  231.         #define GM_BLOCK_SHOP_CREATION                      // GM's können keinen Shop erstellen
  232.         #define GM_BLOCK_SHOP_CREATION_SEIDENBUENDEL        // GM's können keinen Shop erstellen (Seidenbündel)
  233.         #define GM_BLOCK_ITEM_DROP                          // GM's können keine Items droppen
  234.         #define PLAYER_BLOCK_SET_COMMAND                    // /set Command blockiert
  235.         #define PLAYER_BLOCK_A_COMMAND                      // /a Command blockiert
  236.         #define PLAYER_BLOCK_SETSKILLOTHER_COMMAND          // /setskillother Command blockiert
  237.         #define GM_BLOCK_EXCHANGE                           // GM's & Spieler können gegenseitig Items handeln
  238.         #define GM_BLOCK_GUILD_INVITE                       // GM's & Spieler können sich nicht gegenseitig in eine Gilde einladen
  239.         #define GM_BLOCK_FRIEND_LIST                        // GM's können keine Spieler in die Freundesliste hinzufügen
  240.         #define GM_BLOCK_BUY_PRIVATE_SHOP                   // GM's können keine Items von Privaten Shops kaufen
  241.         #define GM_BLOCK_SAFEBOX                            // GM's können das Lager nicht benutzen
  242.         #define PLAYER_BLOCK_POLYMORPHED_ATTACK             // Spieler können keinen anderen Spieler in Verwandlung angreifen
  243.     #endif
  244.  
  245.  
  246.  
  247.  
  248.  
  249. //-----OTHERS----->
  250.  
  251.  
  252. /*<-----DB----->*/
  253. #define ENABLE_DEFAULT_PRIV                         //  [ClientManager.cpp]         enable default priv loading from common.priv_settings
  254. // #define ENABLE_ITEMAWARD_REFRESH                 //  [ClientManager.cpp]         enable a select query every 5 seconds into player.item_award
  255. #define ENABLE_PROTO_FROM_DB                        //  [ClientManager.h]           read protos from db if "PROTO_FROM_DB = 1" is specified inside conf.txt
  256.                                                     //                              mirror protos to db if "MIRROR2DB = 1" is specified inside conf.txt
  257. #define ENABLE_AUTODETECT_VNUMRANGE                 //  [ClientManagerBoot.cpp]     if protos are loaded from db, it will automatically detect the vnum range for ds items
  258.  
  259.  
  260. /*<-----GAME----->*/
  261. #define NEW_ICEDAMAGE_SYSTEM                        //  [char.h]                    add new system for nemere dungeon and so on
  262. #define ENABLE_ANTI_CMD_FLOOD                       //  [char.h]                    limit player's command execution to 10 commands per second, otherwise it'll be disconnected!
  263. #define ENABLE_OPEN_SHOP_WITH_ARMOR                 //  [char.h]                    if enabled, people can open a personal shop with the armor equipped
  264. // #define ENABLE_POTIONS_LEVELUP                   //  [char.cpp]                  you'll get Potions if you get a levelup
  265. #define ENABLE_GOHOME_IF_MAP_NOT_ALLOWED            //  [char.cpp]                  you'll go back to your village if you're not allowed to go in that map
  266. #define ENABLE_GM_FLAG_IF_TEST_SERVER               //  [char.cpp]                  show the gm flag if it's on test server mode
  267. #define ENABLE_GM_FLAG_FOR_LOW_WIZARD               //  [char.cpp]                  GM Zeichen auch als Low-Wizard
  268. // #define ENABLE_CHANGE_SEX_IMMEDIATELY            //  [char.cpp]                  Geschlechtsumwandlung ohne Relog
  269.  
  270. #define ENABLE_NEWEXP_CALCULATION                   //  [char_battle.cpp]           recalculate exp rate so you won't get random negative exp/marriage points
  271. #define ENABLE_EFFECT_PENETRATE                     //  [char_battle.cpp]           enable penetrate effect when performing a penetration
  272. // #define ENABLE_FIREWORK_STUN                     //  [char_item.cpp]             enable stun affect when using firework items
  273. #define ENABLE_ADDSTONE_FAILURE                     //  [char_item.cpp]             enable add stone failure
  274. #define ENABLE_EFFECT_EXTRAPOT                      //  [char_item.cpp]             enable extrapot effects when using green/purple potions
  275. #define ENABLE_BOOKS_STACKFIX                       //  [char_item.cpp]             enable stackable books instead of remove all the pile
  276. #define ENABLE_STACK_BELT_INV                       //  [char_item.cpp]             enable stackable potitions automatically in belt inventory
  277. #define ENABLE_SWITCH_ALL                           //  [char_item.cpp]             all armors/weapons are switchable with green switcher
  278. // #define ENABLE_IMMUNE_PERC                       //  [char_resist.cpp]           enable 90% of success instead of 100% regarding immunes (antistun/slow/fall)
  279. #define ENABLE_FORCE2MASTERSKILL                    //  [char_skill.cpp]            skill always pass to m1 when b17 instead of b(number(17-20))
  280. // #define ENABLE_MOUNTSKILL_CHECK                  //  [char_skill.cpp]            check whether horse mount vnum should be checked when skilling
  281. // #define ENABLE_NULLIFYAFFECT_LIMIT               //  [char_skill.cpp]            sura skill 66 won't nullify players with level < or > of yours by 9
  282. // #define ENABLE_MASTER_SKILLBOOK_NO_STEPS         //  [char_skill.cpp]            if enabled, you will only need a book to increase a master skill, and not as many as the level-20
  283. #define ENABLE_OX_SKILL_BLOCK                       //  [char_skill.cpp]            block at OX-Event all skills
  284.  
  285. #define ENABLE_CMD_PLAYER                           //  [config.cpp]                enable PLAYER grade inside CMD
  286. #define ENABLE_EXPTABLE_FROMDB                      //  [config.cpp]                read the exp table from the db
  287. #define ENABLE_AUTODETECT_INTERNAL_IP               //  [config.cpp]                autodetect internal ip if the public one is missing
  288. // #define ENABLE_GENERAL_CMD                       //  [config.cpp]                if enabled, it reads a general CMD from "locale/%s/conf/GENERAL_CMD", "locale/%s/conf/GENERAL_CMD_CHANNEL_%d", and/or "locale/%s/conf/GENERAL_CMD_CHANNEL_%d_HOSTNAME_%s"
  289. // #define ENABLE_GENERAL_CONFIG                    //  [config.cpp]                if enabled, it reads a general CONFIG from "locale/%s/conf/GENERAL_CONFIG", "locale/%s/conf/GENERAL_CONFIG_CHANNEL_%d", and/or "locale/%s/conf/GENERAL_CONFIG_CHANNEL_%d_HOSTNAME_%s"
  290.                                                     //                              in the GENERAL_CONFIG, all the options are valid except: HOSTNAME, CHANNEL, PLAYER_SQL, COMMON_SQL, LOG_SQL, PORT, P2P_PORT, MAP_ALLOW, AUTH_SERVER, TEEN_ADDR, TEEN_PORT
  291.  
  292. // #define ENABLE_BLOCK_CMD_SHORTCUT                //  [cmd.cpp]                   if enabled, people won't be able to shorten commands
  293. // #define ENABLE_STATPLUS_NOLIMIT                  //  [cmd_gm.cpp]                disable only 90 points for con+/int+/str+/dex+ commands
  294. #define ENABLE_SET_STATE_WITH_TARGET                //  [cmd_gm.cpp]                enable set_state target as 3rd arg
  295. #define ENABLE_CMD_IPURGE_EX                        //  [cmd_gm.cpp]                /ipurge 2nd arg can remove items from a specific window (inv/equip/ds/belt/all)
  296. #define ENABLE_AUTOMATICALLY_FLUSH                  //  [cmd_gm.cpp]                Änderungen werden am Charakter sofort in die Datenbank gespeichert
  297. #define ENABLE_FLUSH_AT_SHUTDOWN                    //  [cmd_general.cpp]           Flush direkt beim Shutdown
  298.  
  299. // #define ENABLE_SPAMDB_REFRESH                    //  [db.cpp]                    enable a select query every 10 minutes into common.spam_db
  300. #define ENABLE_FISHINGROD_RENEWAL                   //  [fishing.cpp]               if the upgrading of the fishing rod will fail, it won't turn back of 1 grade, but just lose 10% mastering points.
  301. #define ENABLE_NEWGUILDMAKE                         //  [guild.h]                   enable pc.make_guild0 and disable CInputMain::AnswerMakeGuild
  302.  
  303. #define ENABLE_ACCOUNT_W_SPECIALCHARS               //  [input_auth.cpp]            enable special characters in account names (account.account.login)
  304. #define ENABLE_GOHOME_IF_MAP_NOT_EXIST              //  [input_db.cpp]              you'll go back to your village if the map doesn't exist
  305. #define ENABLE_CHAT_COLOR_SYSTEM                    //  [input_main.cpp]            enable chat colors based on IsGm or GetEmpire (+colored empire name)
  306. #define ENABLE_CHAT_SPAMLIMIT                       //  [input_main.cpp]            limit chat spam to 4 messages for 5 seconds, if you spam it for 10 times, you'll be disconnected!
  307. #define ENABLE_WHISPER_CHAT_SPAMLIMIT               //  [input_main.cpp]            limit whisper chat to 10 messages per 5 seconds, otherwise you'll be disconnected!
  308. #define ENABLE_CHAT_LOGGING                         //  [input_main.cpp]            enable chat logging (which saves all the gm chats)
  309. #define ENABLE_CHECK_GHOSTMODE                      //  [input_main.cpp]            enable check that blocks the movements if the character is dead
  310. #define ENABLE_IMMUNE_FIX                           //  [item.cpp]                  fix immune bug where you need to equip shield at last (or refresh compute e.g. un/riding horse)
  311.  
  312. // #define ENABLE_LIMIT_TIME                        //  [limit_time.h]              enable game timestamp expiration
  313. #define ENABLE_PICKAXE_RENEWAL                      //  [mining.cpp]                if the upgrading of the pickaxe will fail, it won't turn back of 1 grade, but just lose 10% mastering points
  314.  
  315. #define ENABLE_QUEST_DIE_EVENT                      //  [quest.h]                   add quest event "die"
  316. #define ENABLE_TRANSLATE_LUA                        //  [questlua.cpp]              enable translate.lua loading
  317. // #define ENABLE_LOCALECHECK_CHANGENAME            //  [questlua_pc.cpp]           enable check that unable change name on Europe Locales
  318. // #define ENABLE_PC_OPENSHOP                       //  [questlua_pc.cpp]           enable pc.open_shop0(idshop) but buy/sell not work yet
  319. #define ENABLE_PARTYKILL                            //  [questmanager.cpp]          re-enable PartyKill
  320. #define QUEST_FIX                                   //  [questmanager.cpp]          xXxXx
  321.  
  322. // #define ENABLE_SHOP_BLACKLIST                    //  [shop.cpp]                  enable ignore 70024 (Blessing Marble) and 70035 (Magic Copper Ore)
  323. #define ENABLE_NEW_RETARDED_GF_START_POSITION       //  [start_position.cpp]        New Gameforge Startposition
  324.  
  325. #define ENABLE_D_NJGUILD                            //  [general]                   enable d.new_jump_all_guild+cpp relative functions (untested)
  326. //#define ENABLE_QUEST_CATEGORY                     //  [general]                   enable quest category+new packet types (unimplemented)
  327. #define ENABLE_FULL_NOTICE                          //  [general]                   enable new big notice features
  328. #define ENABLE_NEWSTUFF                             //  [general]                   enable new stuff (new lua funcs, new CONFIG options, ecc)
  329.  
  330.  
  331.  
  332.  
  333.  
  334. /*
  335. @#GENERAL MACROS
  336. #define __OBSOLETE__                        //useless and pointless code removed
  337. #define __UNIMPLEMENTED__                   //drafts of new things to be implemented
  338. */
  339. #endif
  340.  
  341. /*
  342. #@general
  343. @warme001: be aware about PLAYER_MAX_LEVEL_CONST (common/length.h) and gPlayerMaxLevel (game/config.h)
  344. @warme002: be aware about ITEM_MAX_COUNT (common/item_length.h) and g_bItemCountLimit (game/config.h)
  345. @warme003: do_click_safebox can be used by PLAYER in every map!
  346. @warme004: `when vnum.kill begin` and `when kill begin` are both triggered
  347. @warme005: different locale stuff
  348. @warme006: not implemented stuff from another locale
  349. @warme007: on db/src/ClientManager.cpp; commented locale set from common.locale due to its uselessness and bugginess (./close && ./start)
  350.             it processes a NULL mysql connection (dat ymir threading) if there was a bit of overload before starting the process up again
  351. @warme008: on char_item.cpp; now 27996 (poison bottle) can inflict poison
  352. @warme009: on char_resist.cpp; if bleeding is used as poison, the bleeding enchantment is poison enchantment/50 (so mobs can bleed players)
  353. @warme010: on char_state.cpp; test_server is used as "BOOL g_test_server"
  354. @warme011: on dungeon.cpp; you should never use d.join instead of d.new_jump_party since it causes random crashes due to a wrong implementation of the party hash check
  355. @warme012: trivial errors are now considered as simple logs
  356.  
  357.  
  358. #@common
  359. @fixme301: on tables.h; TPlayerTable hp/mp from short to int (hp/mp >32767 should be fixed)
  360.  
  361.  
  362. #@db/src
  363. @fixme201: on ProtoReader.cpp; changed 'SAMLL' into 'SMALL'
  364. @fixme202: on ClientManagerGuild.cpp; fixed the guild remove member time issue if the player was offline
  365.             (withdraw_time -> new_withdraw_time)
  366. @fixme203: on ClientManagerPlayer.cpp; dandling pointer for "command"
  367. @fixme204: on Cache.cpp; myshop_pricelist primary key duplication error if there are many items of the same vnum in the personal shop
  368.  
  369.  
  370. #@game/src
  371. @fixme101: on log.cpp; fixed '%s' for invalid_server_log
  372. @fixme102: on cmd_general.cpp; inside ACMD(do_war) fixed the unsigned bug
  373. @fixme103: on config, input_login, input_main.cpp; fixed clientcheckversion (version > date) to (version != date) and delay from 10 to 0
  374. @fixme104: on char.cpp, questlua_pc.cpp; fixed get status point after lv90 changing 90 with gPlayerMaxLevel
  375. @fixme105: on cmd.cpp; disabled every korean command
  376. @fixme106: on input_main.cpp; if a full-speeded player is on a mount (es. lion), he'll be brought back due to the distance range
  377. @fixme107: on char_battle.cpp; if character (player|mob) has negative hp on dead, sura&co will absorb hp/mp losing 'em themselves
  378. @fixme108: on char.cpp; if you change a mount but the previous is not 0, all the entities (npcs&co) in the player client
  379.             (not others) are vanished until another refresh (not exists mounts still bug you after second mount call)
  380. @fixme109: on questmanager.cpp; if you kill a player (war m), `when kill begin` will be triggered twice
  381. @fixme110: on char_affect.cpp; if you attack when semi-transparent (revived or ninja skill or white flag) you'll still be transparent
  382. @fixme111: on test.cpp; ConvertAttribute2 has x and y inverted (before y->x after x->y)
  383. @fixme112: on char_item.cpp; you can change bonuses in equipped items too (until re-login)
  384.             bonus values will not be refreshed by ChangePoint and unequipping it will remove back only the new bonuses set on
  385.             e.g. you had a 2500hp bonus shoes, you changed it to 50mp when equipped and you'll unequipped
  386.             what will it happen? instead of remove 2500hp, you won't receive 50mp and you also lose 50mp when unequipped
  387. @fixme113: on char_item.cpp; same thing of #112
  388.             you can remove stones from equipped items w/o losing bonuses
  389.             e.g. have an item with antiwar+4 equipped:
  390.             1) remove all the stones 2) unequip it 3) re-add stone 4) re-equip it 5) repeat it thrice
  391.             result? an item with no stones but you'll have 75% of antiwar
  392. @fixme114: on char_item.cpp; gathering of #111, #112 and few others.
  393. @fixme115: on char_item.cpp; you can retrieve all the item on the ground if you're in a party and the owner is not in yours.
  394. @fixme116: on char_skill.cpp; normal horse mount skills cannot inflict damage
  395. @fixme117: on char_item.cpp; you can't swap equipment from inventory if full, and also prevent unmotivated belt swap if its inventory is not empty
  396. @fixme118: on char.cpp; when ComputePoints is called:
  397.             you'll gain as many hp/mp as many you have in your equipment bonuses
  398.             affect hp/mp will be lost when login or updating
  399. @fixme119: on input_main.cpp; you can put items from safebox/mall to belt inventory w/o checking the type (items with size>1 are not placeable anyway)
  400. @fixme120: on input_login.cpp; few packet IDs not checked
  401. @fixme121: on char_item.cpp; the refine scroll item value 1 from the magic stone was generating useless syserrs
  402. @fixme122: on arena.cpp; few other potions were not checked on arena map
  403. @fixme123: on char_item.cpp; USE_CHANGE_ATTRIBUTE2 (24) sub type check bug (the condition could never be true)
  404. @fixme124: on char_item.cpp; no check on 6-7 add/change items about costume stuff
  405. @fixme125: on char.cpp; dungeon regen pointing to a dangling pointer (not required -> removed)
  406. @fixme126: on marriage.cpp; fix lovepoints overflow
  407. @fixme127: on cube.cpp; /cube r_info exploit fix; it can cause a crash due to an unchecked cube npc masters vnums
  408.             e.g. 1) you open the Baek-Go cube's console 2) click on an npc/kill a mob without close the cube console
  409.             3) digit /cube r_info 4) crash core
  410. @fixme128: on char.cpp; mining hack fix; you can mine a vein anywhere in the map because there's no check on the character
  411.             which means, you can stay at 0x0y and mining a vein in 666x999y and get the stuff beside him or in the pc's inventory
  412. @fixme129: on PetSystem.cpp; the azrael pets (53005->34004 normal/53006->34009 gold) don't give the buff if not in dungeon at summon up and remove them anyway when unsummoned
  413. @fixme130: on messenger_manager.cpp; and cmd_general.cpp if you do /messenger_auth n XXX, the player with the name XXX will receive a "refused friend invite" print from you
  414.             which means, if you flood this packet, the "victim" will be disconnected or at maximum could get lag
  415. @fixme131: on char.cpp; fix annoying sync packets sendable even on unfightable pc/npc entities
  416.             e.g. wallhack against players' shops inside the village's squares (where the NOPK attr is set) to move them out and kill them
  417. @fixme132: on shop.cpp; if two people buy the same item at the same time from a pc's shop, the slower one will receive a wrong return packet (crash client)
  418. @fixme133: on input_main.cpp; banword check and hyper text feature were processing the final chat string instead of the raw one
  419. @fixme134: on questlua_pc.cpp; the pc.mount_bonus was addable even if the mount wasn't spawn (only /unmount pc.unmount can remove it)
  420. @fixme135: on char.cpp; if the Sync is made before a move packet and the sectree differs of few x/y coordinates, the sectree will be changed without update (crash character) (troublesome -> removed)
  421. @fixme136: on char.cpp; there are no checks about the zero division exception: e.g. if you set a mob's max hp to 0 in the mob proto, you'll get random crashes.
  422. @fixme137: on char_battle.cpp; when a player dies, the HP could have a negative value. Now it's 0 like the official.
  423. @fixme138: on db.cpp, input_auth.cpp; the account's password was shown in the mysql history queries as clear text at every login attempt (mysql full granted user required -> now hashed)
  424. @fixme139: on shop.h; CShop class destructor wasn't virtual. If a derived class like CShopEx was deleted, a memory leak would have been generated.
  425. @fixme140: on input_main.cpp; the belt could be put into the safebox even though the belt inventory isn't empty.
  426. @fixme141: on char_item.cpp; the items in the belt inventory could be used even if their slot were not available
  427. @fixme142: on messenger_manager.cpp; sql injection fix about net.SendMessengerRemovePacket
  428. @fixme143: on guild_manager.cpp; sql injection fix about net.SendAnswerMakeGuildPacket
  429. @fixme144: on sectree_manager.cpp; if map/index doesn't end with a newline, the game will crash
  430. @fixme145: on input_main.cpp; guild_add_member can add any vid as guild's member even if it's a mob or an npc
  431. @fixme147: on char_item.cpp; ramadan candy item can be used even if the relative affect is still up
  432. @fixme148: on item_manager_read_tables.cpp; type quest, special, attr not handled in ConvSpecialDropItemFile
  433. @fixme149: on char.cpp; refine material skip exploit if items are swapped
  434. @fixme150: on exchange.cpp; char_item.cpp; prevent item module swapping if the quest is suspended
  435. @fixme151: on char_item.cpp item.cpp item_manager.cpp; Ring
  436. @fixme152: on questlua_pc.cpp; pc.get_special_ride_vnum was checking socket2 instead of socket0
  437. @fixme153: on threeway_war.cpp; kills made of people over lvl99 weren't counted
  438. @fixme154: on cmd_gm.cpp; the /all_skill_master command will now set the right amount of points to the sub skills
  439. @fixme156: on char_affect.cpp; prevent doubling the affect values before they are loaded (such as pc.mount_bonus at login; because the quest is loaded before the quests
  440. @fixme157: on OxEvent.cpp; the attender list wasn't cleared after stopping the ox event
  441. @fixme160: on item.cpp packet.h; Visable Skillbooks/polymarble-item names
  442. @fixme161: on item_manager.cpp; Visable Bonuses on ITEM_RINGS
  443. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement