diff options
author | Inkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-09-13 08:31:19 +0000 |
---|---|---|
committer | Inkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-09-13 08:31:19 +0000 |
commit | fe84618e4c80ee808cf7beed0e2a5d3e57bc8975 (patch) | |
tree | 8a6414a2bdc4873918fad90478fde2727a421716 /src/map/mob.c | |
parent | 1739298348c4d8c9052c05b7ac9a528e34de14d4 (diff) | |
download | hercules-fe84618e4c80ee808cf7beed0e2a5d3e57bc8975.tar.gz hercules-fe84618e4c80ee808cf7beed0e2a5d3e57bc8975.tar.bz2 hercules-fe84618e4c80ee808cf7beed0e2a5d3e57bc8975.tar.xz hercules-fe84618e4c80ee808cf7beed0e2a5d3e57bc8975.zip |
* Progressbar aborts when player is attacked.
* Do not stand if damage is from yourself or has no source.(bugreport:3582)
* Any mobs killed by party members within view range are taken into account in questlog.
* 'unit_walktobl' now uses at least 1 as the range since 'unit_can_reach_bl' always sets the target coordinates 1 cell away from the target block.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14057 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/mob.c')
-rw-r--r-- | src/map/mob.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/map/mob.c b/src/map/mob.c index 37fa65ea4..f0741a2cf 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -1274,7 +1274,7 @@ int mob_warpchase(struct mob_data *md, struct block_list *target) map_foreachinrange (mob_warpchase_sub, &md->bl, md->db->range2, BL_NPC, md, target, &warp, &distance); - if (warp && unit_walktobl(&md->bl, &warp->bl, 0, 1)) + if (warp && unit_walktobl(&md->bl, &warp->bl, 1, 1)) return 1; return 0; } @@ -1456,7 +1456,7 @@ static bool mob_ai_sub_hard(struct mob_data *md, unsigned int tick) if (!can_move) //Stuck. Wait before walking. return true; md->state.skillstate = MSS_LOOT; - if (!unit_walktobl(&md->bl, tbl, 0, 1)) + if (!unit_walktobl(&md->bl, tbl, 1, 1)) mob_unlocktarget(md, tick); //Can't loot... return true; } @@ -1993,7 +1993,9 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type) } pc_setglobalreg(sd,"TK_MISSION_COUNT", sd->mission_count); } - //Move to status.c, and send a delete quest packet and then an add quest packet can refresh the kill counts. Just a trick. :P[Inkfish] + if( sd->status.party_id ) + map_foreachinrange(quest_update_objective_sub,&md->bl,AREA_SIZE,BL_PC,sd->status.party_id,md->class_); + else if( sd->avail_quests ) quest_update_objective(sd, md->class_); } |