* Fixed autospell and autobonus will still trigger even if the chance is 0.
* Disabled "show_party_share_picker" functioning on client older than 20071002 to prevent from disconnection. (bugreport:3457) * Fixed units other than players and mercenaries using Devotion will cause crashes. (bugreport:3475) git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13999 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
52d38b60a9
commit
79d0f3595e
@ -3,6 +3,10 @@ Date Added
|
|||||||
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
|
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
|
||||||
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.
|
||||||
|
|
||||||
|
09/08/10
|
||||||
|
* Fixed autospell and autobonus will still trigger even if the chance is 0. [Inkfish]
|
||||||
|
* Disabled "show_party_share_picker" functioning on client older than 20071002 to prevent from disconnection. (bugreport:3457) [Inkfish]
|
||||||
|
* Fixed units other than players and mercenaries using Devotion will cause crashes. (bugreport:3475) [Inkfish]
|
||||||
09/08/01
|
09/08/01
|
||||||
* Questlog code cleanup. [Inkfish]
|
* Questlog code cleanup. [Inkfish]
|
||||||
* Fixed range check on autospell and autospell2. [Inkfish]
|
* Fixed range check on autospell and autospell2. [Inkfish]
|
||||||
|
@ -13141,6 +13141,7 @@ void clif_instance_leave(int fd)
|
|||||||
|
|
||||||
void clif_party_show_picker(struct map_session_data * sd, struct item * item_data)
|
void clif_party_show_picker(struct map_session_data * sd, struct item * item_data)
|
||||||
{
|
{
|
||||||
|
#if PACKETVER >= 20071002
|
||||||
unsigned char buf[22];
|
unsigned char buf[22];
|
||||||
|
|
||||||
WBUFW(buf,0)=0x2b8;
|
WBUFW(buf,0)=0x2b8;
|
||||||
@ -13158,6 +13159,7 @@ void clif_party_show_picker(struct map_session_data * sd, struct item * item_dat
|
|||||||
//WBUFB(buf,20) = 0;
|
//WBUFB(buf,20) = 0;
|
||||||
//WBUFB(buf,21) = 0;
|
//WBUFB(buf,21) = 0;
|
||||||
clif_send(buf, packet_len(0x2b8), &sd->bl, PARTY_SAMEMAP_WOS);
|
clif_send(buf, packet_len(0x2b8), &sd->bl, PARTY_SAMEMAP_WOS);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*==========================================
|
/*==========================================
|
||||||
|
@ -1007,7 +1007,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
|
|||||||
|
|
||||||
rate = (!sd->state.arrow_atk) ? sd->autospell[i].rate : sd->autospell[i].rate / 2;
|
rate = (!sd->state.arrow_atk) ? sd->autospell[i].rate : sd->autospell[i].rate / 2;
|
||||||
|
|
||||||
if (rand()%1000 > rate)
|
if (rand()%1000 >= rate)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
tbl = (sd->autospell[i].id < 0) ? src : bl;
|
tbl = (sd->autospell[i].id < 0) ? src : bl;
|
||||||
@ -1048,7 +1048,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
|
|||||||
int i;
|
int i;
|
||||||
for( i = 0; i < ARRAYLENGTH(sd->autobonus); i++ )
|
for( i = 0; i < ARRAYLENGTH(sd->autobonus); i++ )
|
||||||
{
|
{
|
||||||
if( rand()%1000 > sd->autobonus[i].rate )
|
if( rand()%1000 >= sd->autobonus[i].rate )
|
||||||
continue;
|
continue;
|
||||||
if( sd->autobonus[i].active != INVALID_TIMER )
|
if( sd->autobonus[i].active != INVALID_TIMER )
|
||||||
continue;
|
continue;
|
||||||
@ -1107,7 +1107,7 @@ int skill_onskillusage(struct map_session_data *sd, struct block_list *bl, int s
|
|||||||
|
|
||||||
if( sd->autospell3[i].id >= 0 && bl == NULL )
|
if( sd->autospell3[i].id >= 0 && bl == NULL )
|
||||||
continue; // No target
|
continue; // No target
|
||||||
if( rand()%1000 > sd->autospell3[i].rate )
|
if( rand()%1000 >= sd->autospell3[i].rate )
|
||||||
continue;
|
continue;
|
||||||
tbl = (sd->autospell3[i].id < 0) ? &sd->bl : bl;
|
tbl = (sd->autospell3[i].id < 0) ? &sd->bl : bl;
|
||||||
|
|
||||||
@ -1129,7 +1129,7 @@ int skill_onskillusage(struct map_session_data *sd, struct block_list *bl, int s
|
|||||||
{
|
{
|
||||||
for( i = 0; i < ARRAYLENGTH(sd->autobonus3); i++ )
|
for( i = 0; i < ARRAYLENGTH(sd->autobonus3); i++ )
|
||||||
{
|
{
|
||||||
if( rand()%1000 > sd->autobonus3[i].rate )
|
if( rand()%1000 >= sd->autobonus3[i].rate )
|
||||||
continue;
|
continue;
|
||||||
if( sd->autobonus3[i].active != INVALID_TIMER )
|
if( sd->autobonus3[i].active != INVALID_TIMER )
|
||||||
continue;
|
continue;
|
||||||
@ -1270,7 +1270,7 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
|
|||||||
|
|
||||||
if (skillnotok(skillid, dstsd))
|
if (skillnotok(skillid, dstsd))
|
||||||
continue;
|
continue;
|
||||||
if (rand()%1000 > rate)
|
if (rand()%1000 >= rate)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
tbl = (dstsd->autospell2[i].id < 0) ? bl : src;
|
tbl = (dstsd->autospell2[i].id < 0) ? bl : src;
|
||||||
@ -1311,7 +1311,7 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
|
|||||||
int i;
|
int i;
|
||||||
for( i = 0; i < ARRAYLENGTH(dstsd->autobonus2); i++ )
|
for( i = 0; i < ARRAYLENGTH(dstsd->autobonus2); i++ )
|
||||||
{
|
{
|
||||||
if( rand()%1000 > dstsd->autobonus2[i].rate )
|
if( rand()%1000 >= dstsd->autobonus2[i].rate )
|
||||||
continue;
|
continue;
|
||||||
if( dstsd->autobonus2[i].active != INVALID_TIMER )
|
if( dstsd->autobonus2[i].active != INVALID_TIMER )
|
||||||
continue;
|
continue;
|
||||||
@ -3815,7 +3815,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
|
|||||||
case CR_DEVOTION:
|
case CR_DEVOTION:
|
||||||
{
|
{
|
||||||
int count, lv;
|
int count, lv;
|
||||||
if( !dstsd )
|
if( !dstsd || (!sd && !mer) )
|
||||||
{ // Only players can be devoted
|
{ // Only players can be devoted
|
||||||
if( sd )
|
if( sd )
|
||||||
clif_skill_fail(sd, skillid, 0, 0);
|
clif_skill_fail(sd, skillid, 0, 0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user