- Fixed the add_drop code breakage which ocurred after adding support for SP_ADD_CLASS_DROP_ITEM. There's probably a bugreport for this, but the website is also broken currently :3
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14933 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
d162c70ef5
commit
a3d1ad027f
@ -1,5 +1,7 @@
|
|||||||
Date Added
|
Date Added
|
||||||
|
|
||||||
|
2011/08/11
|
||||||
|
* Fixed bonuses bAddMonsterDropItem and bAddMonsterDropItemGroup (which broke after bAddClassDropItem was added). [Skotlex]
|
||||||
2011/08/10
|
2011/08/10
|
||||||
* Added support for cash shop packets without kafra points for clients 2007-07-10aSakexe and older (bugreport:4701, related r10888 and r11548). [Ai4rei]
|
* Added support for cash shop packets without kafra points for clients 2007-07-10aSakexe and older (bugreport:4701, related r10888 and r11548). [Ai4rei]
|
||||||
* Added sending a dummy 0x08b9 packet (PIN auth system) in the char-server, required to support clients from this year. [Skotlex]
|
* Added sending a dummy 0x08b9 packet (PIN auth system) in the char-server, required to support clients from this year. [Skotlex]
|
||||||
|
@ -2259,10 +2259,11 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type)
|
|||||||
int itemid = 0;
|
int itemid = 0;
|
||||||
for (i = 0; i < ARRAYLENGTH(sd->add_drop) && (sd->add_drop[i].id || sd->add_drop[i].group); i++)
|
for (i = 0; i < ARRAYLENGTH(sd->add_drop) && (sd->add_drop[i].id || sd->add_drop[i].group); i++)
|
||||||
{
|
{
|
||||||
if ( ( sd->add_drop[i].race <= (1<<status->race) &&
|
if ( sd->add_drop[i].race == -md->class_ ||
|
||||||
sd->add_drop[i].race & (1<<status->race) ||
|
( sd->add_drop[i].race > 0 && (
|
||||||
sd->add_drop[i].race & 1<<(status->mode&MD_BOSS?RC_BOSS:RC_NONBOSS) ) ||
|
sd->add_drop[i].race & (1<<status->race) ||
|
||||||
( sd->add_drop[i].race > (1<<RC_MAX) && sd->add_drop[i].race == md->class_) )
|
sd->add_drop[i].race & (1<<(status->mode&MD_BOSS?RC_BOSS:RC_NONBOSS))
|
||||||
|
)))
|
||||||
{
|
{
|
||||||
//check if the bonus item drop rate should be multiplied with mob level/10 [Lupus]
|
//check if the bonus item drop rate should be multiplied with mob level/10 [Lupus]
|
||||||
if(sd->add_drop[i].rate < 0) {
|
if(sd->add_drop[i].rate < 0) {
|
||||||
|
@ -1608,7 +1608,8 @@ static int pc_bonus_item_drop(struct s_add_drop *drop, const short max, short id
|
|||||||
for(i = 0; i < max && (drop[i].id || drop[i].group); i++) {
|
for(i = 0; i < max && (drop[i].id || drop[i].group); i++) {
|
||||||
if(
|
if(
|
||||||
((id && drop[i].id == id) ||
|
((id && drop[i].id == id) ||
|
||||||
(group && drop[i].group == group)) && race < (RC_MAX<<1)
|
(group && drop[i].group == group))
|
||||||
|
&& race > 0
|
||||||
) {
|
) {
|
||||||
drop[i].race |= race;
|
drop[i].race |= race;
|
||||||
if(drop[i].rate > 0 && rate > 0)
|
if(drop[i].rate > 0 && rate > 0)
|
||||||
@ -2855,7 +2856,7 @@ int pc_bonus3(struct map_session_data *sd,int type,int type2,int type3,int val)
|
|||||||
break;
|
break;
|
||||||
case SP_ADD_CLASS_DROP_ITEM:
|
case SP_ADD_CLASS_DROP_ITEM:
|
||||||
if(sd->state.lr_flag != 2)
|
if(sd->state.lr_flag != 2)
|
||||||
pc_bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, 0, type3, val);
|
pc_bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, 0, -type3, val);
|
||||||
break;
|
break;
|
||||||
case SP_AUTOSPELL:
|
case SP_AUTOSPELL:
|
||||||
if(sd->state.lr_flag != 2)
|
if(sd->state.lr_flag != 2)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user