* Added code to clear the Illusionary Shadow effect (followup to r12293)
* Added some trim() calls into mapflag code (followup to r12238) * Fixed mvp exp reward packet not working right for big values * Added dbghelpplug plugin entry to the plugins configuration file * Added conf setting for auction table name (see r12287) git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12300 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
ccb13e72c0
commit
0088adcbbf
@ -4,6 +4,11 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
|
|||||||
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||||
|
|
||||||
2008/03/05
|
2008/03/05
|
||||||
|
* Added code to clear the Illusionary Shadow effect (followup to r12293)
|
||||||
|
* Added some trim() calls into mapflag code (followup to r12238)
|
||||||
|
* Fixed mvp exp reward packet not working right for big values
|
||||||
|
* Added dbghelpplug plugin entry to the plugins configuration file
|
||||||
|
* Added conf setting for auction table name (see r12287) [ultramage]
|
||||||
* Implemented Firepillar's 'target cannot move for 0.2 sec x hit' property.
|
* Implemented Firepillar's 'target cannot move for 0.2 sec x hit' property.
|
||||||
* Corrected Earthquake so it behaves as explained in the development topics.
|
* Corrected Earthquake so it behaves as explained in the development topics.
|
||||||
* Added a missing line to actually unequip unallowed compounded cards when
|
* Added a missing line to actually unequip unallowed compounded cards when
|
||||||
|
@ -108,7 +108,7 @@ login_db_level: level
|
|||||||
login_db: login
|
login_db: login
|
||||||
loginlog_db: loginlog
|
loginlog_db: loginlog
|
||||||
|
|
||||||
// Character Database Tables
|
// Char Database Tables
|
||||||
char_db: char
|
char_db: char
|
||||||
hotkey_db: hotkey
|
hotkey_db: hotkey
|
||||||
scdata_db: sc_data
|
scdata_db: sc_data
|
||||||
@ -131,6 +131,8 @@ guild_storage_db: guild_storage
|
|||||||
party_db: party
|
party_db: party
|
||||||
pet_db: pet
|
pet_db: pet
|
||||||
friend_db: friends
|
friend_db: friends
|
||||||
|
mail_db: mail
|
||||||
|
auction_db: auction
|
||||||
|
|
||||||
// Map Database Tables
|
// Map Database Tables
|
||||||
item_db_db: item_db
|
item_db_db: item_db
|
||||||
@ -138,9 +140,6 @@ item_db2_db: item_db2
|
|||||||
mob_db_db: mob_db
|
mob_db_db: mob_db
|
||||||
mob_db2_db: mob_db2
|
mob_db2_db: mob_db2
|
||||||
|
|
||||||
// Mail Database Table
|
|
||||||
mail_db: mail
|
|
||||||
|
|
||||||
//Use SQL item_db and mob_db for the map server
|
//Use SQL item_db and mob_db for the map server
|
||||||
use_sql_db: no
|
use_sql_db: no
|
||||||
|
|
||||||
|
@ -22,6 +22,9 @@ plugin: upnp
|
|||||||
// Crash reporting for Windows
|
// Crash reporting for Windows
|
||||||
//plugin: exchndl
|
//plugin: exchndl
|
||||||
|
|
||||||
|
// Alternative, improved crash reporting for Windows
|
||||||
|
//plugin: dbghelpplug
|
||||||
|
|
||||||
// Process id logging
|
// Process id logging
|
||||||
//plugin: pid
|
//plugin: pid
|
||||||
|
|
||||||
|
@ -8540,14 +8540,14 @@ static AtCommandInfo* get_atcommandinfo_byname(const char* name)
|
|||||||
int i;
|
int i;
|
||||||
if( *name == atcommand_symbol ) name++; // for backwards compatibility
|
if( *name == atcommand_symbol ) name++; // for backwards compatibility
|
||||||
ARR_FIND( 0, ARRAYLENGTH(atcommand_info), i, strcmpi(atcommand_info[i].command, name) == 0 );
|
ARR_FIND( 0, ARRAYLENGTH(atcommand_info), i, strcmpi(atcommand_info[i].command, name) == 0 );
|
||||||
return ( i != ARRAYLENGTH(atcommand_info) ) ? &atcommand_info[i] : NULL;
|
return ( i < ARRAYLENGTH(atcommand_info) ) ? &atcommand_info[i] : NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static AtCommandInfo* get_atcommandinfo_byfunc(const AtCommandFunc func)
|
static AtCommandInfo* get_atcommandinfo_byfunc(const AtCommandFunc func)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
ARR_FIND( 0, ARRAYLENGTH(atcommand_info), i, atcommand_info[i].func == func );
|
ARR_FIND( 0, ARRAYLENGTH(atcommand_info), i, atcommand_info[i].func == func );
|
||||||
return ( i != ARRAYLENGTH(atcommand_info) ) ? &atcommand_info[i] : NULL;
|
return ( i < ARRAYLENGTH(atcommand_info) ) ? &atcommand_info[i] : NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -6009,7 +6009,7 @@ int clif_mvp_item(struct map_session_data *sd,int nameid)
|
|||||||
/*==========================================
|
/*==========================================
|
||||||
* MVPŒoŒ±’l<EFBFBD>Š“¾
|
* MVPŒoŒ±’l<EFBFBD>Š“¾
|
||||||
*------------------------------------------*/
|
*------------------------------------------*/
|
||||||
int clif_mvp_exp(struct map_session_data *sd,unsigned long exp)
|
int clif_mvp_exp(struct map_session_data *sd, unsigned int exp)
|
||||||
{
|
{
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
@ -6018,7 +6018,7 @@ int clif_mvp_exp(struct map_session_data *sd,unsigned long exp)
|
|||||||
fd=sd->fd;
|
fd=sd->fd;
|
||||||
WFIFOHEAD(fd,packet_len(0x10b));
|
WFIFOHEAD(fd,packet_len(0x10b));
|
||||||
WFIFOW(fd,0)=0x10b;
|
WFIFOW(fd,0)=0x10b;
|
||||||
WFIFOL(fd,2)=exp;
|
WFIFOL(fd,2)=cap_value(exp,0,INT_MAX);
|
||||||
WFIFOSET(fd,packet_len(0x10b));
|
WFIFOSET(fd,packet_len(0x10b));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -262,7 +262,7 @@ int clif_item_skill(struct map_session_data *sd,int skillid,int skilllv);
|
|||||||
|
|
||||||
int clif_mvp_effect(struct map_session_data *sd);
|
int clif_mvp_effect(struct map_session_data *sd);
|
||||||
int clif_mvp_item(struct map_session_data *sd,int nameid);
|
int clif_mvp_item(struct map_session_data *sd,int nameid);
|
||||||
int clif_mvp_exp(struct map_session_data *sd,unsigned long exp);
|
int clif_mvp_exp(struct map_session_data *sd, unsigned int exp);
|
||||||
void clif_changed_dir(struct block_list *bl, int area);
|
void clif_changed_dir(struct block_list *bl, int area);
|
||||||
|
|
||||||
// vending
|
// vending
|
||||||
|
@ -1631,10 +1631,7 @@ static const char* npc_parse_shop(char* w1, char* w2, char* w3, char* w4, const
|
|||||||
char *p;
|
char *p;
|
||||||
int x, y, dir, m, i;
|
int x, y, dir, m, i;
|
||||||
struct npc_data *nd;
|
struct npc_data *nd;
|
||||||
|
enum npc_subtype type;
|
||||||
enum npc_subtype type = SHOP;
|
|
||||||
if( !strcasecmp(w2,"cashshop") )
|
|
||||||
type = CASHSHOP;
|
|
||||||
|
|
||||||
if( strcmp(w1,"-") == 0 )
|
if( strcmp(w1,"-") == 0 )
|
||||||
{// 'floating' shop?
|
{// 'floating' shop?
|
||||||
@ -1642,7 +1639,7 @@ static const char* npc_parse_shop(char* w1, char* w2, char* w3, char* w4, const
|
|||||||
m = -1;
|
m = -1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{// w1=<map name>,<x>,<y>,<facing>
|
||||||
char mapname[32];
|
char mapname[32];
|
||||||
if( sscanf(w1, "%31[^,],%d,%d,%d", mapname, &x, &y, &dir) != 4
|
if( sscanf(w1, "%31[^,],%d,%d,%d", mapname, &x, &y, &dir) != 4
|
||||||
|| strchr(w4, ',') == NULL )
|
|| strchr(w4, ',') == NULL )
|
||||||
@ -1654,6 +1651,11 @@ static const char* npc_parse_shop(char* w1, char* w2, char* w3, char* w4, const
|
|||||||
m = map_mapname2mapid(mapname);
|
m = map_mapname2mapid(mapname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( !strcasecmp(w2,"cashshop") )
|
||||||
|
type = CASHSHOP;
|
||||||
|
else
|
||||||
|
type = SHOP;
|
||||||
|
|
||||||
p = strchr(w4,',');
|
p = strchr(w4,',');
|
||||||
for( i = 0; i < ARRAYLENGTH(items) && p; ++i )
|
for( i = 0; i < ARRAYLENGTH(items) && p; ++i )
|
||||||
{
|
{
|
||||||
@ -2720,7 +2722,7 @@ void npc_parsesrcfile(const char* filepath)
|
|||||||
}
|
}
|
||||||
else if( strcmpi(w2,"mapflag") == 0 && count >= 3 )
|
else if( strcmpi(w2,"mapflag") == 0 && count >= 3 )
|
||||||
{
|
{
|
||||||
p = npc_parse_mapflag(w1, w2, w3, w4, p, buffer, filepath);
|
p = npc_parse_mapflag(w1, w2, trim(w3), trim(w4), p, buffer, filepath);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -6060,6 +6060,11 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
|
|||||||
sc->opt3 |= 0x10000;
|
sc->opt3 |= 0x10000;
|
||||||
opt_flag = 0;
|
opt_flag = 0;
|
||||||
break;
|
break;
|
||||||
|
// TODO: unknown option (looks like the aura of biolab mobs)
|
||||||
|
// case ???:
|
||||||
|
// sc->opt3 |= 0x20000;
|
||||||
|
// opt_flag = 0;
|
||||||
|
// break;
|
||||||
//OPTION
|
//OPTION
|
||||||
case SC_HIDING:
|
case SC_HIDING:
|
||||||
sc->option |= OPTION_HIDE;
|
sc->option |= OPTION_HIDE;
|
||||||
@ -6637,6 +6642,10 @@ int status_change_end(struct block_list* bl, enum sc_type type, int tid)
|
|||||||
sc->opt3 &= ~0x2000;
|
sc->opt3 &= ~0x2000;
|
||||||
opt_flag = 0;
|
opt_flag = 0;
|
||||||
break;
|
break;
|
||||||
|
case SC_BUNSINJYUTSU:
|
||||||
|
sc->opt3 &= ~0x4000;
|
||||||
|
opt_flag = 0;
|
||||||
|
break;
|
||||||
case SC_SPIRIT:
|
case SC_SPIRIT:
|
||||||
sc->opt3 &= ~0x8000;
|
sc->opt3 &= ~0x8000;
|
||||||
opt_flag = 0;
|
opt_flag = 0;
|
||||||
@ -6645,6 +6654,11 @@ int status_change_end(struct block_list* bl, enum sc_type type, int tid)
|
|||||||
sc->opt3 &= ~0x10000;
|
sc->opt3 &= ~0x10000;
|
||||||
opt_flag = 0;
|
opt_flag = 0;
|
||||||
break;
|
break;
|
||||||
|
// TODO:
|
||||||
|
// case ???:
|
||||||
|
// sc->opt3 &= ~0x20000;
|
||||||
|
// opt_flag = 0;
|
||||||
|
// break;
|
||||||
default:
|
default:
|
||||||
opt_flag = 0;
|
opt_flag = 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user