- Corrected the online_data_cleanup routine setting offline characters that are still connected to the char-server.
- Added a check in script command sc_end to properly end infinte endure - ASC_BREAKER no longer triggers status effect cards. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11817 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
8e58ea8df8
commit
9a56a88f4a
@ -4,6 +4,10 @@ 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.
|
||||||
|
|
||||||
2007/11/27
|
2007/11/27
|
||||||
|
* Corrected the online_data_cleanup routine setting offline characters that
|
||||||
|
are still connected to the char-server.
|
||||||
|
* Added a check in script command sc_end to properly end infinte endure
|
||||||
|
* ASC_BREAKER no longer triggers status effect cards. [Skotlex]
|
||||||
* Fixed fake_nd not being exported correctly and being unloaded when
|
* Fixed fake_nd not being exported correctly and being unloaded when
|
||||||
reloading scripts. (probably fixes bugreport:444) [FlavioJS]
|
reloading scripts. (probably fixes bugreport:444) [FlavioJS]
|
||||||
2007/11/26
|
2007/11/26
|
||||||
|
@ -3909,6 +3909,8 @@ static int chardb_waiting_disconnect(int tid, unsigned int tick, int id, int dat
|
|||||||
static int online_data_cleanup_sub(DBKey key, void *data, va_list ap)
|
static int online_data_cleanup_sub(DBKey key, void *data, va_list ap)
|
||||||
{
|
{
|
||||||
struct online_char_data *character= (struct online_char_data*)data;
|
struct online_char_data *character= (struct online_char_data*)data;
|
||||||
|
if (character->fd != -1)
|
||||||
|
return 0; //Character still connected
|
||||||
if (character->server == -2) //Unknown server.. set them offline
|
if (character->server == -2) //Unknown server.. set them offline
|
||||||
set_char_offline(character->char_id, character->account_id);
|
set_char_offline(character->char_id, character->account_id);
|
||||||
if (character->server < 0)
|
if (character->server < 0)
|
||||||
|
@ -3455,6 +3455,8 @@ static int chardb_waiting_disconnect(int tid, unsigned int tick, int id, int dat
|
|||||||
static int online_data_cleanup_sub(DBKey key, void *data, va_list ap)
|
static int online_data_cleanup_sub(DBKey key, void *data, va_list ap)
|
||||||
{
|
{
|
||||||
struct online_char_data *character= (struct online_char_data*)data;
|
struct online_char_data *character= (struct online_char_data*)data;
|
||||||
|
if (character->fd != -1)
|
||||||
|
return 0; //Still connected
|
||||||
if (character->server == -2) //Unknown server.. set them offline
|
if (character->server == -2) //Unknown server.. set them offline
|
||||||
set_char_offline(character->char_id, character->account_id);
|
set_char_offline(character->char_id, character->account_id);
|
||||||
if (character->server < 0)
|
if (character->server < 0)
|
||||||
|
@ -8122,6 +8122,12 @@ BUILDIN_FUNC(sc_end)
|
|||||||
|
|
||||||
if( bl )
|
if( bl )
|
||||||
{
|
{
|
||||||
|
if( type == SC_ENDURE )
|
||||||
|
{ //Required to terminate properly infinite endure.
|
||||||
|
struct status_change *sc = status_get_sc(bl);
|
||||||
|
struct status_change_entry *sce = sc?sc->data[type]:NULL;
|
||||||
|
if (sce) sce->val4 = 0;
|
||||||
|
}
|
||||||
if( type >= 0 )
|
if( type >= 0 )
|
||||||
status_change_end(bl, type, INVALID_TIMER);
|
status_change_end(bl, type, INVALID_TIMER);
|
||||||
else
|
else
|
||||||
|
@ -799,7 +799,8 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
|
|||||||
if(sd && attack_type&BF_WEAPON &&
|
if(sd && attack_type&BF_WEAPON &&
|
||||||
skillid != WS_CARTTERMINATION &&
|
skillid != WS_CARTTERMINATION &&
|
||||||
skillid != AM_DEMONSTRATION &&
|
skillid != AM_DEMONSTRATION &&
|
||||||
skillid != CR_REFLECTSHIELD
|
skillid != CR_REFLECTSHIELD &&
|
||||||
|
skillid != ASC_BREAKER
|
||||||
){ //Trigger status effects
|
){ //Trigger status effects
|
||||||
int i, type;
|
int i, type;
|
||||||
for(i=0; i < ARRAYLENGTH(sd->addeff) && sd->addeff[i].flag; i++)
|
for(i=0; i < ARRAYLENGTH(sd->addeff) && sd->addeff[i].flag; i++)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user