summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt4
-rw-r--r--src/map/battle.h2
-rw-r--r--src/map/mob.c2
-rw-r--r--src/map/npc.c4
-rw-r--r--src/map/script.c8
5 files changed, 10 insertions, 10 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 81f82b628..4aba37ef0 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,10 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/12/01
+ * Fixed passive mobs becoming increasingly unlikely to retaliate to attacks
+ after they got inflicted by a disabling status change. [Skotlex]
+ * Changed the "is_boss" define to check for mode MD_BOSS instead of giving
+ mvp exp. [Skotlex]
* Updated sql files [Playtester]
* Fixed txt-converter compilation. [Skotlex]
* STRECOVERYno longer makes a mob unlock it's target like Cure does.
diff --git a/src/map/battle.h b/src/map/battle.h
index 6a137a4de..709cc3c78 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -75,7 +75,7 @@ int battle_getcurrentskill(struct block_list *bl);
#define BCT_SELF 0x010000
#define BCT_NEUTRAL 0x100000
-#define is_boss(bl) status_get_mexp(bl) // Can refine later [Aru]
+#define is_boss(bl) (status_get_mode(bl)&MD_BOSS) // Can refine later [Aru]
int battle_check_undead(int race,int element);
int battle_check_target(struct block_list *src, struct block_list *target,int flag);
diff --git a/src/map/mob.c b/src/map/mob.c
index b00d18aeb..92a0396ec 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -1079,7 +1079,7 @@ static int mob_ai_sub_hard(struct block_list *bl,va_list ap)
// Abnormalities
if((md->sc.opt1 > 0 && md->sc.opt1 != OPT1_STONEWAIT) || md->sc.data[SC_BLADESTOP].timer != -1)
{ //Should reset targets.
- md->target_id = md->attacked_id = 0;
+ md->target_id = md->attacked_id = md->attacked_players = 0;
return 0;
}
diff --git a/src/map/npc.c b/src/map/npc.c
index fe01a7ded..fbedef5da 100644
--- a/src/map/npc.c
+++ b/src/map/npc.c
@@ -2153,10 +2153,6 @@ static int npc_parse_function (char *w1, char *w2, char *w3, char *w4, char *fir
oldscript = (struct script_code *)strdb_get(user_db, p);
if(oldscript != NULL) {
printf("\r"); //Carriage return to clear the 'loading..' line. [Skotlex]
- //ShowWarning("parse_function: Duplicate user function [%s] (%s:%d)\n", p, file, *lines);
- //aFree(p);
- //script_free_code(script);
- // Experimental function overwriting - [Lance]
ShowInfo("parse_function: Overwriting user function [%s] (%s:%d)\n", p, file, *lines);
script_free_code(oldscript);
user_db->remove(user_db,str2key(p));
diff --git a/src/map/script.c b/src/map/script.c
index fee8efa5d..56547df55 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -10353,8 +10353,8 @@ int buildin_select(struct script_state *st)
clif_scriptmenu(sd,st->oid,buf);
aFree(buf);
} else if(sd->npc_menu==0xff){
- sd->state.menu_or_input=0;
- st->state=END;
+ sd->state.menu_or_input=0;
+ st->state=END;
} else {
//Skip empty menu entries which weren't displayed on the client (Skotlex)
for(i=st->start+2;i< (st->start+2+sd->npc_menu) && sd->npc_menu < (st->end-st->start-2);i++) {
@@ -10365,8 +10365,8 @@ int buildin_select(struct script_state *st)
pc_setreg(sd,add_str((unsigned char *) "@menu"),sd->npc_menu);
sd->state.menu_or_input=0;
push_val(st->stack,C_INT,sd->npc_menu);
- }
- return 0;
+ }
+ return 0;
}
int buildin_prompt(struct script_state *st)