- 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.
|
||||
|
||||
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
|
||||
reloading scripts. (probably fixes bugreport:444) [FlavioJS]
|
||||
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)
|
||||
{
|
||||
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
|
||||
set_char_offline(character->char_id, character->account_id);
|
||||
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)
|
||||
{
|
||||
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
|
||||
set_char_offline(character->char_id, character->account_id);
|
||||
if (character->server < 0)
|
||||
|
@ -8122,6 +8122,12 @@ BUILDIN_FUNC(sc_end)
|
||||
|
||||
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 )
|
||||
status_change_end(bl, type, INVALID_TIMER);
|
||||
else
|
||||
|
@ -799,7 +799,8 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
|
||||
if(sd && attack_type&BF_WEAPON &&
|
||||
skillid != WS_CARTTERMINATION &&
|
||||
skillid != AM_DEMONSTRATION &&
|
||||
skillid != CR_REFLECTSHIELD
|
||||
skillid != CR_REFLECTSHIELD &&
|
||||
skillid != ASC_BREAKER
|
||||
){ //Trigger status effects
|
||||
int i, type;
|
||||
for(i=0; i < ARRAYLENGTH(sd->addeff) && sd->addeff[i].flag; i++)
|
||||
|
Loading…
x
Reference in New Issue
Block a user