More g++ fixes to make it cleaner [MouseJstr]
git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@1362 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
5ecdba1c5b
commit
ae0db54f77
@ -2,6 +2,8 @@
|
|||||||
Date Added
|
Date Added
|
||||||
|
|
||||||
03/31
|
03/31
|
||||||
|
* More pedantic g++ fixes so that it builds without any and
|
||||||
|
all warnings [SVN 1362: MouseJstr]
|
||||||
* Removed some #include's causing warnings on some platforms
|
* Removed some #include's causing warnings on some platforms
|
||||||
[SVN 1360: MouseJstr]
|
[SVN 1360: MouseJstr]
|
||||||
* Fixed a bug with InitTimer/StopTimer, thanks to ilpalazzo-sama
|
* Fixed a bug with InitTimer/StopTimer, thanks to ilpalazzo-sama
|
||||||
|
8
Makefile
8
Makefile
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
CC = gcc -pipe
|
CC = gcc -pipe
|
||||||
# CC = gcc -pipe -DPCRE_SUPPORT
|
# CC = gcc -pipe -DPCRE_SUPPORT
|
||||||
# CC = g++
|
# CC = g++ --pipe
|
||||||
# CC = gcc -pipe -DGCOLLECT
|
# CC = gcc -pipe -DGCOLLECT
|
||||||
# CC = gcc -pipe -DDMALLOC -DDMALLOC_FUNC_CHECK
|
# CC = gcc -pipe -DDMALLOC -DDMALLOC_FUNC_CHECK
|
||||||
# CC = /usr/local/bin/gcc -fbounds-checking -pipe -DBCHECK
|
# CC = /usr/local/bin/gcc -fbounds-checking -pipe -DBCHECK
|
||||||
@ -26,15 +26,15 @@ else
|
|||||||
MAKE = make
|
MAKE = make
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OPT = -g -O2 -ffast-math
|
OPT = -g -O2 -ffast-math -Wall -Wno-sign-compare
|
||||||
# OPT += -DDUMPSTACK -rdynamic
|
# OPT += -DDUMPSTACK -rdynamic
|
||||||
|
|
||||||
ifeq ($(findstring CYGWIN,$(PLATFORM)), CYGWIN)
|
ifeq ($(findstring CYGWIN,$(PLATFORM)), CYGWIN)
|
||||||
OS_TYPE = -DCYGWIN
|
OS_TYPE = -DCYGWIN
|
||||||
CFLAGS = $(OPT) -Wall -DFD_SETSIZE=4096 -I../common $(PACKETDEF) $(OS_TYPE)
|
CFLAGS = $(OPT) -DFD_SETSIZE=4096 -I../common $(PACKETDEF) $(OS_TYPE)
|
||||||
else
|
else
|
||||||
OS_TYPE =
|
OS_TYPE =
|
||||||
CFLAGS = $(OPT) -Wall -I../common $(PACKETDEF) $(OS_TYPE)
|
CFLAGS = $(OPT) -I../common $(PACKETDEF) $(OS_TYPE)
|
||||||
# CFLAGS = -DTWILIGHT $(OPT) -Wall -I../common $(PACKETDEF) $(OS_TYPE)
|
# CFLAGS = -DTWILIGHT $(OPT) -Wall -I../common $(PACKETDEF) $(OS_TYPE)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -1954,7 +1954,7 @@ int parse_admin(int fd) {
|
|||||||
memcpy(ma.lastlogin, "-", 2);
|
memcpy(ma.lastlogin, "-", 2);
|
||||||
ma.sex = RFIFOB(fd,50);
|
ma.sex = RFIFOB(fd,50);
|
||||||
WFIFOW(fd,0) = 0x7931;
|
WFIFOW(fd,0) = 0x7931;
|
||||||
WFIFOL(fd,2) = -1; // WTF? usigned being set to a -1???
|
WFIFOL(fd,2) = 0xffffffff;
|
||||||
memcpy(WFIFOP(fd,6), RFIFOP(fd,2), 24);
|
memcpy(WFIFOP(fd,6), RFIFOP(fd,2), 24);
|
||||||
if (strlen(ma.userid) > 23 || strlen(ma.passwd) > 23) {
|
if (strlen(ma.userid) > 23 || strlen(ma.passwd) > 23) {
|
||||||
login_log("'ladmin': Attempt to create an invalid account (account or pass is too long, ip: %s)" RETCODE,
|
login_log("'ladmin': Attempt to create an invalid account (account or pass is too long, ip: %s)" RETCODE,
|
||||||
@ -2000,7 +2000,7 @@ int parse_admin(int fd) {
|
|||||||
if (RFIFOREST(fd) < 26)
|
if (RFIFOREST(fd) < 26)
|
||||||
return 0;
|
return 0;
|
||||||
WFIFOW(fd,0) = 0x7933;
|
WFIFOW(fd,0) = 0x7933;
|
||||||
WFIFOL(fd,2) = -1; // WTF? an unsigned being set to -1
|
WFIFOL(fd,2) = 0xFFFFFFFF;
|
||||||
account_name = (char*)RFIFOP(fd,2);
|
account_name = (char*)RFIFOP(fd,2);
|
||||||
account_name[23] = '\0';
|
account_name[23] = '\0';
|
||||||
remove_control_chars((unsigned char *)account_name);
|
remove_control_chars((unsigned char *)account_name);
|
||||||
@ -2036,7 +2036,7 @@ int parse_admin(int fd) {
|
|||||||
if (RFIFOREST(fd) < 50)
|
if (RFIFOREST(fd) < 50)
|
||||||
return 0;
|
return 0;
|
||||||
WFIFOW(fd,0) = 0x7935;
|
WFIFOW(fd,0) = 0x7935;
|
||||||
WFIFOL(fd,2) = -1; /// WTF??? an unsigned being set to a -1
|
WFIFOL(fd,2) = 0xFFFFFFFF; /// WTF??? an unsigned being set to a -1
|
||||||
account_name = (char*)RFIFOP(fd,2);
|
account_name = (char*)RFIFOP(fd,2);
|
||||||
account_name[23] = '\0';
|
account_name[23] = '\0';
|
||||||
remove_control_chars((unsigned char *)account_name);
|
remove_control_chars((unsigned char *)account_name);
|
||||||
@ -2066,7 +2066,7 @@ int parse_admin(int fd) {
|
|||||||
char error_message[20];
|
char error_message[20];
|
||||||
int statut;
|
int statut;
|
||||||
WFIFOW(fd,0) = 0x7937;
|
WFIFOW(fd,0) = 0x7937;
|
||||||
WFIFOL(fd,2) = -1; // WTF???
|
WFIFOL(fd,2) = 0xFFFFFFFF; // WTF???
|
||||||
account_name = (char*)RFIFOP(fd,2);
|
account_name = (char*)RFIFOP(fd,2);
|
||||||
account_name[23] = '\0';
|
account_name[23] = '\0';
|
||||||
remove_control_chars((unsigned char *)account_name);
|
remove_control_chars((unsigned char *)account_name);
|
||||||
@ -2141,7 +2141,7 @@ int parse_admin(int fd) {
|
|||||||
if (RFIFOREST(fd) < 50)
|
if (RFIFOREST(fd) < 50)
|
||||||
return 0;
|
return 0;
|
||||||
WFIFOW(fd,0) = 0x793b;
|
WFIFOW(fd,0) = 0x793b;
|
||||||
WFIFOL(fd,2) = -1; // WTF???
|
WFIFOL(fd,2) = 0xFFFFFFFF; // WTF???
|
||||||
account_name = (char*)RFIFOP(fd,2);
|
account_name = (char*)RFIFOP(fd,2);
|
||||||
account_name[23] = '\0';
|
account_name[23] = '\0';
|
||||||
remove_control_chars((unsigned char *)account_name);
|
remove_control_chars((unsigned char *)account_name);
|
||||||
@ -2173,7 +2173,7 @@ int parse_admin(int fd) {
|
|||||||
if (RFIFOREST(fd) < 27)
|
if (RFIFOREST(fd) < 27)
|
||||||
return 0;
|
return 0;
|
||||||
WFIFOW(fd,0) = 0x793d;
|
WFIFOW(fd,0) = 0x793d;
|
||||||
WFIFOL(fd,2) = -1; // WTF???
|
WFIFOL(fd,2) = 0xFFFFFFFF; // WTF???
|
||||||
account_name = (char*)RFIFOP(fd,2);
|
account_name = (char*)RFIFOP(fd,2);
|
||||||
account_name[23] = '\0';
|
account_name[23] = '\0';
|
||||||
remove_control_chars((unsigned char *)account_name);
|
remove_control_chars((unsigned char *)account_name);
|
||||||
@ -2225,7 +2225,7 @@ int parse_admin(int fd) {
|
|||||||
if (RFIFOREST(fd) < 27)
|
if (RFIFOREST(fd) < 27)
|
||||||
return 0;
|
return 0;
|
||||||
WFIFOW(fd,0) = 0x793f;
|
WFIFOW(fd,0) = 0x793f;
|
||||||
WFIFOL(fd,2) = -1; // WTF???
|
WFIFOL(fd,2) = 0xFFFFFFFF; // WTF???
|
||||||
account_name = (char*)RFIFOP(fd,2);
|
account_name = (char*)RFIFOP(fd,2);
|
||||||
account_name[23] = '\0';
|
account_name[23] = '\0';
|
||||||
remove_control_chars((unsigned char *)account_name);
|
remove_control_chars((unsigned char *)account_name);
|
||||||
@ -2315,7 +2315,7 @@ int parse_admin(int fd) {
|
|||||||
if (RFIFOREST(fd) < 66)
|
if (RFIFOREST(fd) < 66)
|
||||||
return 0;
|
return 0;
|
||||||
WFIFOW(fd,0) = 0x7941;
|
WFIFOW(fd,0) = 0x7941;
|
||||||
WFIFOL(fd,2) = -1; // WTF???
|
WFIFOL(fd,2) = 0xFFFFFFFF; // WTF???
|
||||||
account_name = (char*)RFIFOP(fd,2);
|
account_name = (char*)RFIFOP(fd,2);
|
||||||
account_name[23] = '\0';
|
account_name[23] = '\0';
|
||||||
remove_control_chars((unsigned char *)account_name);
|
remove_control_chars((unsigned char *)account_name);
|
||||||
@ -2350,7 +2350,7 @@ int parse_admin(int fd) {
|
|||||||
if (RFIFOREST(fd) < 28 || RFIFOREST(fd) < (28 + RFIFOW(fd,26)))
|
if (RFIFOREST(fd) < 28 || RFIFOREST(fd) < (28 + RFIFOW(fd,26)))
|
||||||
return 0;
|
return 0;
|
||||||
WFIFOW(fd,0) = 0x7943;
|
WFIFOW(fd,0) = 0x7943;
|
||||||
WFIFOL(fd,2) = -1; // WTF???
|
WFIFOL(fd,2) = 0xFFFFFFFF; // WTF???
|
||||||
account_name = (char*)RFIFOP(fd,2);
|
account_name = (char*)RFIFOP(fd,2);
|
||||||
account_name[23] = '\0';
|
account_name[23] = '\0';
|
||||||
remove_control_chars((unsigned char *)account_name);
|
remove_control_chars((unsigned char *)account_name);
|
||||||
@ -2385,7 +2385,7 @@ int parse_admin(int fd) {
|
|||||||
if (RFIFOREST(fd) < 26)
|
if (RFIFOREST(fd) < 26)
|
||||||
return 0;
|
return 0;
|
||||||
WFIFOW(fd,0) = 0x7945;
|
WFIFOW(fd,0) = 0x7945;
|
||||||
WFIFOL(fd,2) = -1; // WTF???
|
WFIFOL(fd,2) = 0xFFFFFFFF; // WTF???
|
||||||
account_name = (char*)RFIFOP(fd,2);
|
account_name = (char*)RFIFOP(fd,2);
|
||||||
account_name[23] = '\0';
|
account_name[23] = '\0';
|
||||||
remove_control_chars((unsigned char *)account_name);
|
remove_control_chars((unsigned char *)account_name);
|
||||||
@ -2434,7 +2434,7 @@ int parse_admin(int fd) {
|
|||||||
time_t timestamp;
|
time_t timestamp;
|
||||||
char tmpstr[2048];
|
char tmpstr[2048];
|
||||||
WFIFOW(fd,0) = 0x7949;
|
WFIFOW(fd,0) = 0x7949;
|
||||||
WFIFOL(fd,2) = -1; // WTF???
|
WFIFOL(fd,2) = 0xFFFFFFFF; // WTF???
|
||||||
account_name = (char*)RFIFOP(fd,2);
|
account_name = (char*)RFIFOP(fd,2);
|
||||||
account_name[23] = '\0';
|
account_name[23] = '\0';
|
||||||
remove_control_chars((unsigned char *)account_name);
|
remove_control_chars((unsigned char *)account_name);
|
||||||
@ -2466,7 +2466,7 @@ int parse_admin(int fd) {
|
|||||||
time_t timestamp;
|
time_t timestamp;
|
||||||
char tmpstr[2048];
|
char tmpstr[2048];
|
||||||
WFIFOW(fd,0) = 0x794b;
|
WFIFOW(fd,0) = 0x794b;
|
||||||
WFIFOL(fd,2) = -1; // WTF???
|
WFIFOL(fd,2) = 0xFFFFFFFF; // WTF???
|
||||||
account_name = (char*)RFIFOP(fd,2);
|
account_name = (char*)RFIFOP(fd,2);
|
||||||
account_name[23] = '\0';
|
account_name[23] = '\0';
|
||||||
remove_control_chars((unsigned char *)account_name);
|
remove_control_chars((unsigned char *)account_name);
|
||||||
@ -2514,7 +2514,7 @@ int parse_admin(int fd) {
|
|||||||
struct tm *tmtime;
|
struct tm *tmtime;
|
||||||
char tmpstr[2048];
|
char tmpstr[2048];
|
||||||
WFIFOW(fd,0) = 0x794d;
|
WFIFOW(fd,0) = 0x794d;
|
||||||
WFIFOL(fd,2) = -1; // WTF???
|
WFIFOL(fd,2) = 0xFFFFFFFF; // WTF???
|
||||||
account_name = (char*)RFIFOP(fd,2);
|
account_name = (char*)RFIFOP(fd,2);
|
||||||
account_name[23] = '\0';
|
account_name[23] = '\0';
|
||||||
remove_control_chars((unsigned char *)account_name);
|
remove_control_chars((unsigned char *)account_name);
|
||||||
@ -2576,7 +2576,7 @@ int parse_admin(int fd) {
|
|||||||
if (RFIFOREST(fd) < 8 || RFIFOREST(fd) < (8 + RFIFOL(fd,4)))
|
if (RFIFOREST(fd) < 8 || RFIFOREST(fd) < (8 + RFIFOL(fd,4)))
|
||||||
return 0;
|
return 0;
|
||||||
WFIFOW(fd,0) = 0x794f;
|
WFIFOW(fd,0) = 0x794f;
|
||||||
WFIFOW(fd,2) = -1; // WTF???
|
WFIFOW(fd,2) = 0xFFFFFFFF; // WTF???
|
||||||
if (RFIFOL(fd,4) < 1) {
|
if (RFIFOL(fd,4) < 1) {
|
||||||
login_log("'ladmin': Receiving a message for broadcast, but message is void (ip: %s)" RETCODE,
|
login_log("'ladmin': Receiving a message for broadcast, but message is void (ip: %s)" RETCODE,
|
||||||
ip);
|
ip);
|
||||||
@ -2621,7 +2621,7 @@ int parse_admin(int fd) {
|
|||||||
char tmpstr[2048];
|
char tmpstr[2048];
|
||||||
char tmpstr2[2048];
|
char tmpstr2[2048];
|
||||||
WFIFOW(fd,0) = 0x7951;
|
WFIFOW(fd,0) = 0x7951;
|
||||||
WFIFOL(fd,2) = -1; // WTF???
|
WFIFOL(fd,2) = 0xFFFFFFFF; // WTF???
|
||||||
account_name = (char*)RFIFOP(fd,2);
|
account_name = (char*)RFIFOP(fd,2);
|
||||||
account_name[23] = '\0';
|
account_name[23] = '\0';
|
||||||
remove_control_chars((unsigned char *)account_name);
|
remove_control_chars((unsigned char *)account_name);
|
||||||
@ -2675,7 +2675,7 @@ int parse_admin(int fd) {
|
|||||||
if (RFIFOREST(fd) < 26)
|
if (RFIFOREST(fd) < 26)
|
||||||
return 0;
|
return 0;
|
||||||
WFIFOW(fd,0) = 0x7953;
|
WFIFOW(fd,0) = 0x7953;
|
||||||
WFIFOL(fd,2) = -1; // WTF???
|
WFIFOL(fd,2) = 0xFFFFFFFF; // WTF???
|
||||||
account_name = (char*)RFIFOP(fd,2);
|
account_name = (char*)RFIFOP(fd,2);
|
||||||
account_name[23] = '\0';
|
account_name[23] = '\0';
|
||||||
remove_control_chars((unsigned char *)account_name);
|
remove_control_chars((unsigned char *)account_name);
|
||||||
|
@ -4861,7 +4861,7 @@ int clif_pvpset(struct map_session_data *sd,int pvprank,int pvpnum,int type)
|
|||||||
WBUFL(buf,2) = sd->bl.id;
|
WBUFL(buf,2) = sd->bl.id;
|
||||||
if(sd->status.option&0x46)
|
if(sd->status.option&0x46)
|
||||||
// WTF? a -1 to an unsigned value...
|
// WTF? a -1 to an unsigned value...
|
||||||
WBUFL(buf,6) = -1;
|
WBUFL(buf,6) = 0xFFFFFFFF;
|
||||||
else
|
else
|
||||||
if(pvprank<=0)
|
if(pvprank<=0)
|
||||||
pc_calc_pvprank(sd);
|
pc_calc_pvprank(sd);
|
||||||
|
@ -2503,9 +2503,9 @@ int mob_damage(struct block_list *src,struct mob_data *md,int damage,int type)
|
|||||||
per=(double)md->dmglog[i].dmg*256*(9+(double)((count > 6)? 6:count))/10/(double)max_hp;
|
per=(double)md->dmglog[i].dmg*256*(9+(double)((count > 6)? 6:count))/10/(double)max_hp;
|
||||||
if(per>512) per=512;
|
if(per>512) per=512;
|
||||||
if(per<1) per=1;
|
if(per<1) per=1;
|
||||||
base_exp=mob_db[md->class_].base_exp*per/256;
|
base_exp=(int) (mob_db[md->class_].base_exp*per/256);
|
||||||
if(base_exp < 1) base_exp = 1;
|
if(base_exp < 1) base_exp = 1;
|
||||||
job_exp=mob_db[md->class_].job_exp*per/256;
|
job_exp=(int) (mob_db[md->class_].job_exp*per/256);
|
||||||
if(job_exp < 1) job_exp = 1;
|
if(job_exp < 1) job_exp = 1;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -2513,9 +2513,9 @@ int mob_damage(struct block_list *src,struct mob_data *md,int damage,int type)
|
|||||||
per=(double)md->dmglog[i].dmg*256*(9+(double)((count > 6)? 6:count))/10/tdmg;
|
per=(double)md->dmglog[i].dmg*256*(9+(double)((count > 6)? 6:count))/10/tdmg;
|
||||||
if(per>512) per=512;
|
if(per>512) per=512;
|
||||||
if(per<1) per=1;
|
if(per<1) per=1;
|
||||||
base_exp=mob_db[md->class_].base_exp*per/256;
|
base_exp=(int) (mob_db[md->class_].base_exp*per/256);
|
||||||
if(base_exp < 1) base_exp = 1;
|
if(base_exp < 1) base_exp = 1;
|
||||||
job_exp=mob_db[md->class_].job_exp*per/256;
|
job_exp=(int) (mob_db[md->class_].job_exp*per/256);
|
||||||
if(job_exp < 1) job_exp = 1;
|
if(job_exp < 1) job_exp = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2526,8 +2526,8 @@ int mob_damage(struct block_list *src,struct mob_data *md,int damage,int type)
|
|||||||
job_exp = (100+rate)*job_exp/100;
|
job_exp = (100+rate)*job_exp/100;
|
||||||
}
|
}
|
||||||
if (battle_config.pk_mode && (mob_db[md->class_].lv - sd->status.base_level >= 20)) {
|
if (battle_config.pk_mode && (mob_db[md->class_].lv - sd->status.base_level >= 20)) {
|
||||||
base_exp*=1.15; // pk_mode additional exp if monster >20 levels [Valaris]
|
base_exp = (int) (base_exp *1.15); // pk_mode additional exp if monster >20 levels [Valaris]
|
||||||
job_exp*=1.15;
|
job_exp = (int) (job_exp * 1.15);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(md->master_id) {
|
if(md->master_id) {
|
||||||
@ -2538,13 +2538,13 @@ int mob_damage(struct block_list *src,struct mob_data *md,int damage,int type)
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(battle_config.zeny_from_mobs) {
|
if(battle_config.zeny_from_mobs) {
|
||||||
if(md->level > 0) zeny=(md->level+rand()%md->level)*per/256; // zeny calculation moblv + random moblv [Valaris]
|
if(md->level > 0) zeny=(int) ((md->level+rand()%md->level)*per/256); // zeny calculation moblv + random moblv [Valaris]
|
||||||
if(mob_db[md->class_].mexp > 0)
|
if(mob_db[md->class_].mexp > 0)
|
||||||
zeny*=rand()%250;
|
zeny*=rand()%250;
|
||||||
}
|
}
|
||||||
if(battle_config.mobs_level_up && md->level > mob_db[md->class_].lv) { // [Valaris]
|
if(battle_config.mobs_level_up && md->level > mob_db[md->class_].lv) { // [Valaris]
|
||||||
job_exp+=((md->level-mob_db[md->class_].lv)*mob_db[md->class_].job_exp*.03)*per/256;
|
job_exp+=(int) (((md->level-mob_db[md->class_].lv)*mob_db[md->class_].job_exp*.03)*per/256);
|
||||||
base_exp+=((md->level-mob_db[md->class_].lv)*mob_db[md->class_].base_exp*.03)*per/256;
|
base_exp+=(int) (((md->level-mob_db[md->class_].lv)*mob_db[md->class_].base_exp*.03)*per/256);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2603,7 +2603,7 @@ int mob_damage(struct block_list *src,struct mob_data *md,int damage,int type)
|
|||||||
if(drop_rate <= 0 && !battle_config.drop_rate0item)
|
if(drop_rate <= 0 && !battle_config.drop_rate0item)
|
||||||
drop_rate = 1;
|
drop_rate = 1;
|
||||||
if(battle_config.drops_by_luk>0 && sd && md) drop_rate+=(sd->status.luk*battle_config.drops_by_luk)/100; // drops affected by luk [Valaris]
|
if(battle_config.drops_by_luk>0 && sd && md) drop_rate+=(sd->status.luk*battle_config.drops_by_luk)/100; // drops affected by luk [Valaris]
|
||||||
if(sd && md && battle_config.pk_mode==1 && (mob_db[md->class_].lv - sd->status.base_level >= 20)) drop_rate*=1.25; // pk_mode increase drops if 20 level difference [Valaris]
|
if(sd && md && battle_config.pk_mode==1 && (mob_db[md->class_].lv - sd->status.base_level >= 20)) drop_rate = (int) (drop_rate*1.25); // pk_mode increase drops if 20 level difference [Valaris]
|
||||||
if(drop_rate <= rand()%10000+1) { //if rate == 0, then it doesn't drop (from Freya)
|
if(drop_rate <= rand()%10000+1) { //if rate == 0, then it doesn't drop (from Freya)
|
||||||
drop_ore = i; //we rmember an empty slot to put there ORE DISCOVERY drop later.
|
drop_ore = i; //we rmember an empty slot to put there ORE DISCOVERY drop later.
|
||||||
continue;
|
continue;
|
||||||
|
18
src/map/pc.c
18
src/map/pc.c
@ -4719,28 +4719,28 @@ int pc_damage(struct block_list *src,struct map_session_data *sd,int damage)
|
|||||||
if(battle_config.death_penalty_type>0) { // changed penalty options, added death by player if pk_mode [Valaris]
|
if(battle_config.death_penalty_type>0) { // changed penalty options, added death by player if pk_mode [Valaris]
|
||||||
if(sd->status.class_ != 0 && !map[sd->bl.m].flag.nopenalty && !map[sd->bl.m].flag.gvg){ // only novices will recieve no penalty
|
if(sd->status.class_ != 0 && !map[sd->bl.m].flag.nopenalty && !map[sd->bl.m].flag.gvg){ // only novices will recieve no penalty
|
||||||
if(battle_config.death_penalty_type==1 && battle_config.death_penalty_base > 0)
|
if(battle_config.death_penalty_type==1 && battle_config.death_penalty_base > 0)
|
||||||
sd->status.base_exp -= (double)pc_nextbaseexp(sd) * (double)battle_config.death_penalty_base/10000;
|
sd->status.base_exp -= (int) ((double)pc_nextbaseexp(sd) * (double)battle_config.death_penalty_base/10000);
|
||||||
if(battle_config.pk_mode && src && src->type==BL_PC)
|
if(battle_config.pk_mode && src && src->type==BL_PC)
|
||||||
sd->status.base_exp -= (double)pc_nextbaseexp(sd) * (double)battle_config.death_penalty_base/10000;
|
sd->status.base_exp -= (int) ((double)pc_nextbaseexp(sd) * (double)battle_config.death_penalty_base/10000);
|
||||||
else if(battle_config.death_penalty_type==2 && battle_config.death_penalty_base > 0) {
|
else if(battle_config.death_penalty_type==2 && battle_config.death_penalty_base > 0) {
|
||||||
if(pc_nextbaseexp(sd) > 0)
|
if(pc_nextbaseexp(sd) > 0)
|
||||||
sd->status.base_exp -= (double)sd->status.base_exp * (double)battle_config.death_penalty_base/10000;
|
sd->status.base_exp -= (int) ((double)sd->status.base_exp * (double)battle_config.death_penalty_base/10000);
|
||||||
if(battle_config.pk_mode && src && src->type==BL_PC)
|
if(battle_config.pk_mode && src && src->type==BL_PC)
|
||||||
sd->status.base_exp -= (double)sd->status.base_exp * (double)battle_config.death_penalty_base/10000;
|
sd->status.base_exp -= (int) ((double)sd->status.base_exp * (double)battle_config.death_penalty_base/10000);
|
||||||
}
|
}
|
||||||
if(sd->status.base_exp < 0)
|
if(sd->status.base_exp < 0)
|
||||||
sd->status.base_exp = 0;
|
sd->status.base_exp = 0;
|
||||||
clif_updatestatus(sd,SP_BASEEXP);
|
clif_updatestatus(sd,SP_BASEEXP);
|
||||||
|
|
||||||
if(battle_config.death_penalty_type==1 && battle_config.death_penalty_job > 0)
|
if(battle_config.death_penalty_type==1 && battle_config.death_penalty_job > 0)
|
||||||
sd->status.job_exp -= (double)pc_nextjobexp(sd) * (double)battle_config.death_penalty_job/10000;
|
sd->status.job_exp -= (int) ((double)pc_nextjobexp(sd) * (double)battle_config.death_penalty_job/10000);
|
||||||
if(battle_config.pk_mode && src && src->type==BL_PC)
|
if(battle_config.pk_mode && src && src->type==BL_PC)
|
||||||
sd->status.job_exp -= (double)pc_nextjobexp(sd) * (double)battle_config.death_penalty_job/10000;
|
sd->status.job_exp -= (int) ((double)pc_nextjobexp(sd) * (double)battle_config.death_penalty_job/10000);
|
||||||
else if(battle_config.death_penalty_type==2 && battle_config.death_penalty_job > 0) {
|
else if(battle_config.death_penalty_type==2 && battle_config.death_penalty_job > 0) {
|
||||||
if(pc_nextjobexp(sd) > 0)
|
if(pc_nextjobexp(sd) > 0)
|
||||||
sd->status.job_exp -= (double)sd->status.job_exp * (double)battle_config.death_penalty_job/10000;
|
sd->status.job_exp -= (int) ((double)sd->status.job_exp * (double)battle_config.death_penalty_job/10000);
|
||||||
if(battle_config.pk_mode && src && src->type==BL_PC)
|
if(battle_config.pk_mode && src && src->type==BL_PC)
|
||||||
sd->status.job_exp -= (double)sd->status.job_exp * (double)battle_config.death_penalty_job/10000;
|
sd->status.job_exp -= (int) ((double)sd->status.job_exp * (double)battle_config.death_penalty_job/10000);
|
||||||
}
|
}
|
||||||
if(sd->status.job_exp < 0)
|
if(sd->status.job_exp < 0)
|
||||||
sd->status.job_exp = 0;
|
sd->status.job_exp = 0;
|
||||||
@ -4757,7 +4757,7 @@ int pc_damage(struct block_list *src,struct map_session_data *sd,int damage)
|
|||||||
if(md && md->state.state!=MS_DEAD && md->level < 99) {
|
if(md && md->state.state!=MS_DEAD && md->level < 99) {
|
||||||
clif_misceffect(&md->bl,0);
|
clif_misceffect(&md->bl,0);
|
||||||
md->level++;
|
md->level++;
|
||||||
md->hp+=sd->status.max_hp*.1;
|
md->hp+=(int) (sd->status.max_hp*.1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -719,7 +719,7 @@ int status_calc_pc(struct map_session_data* sd,int first)
|
|||||||
sd->base_atk += 4;
|
sd->base_atk += 4;
|
||||||
}
|
}
|
||||||
if((skill=pc_checkskill(sd,SA_DRAGONOLOGY))>0 ){ // Dragonology increases +1 int every 2 levels
|
if((skill=pc_checkskill(sd,SA_DRAGONOLOGY))>0 ){ // Dragonology increases +1 int every 2 levels
|
||||||
sd->paramb[3] += (skill+1)*0.5;
|
sd->paramb[3] += (int) ((skill+1)*0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ステ?タス?化による基本パラメ?タ補正
|
// ステ?タス?化による基本パラメ?タ補正
|
||||||
@ -924,9 +924,9 @@ int status_calc_pc(struct map_session_data* sd,int first)
|
|||||||
sd->speed += (100-16*skill)*DEFAULT_WALK_SPEED/100;
|
sd->speed += (100-16*skill)*DEFAULT_WALK_SPEED/100;
|
||||||
//sd->speed += (1.2*DEFAULT_WALK_SPEED - skill*9);
|
//sd->speed += (1.2*DEFAULT_WALK_SPEED - skill*9);
|
||||||
if (pc_iscarton(sd) && (skill=pc_checkskill(sd,MC_PUSHCART))>0) // カ?トによる速度低下
|
if (pc_iscarton(sd) && (skill=pc_checkskill(sd,MC_PUSHCART))>0) // カ?トによる速度低下
|
||||||
sd->speed += (10-skill) * (DEFAULT_WALK_SPEED * 0.1);
|
sd->speed += (short) ((10-skill) * (DEFAULT_WALK_SPEED * 0.1));
|
||||||
else if (pc_isriding(sd)) { // ペコペコ?りによる速度?加
|
else if (pc_isriding(sd)) { // ペコペコ?りによる速度?加
|
||||||
sd->speed -= (0.25 * DEFAULT_WALK_SPEED);
|
sd->speed -= (short) ((0.25 * DEFAULT_WALK_SPEED));
|
||||||
sd->max_weight += 10000;
|
sd->max_weight += 10000;
|
||||||
}
|
}
|
||||||
if((skill=pc_checkskill(sd,CR_TRUST))>0) { // フェイス
|
if((skill=pc_checkskill(sd,CR_TRUST))>0) { // フェイス
|
||||||
@ -938,7 +938,7 @@ int status_calc_pc(struct map_session_data* sd,int first)
|
|||||||
sd->subele[3] += skill*5;
|
sd->subele[3] += skill*5;
|
||||||
}
|
}
|
||||||
if((skill=pc_checkskill(sd,SA_ADVANCEDBOOK))>0 )
|
if((skill=pc_checkskill(sd,SA_ADVANCEDBOOK))>0 )
|
||||||
aspd_rate -= skill*0.5;
|
aspd_rate -= (int) (skill*0.5);
|
||||||
|
|
||||||
bl=sd->status.base_level;
|
bl=sd->status.base_level;
|
||||||
|
|
||||||
@ -1251,7 +1251,7 @@ int status_calc_pc(struct map_session_data* sd,int first)
|
|||||||
sd->addeff[4] += sd->sc_data[SC_ENCPOISON].val2;
|
sd->addeff[4] += sd->sc_data[SC_ENCPOISON].val2;
|
||||||
|
|
||||||
if( sd->sc_data[SC_DANCING].timer!=-1 ){ // 演奏/ダンス使用中
|
if( sd->sc_data[SC_DANCING].timer!=-1 ){ // 演奏/ダンス使用中
|
||||||
sd->speed = (double)sd->speed * (6.- 0.4 * pc_checkskill(sd, ((s_class.job == 19) ? BA_MUSICALLESSON : DC_DANCINGLESSON)));
|
sd->speed = (short) ((double)sd->speed * (6.- 0.4 * pc_checkskill(sd, ((s_class.job == 19) ? BA_MUSICALLESSON : DC_DANCINGLESSON))));
|
||||||
//sd->speed*=4;
|
//sd->speed*=4;
|
||||||
sd->nhealsp = 0;
|
sd->nhealsp = 0;
|
||||||
sd->nshealsp = 0;
|
sd->nshealsp = 0;
|
||||||
@ -1528,7 +1528,7 @@ int status_calc_speed (struct map_session_data *sd)
|
|||||||
//sd->speed = (sd->speed * (155 - sd->sc_data[SC_DEFENDER].val1*5)) / 100;
|
//sd->speed = (sd->speed * (155 - sd->sc_data[SC_DEFENDER].val1*5)) / 100;
|
||||||
}
|
}
|
||||||
if( sd->sc_data[SC_DANCING].timer!=-1 ){
|
if( sd->sc_data[SC_DANCING].timer!=-1 ){
|
||||||
sd->speed = (double)sd->speed * (6.- 0.4 * pc_checkskill(sd, ((s_class.job == 19) ? BA_MUSICALLESSON : DC_DANCINGLESSON)));
|
sd->speed = (int) ((double)sd->speed * (6.- 0.4 * pc_checkskill(sd, ((s_class.job == 19) ? BA_MUSICALLESSON : DC_DANCINGLESSON))));
|
||||||
}
|
}
|
||||||
if(sd->sc_data[SC_CURSE].timer!=-1)
|
if(sd->sc_data[SC_CURSE].timer!=-1)
|
||||||
sd->speed += 450;
|
sd->speed += 450;
|
||||||
@ -1541,13 +1541,13 @@ int status_calc_speed (struct map_session_data *sd)
|
|||||||
if(sd->status.option&2 && (skill = pc_checkskill(sd,RG_TUNNELDRIVE))>0 )
|
if(sd->status.option&2 && (skill = pc_checkskill(sd,RG_TUNNELDRIVE))>0 )
|
||||||
sd->speed += (100-16*skill)*DEFAULT_WALK_SPEED/100;
|
sd->speed += (100-16*skill)*DEFAULT_WALK_SPEED/100;
|
||||||
if (pc_iscarton(sd) && (skill=pc_checkskill(sd,MC_PUSHCART))>0)
|
if (pc_iscarton(sd) && (skill=pc_checkskill(sd,MC_PUSHCART))>0)
|
||||||
sd->speed += (10-skill) * (DEFAULT_WALK_SPEED * 0.1);
|
sd->speed += (short) ((10-skill) * (DEFAULT_WALK_SPEED * 0.1));
|
||||||
else if (pc_isriding(sd)) {
|
else if (pc_isriding(sd)) {
|
||||||
sd->speed -= (0.25 * DEFAULT_WALK_SPEED);
|
sd->speed -= (short) ((0.25 * DEFAULT_WALK_SPEED));
|
||||||
}
|
}
|
||||||
if((skill=pc_checkskill(sd,TF_MISS))>0)
|
if((skill=pc_checkskill(sd,TF_MISS))>0)
|
||||||
if(s_class.job==12)
|
if(s_class.job==12)
|
||||||
sd->speed -= sd->speed *(skill*1.5)/100;
|
sd->speed -= (short) (sd->speed *(skill*1.5)/100);
|
||||||
|
|
||||||
if(sd->speed_rate != 100)
|
if(sd->speed_rate != 100)
|
||||||
sd->speed = sd->speed*sd->speed_rate/100;
|
sd->speed = sd->speed*sd->speed_rate/100;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user