summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--src/map/mob.c2
-rw-r--r--src/map/mob.h2
-rw-r--r--src/map/script.c4
4 files changed, 6 insertions, 4 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 5ae15a845..d342b5636 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -3,6 +3,8 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
+2008/07/05
+ * Moved the mob killmonster flag to a more appropriate area. (bugreport:1795) [SketchyPhoenix]
2008/07/04
* Fixed AM_PHARMACY produce chances based on info gathered by flaviojs, aegis zone ep 11.2, of 20070629 [Brain/FlavioJS]
* Rev. 12911 Homunculus will no longer auto-vaporize on master death. [L0ne_W0lf]
diff --git a/src/map/mob.c b/src/map/mob.c
index 5ff325ad1..9abdd54e7 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -2545,7 +2545,7 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type)
if(md->nd)
mob_script_callback(md, src, CALLBACK_DEAD);
else
- if(md->npc_event[0] && !md->npc_killmonster)
+ if(md->npc_event[0] && !md->state.npc_killmonster)
{
md->status.hp = 0; //So that npc_event invoked functions KNOW that I am dead.
if(src)
diff --git a/src/map/mob.h b/src/map/mob.h
index 0a65e1c42..13b9c346a 100644
--- a/src/map/mob.h
+++ b/src/map/mob.h
@@ -112,6 +112,7 @@ struct mob_data {
unsigned spotted: 1;
unsigned char attacked_count; //For rude attacked.
int provoke_flag; // Celest
+ unsigned npc_killmonster: 1; //for new killmonster behavior
} state;
struct guardian_data* guardian_data;
struct {
@@ -141,7 +142,6 @@ struct mob_data {
short skillidx;
unsigned int skilldelay[MAX_MOBSKILL];
char npc_event[50];
- int npc_killmonster; //for new killmonster behavior
};
diff --git a/src/map/script.c b/src/map/script.c
index 0f3018ec8..449c4ba52 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -7473,7 +7473,7 @@ BUILDIN_FUNC(areamonster)
char *event=va_arg(ap,char *);
int allflag=va_arg(ap,int);
- md->npc_killmonster = 1;
+ md->state.npc_killmonster = 1;
if(!allflag){
if(strcmp(event,md->npc_event)==0)
@@ -7482,7 +7482,7 @@ BUILDIN_FUNC(areamonster)
if(!md->spawn)
status_kill(bl);
}
- md->npc_killmonster = 0;
+ md->state.npc_killmonster = 0;
return 0;
}
static int buildin_killmonster_sub(struct block_list *bl,va_list ap)