summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/atcommand.c3
-rw-r--r--src/map/clif.c2
-rw-r--r--src/map/mob.c2
-rw-r--r--src/map/script.c20
-rw-r--r--src/map/status.c1
5 files changed, 15 insertions, 13 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index a5478c50e..ebcd78b2a 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -8594,7 +8594,6 @@ atcommand_summon(
{
char name[NAME_LENGTH];
int mob_id = 0;
- int id = 0;
int duration = 0;
struct mob_data *md;
unsigned int tick=gettick();
@@ -8621,7 +8620,7 @@ atcommand_summon(
if(md){
md->master_id=sd->bl.id;
md->special_state.ai=1;
- md->deletetimer=add_timer(tick+(duration*60000),mob_timer_delete,id,0);
+ md->deletetimer=add_timer(tick+(duration*60000),mob_timer_delete,md->bl.id,0);
clif_misceffect2(&md->bl,344);
mob_spawn(md);
sc_start4(&md->bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE, 0, 60000);
diff --git a/src/map/clif.c b/src/map/clif.c
index ed66dbabf..8018cbf82 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -6323,7 +6323,7 @@ int clif_sendegg(struct map_session_data *sd)
if(sd->status.pet_id <= 0) {
for(i=0,n=0;i<MAX_INVENTORY;i++){
if(sd->status.inventory[i].nameid<=0 || sd->inventory_data[i] == NULL ||
- sd->inventory_data[i]->type!=7 ||
+ sd->inventory_data[i]->type!=IT_PETEGG ||
sd->status.inventory[i].amount<=0)
continue;
WFIFOW(fd,n*2+4)=i+2;
diff --git a/src/map/mob.c b/src/map/mob.c
index d217dcf69..73200bd27 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -2997,7 +2997,7 @@ int mob_clone_spawn(struct map_session_data *sd, int m, int x, int y, const char
if (master_id) //Attach to Master
md->master_id = master_id;
if (duration) //Auto Delete after a while.
- md->deletetimer = add_timer (gettick() + duration, mob_timer_delete, i, 0);
+ md->deletetimer = add_timer (gettick() + duration, mob_timer_delete, md->bl.id, 0);
}
#if 0
//I am playing with this for packet-research purposes, enable it if you want, but don't remove it :X [Skotlex]
diff --git a/src/map/script.c b/src/map/script.c
index 419ea5969..c60b5f868 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -10651,7 +10651,7 @@ int buildin_logmes(struct script_state *st)
int buildin_summon(struct script_state *st)
{
- int _class, id, timeout=0;
+ int _class, timeout=0;
char *str,*event="";
struct map_session_data *sd;
struct mob_data *md;
@@ -10670,14 +10670,16 @@ int buildin_summon(struct script_state *st)
}
clif_skill_poseffect(&sd->bl,AM_CALLHOMUN,1,sd->bl.x,sd->bl.y,tick);
- id=mob_once_spawn(sd, "this", 0, 0, str,_class,1,event);
- md=(struct mob_data *)map_id2bl(id);
- if (!md) return 0;
- md->master_id=sd->bl.id;
- md->special_state.ai=1;
- md->deletetimer=add_timer(tick+(timeout>0?timeout*1000:60000),mob_timer_delete,id,0);
- clif_misceffect2(&md->bl,344);
- sc_start4(&md->bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE, 0, 60000);
+
+ md = mob_once_spawn_sub(&sd->bl, sd->bl.m, sd->bl.x, sd->bl.y, str, _class, event);
+ if (md) {
+ md->master_id=sd->bl.id;
+ md->special_state.ai=1;
+ md->deletetimer = add_timer(tick+(timeout>0?timeout*1000:60000),mob_timer_delete,md->bl.id,0);
+ mob_spawn (md); //Now it is ready for spawning.
+ clif_misceffect2(&md->bl,344);
+ sc_start4(&md->bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE, 0, 60000);
+ }
return 0;
}
diff --git a/src/map/status.c b/src/map/status.c
index 1fe73423f..adb27c245 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -3952,6 +3952,7 @@ struct regen_data *status_get_regen_data(struct block_list *bl)
return NULL;
}
}
+
struct status_data *status_get_status_data(struct block_list *bl)
{
nullpo_retr(NULL, bl);