summaryrefslogtreecommitdiff
path: root/src/map/mob.c
diff options
context:
space:
mode:
author(no author) <(no author)@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-02-05 09:38:27 +0000
committer(no author) <(no author)@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-02-05 09:38:27 +0000
commit3eb666be67a0a786ae11180570b9f08a098c453c (patch)
tree5720cd5c060d906cec7a45ebb6659208fff4cdf1 /src/map/mob.c
parentd4a0749cd9240f7071dda6fc5070a27ef26fdb0e (diff)
downloadhercules-3eb666be67a0a786ae11180570b9f08a098c453c.tar.gz
hercules-3eb666be67a0a786ae11180570b9f08a098c453c.tar.bz2
hercules-3eb666be67a0a786ae11180570b9f08a098c453c.tar.xz
hercules-3eb666be67a0a786ae11180570b9f08a098c453c.zip
* Updated Sharp Shooting AoE code
* Tidied up explicit typecasts in status_get_max_hp * Non-MVP / miniboss summoned monsters should give exp * Fixed a typo that was blocking packet version 5 clients (628sak) from logging in git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1042 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/mob.c')
-rw-r--r--src/map/mob.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/map/mob.c b/src/map/mob.c
index 1068b515a..a8b9aa8cb 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -2158,6 +2158,7 @@ int mob_damage(struct block_list *src,struct mob_data *md,int damage,int type)
int mvp_damage,max_hp;
unsigned int tick = gettick();
struct map_session_data *mvp_sd = NULL, *second_sd = NULL,*third_sd = NULL;
+ struct block_list *master = NULL;
double tdmg,temp;
struct item item;
int ret;
@@ -2470,7 +2471,11 @@ int mob_damage(struct block_list *src,struct mob_data *md,int damage,int type)
if(sd && battle_config.pk_mode && (mob_db[md->class_].lv - sd->status.base_level >= 20)) {
job_exp*=1.15; // pk_mode additional exp if monster >20 levels [Valaris]
}
- if(md->master_id || (md->state.special_mob_ai >= 1 && battle_config.alchemist_summon_reward != 1)) { // for summoned creatures [Valaris]
+ if(md->master_id) {
+ master = map_id2bl(md->master_id);
+ }
+ if((master && status_get_mode(master)&0x20) || // check if its master is a boss (MVP's and minibosses)
+ (md->state.special_mob_ai >= 1 && battle_config.alchemist_summon_reward != 1)) { // for summoned creatures [Valaris]
base_exp = 0;
job_exp = 0;
}
@@ -2530,7 +2535,8 @@ int mob_damage(struct block_list *src,struct mob_data *md,int damage,int type)
struct delay_item_drop *ditem;
int drop_rate;
- if(md->master_id || (md->state.special_mob_ai >= 1 && battle_config.alchemist_summon_reward != 1)) // Added [Valaris]
+ if((master && status_get_mode(master)&0x20) || // check if its master is a boss (MVP's and minibosses)
+ (md->state.special_mob_ai >= 1 && battle_config.alchemist_summon_reward != 1)) // Added [Valaris]
break; // End
if(mob_db[md->class_].dropitem[i].nameid <= 0)