################################################################################# # This file is part of Spheres. # Copyright (C) 2019 Jesusalva # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . ################################################################################# # Constants Module # Elements Ele_Fire =1 Ele_Water =2 Ele_Nature =3 Ele_Light =4 Ele_Shadow =5 # Gender Sex_Male =0 Sex_Female =1 # Limits NO_LVLUP =1 NO_PARTY =2 EXP_UP =4 EVO_MAT =8 DOUBLE_GP =16 UNSELLABLE =32 SUPEREVOMAT =64 # Status ST_TOWN =0 ST_QUEST =1 # Spheres SPH_NONE =0 SPH_WIDEATTACK =1 SPH_PIERCE =2 SPH_ASSAULT =3 SPH_HEAL =4 SPH_HEALALL =5 SPH_ATKUP =6 SPH_DEFUP =7 # Combat code SRV_SKILL =1000 SRV_WAVE =9901 SRV_SPHERE =9902 SRV_SUMMON =9903 SRV_NOCAST =9904 # Status Conditions SC_ATKUP =1 SC_DEFUP =2 SC_ATKDOWN =4 SC_DEFDOWN =8 SC_POISON =16 SC_BLIND =32 SC_STONED =64 # Battle action ACT_NONE =0 ACT_SPHERE =1 ACT_SKILL =2 # Date Constants # [0]- Day, [1]- Month, [2]- Year, [3]-Hour, [4]-Minute, [5]-Weekday DATE_DAY =0 DATE_MONTH =1 DATE_YEAR =2 DATE_WEEKDAY =3 DATE_HOUR =4 DATE_MINUTE =5 MONDAY =0 TUESDAY =1 WEDNESDAY =2 THURSDAY =3 FRIDAY =4 SATURDAY =5 SUNDAY =6 # Configuration (hardcoded!) MAX_INV_SIZE =25 MAX_PARTIES =3 AP_REGEN_TIME =360 AP_REGEN_TIME_F =360.0 SQL_SAVE_TIME =300.0 CONN_LIFETIME =1800 CONN_CLEANUP =900.0 SQL_PINGTIME =1200.0 BL_UPDATETIME =30.0 BAN_TIME =180.0 BAN_UNAUTHED =5 BAN_AUTHED =30 CLIENTVERSION ="2.1.8.8" MAX_CLIENTS =2500 # Hard coded loot (1,000~10,000) CRYSTAL_MIN=1000 CRYSTAL_MAX=2000 EXPRATE_MIN=2001 EXPRATE_MAX=4000 GPPRATE_MIN=4001 GPPRATE_MAX=6000 # Quick shortcuts CRYSTAL_10 =1010 CRYSTAL_20 =1020 CRYSTAL_30 =1030 CRYSTAL_50 =1050 CRYSTAL_100=1100 DOUBLE_EXP =3000 TRIPLE_EXP =4000 DOUBLE_GP =5000 TRIPLE_GP =6000 # Error Handler ERR_ERR ="500 Internal Server Error" # Maybe 418 I am a teapot ERR_OFF ="401 Unauthorized" ERR_BAD ="400 Bad Request" ERR_DONE ="200" #"You cannot perform this operation! Not enough Crystals" ERR_INS =105 ERR_FULL =106 ERR_SUMMON =108 #"Operation complete" ERR_OK =200 ERR_LOGIN =5000 # Packet result PACKET_REGX =-1 PACKET_NACK =0 PACKET_ACK =1 # SQL masks SQL_NONE =0 SQL_CLEAR =1 SQL_DELAY =2 SQL_FULL =4 # quest.json flags SFLAG_NONE =0 # Normal battle SFLAG_CLEARGEMS =1 # Give 100 gems upon first victory SFLAG_DOUBLEGEMS =2 # Give 2x crystals (200 gems) upon first victory SFLAG_SPECIAL =4 # This is a special quest - do not update quest field SFLAG_FIRSTLOOT =8 # Always collect the first loot on first victory. SFLAG_DOUBLEEXP =16 # Double EXP earned SFLAG_DOUBLEGP =32 # Double GP earned # Skill types SK_CLEAR_SC =1 SK_SINGLE_DMG =2 SK_MULTI_DMG =4 SK_ATK_UP =8 SK_DEF_UP =16 SK_SINGLE_HEAL =32 SK_MULTI_HEAL =64 SK_RESSURECTION =128 # Others INT_MAX =2147483647 ################################################################################# EXPTABLE = [0, 158, 318, 480, 644, 809, 976, 1145, 1315, 1487, 1661, 1836, 2014, 2192, 2373, 2555, 2739, 2925, 3112, 3301, 3492, 3684, 3878, 4074, 4271, 4470, 4671, 4874, 5078, 5284, 5491, 5701, 5912, 6124, 6339, 6555, 6772, 6992, 7213, 7436, 7660, 7886, 8114, 8344, 8575, 8808, 9043, 9279, 9517, 9757, 9999, 10242, 10487, 10733, 10981, 11231, 11483, 11736, 11991, 12248, 12506, 12767, 13028, 13292, 13557, 13824, 14092, 14363, 14635, 14908, 15184, 15461, 15740, 16020, 16302, 16586, 16872, 17159, 17448, 17738, 18031, 18325, 18621, 18918, 19217, 19518, 19820, 20125, 20431, 20738, 21048, 21359, 21671, 21986, 22302, 22620, 22939, 23260, 23583, 23908, 24234]