|
@@ -1087,6 +1087,14 @@ int pet_catch_process2(struct map_session_data *sd,int target_id)
|
|
|
|
|
|
nullpo_retr(1, sd);
|
|
nullpo_retr(1, sd);
|
|
|
|
|
|
|
|
+ md=(struct mob_data*)map_id2bl(target_id);
|
|
|
|
+ if(!md || md->bl.type != BL_MOB || md->bl.prev == NULL){
|
|
|
|
+ //Abort capture.
|
|
|
|
+ sd->catch_target_class = -1;
|
|
|
|
+ sd->itemid = sd->itemindex = -1;
|
|
|
|
+ return 1;
|
|
|
|
+ }
|
|
|
|
+
|
|
if (sd->itemid > 0)
|
|
if (sd->itemid > 0)
|
|
{ //Consume the pet lure [Skotlex]
|
|
{ //Consume the pet lure [Skotlex]
|
|
if ((i = sd->itemindex) == -1 ||
|
|
if ((i = sd->itemindex) == -1 ||
|
|
@@ -1103,13 +1111,6 @@ int pet_catch_process2(struct map_session_data *sd,int target_id)
|
|
sd->itemid = sd->itemindex = -1;
|
|
sd->itemid = sd->itemindex = -1;
|
|
pc_delitem(sd,i,1,0);
|
|
pc_delitem(sd,i,1,0);
|
|
}
|
|
}
|
|
-
|
|
|
|
- md=(struct mob_data*)map_id2bl(target_id);
|
|
|
|
- if(!md || md->bl.type != BL_MOB || md->bl.prev == NULL){
|
|
|
|
- clif_pet_rulet(sd,0);
|
|
|
|
- sd->catch_target_class = -1;
|
|
|
|
- return 1;
|
|
|
|
- }
|
|
|
|
|
|
|
|
i = search_petDB_index(md->class_,PET_CLASS);
|
|
i = search_petDB_index(md->class_,PET_CLASS);
|
|
//catch_target_class == 0 is used for universal lures. [Skotlex]
|
|
//catch_target_class == 0 is used for universal lures. [Skotlex]
|