#include <stdarg.h>
#include <config.h>
#include <mmo.h>
#include "common/timer.h"
Go to the source code of this file.
Data Structures | |
struct | block_list |
struct | walkpath_data |
struct | script_reg |
struct | script_regstr |
struct | status_change |
struct | vending |
struct | skill_unit |
struct | skill_unit_group |
struct | skill_unit_group_tickset |
struct | skill_timerskill |
struct | map_session_data |
The data assigned for each session. More... | |
struct | map_session_data::ignore |
struct | npc_timerevent_list |
struct | npc_label_list |
struct | npc_item_list |
struct | npc_data |
struct | mob_data |
struct | pet_data |
struct | map_data |
struct | map_data::drop_list |
struct | map_data_other_server |
struct | flooritem_data |
struct | chat_data |
Defines | |
#define | MAX_PC_CLASS 4050 |
#define | PC_CLASS_BASE 0 |
#define | PC_CLASS_BASE2 (PC_CLASS_BASE + 4001) |
#define | PC_CLASS_BASE3 (PC_CLASS_BASE2 + 22) |
#define | MAX_NPC_PER_MAP 512 |
#define | BLOCK_SIZE 8 |
#define | AREA_SIZE battle_config.area_size |
#define | LOCAL_REG_NUM 16 |
#define | LIFETIME_FLOORITEM 60 |
#define | DAMAGELOG_SIZE 30 |
#define | LOOTITEM_SIZE 10 |
#define | MAX_SKILL_LEVEL 100 |
#define | MAX_STATUSCHANGE 250 |
#define | MAX_SKILLUNITGROUP 32 |
#define | MAX_MOBSKILLUNITGROUP 8 |
#define | MAX_SKILLUNITGROUPTICKSET 32 |
#define | MAX_SKILLTIMERSKILL 32 |
#define | MAX_MOBSKILLTIMERSKILL 10 |
#define | MAX_MOBSKILL 50 |
#define | MAX_EVENTQUEUE 2 |
#define | MAX_EVENTTIMER 32 |
#define | NATURAL_HEAL_INTERVAL 500 |
#define | MAX_FLOORITEM 500000 |
#define | MAX_LEVEL 255 |
#define | MAX_WALKPATH 32 |
previously 48 | |
#define | MAX_IGNORE_LIST 1000 |
now it's used in dynamic, but maximum is to send all names in 1 packet (32768/24) = 1365 ->1000 | |
#define | MAX_VENDING 12 |
#define | MAX_MOB_DB 2000 |
#define | MAX_PC_BONUS 10 |
#define | DEFAULT_AUTOSAVE_INTERVAL 120*1000 |
#define | OPTION_HIDE 0x40 |
#define | CELL_MASK 0x0f |
#define | CELL_NPC 0x80 |
#define | CELL_BASILICA 0x40 |
#define | CELL_MOONLIT 0x100 |
#define | CELL_REGEN 0x200 |
#define | map_clearflooritem(id) map_clearflooritem_timer(0,0,id,1) |
Enumerations | |
enum | { JOB_NOVICE, JOB_SWORDMAN, JOB_MAGE, JOB_ARCHER, JOB_ACOLYTE, JOB_MERCHANT, JOB_THIEF, JOB_KNIGHT, JOB_PRIEST, JOB_WIZARD, JOB_BLACKSMITH, JOB_HUNTER, JOB_ASSASSIN, JOB_KNIGHT2, JOB_CRUSADER, JOB_MONK, JOB_SAGE, JOB_ROGUE, JOB_ALCHEMIST, JOB_BARD, JOB_DANCER, JOB_CRUSADER2, JOB_WEDDING, JOB_SUPER_NOVICE, JOB_NOVICE_HIGH = 4001, JOB_SWORDMAN_HIGH, JOB_MAGE_HIGH, JOB_ARCHER_HIGH, JOB_ACOLYTE_HIGH, JOB_MERCHANT_HIGH, JOB_THIEF_HIGH, JOB_LORD_KNIGHT, JOB_HIGH_PRIEST, JOB_HIGH_WIZARD, JOB_WHITESMITH, JOB_SNIPER, JOB_ASSASSIN_CROSS, JOB_LORD_KNIGHT2, JOB_PALADIN, JOB_CHAMPION, JOB_PROFESSOR, JOB_STALKER, JOB_CREATOR, JOB_CLOWN, JOB_GYPSY, JOB_PALADIN2, JOB_BABY, JOB_BABY_SWORDMAN, JOB_BABY_MAGE, JOB_BABY_ARCHER, JOB_BABY_ACOLYTE, JOB_BABY_MERCHANT, JOB_BABY_THIEF, JOB_BABY_KNIGHT, JOB_BABY_PRIEST, JOB_BABY_WIZARD, JOB_BABY_BLACKSMITH, JOB_BABY_HUNTER, JOB_BABY_ASSASSIN, JOB_BABY_KNIGHT2, JOB_BABY_CRUSADER, JOB_BABY_MONK, JOB_BABY_SAGE, JOB_BABY_ROGUE, JOB_BABY_ALCHEMIST, JOB_BABY_BARD, JOB_BABY_DANCER, JOB_BABY_CRUSADER2, JOB_SUPER_BABY } |
Job List for BaseClass. | |
enum | { BL_NUL, BL_PC, BL_NPC, BL_MOB, BL_ITEM, BL_CHAT, BL_SKILL, BL_PET } |
enum | { WARP, SHOP, SCRIPT, MONS } |
enum | { MS_IDLE, MS_WALK, MS_ATTACK, MS_DEAD, MS_DELAY } |
enum | { NONE_ATTACKABLE, ATTACKABLE } |
enum | { ATK_LUCKY = 1, ATK_FLEE, ATK_DEF } |
enum | { EQP_WEAPON = 1, EQP_ARMOR = 2, EQP_SHIELD = 4, EQP_HELM = 8 } |
enum | { SP_SPEED, SP_BASEEXP, SP_JOBEXP, SP_KARMA, SP_MANNER, SP_HP, SP_MAXHP, SP_SP, SP_MAXSP, SP_STATUSPOINT, SP_0a, SP_BASELEVEL, SP_SKILLPOINT, SP_STR, SP_AGI, SP_VIT, SP_INT, SP_DEX, SP_LUK, SP_CLASS, SP_ZENY, SP_SEX, SP_NEXTBASEEXP, SP_NEXTJOBEXP, SP_WEIGHT, SP_MAXWEIGHT, SP_1a, SP_1b, SP_1c, SP_1d, SP_1e, SP_1f, SP_USTR, SP_UAGI, SP_UVIT, SP_UINT, SP_UDEX, SP_ULUK, SP_26, SP_27, SP_28, SP_ATK1, SP_ATK2, SP_MATK1, SP_MATK2, SP_DEF1, SP_DEF2, SP_MDEF1, SP_MDEF2, SP_HIT, SP_FLEE1, SP_FLEE2, SP_CRITICAL, SP_ASPD, SP_36, SP_JOBLEVEL, SP_UPPER, SP_PARTNER, SP_CART, SP_FAME, SP_UNBREAKABLE, SP_CARTINFO = 99, SP_BASEJOB = 119, SP_BASECLASS = 120, SP_ATTACKRANGE = 1000, SP_ATKELE, SP_DEFELE, SP_CASTRATE, SP_MAXHPRATE, SP_MAXSPRATE, SP_SPRATE, SP_ADDELE, SP_ADDRACE, SP_ADDSIZE, SP_SUBELE, SP_SUBRACE, SP_ADDEFF, SP_RESEFF, SP_BASE_ATK, SP_ASPD_RATE, SP_HP_RECOV_RATE, SP_SP_RECOV_RATE, SP_SPEED_RATE, SP_CRITICAL_DEF, SP_NEAR_ATK_DEF, SP_LONG_ATK_DEF, SP_DOUBLE_RATE, SP_DOUBLE_ADD_RATE, SP_MATK, SP_MATK_RATE, SP_IGNORE_DEF_ELE, SP_IGNORE_DEF_RACE, SP_ATK_RATE, SP_SPEED_ADDRATE, SP_ASPD_ADDRATE, SP_MAGIC_ATK_DEF, SP_MISC_ATK_DEF, SP_IGNORE_MDEF_ELE, SP_IGNORE_MDEF_RACE, SP_MAGIC_ADDELE, SP_MAGIC_ADDRACE, SP_MAGIC_SUBRACE, SP_PERFECT_HIT_RATE, SP_PERFECT_HIT_ADD_RATE, SP_CRITICAL_RATE, SP_GET_ZENY_NUM, SP_ADD_GET_ZENY_NUM, SP_ADD_DAMAGE_CLASS, SP_ADD_MAGIC_DAMAGE_CLASS, SP_ADD_DEF_CLASS, SP_ADD_MDEF_CLASS, SP_ADD_MONSTER_DROP_ITEM, SP_DEF_RATIO_ATK_ELE, SP_DEF_RATIO_ATK_RACE, SP_ADD_SPEED, SP_HIT_RATE, SP_FLEE_RATE, SP_FLEE2_RATE, SP_DEF_RATE, SP_DEF2_RATE, SP_MDEF_RATE, SP_MDEF2_RATE, SP_SPLASH_RANGE, SP_SPLASH_ADD_RANGE, SP_AUTOSPELL, SP_HP_DRAIN_RATE, SP_SP_DRAIN_RATE, SP_SHORT_WEAPON_DAMAGE_RETURN, SP_LONG_WEAPON_DAMAGE_RETURN, SP_WEAPON_COMA_ELE, SP_WEAPON_COMA_RACE, SP_ADDEFF2, SP_BREAK_WEAPON_RATE, SP_BREAK_ARMOR_RATE, SP_ADD_STEAL_RATE, SP_MAGIC_DAMAGE_RETURN, SP_RANDOM_ATTACK_INCREASE, SP_ALL_STATS, SP_AGI_VIT, SP_AGI_DEX_STR, SP_PERFECT_HIDE, SP_DISGUISE, SP_CLASSCHANGE, SP_HP_DRAIN_VALUE, SP_SP_DRAIN_VALUE, SP_WEAPON_ATK, SP_WEAPON_ATK_RATE, SP_DELAYRATE, SP_RESTART_FULL_RECORVER = 2000, SP_NO_CASTCANCEL, SP_NO_SIZEFIX, SP_NO_MAGIC_DAMAGE, SP_NO_WEAPON_DAMAGE, SP_NO_GEMSTONE, SP_NO_CASTCANCEL2, SP_INFINITE_ENDURE, SP_UNBREAKABLE_WEAPON, SP_UNBREAKABLE_ARMOR, SP_UNBREAKABLE_HELM, SP_UNBREAKABLE_SHIELD, SP_LONG_ATK_RATE, SP_CRIT_ATK_RATE, SP_CRITICAL_ADDRACE, SP_NO_REGEN, SP_ADDEFF_WHENHIT, SP_AUTOSPELL_WHENHIT, SP_SKILL_ATK, SP_UNSTRIPABLE, SP_ADD_DAMAGE_BY_CLASS, SP_SP_GAIN_VALUE, SP_IGNORE_DEF_MOB, SP_HP_LOSS_RATE, SP_ADDRACE2, SP_HP_GAIN_VALUE, SP_SUBSIZE, SP_DAMAGE_WHEN_UNEQUIP, SP_ADD_ITEM_HEAL_RATE, SP_LOSESP_WHEN_UNEQUIP, SP_EXP_ADDRACE, SP_SP_GAIN_RACE } |
enum | { LOOK_BASE, LOOK_HAIR, LOOK_WEAPON, LOOK_HEAD_BOTTOM, LOOK_HEAD_TOP, LOOK_HEAD_MID, LOOK_HAIR_COLOR, LOOK_CLOTHES_COLOR, LOOK_SHIELD, LOOK_SHOES } |
enum | cell_t { CELL_CHKWALL = 0, CELL_CHKWATER, CELL_CHKGROUND, CELL_CHKPASS, CELL_CHKNOPASS, CELL_GETTYPE, CELL_CHKNOPASS_NPC, CELL_CHKNPC = 0x10, CELL_CHKBASILICA } |
enum | { CELL_SETNPC = 0x10, CELL_SETBASILICA, CELL_CLRBASILICA } |
enum | { READ_FROM_GAT, READ_FROM_AFM, READ_FROM_BITMAP, CREATE_BITMAP, READ_FROM_BITMAP_COMPRESSED, CREATE_BITMAP_COMPRESSED } |
Functions | |
int | map_getcell (int, int, int, cell_t) |
int | map_getcellp (struct map_data *, int, int, cell_t) |
void | map_setcell (int, int, int, int) |
void | map_setusers (int) |
int | map_getusers (void) |
int | map_freeblock (void *bl) |
void | map_freeblock_lock (void) |
void | map_freeblock_unlock (void) |
int | map_addblock (struct block_list *) |
int | map_delblock (struct block_list *) |
void | map_foreachinarea (int(*)(struct block_list *, va_list), int, int, int, int, int, int,...) |
void | map_foreachinmovearea (int(*)(struct block_list *, va_list), int, int, int, int, int, int, int, int,...) |
void | map_foreachinpath (int(*)(struct block_list *, va_list), int, int, int, int, int, int, int,...) |
int | map_count_oncell (int m, int x, int y) |
skill_unit * | map_find_skill_unit_oncell (struct block_list *, int x, int y, int skill_id, struct skill_unit *) |
int | map_addobject (struct block_list *) |
int | map_delobject (intptr_t) |
int | map_delobjectnofree (intptr_t id) |
void | map_foreachobject (int(*)(struct block_list *, va_list), int,...) |
void | map_quit (struct map_session_data *) |
void | map_quit2 (struct map_session_data *) |
int | map_addnpc (int, struct npc_data *) |
TIMER_FUNC (map_clearflooritem_timer) | |
int | map_addflooritem (struct item *, int, int, int, int, struct map_session_data *, struct map_session_data *, struct map_session_data *, int owner_id, int) |
int | map_searchrandfreecell (int, int, int, int) |
void | map_addchariddb (intptr_t charid, char *name) |
void | map_delchariddb (intptr_t charid) |
int | map_reqchariddb (struct map_session_data *sd, intptr_t charid) |
char * | map_charid2nick (intptr_t) |
map_session_data * | map_charid2sd (int) |
map_session_data * | map_id2sd (int) |
block_list * | map_id2bl (intptr_t) |
int | map_mapname2mapid (const char *) |
int | map_mapname2ipport (const char *, int *, int *) |
short | map_checkmapname (const char *mapname) |
int | map_setipport (char *name, unsigned long ip, int port) |
int | map_eraseipport (char *name, unsigned long ip, int port) |
int | map_eraseallipport (void) |
void | map_addiddb (struct block_list *) |
void | map_deliddb (struct block_list *bl) |
void | map_foreachiddb (int(*)(void *, void *, va_list),...) |
map_session_data * | map_nick2sd (char *) |
int | map_check_dir (int s_dir, int t_dir) |
int | map_calc_dir (struct block_list *src, int x, int y) |
int | path_search (struct walkpath_data *, int, int, int, int, int, int) |
int | path_search_long (int m, int x0, int y_0, int x1, int y_1) |
int | path_blownpos (int m, int x0, int y_0, int dx, int dy, int count) |
int | map_who (int fd) |
void | map_helpscreen () |
Variables | |
char | messages_filename [1024] |
map_data * | map |
int | map_num |
int | autosave_interval |
unsigned char | agit_flag |
unsigned char | night_flag |
char | motd_txt [] |
char | help_txt [] |
char | talkie_mes [] |
char | wisp_server_name [25] |
int | server_char_id |
int | server_fake_mob_id |
char | npc_language [6] |
unsigned char | map_is_alone |
char | item_db_db [32] |
char | mob_db_db [32] |
char | create_item_db_script |
char | create_mob_db_script |