summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--src/char/Makefile7
-rw-r--r--src/char/char.c14
-rw-r--r--src/char/int_pet.c364
-rw-r--r--src/char/int_pet.h13
-rw-r--r--src/char/int_storage.c11
-rw-r--r--src/char/inter.c7
-rw-r--r--src/common/mmo.h21
-rw-r--r--src/map/Makefile2
-rw-r--r--src/map/atcommand.c157
-rw-r--r--src/map/battle.c16
-rw-r--r--src/map/battle.h4
-rw-r--r--src/map/chrif.c8
-rw-r--r--src/map/itemdb.c201
-rw-r--r--src/map/map.c274
-rw-r--r--src/map/map.h43
-rw-r--r--src/map/mob.c151
-rw-r--r--src/map/pc.c39
18 files changed, 16 insertions, 1318 deletions
diff --git a/Makefile b/Makefile
index 554405a..550c238 100644
--- a/Makefile
+++ b/Makefile
@@ -27,7 +27,7 @@ endif
MKDEF = CC="$(CC)" CFLAGS="$(CFLAGS)"
-all clean: src/common/GNUmakefile src/login/GNUmakefile src/char_unblocked/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile
+all clean: src/common/GNUmakefile src/login/GNUmakefile src/char/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile
cd src ; cd common ; $(MAKE) $(MKDEF) $@ ; cd ..
cd src ; cd login ; $(MAKE) $(MKDEF) $@ ; cd ..
cd src ; cd char ; $(MAKE) $(MKDEF) $@ ; cd ..
diff --git a/src/char/Makefile b/src/char/Makefile
index 65e2eb4..d4344a0 100644
--- a/src/char/Makefile
+++ b/src/char/Makefile
@@ -3,15 +3,14 @@ txt: char-server
COMMON_OBJ = ../common/core.o ../common/socket.o ../common/timer.o ../common/db.o ../common/lock.o ../common/malloc.o
COMMON_H = ../common/core.h ../common/socket.h ../common/timer.h ../common/mmo.h ../common/db.h ../common/lock.h ../common/timer.h ../common/malloc.h
-char-server: char.o inter.o int_party.o int_guild.o int_storage.o int_pet.o $(COMMON_OBJ)
+char-server: char.o inter.o int_party.o int_guild.o int_storage.o $(COMMON_OBJ)
$(CC) -o ../../$@ $>
-char.o: char.c char.h inter.h int_pet.h $(COMMON_H) ../common/version.h
-inter.o: inter.c inter.h int_party.h int_guild.h int_storage.h int_pet.h char.h $(COMMON_H)
+char.o: char.c char.h inter.h $(COMMON_H) ../common/version.h
+inter.o: inter.c inter.h int_party.h int_guild.h int_storage.h char.h $(COMMON_H)
int_party.o: int_party.c int_party.h inter.h char.h $(COMMON_H)
int_guild.o: int_guild.c int_guild.h int_storage.h inter.h char.h $(COMMON_H)
int_storage.o: int_storage.c int_storage.h int_guild.h inter.h char.h $(COMMON_H)
-int_pet.o: int_pet.c int_pet.h inter.h char.h $(COMMON_H)
clean:
rm -f *.o ../../char-server
diff --git a/src/char/char.c b/src/char/char.c
index 7512dd0..27ef4c8 100644
--- a/src/char/char.c
+++ b/src/char/char.c
@@ -26,7 +26,6 @@
#include "char.h"
#include "inter.h"
-#include "int_pet.h"
#include "int_guild.h"
#include "int_party.h"
#include "int_storage.h"
@@ -237,7 +236,7 @@ int mmo_char_tostr(char *str, struct mmo_charstatus *p) {
p->str, p->agi, p->vit, p->int_, p->dex, p->luk,
p->status_point, p->skill_point,
p->option, p->karma, p->manner, //
- p->party_id, p->guild_id, p->pet_id,
+ p->party_id, p->guild_id, 0,
p->hair, p->hair_color, p->clothes_color,
p->weapon, p->shield, p->head_top, p->head_mid, p->head_bottom,
p->last_point.map, p->last_point.x, p->last_point.y, //
@@ -384,7 +383,7 @@ int mmo_char_fromstr(char *str, struct mmo_charstatus *p) {
p->manner = tmp_int[23];
p->party_id = tmp_int[24];
p->guild_id = tmp_int[25];
- p->pet_id = tmp_int[26];
+// p->pet_id = tmp_int[26];
p->hair = tmp_int[27];
p->hair_color = tmp_int[28];
p->clothes_color = tmp_int[29];
@@ -1470,15 +1469,6 @@ int disconnect_player(int accound_id) {
static int char_delete(struct mmo_charstatus *cs) {
int j;
- // ペット削除
- if (cs->pet_id)
- inter_pet_delete(cs->pet_id);
- for (j = 0; j < MAX_INVENTORY; j++)
- if (cs->inventory[j].card[0] == (short)0xff00)
- inter_pet_delete(*((long *)(&cs->inventory[j].card[2])));
- for (j = 0; j < MAX_CART; j++)
- if (cs->cart[j].card[0] == (short)0xff00)
- inter_pet_delete(*((long *)(&cs->cart[j].card[2])));
// ギルド脱退
if (cs->guild_id)
inter_guild_leave(cs->guild_id, cs->account_id, cs->char_id);
diff --git a/src/char/int_pet.c b/src/char/int_pet.c
deleted file mode 100644
index cff1e43..0000000
--- a/src/char/int_pet.c
+++ /dev/null
@@ -1,364 +0,0 @@
-// $Id: int_pet.c,v 1.1.1.1 2004/09/10 17:26:51 MagicalTux Exp $
-#include "inter.h"
-#include "int_pet.h"
-#include "mmo.h"
-#include "char.h"
-#include "socket.h"
-#include "db.h"
-#include "lock.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-
-char pet_txt[1024]="save/pet.txt";
-
-static struct dbt *pet_db;
-static int pet_newid = 100;
-
-int inter_pet_tostr(char *str,struct s_pet *p)
-{
- int len;
-
- if(p->hungry < 0)
- p->hungry = 0;
- else if(p->hungry > 100)
- p->hungry = 100;
- if(p->intimate < 0)
- p->intimate = 0;
- else if(p->intimate > 1000)
- p->intimate = 1000;
-
- len=sprintf(str,"%d,%d,%s\t%d,%d,%d,%d,%d,%d,%d,%d,%d",
- p->pet_id,p->class,p->name,p->account_id,p->char_id,p->level,p->egg_id,
- p->equip,p->intimate,p->hungry,p->rename_flag,p->incuvate);
-
- return 0;
-}
-
-int inter_pet_fromstr(char *str,struct s_pet *p)
-{
- int s;
- int tmp_int[16];
- char tmp_str[256];
-
- memset(p,0,sizeof(struct s_pet));
-
-// printf("sscanf pet main info\n");
- s=sscanf(str,"%d,%d,%[^\t]\t%d,%d,%d,%d,%d,%d,%d,%d,%d",&tmp_int[0],&tmp_int[1],tmp_str,&tmp_int[2],
- &tmp_int[3],&tmp_int[4],&tmp_int[5],&tmp_int[6],&tmp_int[7],&tmp_int[8],&tmp_int[9],&tmp_int[10]);
-
- if(s!=12)
- return 1;
-
- p->pet_id = tmp_int[0];
- p->class = tmp_int[1];
- memcpy(p->name,tmp_str,24);
- p->account_id = tmp_int[2];
- p->char_id = tmp_int[3];
- p->level = tmp_int[4];
- p->egg_id = tmp_int[5];
- p->equip = tmp_int[6];
- p->intimate = tmp_int[7];
- p->hungry = tmp_int[8];
- p->rename_flag = tmp_int[9];
- p->incuvate = tmp_int[10];
-
- if(p->hungry < 0)
- p->hungry = 0;
- else if(p->hungry > 100)
- p->hungry = 100;
- if(p->intimate < 0)
- p->intimate = 0;
- else if(p->intimate > 1000)
- p->intimate = 1000;
-
- return 0;
-}
-
-int inter_pet_init()
-{
- char line[8192];
- struct s_pet *p;
- FILE *fp;
- int c=0;
-
- pet_db=numdb_init();
-
- if( (fp=fopen(pet_txt,"r"))==NULL )
- return 1;
- while(fgets(line,sizeof(line),fp)){
- p=calloc(sizeof(struct s_pet), 1);
- if(p==NULL){
- printf("int_pet: out of memory!\n");
- exit(0);
- }
- memset(p,0,sizeof(struct s_pet));
- if(inter_pet_fromstr(line,p)==0 && p->pet_id>0){
- if( p->pet_id >= pet_newid)
- pet_newid=p->pet_id+1;
- numdb_insert(pet_db,p->pet_id,p);
- }else{
- printf("int_pet: broken data [%s] line %d\n",pet_txt,c);
- free(p);
- }
- c++;
- }
- fclose(fp);
-// printf("int_pet: %s read done (%d pets)\n",pet_txt,c);
- return 0;
-}
-
-int inter_pet_save_sub(void *key,void *data,va_list ap)
-{
- char line[8192];
- FILE *fp;
- inter_pet_tostr(line,(struct s_pet *)data);
- fp=va_arg(ap,FILE *);
- fprintf(fp,"%s" RETCODE,line);
- return 0;
-}
-
-int inter_pet_save()
-{
- FILE *fp;
- int lock;
- if( (fp=lock_fopen(pet_txt,&lock))==NULL ){
- printf("int_pet: cant write [%s] !!! data is lost !!!\n",pet_txt);
- return 1;
- }
- numdb_foreach(pet_db,inter_pet_save_sub,fp);
- lock_fclose(fp,pet_txt,&lock);
-// printf("int_pet: %s saved.\n",pet_txt);
- return 0;
-}
-
-int inter_pet_delete(int pet_id)
-{
- struct s_pet *p;
- p = numdb_search(pet_db,pet_id);
- if( p == NULL)
- return 1;
- else {
- numdb_erase(pet_db,pet_id);
- printf("pet_id: %d deleted\n",pet_id);
- }
- return 0;
-}
-
-int mapif_pet_created(int fd,int account_id,struct s_pet *p)
-{
- WFIFOW(fd,0)=0x3880;
- WFIFOL(fd,2)=account_id;
- if(p!=NULL){
- WFIFOB(fd,6)=0;
- WFIFOL(fd,7)=p->pet_id;
- printf("int_pet: created! %d %s\n",p->pet_id,p->name);
- }else{
- WFIFOB(fd,6)=1;
- WFIFOL(fd,7)=0;
- }
- WFIFOSET(fd,11);
-
- return 0;
-}
-
-int mapif_pet_info(int fd,int account_id,struct s_pet *p)
-{
- WFIFOW(fd,0)=0x3881;
- WFIFOW(fd,2)=sizeof(struct s_pet) + 9;
- WFIFOL(fd,4)=account_id;
- WFIFOB(fd,8)=0;
- memcpy(WFIFOP(fd,9),p,sizeof(struct s_pet));
- WFIFOSET(fd,WFIFOW(fd,2));
-
- return 0;
-}
-
-int mapif_pet_noinfo(int fd,int account_id)
-{
- WFIFOW(fd,0)=0x3881;
- WFIFOW(fd,2)=sizeof(struct s_pet) + 9;
- WFIFOL(fd,4)=account_id;
- WFIFOB(fd,8)=1;
- memset(WFIFOP(fd,9),0,sizeof(struct s_pet));
- WFIFOSET(fd,WFIFOW(fd,2));
-
- return 0;
-}
-
-int mapif_save_pet_ack(int fd,int account_id,int flag)
-{
- WFIFOW(fd,0)=0x3882;
- WFIFOL(fd,2)=account_id;
- WFIFOB(fd,6)=flag;
- WFIFOSET(fd,7);
-
- return 0;
-}
-
-int mapif_delete_pet_ack(int fd,int flag)
-{
- WFIFOW(fd,0)=0x3883;
- WFIFOB(fd,2)=flag;
- WFIFOSET(fd,3);
-
- return 0;
-}
-
-int mapif_create_pet(int fd,int account_id,int char_id,short pet_class,short pet_lv,short pet_egg_id,
- short pet_equip,short intimate,short hungry,char rename_flag,char incuvate,char *pet_name)
-{
- struct s_pet *p;
- p=malloc(sizeof(struct s_pet));
- if(p==NULL){
- printf("int_pet: out of memory !\n");
- mapif_pet_created(fd,account_id,NULL);
- return 0;
- }
- memset(p,0,sizeof(struct s_pet));
- p->pet_id = pet_newid++;
- memcpy(p->name,pet_name,24);
- if(incuvate == 1)
- p->account_id = p->char_id = 0;
- else {
- p->account_id = account_id;
- p->char_id = char_id;
- }
- p->class = pet_class;
- p->level = pet_lv;
- p->egg_id = pet_egg_id;
- p->equip = pet_equip;
- p->intimate = intimate;
- p->hungry = hungry;
- p->rename_flag = rename_flag;
- p->incuvate = incuvate;
-
- if(p->hungry < 0)
- p->hungry = 0;
- else if(p->hungry > 100)
- p->hungry = 100;
- if(p->intimate < 0)
- p->intimate = 0;
- else if(p->intimate > 1000)
- p->intimate = 1000;
-
- numdb_insert(pet_db,p->pet_id,p);
-
- mapif_pet_created(fd,account_id,p);
-
- return 0;
-}
-
-int mapif_load_pet(int fd,int account_id,int char_id,int pet_id)
-{
- struct s_pet *p;
- p=numdb_search(pet_db,pet_id);
- if(p!=NULL) {
- if(p->incuvate == 1) {
- p->account_id = p->char_id = 0;
- mapif_pet_info(fd,account_id,p);
- }
- else if(account_id == p->account_id && char_id == p->char_id)
- mapif_pet_info(fd,account_id,p);
- else
- mapif_pet_noinfo(fd,account_id);
- }
- else
- mapif_pet_noinfo(fd,account_id);
-
- return 0;
-}
-
-int mapif_save_pet(int fd,int account_id,struct s_pet *data)
-{
- struct s_pet *p;
- int pet_id;
- int len=RFIFOW(fd,2);
- if(sizeof(struct s_pet)!=len-8) {
- printf("inter pet: data size error %d %d\n",sizeof(struct s_pet),len-8);
- }
- else{
- pet_id = data->pet_id;
- p=numdb_search(pet_db,pet_id);
- if(p == NULL) {
- p=malloc(sizeof(struct s_pet));
- if(p==NULL){
- printf("int_pet: out of memory !\n");
- mapif_save_pet_ack(fd,account_id,1);
- return 0;
- }
- memset(p,0,sizeof(struct s_pet));
- p->pet_id = data->pet_id;
- if(p->pet_id == 0)
- data->pet_id = p->pet_id = pet_newid++;
- numdb_insert(pet_db,p->pet_id,p);
- }
- if(data->hungry < 0)
- data->hungry = 0;
- else if(data->hungry > 100)
- data->hungry = 100;
- if(data->intimate < 0)
- data->intimate = 0;
- else if(data->intimate > 1000)
- data->intimate = 1000;
- memcpy(p,data,sizeof(struct s_pet));
- if(p->incuvate == 1)
- p->account_id = p->char_id = 0;
-
- mapif_save_pet_ack(fd,account_id,0);
- }
-
- return 0;
-}
-
-int mapif_delete_pet(int fd,int pet_id)
-{
- mapif_delete_pet_ack(fd,inter_pet_delete(pet_id));
-
- return 0;
-}
-
-int mapif_parse_CreatePet(int fd)
-{
- mapif_create_pet(fd,RFIFOL(fd,2),RFIFOL(fd,6),RFIFOW(fd,10),RFIFOW(fd,12),RFIFOW(fd,14),RFIFOW(fd,16),RFIFOL(fd,18),
- RFIFOL(fd,20),RFIFOB(fd,22),RFIFOB(fd,23),RFIFOP(fd,24));
- return 0;
-}
-
-int mapif_parse_LoadPet(int fd)
-{
- mapif_load_pet(fd,RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10));
- return 0;
-}
-
-int mapif_parse_SavePet(int fd)
-{
- mapif_save_pet(fd,RFIFOL(fd,4),(struct s_pet *)RFIFOP(fd,8));
- return 0;
-}
-
-int mapif_parse_DeletePet(int fd)
-{
- mapif_delete_pet(fd,RFIFOL(fd,2));
- return 0;
-}
-
-// map server からの通信
-// ・1パケットのみ解析すること
-// ・パケット長データはinter.cにセットしておくこと
-// ・パケット長チェックや、RFIFOSKIPは呼び出し元で行われるので行ってはならない
-// ・エラーなら0(false)、そうでないなら1(true)をかえさなければならない
-int inter_pet_parse_frommap(int fd)
-{
- switch(RFIFOW(fd,0)){
- case 0x3080: mapif_parse_CreatePet(fd); break;
- case 0x3081: mapif_parse_LoadPet(fd); break;
- case 0x3082: mapif_parse_SavePet(fd); break;
- case 0x3083: mapif_parse_DeletePet(fd); break;
- default:
- return 0;
- }
- return 1;
-}
-
diff --git a/src/char/int_pet.h b/src/char/int_pet.h
deleted file mode 100644
index 993f913..0000000
--- a/src/char/int_pet.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// $Id: int_pet.h,v 1.1.1.1 2004/09/10 17:26:51 MagicalTux Exp $
-#ifndef _INT_PET_H_
-#define _INT_PET_H_
-
-int inter_pet_init();
-int inter_pet_save();
-int inter_pet_delete(int pet_id);
-
-int inter_pet_parse_frommap(int fd);
-
-extern char pet_txt[1024];
-
-#endif
diff --git a/src/char/int_storage.c b/src/char/int_storage.c
index 8b656fc..b84b586 100644
--- a/src/char/int_storage.c
+++ b/src/char/int_storage.c
@@ -1,7 +1,6 @@
// $Id: int_storage.c,v 1.1.1.1 2004/09/10 17:26:51 MagicalTux Exp $
#include "inter.h"
#include "int_storage.h"
-#include "int_pet.h"
#include "int_guild.h"
#include "mmo.h"
#include "char.h"
@@ -354,11 +353,6 @@ int inter_storage_delete(int account_id)
{
struct storage *s = numdb_search(storage_db,account_id);
if(s) {
- int i;
- for(i=0;i<s->storage_amount;i++){
- if(s->storage[i].card[0] == (short)0xff00)
- inter_pet_delete(*((long *)(&s->storage[i].card[2])));
- }
numdb_erase(storage_db,account_id);
free(s);
}
@@ -370,11 +364,6 @@ int inter_guild_storage_delete(int guild_id)
{
struct guild_storage *gs = numdb_search(guild_storage_db,guild_id);
if(gs) {
- int i;
- for(i=0;i<gs->storage_amount;i++){
- if(gs->storage[i].card[0] == (short)0xff00)
- inter_pet_delete(*((long *)(&gs->storage[i].card[2])));
- }
numdb_erase(guild_storage_db,guild_id);
free(gs);
}
diff --git a/src/char/inter.c b/src/char/inter.c
index 29ec57b..98e7ad0 100644
--- a/src/char/inter.c
+++ b/src/char/inter.c
@@ -11,7 +11,6 @@
#include "int_party.h"
#include "int_guild.h"
#include "int_storage.h"
-#include "int_pet.h"
#include "lock.h"
#define WISDATA_TTL (60*1000) // Existence time of Wisp/page data (60 seconds)
@@ -193,8 +192,6 @@ int inter_config_read(const char *cfgName) {
strncpy(party_txt, w2, sizeof(party_txt));
} else if (strcmpi(w1, "guild_txt") == 0) {
strncpy(guild_txt, w2, sizeof(guild_txt));
- } else if (strcmpi(w1, "pet_txt") == 0) {
- strncpy(pet_txt, w2, sizeof(pet_txt));
} else if (strcmpi(w1, "castle_txt") == 0) {
strncpy(castle_txt, w2, sizeof(castle_txt));
} else if (strcmpi(w1, "accreg_txt") == 0) {
@@ -238,7 +235,6 @@ int inter_save() {
inter_guild_save();
inter_storage_save();
inter_guild_storage_save();
- inter_pet_save();
inter_accreg_save();
return 0;
@@ -253,7 +249,6 @@ int inter_init(const char *file) {
inter_party_init();
inter_guild_init();
inter_storage_init();
- inter_pet_init();
inter_accreg_init();
return 0;
@@ -535,8 +530,6 @@ int inter_parse_frommap(int fd) {
break;
if (inter_storage_parse_frommap(fd))
break;
- if (inter_pet_parse_frommap(fd))
- break;
return 0;
}
RFIFOSKIP(fd, len);
diff --git a/src/common/mmo.h b/src/common/mmo.h
index 4105135..377f0b8 100644
--- a/src/common/mmo.h
+++ b/src/common/mmo.h
@@ -8,7 +8,6 @@
#include "utils.h" // LCCWIN32
#ifdef CYGWIN
-// txtやlogなどの書き出すファイルの改行コード
#define RETCODE "\r\n" // (CR/LF:Windows系)
#else
#define RETCODE "\n" // (LF:Unix系)
@@ -64,9 +63,6 @@
#define MAX_STATUS_TYPE 5
-#define WEDDING_RING_M 2634
-#define WEDDING_RING_F 2635
-
#define CHAR_CONF_NAME "conf/char_athena.conf"
struct item {
@@ -95,21 +91,6 @@ struct global_reg {
int value;
};
-struct s_pet {
- int account_id;
- int char_id;
- int pet_id;
- short class;
- short level;
- short egg_id;//pet egg id
- short equip;//pet equip name_id
- short intimate;//pet friendly
- short hungry;//pet hungry
- char name[24];
- char rename_flag;
- char incuvate;
-};
-
struct mmo_charstatus {
int char_id;
int account_id;
@@ -122,7 +103,7 @@ struct mmo_charstatus {
int hp,max_hp,sp,max_sp;
short option,karma,manner;
short hair,hair_color,clothes_color;
- int party_id,guild_id,pet_id;
+ int party_id,guild_id;
short weapon,shield;
short head_top,head_mid,head_bottom;
diff --git a/src/map/Makefile b/src/map/Makefile
index effb407..0201e59 100644
--- a/src/map/Makefile
+++ b/src/map/Makefile
@@ -15,7 +15,7 @@ map-server: obj/magic-interpreter-lexer.o obj/magic-interpreter-parser.o obj/mag
$(CC) -o ../../$@ $> $(LIBS)
obj/%.o: %.c
- $(COMPILE.c) -DTXT_ONLY $(OUTPUT_OPTION) $<
+ $(COMPILE.c) $(OUTPUT_OPTION) $<
magic-interpreter-lexer.c: magic-interpreter.l
$(LEX) -o magic-interpreter-lexer.c magic-interpreter.l
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index cf26775..9dab48f 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -32,10 +32,6 @@
#include "core.h"
-#ifndef TXT_ONLY
-#include "mail.h"
-#endif
-
#define STATE_BLIND 0x10
static char command_symbol = '@'; // first char of the commands (by [Yor])
@@ -333,11 +329,7 @@ static AtCommandInfo atcommand_info[] = {
{ AtCommand_ReloadItemDB, "@reloaditemdb", 99, atcommand_reloaditemdb }, // admin command
{ AtCommand_ReloadMobDB, "@reloadmobdb", 99, atcommand_reloadmobdb }, // admin command
{ AtCommand_ReloadSkillDB, "@reloadskilldb", 99, atcommand_reloadskilldb }, // admin command
-#ifndef TXT_ONLY
- { AtCommand_Rehash, "@rehash", 99, atcommand_rehash }, // admin command
-#else /* TXT_ONLY */
{ AtCommand_ReloadScript, "@reloadscript", 99, atcommand_reloadscript }, // admin command
-#endif /* TXT_ONLY */
{ AtCommand_ReloadGMDB, "@reloadgmdb", 99, atcommand_reloadgmdb }, // admin command
{ AtCommand_CharReset, "@charreset", 60, atcommand_charreset },
{ AtCommand_CharModel, "@charmodel", 50, atcommand_charmodel },
@@ -441,17 +433,6 @@ static AtCommandInfo atcommand_info[] = {
{ AtCommand_IterateForward, "@hugo", 60, atcommand_iterate_forward_over_players }, // [Fate]
{ AtCommand_IterateBackward, "@linus", 60, atcommand_iterate_backwards_over_players }, // [Fate]
-#ifndef TXT_ONLY // sql-only commands
- { AtCommand_CheckMail, "@checkmail", 1, atcommand_listmail }, // [Valaris]
- { AtCommand_ListMail, "@listmail", 1, atcommand_listmail }, // [Valaris]
- { AtCommand_ListNewMail, "@listnewmail", 1, atcommand_listmail }, // [Valaris]
- { AtCommand_ReadMail, "@readmail", 1, atcommand_readmail }, // [Valaris]
- { AtCommand_DeleteMail, "@deletemail", 1, atcommand_readmail }, // [Valaris]
- { AtCommand_SendMail, "@sendmail", 1, atcommand_sendmail }, // [Valaris]
- { AtCommand_SendPriorityMail, "@sendprioritymail",80, atcommand_sendmail }, // [Valaris]
- { AtCommand_RefreshOnline, "@refreshonline", 99, atcommand_refreshonline }, // [Valaris]
-#endif /* TXT_ONLY */
-
// add new commands before this line
{ AtCommand_Unknown, NULL, 1, NULL }
};
@@ -775,37 +756,6 @@ static int atkillmonster_sub(struct block_list *bl, va_list ap) {
return 0;
}
-#ifndef TXT_ONLY
-static int atkillnpc_sub(struct block_list *bl, va_list ap)
-{
- int flag = va_arg(ap,int);
-
- nullpo_retr(0, bl);
-
- npc_delete((struct npc_data *)bl);
-
- flag = 0;
-
- return 0;
-}
-
-void rehash( const int fd, struct map_session_data* sd )
-{
- int map_id = 0;
-
- int LOADED_MAPS = map_num;
-
- for (map_id = 0; map_id < LOADED_MAPS;map_id++) {
-
- if (map_id > LOADED_MAPS)
- break;
-
- map_foreachinarea(atkillmonster_sub, map_id, 0, 0, map[map_id].xs, map[map_id].ys, BL_MOB, 0);
- map_foreachinarea(atkillnpc_sub, map_id, 0, 0, map[map_id].xs, map[map_id].ys, BL_NPC, 0);
- }
-}
-
-#endif /* not TXT_ONLY */
/*==========================================
* Read Message Data
*------------------------------------------
@@ -5270,22 +5220,10 @@ int atcommand_reloadskilldb(
*
*------------------------------------------
*/
-#ifndef TXT_ONLY
-int atcommand_rehash(
-#else /* TXT_ONLY */
int atcommand_reloadscript(
-#endif /* TXT_ONLY */
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
-#ifndef TXT_ONLY
- atcommand_broadcast( fd, sd, "@broadcast", "eAthena SQL Server is Rehashing..." );
- atcommand_broadcast( fd, sd, "@broadcast", "You will feel a bit of lag at this point !" );
-
- rehash( fd, sd );
-
- atcommand_broadcast( fd, sd, "@broadcast", "Reloading NPCs..." );
-#endif /* not TXT_ONLY */
do_init_npc();
do_init_script();
@@ -7414,101 +7352,6 @@ int atcommand_unmute(
return 0;
}
-#ifndef TXT_ONLY /* Begin SQL-Only commands */
-
-/*==========================================
- * Mail System commands by [Valaris]
- *------------------------------------------
- */
-int atcommand_listmail(
- const int fd, struct map_session_data* sd,
- const char* command, const char* message)
-{
- if(!battle_config.mail_system)
- return 0;
-
- nullpo_retr(-1, sd);
-
- if(strlen(command)==12)
- mail_check(sd,3);
- else if(strlen(command)==9)
- mail_check(sd,2);
- else
- mail_check(sd,1);
- return 0;
-}
-
-int atcommand_readmail(
- const int fd, struct map_session_data* sd,
- const char* command, const char* message)
-{
- if(!battle_config.mail_system)
- return 0;
-
- nullpo_retr(-1, sd);
-
- if (!message || !*message) {
- clif_displaymessage(sd->fd,"You must specify a message number.");
- return 0;
- }
-
- if(strlen(command)==11)
- mail_delete(sd,atoi(message));
- else
- mail_read(sd,atoi(message));
-
- return 0;
-}
-
-int atcommand_sendmail(
- const int fd, struct map_session_data* sd,
- const char* command, const char* message)
-{
- if(!battle_config.mail_system)
- return 0;
-
- char name[24],text[80];
-
- nullpo_retr(-1, sd);
-
- if (!message || !*message) {
- clif_displaymessage(sd->fd,"You must specify a recipient and a message.");
- return 0;
- }
-
- if ((sscanf(message, "\"%[^\"]\" %79[^\n]", name, text) < 2) &&
- (sscanf(message, "%23s %79[^\n]", name, text) < 2)) {
- clif_displaymessage(sd->fd,"You must specify a recipient and a message.");
- return 0;
- }
-
- if(strlen(command)==17)
- mail_send(sd,name,text,1);
- else
- mail_send(sd,name,text,0);
-
- return 0;
-}
-
-/*==========================================
- * Refresh online command for SQL [Valaris]
- * Will refresh and check online column of
- * players and set correctly.
- *------------------------------------------
- */
-int atcommand_refreshonline(
- const int fd, struct map_session_data* sd,
- const char* command, const char* message)
-{
- nullpo_retr(-1, sd);
-
- char_online_check();
-
- return 0;
-}
-
-#endif /* end sql only */
-
/* Magic atcommands by Fate */
static int magic_base = TMW_MAGIC;
diff --git a/src/map/battle.c b/src/map/battle.c
index 40306b7..7d88413 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -4517,14 +4517,7 @@ int battle_config_read(const char *cfgName)
battle_config.spam_time = 3000;
battle_config.spam_threshold = 10;
battle_config.chat_maxline = 255;
-
-//SQL-only options start
-#ifndef TXT_ONLY
- battle_config.mail_system = 0;
-//SQL-only options end
-#endif
-
-}
+ }
fp = fopen(cfgName,"r");
if (fp == NULL) {
@@ -4730,12 +4723,7 @@ int battle_config_read(const char *cfgName)
{ "spam_ban", &battle_config.spam_ban },
{ "spam_time", &battle_config.spam_time },
{ "spam_threshold", &battle_config.spam_threshold },
- { "chat_maxline", &battle_config.chat_maxline },
-//SQL-only options start
-#ifndef TXT_ONLY
- { "mail_system", &battle_config.mail_system }, // added by [Valaris]
-//SQL-only options end
-#endif
+ { "chat_maxline", &battle_config.chat_maxline }
};
if (line[0] == '/' && line[1] == '/')
diff --git a/src/map/battle.h b/src/map/battle.h
index 27b837b..65abac4 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -320,10 +320,6 @@ extern struct Battle_Config {
int drop_pickup_safety_zone; // [Fate] Max. distance to an object dropped by a kill by self in which dropsteal protection works
-#ifndef TXT_ONLY /* SQL-only options */
- int mail_system; // [Valaris]
-#endif
-
int itemheal_regeneration_factor; // [Fate] itemheal speed factor
} battle_config;
diff --git a/src/map/chrif.c b/src/map/chrif.c
index 228d061..4f8edf6 100644
--- a/src/map/chrif.c
+++ b/src/map/chrif.c
@@ -985,14 +985,6 @@ int check_connect_char_server(int tid, unsigned int tick, int id, int data) {
realloc_fifo(char_fd, FIFOSIZE_SERVERLINK, FIFOSIZE_SERVERLINK);
chrif_connect(char_fd);
-#ifndef TXT_ONLY
- srvinfo = 0;
- } else {
- if (srvinfo == 0) {
- chrif_ragsrvinfo(battle_config.base_exp_rate, battle_config.job_exp_rate, battle_config.item_rate_common);
- srvinfo = 1;
- }
-#endif /* not TXT_ONLY */
}
return 0;
diff --git a/src/map/itemdb.c b/src/map/itemdb.c
index 7b3f157..499b776 100644
--- a/src/map/itemdb.c
+++ b/src/map/itemdb.c
@@ -33,9 +33,6 @@ static int blue_box_default=0,violet_box_default=0,card_album_default=0,gift_box
static void itemdb_read(void);
static int itemdb_readdb(void);
-#ifndef TXT_ONLY
-static int itemdb_read_sqldb(void);
-#endif /* not TXT_ONLY */
static int itemdb_read_randomitem();
static int itemdb_read_itemavail(void);
static int itemdb_read_itemnametable(void);
@@ -266,33 +263,6 @@ static int itemdb_read_itemslottable(void)
return 0;
}
-#ifndef TXT_ONLY
-/*====================================
- * Removed item_value_db, don't re-add
- *------------------------------------
- */
-static void itemdb_read(void)
-{
- itemdb_read_itemslottable();
-
- if (db_use_sqldbs)
- {
- itemdb_read_sqldb();
- }
- else
- {
- itemdb_readdb();
- }
-
- itemdb_read_randomitem();
- itemdb_read_itemavail();
- itemdb_read_noequip();
-
- if (!battle_config.item_name_override_grffile)
- itemdb_read_itemnametable();
-}
-
-#endif /* not TXT_ONLY */
/*==========================================
* アイテムデータベースの読み込み
*------------------------------------------
@@ -551,7 +521,7 @@ static int itemdb_read_itemnametable(void)
return 0;
}
-#ifdef TXT_ONLY
+
/*==========================================
* カードイラストのリソース名前テーブルを読み込む
*------------------------------------------
@@ -586,7 +556,7 @@ static int itemdb_read_cardillustnametable(void)
return 0;
}
-#endif /* TXT_ONLY */
+
/*==========================================
* 装備制限ファイル読み出し
*------------------------------------------
@@ -629,170 +599,7 @@ static int itemdb_read_noequip(void)
printf("read db/item_noequip.txt done (count=%d)\n",ln);
return 0;
}
-#ifndef TXT_ONLY
-
-/*======================================
-* SQL
-*===================================
-*/
-static int itemdb_read_sqldb(void)
-{
- unsigned short nameid;
- struct item_data *id;
- char script[65535 + 2 + 1]; // Maximum length of MySQL TEXT type (65535) + 2 bytes for curly brackets + 1 byte for terminator
-
- // ----------
-
- sprintf(tmp_sql, "SELECT * FROM `%s`", item_db_db);
-
- // Execute the query; if the query execution succeeded...
- if (mysql_query(&mmysql_handle, tmp_sql) == 0)
- {
- sql_res = mysql_store_result(&mmysql_handle);
-
- // If the storage of the query result succeeded...
- if (sql_res)
- {
- // Parse each row in the query result into sql_row
- while ((sql_row = mysql_fetch_row(sql_res)))
- {
- /* +----+--------------+---------------+------+-----------+------------+--------+--------+---------+-------+-------+------------+---------------+-----------------+--------------+-------------+------+------------+--------------+
- | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
- +----+--------------+---------------+------+-----------+------------+--------+--------+---------+-------+-------+------------+---------------+-----------------+--------------+-------------+------+------------+--------------+
- | id | name_english | name_japanese | type | price_buy | price_sell | weight | attack | defence | range | slots | equip_jobs | equip_genders | equip_locations | weapon_level | equip_level | view | script_use | script_equip |
- +----+--------------+---------------+------+-----------+------------+--------+--------+---------+-------+-------+------------+---------------+-----------------+--------------+-------------+------+------------+--------------+ */
-
- nameid = atoi(sql_row[0]);
-
- // If the identifier is not within the valid range, process the next row
- if (nameid == 0 || nameid >= 20000)
- {
- continue;
- }
-
- // Insert a new row into the item database
-
- /*id = calloc(sizeof(struct item_data), 1);
-
- if (id == NULL)
- {
- printf("out of memory : itemdb_read_sqldb\n");
- exit(1);
- }
-
- memset(id, 0, sizeof(struct item_data));
- numdb_insert(item_db, (int) nameid, id);*/
-
- // ----------
- id=itemdb_search(nameid);
-
- memcpy(id->name, sql_row[1], 25);
- memcpy(id->jname, sql_row[2], 25);
-
- id->type = atoi(sql_row[3]);
-
- // If price_buy is not NULL and price_sell is not NULL...
- if ((sql_row[4] != NULL) && (sql_row[5] != NULL))
- {
- id->value_buy = atoi(sql_row[4]);
- id->value_sell = atoi(sql_row[5]);
- }
- // If price_buy is not NULL and price_sell is NULL...
- else if ((sql_row[4] != NULL) && (sql_row[5] == NULL))
- {
- id->value_buy = atoi(sql_row[4]);
- id->value_sell = atoi(sql_row[4]) / 2;
- }
- // If price_buy is NULL and price_sell is not NULL...
- else if ((sql_row[4] == NULL) && (sql_row[5] != NULL))
- {
- id->value_buy = atoi(sql_row[5]) * 2;
- id->value_sell = atoi(sql_row[5]);
- }
- // If price_buy is NULL and price_sell is NULL...
- if ((sql_row[4] == NULL) && (sql_row[5] == NULL))
- {
- id->value_buy = 0;
- id->value_sell = 0;
- }
-
- id->weight = atoi(sql_row[6]);
-
- id->atk = (sql_row[7] != NULL) ? atoi(sql_row[7]) : 0;
- id->def = (sql_row[8] != NULL) ? atoi(sql_row[8]) : 0;
- id->range = (sql_row[9] != NULL) ? atoi(sql_row[9]) : 0;
- id->slot = (sql_row[10] != NULL) ? atoi(sql_row[10]) : 0;
- id->class = (sql_row[11] != NULL) ? atoi(sql_row[11]) : 0;
- id->sex = (sql_row[12] != NULL) ? atoi(sql_row[12]) : 0;
- id->equip = (sql_row[13] != NULL) ? atoi(sql_row[13]) : 0;
- id->wlv = (sql_row[14] != NULL) ? atoi(sql_row[14]) : 0;
- id->elv = (sql_row[15] != NULL) ? atoi(sql_row[15]) : 0;
- id->look = (sql_row[16] != NULL) ? atoi(sql_row[16]) : 0;
-
- id->view_id = 0;
-
- // ----------
-
- if (sql_row[17] != NULL)
- {
- if (sql_row[17][0] == '{')
- id->use_script = parse_script(sql_row[17], 0);
- else {
- sprintf(script, "{%s}", sql_row[17]);
- id->use_script = parse_script(script, 0);
- }
- }
- else
- {
- id->use_script = NULL;
- }
-
- if (sql_row[18] != NULL)
- {
- if (sql_row[18][0] == '{')
- id->equip_script = parse_script(sql_row[18], 0);
- else {
- sprintf(script, "{%s}", sql_row[18]);
- id->equip_script = parse_script(script, 0);
- }
- }
- else
- {
- id->equip_script = NULL;
- }
-
- // ----------
-
- id->flag.available = 1;
- id->flag.value_notdc = 0;
- id->flag.value_notoc = 0;
- }
-
- // If the retrieval failed, output an error
- if (mysql_errno(&mmysql_handle))
- {
- printf("Database server error (retrieving rows from %s): %s\n", item_db_db, mysql_error(&mmysql_handle));
- }
-
- printf("read %s done (count = %lu)\n", item_db_db, (unsigned long) mysql_num_rows(sql_res));
- }
- else
- {
- printf("MySQL error (storing query result for %s): %s\n", item_db_db, mysql_error(&mmysql_handle));
- }
-
- // Free the query result
- mysql_free_result(sql_res);
- }
- else
- {
- printf("Database server error (executing query for %s): %s\n", item_db_db, mysql_error(&mmysql_handle));
- }
-
- return 0;
-}
-#endif /* not TXT_ONLY */
/*==========================================
*
*------------------------------------------
@@ -850,7 +657,7 @@ void itemdebugtxt()
fclose(dfp);
}
*/
-#ifdef TXT_ONLY
+
/*====================================
* Removed item_value_db, don't re-add
*------------------------------------
@@ -866,7 +673,7 @@ static void itemdb_read(void)
if (!battle_config.item_name_override_grffile)
itemdb_read_itemnametable();
}
-#endif /* TXT_ONLY */
+
/*==========================================
*
*------------------------------------------
diff --git a/src/map/map.c b/src/map/map.c
index a9120f0..128d50b 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -40,55 +40,6 @@
#include "memwatch.h"
#endif
-#ifndef TXT_ONLY
-
-#include "mail.h" // mail system [Valaris]
-
-MYSQL mmysql_handle;
-MYSQL_RES* sql_res ;
-MYSQL_ROW sql_row ;
-char tmp_sql[65535]="";
-
-MYSQL lmysql_handle;
-MYSQL_RES* lsql_res ;
-MYSQL_ROW lsql_row ;
-char tmp_lsql[65535]="";
-
-MYSQL mail_handle; // mail system [Valaris]
-MYSQL_RES* mail_res ;
-MYSQL_ROW mail_row ;
-char tmp_msql[65535]="";
-
-int map_server_port = 3306;
-char map_server_ip[16] = "127.0.0.1";
-char map_server_id[32] = "ragnarok";
-char map_server_pw[32] = "ragnarok";
-char map_server_db[32] = "ragnarok";
-int db_use_sqldbs = 0;
-
-int login_server_port = 3306;
-char login_server_ip[16] = "127.0.0.1";
-char login_server_id[32] = "ragnarok";
-char login_server_pw[32] = "ragnarok";
-char login_server_db[32] = "ragnarok";
-
-char item_db_db[32] = "item_db";
-char mob_db_db[32] = "mob_db";
-char login_db[32] = "login";
-char login_db_level[32] = "level";
-char login_db_account_id[32] = "account_id";
-
-int lowest_gm_level = 1;
-int read_gm_interval = 600000;
-
-char char_db[32] = "char";
-
-static int online_timer(int,unsigned int,int,int);
-
-int CHECK_INTERVAL = 3600000; // [Valaris]
-int check_online_timer=0; // [Valaris]
-
-#endif /* not TXT_ONLY */
// 極力 staticでローカルに収める
static struct dbt * id_db=NULL;
static struct dbt * map_db=NULL;
@@ -1075,10 +1026,6 @@ int map_quit(struct map_session_data *sd) {
map_delblock(&sd->bl);
-#ifndef TXT_ONLY
- chrif_char_offline(sd);
-#endif
-
numdb_erase(id_db,sd->bl.id);
strdb_erase(nick_db,sd->status.name);
numdb_erase(charid_db,sd->status.char_id);
@@ -1781,200 +1728,6 @@ int map_config_read(char *cfgName) {
return 0;
}
-#ifndef TXT_ONLY
-/*=======================================
- * MySQL Init
- *---------------------------------------
- */
-
-int map_sql_init(void){
-
- mysql_init(&mmysql_handle);
-
- //DB connection start
- printf("Connect Map DB Server....\n");
- if(!mysql_real_connect(&mmysql_handle, map_server_ip, map_server_id, map_server_pw,
- map_server_db ,map_server_port, (char *)NULL, 0)) {
- //pointer check
- printf("%s\n",mysql_error(&mmysql_handle));
- exit(1);
- }
- else {
- printf ("connect success! (Map Server Connection)\n");
- }
-
- mysql_init(&lmysql_handle);
-
- //DB connection start
- printf("Connect Login DB Server....\n");
- if(!mysql_real_connect(&lmysql_handle, login_server_ip, login_server_id, login_server_pw,
- login_server_db ,login_server_port, (char *)NULL, 0)) {
- //pointer check
- printf("%s\n",mysql_error(&lmysql_handle));
- exit(1);
- }
- else {
- printf ("connect success! (Login Server Connection)\n");
- }
-
- if(battle_config.mail_system) { // mail system [Valaris]
- mysql_init(&mail_handle);
- if(!mysql_real_connect(&mail_handle, map_server_ip, map_server_id, map_server_pw,
- map_server_db ,map_server_port, (char *)NULL, 0)) {
- printf("%s\n",mysql_error(&mail_handle));
- exit(1);
- }
- }
-
- return 0;
-}
-
-int map_sql_close(void){
- mysql_close(&mmysql_handle);
- printf("Close Map DB Connection....\n");
-
- mysql_close(&lmysql_handle);
- printf("Close Login DB Connection....\n");
- return 0;
-}
-
-int sql_config_read(char *cfgName)
-{
- int i;
- char line[1024],w1[1024],w2[1024];
- FILE *fp;
-
- fp=fopen(cfgName,"r");
- if(fp==NULL){
- printf("file not found: %s\n",cfgName);
- return 1;
- }
- while(fgets(line,1020,fp)){
- if(line[0] == '/' && line[1] == '/')
- continue;
- i=sscanf(line,"%[^:]: %[^\r\n]",w1,w2);
- if(i!=2)
- continue;
- if(strcmpi(w1,"item_db_db")==0){
- strcpy(item_db_db,w2);
- } else if(strcmpi(w1,"mob_db_db")==0){
- strcpy(mob_db_db,w2);
- } else if(strcmpi(w1,"login_db_level")==0){
- strcpy(login_db_level,w2);
- } else if(strcmpi(w1,"login_db_account_id")==0){
- strcpy(login_db_account_id,w2);
- } else if(strcmpi(w1,"login_db")==0){
- strcpy(login_db,w2);
- } else if (strcmpi(w1, "char_db") == 0) {
- strcpy(char_db, w2);
- //Map Server SQL DB
- } else if(strcmpi(w1,"map_server_ip")==0){
- strcpy(map_server_ip, w2);
- printf ("set map_server_ip : %s\n",w2);
- } else if(strcmpi(w1,"map_server_port")==0){
- map_server_port=atoi(w2);
- printf ("set map_server_port : %s\n",w2);
- } else if(strcmpi(w1,"map_server_id")==0){
- strcpy(map_server_id, w2);
- printf ("set map_server_id : %s\n",w2);
- } else if(strcmpi(w1,"map_server_pw")==0){
- strcpy(map_server_pw, w2);
- printf ("set map_server_pw : %s\n",w2);
- } else if(strcmpi(w1,"map_server_db")==0){
- strcpy(map_server_db, w2);
- printf ("set map_server_db : %s\n",w2);
- //Map server option to use SQL db or not
- } else if(strcmpi(w1,"use_sql_db")==0){
- if (strcmpi(w2,"yes")){db_use_sqldbs=0;} else if (strcmpi(w2,"no")){db_use_sqldbs=1;}
- printf ("Using SQL dbs: %s\n",w2);
- //Login Server SQL DB
- } else if(strcmpi(w1,"login_server_ip")==0){
- strcpy(login_server_ip, w2);
- printf ("set login_server_ip : %s\n",w2);
- } else if(strcmpi(w1,"login_server_port")==0){
- login_server_port = atoi(w2);
- printf ("set login_server_port : %s\n",w2);
- } else if(strcmpi(w1,"login_server_id")==0){
- strcpy(login_server_id, w2);
- printf ("set login_server_id : %s\n",w2);
- } else if(strcmpi(w1,"login_server_pw")==0){
- strcpy(login_server_pw, w2);
- printf ("set login_server_pw : %s\n",w2);
- } else if(strcmpi(w1,"login_server_db")==0){
- strcpy(login_server_db, w2);
- printf ("set login_server_db : %s\n",w2);
- } else if(strcmpi(w1,"lowest_gm_level")==0){
- lowest_gm_level = atoi(w2);
- printf ("set lowest_gm_level : %s\n",w2);
- } else if(strcmpi(w1,"read_gm_interval")==0){
- read_gm_interval = ( atoi(w2) * 60 * 1000 ); // Minutes multiplied by 60 secs per min by 1000 milliseconds per second
- printf ("set read_gm_interval : %s\n",w2);
- }
- }
- fclose(fp);
-
- return 0;
-}
-
-// sql online status checking [Valaris]
-void char_offline(struct map_session_data *sd)
-{
- if(sd && sd->status.char_id) {
- sprintf(tmp_sql,"UPDATE `%s` SET `online`='0' WHERE `char_id`='%d'", char_db, sd->status.char_id);
- if(mysql_query(&mmysql_handle, tmp_sql) ) {
- printf("DB server Error (update online `%s`)- %s\n", char_db, mysql_error(&mmysql_handle) );
- }
- }
-}
-
-void do_reset_online(void)
-{
- sprintf(tmp_sql,"UPDATE `%s` SET `online`='0' WHERE `online`='1'", char_db);
- if(mysql_query(&mmysql_handle, tmp_sql) ) {
- printf("DB server Error (reset_online `%s`)- %s\n", char_db, mysql_error(&mmysql_handle) );
- }
-}
-
-int online_timer(int tid,unsigned int tick,int id,int data)
-{
- if(check_online_timer != tid)
- return 0;
-
- char_online_check();
-
- check_online_timer=add_timer(gettick()+CHECK_INTERVAL,online_timer,0,0);
-
- return 0;
-}
-
-void char_online_check(void)
-{
- int i;
- struct map_session_data *sd=NULL;
-
- do_reset_online();
-
- for(i=0;i<fd_max;i++){
- if (session[i] && (sd = session[i]->session_data) && sd && sd->state.auth &&
- !(battle_config.hide_GM_session && pc_isGM(sd)))
- if(sd->status.char_id) {
- sprintf(tmp_sql,"UPDATE `%s` SET `online`='1' WHERE `char_id`='%d'", char_db, sd->status.char_id);
- if(mysql_query(&mmysql_handle, tmp_sql) ) {
- printf("DB server Error (update online `%s`)- %s\n", char_db, mysql_error(&mmysql_handle) );
- }
- }
- }
-
-
- if(check_online_timer && check_online_timer != -1) {
- delete_timer(check_online_timer,online_timer);
- add_timer(gettick()+CHECK_INTERVAL,online_timer,0,0);
- }
-
-}
-
-#endif /* not TXT_ONLY */
-
int id_db_final(void *k,void *d,va_list ap){ return 0; }
int map_db_final(void *k,void *d,va_list ap){ return 0; }
int nick_db_final(void *k,void *d,va_list ap){ return 0; }
@@ -2038,10 +1791,6 @@ void do_final(void) {
do_final_itemdb();
do_final_storage();
do_final_guild();
-#ifndef TXT_ONLY
- do_reset_online();
- map_sql_close();
-#endif /* not TXT_ONLY */
}
void map_helpscreen() {
@@ -2055,9 +1804,6 @@ void map_helpscreen() {
int do_init(int argc, char *argv[]) {
int i;
-#ifndef TXT_ONLY
- unsigned char *SQL_CONF_NAME="conf/inter_athena.conf";
-#endif
unsigned char *MAP_CONF_NAME = "conf/map_athena.conf";
unsigned char *BATTLE_CONF_FILENAME = "conf/battle_athena.conf";
unsigned char *ATCOMMAND_CONF_FILENAME = "conf/atcommand_athena.conf";
@@ -2083,10 +1829,6 @@ int do_init(int argc, char *argv[]) {
MSG_CONF_NAME = argv[i+1];
else if (strcmp(argv[i],"--grf_path_file") == 0)
GRF_PATH_FILENAME = argv[i+1];
-#ifndef TXT_ONLY
- else if (strcmp(argv[i],"--sql_config") == 0)
- SQL_CONF_NAME = argv[i+1];
-#endif /* not TXT_ONLY */
}
map_config_read(MAP_CONF_NAME);
@@ -2094,9 +1836,6 @@ int do_init(int argc, char *argv[]) {
atcommand_config_read(ATCOMMAND_CONF_FILENAME);
script_config_read(SCRIPT_CONF_NAME);
msg_config_read(MSG_CONF_NAME);
-#ifndef TXT_ONLY
- sql_config_read(SQL_CONF_NAME);
-#endif /* not TXT_ONLY */
atexit(do_final);
@@ -2104,9 +1843,6 @@ int do_init(int argc, char *argv[]) {
map_db = strdb_init(16);
nick_db = strdb_init(24);
charid_db = numdb_init();
-#ifndef TXT_ONLY
- map_sql_init();
-#endif /* not TXT_ONLY */
grfio_init(GRF_PATH_FILENAME);
@@ -2114,11 +1850,6 @@ int do_init(int argc, char *argv[]) {
add_timer_func_list(map_clearflooritem_timer, "map_clearflooritem_timer");
-#ifndef TXT_ONLY // online status timer, checks every hour [Valaris]
- add_timer_func_list(online_timer, "online_timer");
- check_online_timer=add_timer(gettick()+CHECK_INTERVAL,online_timer,0,0);
-#endif /* not TXT_ONLY */
-
do_init_chrif();
do_init_clif();
do_init_itemdb();
@@ -2132,11 +1863,6 @@ int do_init(int argc, char *argv[]) {
do_init_skill();
do_init_magic();
-#ifndef TXT_ONLY /* mail system [Valaris] */
- if(battle_config.mail_system)
- do_init_mail();
-#endif /* not TXT_ONLY */
-
npc_event_do_oninit(); // npcのOnInitイベント実行
if (battle_config.pk_mode == 1)
diff --git a/src/map/map.h b/src/map/map.h
index fa2d583..b3ff052 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -354,11 +354,6 @@ struct map_session_data {
char chat_lastmsg[513];
int chat_threshold;
int chat_repeatmsg;
-
-#ifndef TXT_ONLY
- int mail_counter; // mail counter for mail system [Valaris]
-#endif
-
};
struct npc_timerevent_list {
@@ -726,42 +721,4 @@ int map_who(int fd);
void map_helpscreen(); // [Valaris]
int map_delmap(char *mapname);
-#ifndef TXT_ONLY
-
-// MySQL
-#include <mysql.h>
-
-void char_online_check(void); // [Valaris]
-void char_offline(struct map_session_data *sd);
-
-extern MYSQL mmysql_handle;
-extern char tmp_sql[65535];
-extern MYSQL_RES* sql_res ;
-extern MYSQL_ROW sql_row ;
-
-extern MYSQL lmysql_handle;
-extern char tmp_lsql[65535];
-extern MYSQL_RES* lsql_res ;
-extern MYSQL_ROW lsql_row ;
-
-extern MYSQL mail_handle;
-extern MYSQL_RES* mail_res ;
-extern MYSQL_ROW mail_row ;
-extern char tmp_msql[65535];
-
-extern int db_use_sqldbs;
-
-extern char item_db_db[32];
-extern char mob_db_db[32];
-extern char login_db[32];
-
-extern char login_db_level[32];
-extern char login_db_account_id[32];
-
-extern int lowest_gm_level;
-extern int read_gm_interval;
-
-extern char char_db[32];
-#endif /* not TXT_ONLY */
-
#endif
diff --git a/src/map/mob.c b/src/map/mob.c
index 8f83c94..5a57472 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -4249,162 +4249,13 @@ void mob_reload(void)
do_init_mob();
}
-#ifndef TXT_ONLY
-/*==========================================
- * SQL reading
- *------------------------------------------
- */
-static int mob_read_sqldb(void)
-{
- char line[1024];
- int i,class,ln=0;
- char *str[55],*p,*np;
-
- memset(mob_db,0,sizeof(mob_db));
-
- sprintf (tmp_sql, "SELECT * FROM `%s`",mob_db_db);
- if(mysql_query(&mmysql_handle, tmp_sql) ) {
- printf("DB server Error (select %s to Memory)- %s\n",mob_db_db,mysql_error(&mmysql_handle) );
- }
- sql_res = mysql_store_result(&mmysql_handle);
- if (sql_res) {
- while((sql_row = mysql_fetch_row(sql_res))){
- sprintf(line,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",
- sql_row[0],sql_row[1],sql_row[2],sql_row[3],sql_row[4],
- sql_row[5],sql_row[6],sql_row[7],sql_row[8],sql_row[9],
- sql_row[10],sql_row[11],sql_row[12],sql_row[13],sql_row[14],
- sql_row[15],sql_row[16],sql_row[17],sql_row[18],sql_row[19],
- sql_row[20],sql_row[21],sql_row[22],sql_row[23],sql_row[24],
- sql_row[25],sql_row[26],sql_row[27],sql_row[28],sql_row[29],
- sql_row[30],sql_row[31],sql_row[32],sql_row[33],sql_row[34],
- sql_row[35],sql_row[36],sql_row[37],sql_row[38],sql_row[39],
- sql_row[40],sql_row[41],sql_row[42],sql_row[43],sql_row[44],
- sql_row[45],sql_row[46],sql_row[47],sql_row[48],sql_row[49],
- sql_row[50],sql_row[51],sql_row[52]);
-
- for(i=0,p=line;i<55;i++){
- if((np=strchr(p,','))!=NULL){
- str[i]=p;
- *np=0;
- p=np+1;
- } else
- str[i]=p;
- }
-
- class=atoi(str[0]);
- if(class<=1000 || class>2000)
- continue;
-
- ln++;
-
- mob_db[class].view_class=class;
- memcpy(mob_db[class].name,str[1],24);
- memcpy(mob_db[class].jname,str[2],24);
- mob_db[class].lv=atoi(str[3]);
- mob_db[class].max_hp=atoi(str[4]);
- mob_db[class].max_sp=atoi(str[5]);
- mob_db[class].base_exp=atoi(str[6])*
- battle_config.base_exp_rate/100;
- if(mob_db[class].base_exp <= 0)
- mob_db[class].base_exp = 1;
- mob_db[class].job_exp=atoi(str[7])*
- battle_config.job_exp_rate/100;
- if(mob_db[class].job_exp <= 0)
- mob_db[class].job_exp = 1;
- mob_db[class].range=atoi(str[8]);
- mob_db[class].atk1=atoi(str[9]);
- mob_db[class].atk2=atoi(str[10]);
- mob_db[class].def=atoi(str[11]);
- mob_db[class].mdef=atoi(str[12]);
- mob_db[class].str=atoi(str[13]);
- mob_db[class].agi=atoi(str[14]);
- mob_db[class].vit=atoi(str[15]);
- mob_db[class].int_=atoi(str[16]);
- mob_db[class].dex=atoi(str[17]);
- mob_db[class].luk=atoi(str[18]);
- mob_db[class].range2=atoi(str[19]);
- mob_db[class].range3=atoi(str[20]);
- mob_db[class].size=atoi(str[21]);
- mob_db[class].race=atoi(str[22]);
- mob_db[class].element=atoi(str[23]);
- mob_db[class].mode=atoi(str[24]);
- mob_db[class].speed=atoi(str[25]);
- mob_db[class].adelay=atoi(str[26]);
- mob_db[class].amotion=atoi(str[27]);
- mob_db[class].dmotion=atoi(str[28]);
-
- for(i=0;i<8;i++){
- int rate = 0,type,ratemin,ratemax;
- mob_db[class].dropitem[i].nameid=atoi(str[29+i*2]);
- type = itemdb_type(mob_db[class].dropitem[i].nameid);
- if (type == 0) { // Added by Valaris
- rate = battle_config.item_rate_heal;
- ratemin = battle_config.item_drop_heal_min;
- ratemax = battle_config.item_drop_heal_max;
- }
- else if (type == 2) {
- rate = battle_config.item_rate_use;
- ratemin = battle_config.item_drop_use_min;
- ratemax = battle_config.item_drop_use_max; // End
- }
- else if (type == 4 || type == 5 || type == 8) {
- rate = battle_config.item_rate_equip;
- ratemin = battle_config.item_drop_equip_min;
- ratemax = battle_config.item_drop_equip_max;
- }
- else if (type == 6) {
- rate = battle_config.item_rate_card;
- ratemin = battle_config.item_drop_card_min;
- ratemax = battle_config.item_drop_card_max;
- }
- else {
- rate = battle_config.item_rate_common;
- ratemin = battle_config.item_drop_common_min;
- ratemax = battle_config.item_drop_common_max;
- }
- rate = (rate / 100) * atoi(str[30+i*2]);
- rate = (rate < ratemin)? ratemin: (rate > ratemax)? ratemax: rate;
- mob_db[class].dropitem[i].p = rate;
- }
-
- mob_db[class].mexp=atoi(str[45])*battle_config.mvp_exp_rate/100;
- mob_db[class].mexpper=atoi(str[46]);
- for(i=0;i<3;i++){
- mob_db[class].mvpitem[i].nameid=atoi(str[47+i*2]);
- mob_db[class].mvpitem[i].p=atoi(str[48+i*2])*battle_config.mvp_item_rate/100;
- }
- for(i=0;i<MAX_RANDOMMONSTER;i++)
- mob_db[class].summonper[i]=0;
- mob_db[class].maxskill=0;
-
- mob_db[class].sex=0;
- mob_db[class].hair=0;
- mob_db[class].hair_color=0;
- mob_db[class].weapon=0;
- mob_db[class].shield=0;
- mob_db[class].head_top=0;
- mob_db[class].head_mid=0;
- mob_db[class].head_buttom=0;
- }
- mysql_free_result(sql_res);
- printf("read %s done (count=%d)\n",mob_db_db,ln);
- }
- return 0;
-}
-
-#endif /* not TXT_ONLY */
/*==========================================
* Circumference initialization of mob
*------------------------------------------
*/
int do_init_mob(void)
{
-#ifndef TXT_ONLY
- if(db_use_sqldbs)
- mob_read_sqldb();
- else
-#endif /* TXT_ONLY */
- mob_readdb();
+ mob_readdb();
mob_readdb_mobavail();
mob_read_randommonster();
diff --git a/src/map/pc.c b/src/map/pc.c
index 8fd1a72..6bc2ddd 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -29,10 +29,6 @@
#include "storage.h"
#include "trade.h"
-#ifndef TXT_ONLY // mail system [Valaris]
-#include "mail.h"
-#endif
-
#ifdef MEMWATCH
#include "memwatch.h"
#endif
@@ -713,10 +709,6 @@ int pc_authok(int id, int login_id2, time_t connect_until_time, short tmw_versio
sd->doridori_counter = 0;
-#ifndef TXT_ONLY // mail system [Valaris]
- if(battle_config.mail_system)
- sd->mail_counter = 0;
-#endif
sd->spiritball = 0;
for(i = 0; i < MAX_SKILL_LEVEL; i++)
sd->spirit_timer[i] = -1;
@@ -833,11 +825,6 @@ int pc_authok(int id, int login_id2, time_t connect_until_time, short tmw_versio
sd->chat_lastmsg_time = sd->chat_threshold = sd->chat_repeatmsg = 0;
sd->chat_lastmsg[0] = '\0';
-#ifndef TXT_ONLY
- if(battle_config.mail_system)
- mail_check(sd,1); // check mail at login [Valaris]
-#endif
-
// message of the limited time of the account
if (connect_until_time != 0) { // don't display if it's unlimited or unknow value
char tmpstr[1024];
@@ -7216,13 +7203,11 @@ int pc_autosave(int tid,unsigned int tick,int id,int data)
int pc_read_gm_account(int fd)
{
-#ifdef TXT_ONLY
int i = 0;
-#endif
if (gm_account != NULL)
free(gm_account);
GM_num = 0;
-#ifdef TXT_ONLY
+
gm_account = calloc(sizeof(struct gm_account) * ((RFIFOW(fd,2) - 4) / 5), 1);
for (i = 4; i < RFIFOW(fd,2); i = i + 5) {
gm_account[GM_num].account_id = RFIFOL(fd,i);
@@ -7230,24 +7215,6 @@ int pc_read_gm_account(int fd)
//printf("GM account: %d -> level %d\n", gm_account[GM_num].account_id, gm_account[GM_num].level);
GM_num++;
}
-#else
- sprintf (tmp_lsql, "SELECT `%s`,`%s` FROM `%s` WHERE `%s`>='%d'",login_db_account_id,login_db_level,login_db,login_db_level,lowest_gm_level);
- if(mysql_query(&lmysql_handle, tmp_lsql) ) {
- printf("DB server Error (select %s to Memory)- %s\n",login_db,mysql_error(&lmysql_handle) );
- }
- lsql_res = mysql_store_result(&lmysql_handle);
- if (lsql_res) {
- gm_account = calloc(sizeof(struct gm_account) * mysql_num_rows(lsql_res), 1);
- while ((lsql_row = mysql_fetch_row(lsql_res))) {
- gm_account[GM_num].account_id = atoi(lsql_row[0]);
- gm_account[GM_num].level = atoi(lsql_row[1]);
- printf("GM account: %d -> level %d\n", gm_account[GM_num].account_id, gm_account[GM_num].level);
- GM_num++;
- }
- }
-
- mysql_free_result(lsql_res);
-#endif /* TXT_ONLY */
return GM_num;
}
@@ -7674,10 +7641,6 @@ int do_init_pc(void) {
add_timer_interval((natural_heal_prev_tick = gettick() + NATURAL_HEAL_INTERVAL), pc_natural_heal, 0, 0, NATURAL_HEAL_INTERVAL);
add_timer(gettick() + autosave_interval, pc_autosave, 0, 0);
-#ifndef TXT_ONLY
- pc_read_gm_account(0);
-#endif /* not TXT_ONLY */
-
// add night/day timer (by [yor])
add_timer_func_list(map_day_timer, "map_day_timer"); // by [yor]
add_timer_func_list(map_night_timer, "map_night_timer"); // by [yor]