diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-07 16:19:42 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-07 16:19:42 +0000 |
commit | cdb9971c1511c4732ce08f0cb1c411a21abe8d77 (patch) | |
tree | 544b44af116a85d37906494259ab75454d62e958 /src/map/status.c | |
parent | 4f20e5d5ee48b1a56b78173b8e9e68a5dc2b0cd7 (diff) | |
download | hercules-cdb9971c1511c4732ce08f0cb1c411a21abe8d77.tar.gz hercules-cdb9971c1511c4732ce08f0cb1c411a21abe8d77.tar.bz2 hercules-cdb9971c1511c4732ce08f0cb1c411a21abe8d77.tar.xz hercules-cdb9971c1511c4732ce08f0cb1c411a21abe8d77.zip |
- Adjusted the order in which option/sc change packets are sent to match Aegis's
- Added script command getpartyleader through which you can retrieve various information of a party's leader.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8162 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/map/status.c b/src/map/status.c index 9d8d5ac29..a762da8de 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -5469,9 +5469,6 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val break; } - if (vd && pcdb_checkid(vd->class_)) //Only for players sprites, client crashes if they receive this for a mob o.O [Skotlex] - clif_status_change(bl,StatusIconChangeTable[type],1); - // Set option as needed. opt_flag = 1; switch(type){ @@ -5590,9 +5587,13 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val opt_flag = 0; } + //On Aegis, when turning on a status change, first goes the option packet, + // then the sc packet. if(opt_flag) clif_changeoption(bl); + if (vd && pcdb_checkid(vd->class_)) //Only for players sprites, client crashes if they receive this for a mob o.O [Skotlex] + clif_status_change(bl,StatusIconChangeTable[type],1); (sc->count)++; sc->data[type].val1 = val1; @@ -5603,6 +5604,7 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val sc->data[type].timer = add_timer( gettick() + tick, status_change_timer, bl->id, type); + if (calc_flag) status_calc_bl(bl,calc_flag); @@ -5960,9 +5962,6 @@ int status_change_end( struct block_list* bl , int type,int tid ) break; //guess hes not in jail :P } - if (vd && pcdb_checkid(vd->class_)) - clif_status_change(bl,StatusIconChangeTable[type],0); - opt_flag = 1; switch(type){ case SC_STONE: @@ -6077,6 +6076,10 @@ int status_change_end( struct block_list* bl , int type,int tid ) opt_flag = 0; } + //On Aegis, when turning off a status change, first goes the sc packet, then the option packet. + if (vd && pcdb_checkid(vd->class_)) + clif_status_change(bl,StatusIconChangeTable[type],0); + if(opt_flag) clif_changeoption(bl); |