|
@@ -17571,6 +17571,7 @@ BUILDIN_FUNC(getunitdata)
|
|
|
getunitdata_sub(UMOB_AMOTION, md->status.amotion);
|
|
|
getunitdata_sub(UMOB_ADELAY, md->status.adelay);
|
|
|
getunitdata_sub(UMOB_DMOTION, md->status.dmotion);
|
|
|
+ getunitdata_sub(UMOB_TARGETID, md->target_id);
|
|
|
break;
|
|
|
|
|
|
case BL_HOM:
|
|
@@ -17617,6 +17618,7 @@ BUILDIN_FUNC(getunitdata)
|
|
|
getunitdata_sub(UHOM_AMOTION, hd->battle_status.amotion);
|
|
|
getunitdata_sub(UHOM_ADELAY, hd->battle_status.adelay);
|
|
|
getunitdata_sub(UHOM_DMOTION, hd->battle_status.dmotion);
|
|
|
+ getunitdata_sub(UHOM_TARGETID, hd->ud.target);
|
|
|
break;
|
|
|
|
|
|
case BL_PET:
|
|
@@ -17704,6 +17706,7 @@ BUILDIN_FUNC(getunitdata)
|
|
|
getunitdata_sub(UMER_AMOTION, mc->base_status.amotion);
|
|
|
getunitdata_sub(UMER_ADELAY, mc->base_status.adelay);
|
|
|
getunitdata_sub(UMER_DMOTION, mc->base_status.dmotion);
|
|
|
+ getunitdata_sub(UMER_TARGETID, mc->ud.target);
|
|
|
break;
|
|
|
|
|
|
case BL_ELEM:
|
|
@@ -17749,6 +17752,7 @@ BUILDIN_FUNC(getunitdata)
|
|
|
getunitdata_sub(UELE_AMOTION, ed->base_status.amotion);
|
|
|
getunitdata_sub(UELE_ADELAY, ed->base_status.adelay);
|
|
|
getunitdata_sub(UELE_DMOTION, ed->base_status.dmotion);
|
|
|
+ getunitdata_sub(UELE_TARGETID, ed->ud.target);
|
|
|
break;
|
|
|
|
|
|
case BL_NPC:
|
|
@@ -17944,6 +17948,15 @@ BUILDIN_FUNC(setunitdata)
|
|
|
case UMOB_AMOTION: md->base_status->amotion = (short)value; calc_status = true; break;
|
|
|
case UMOB_ADELAY: md->base_status->adelay = (short)value; calc_status = true; break;
|
|
|
case UMOB_DMOTION: md->base_status->dmotion = (short)value; calc_status = true; break;
|
|
|
+ case UMOB_TARGETID: {
|
|
|
+ struct block_list* target = map_id2bl(value);
|
|
|
+ if (!target) {
|
|
|
+ ShowWarning("buildin_setunitdata: Error in finding target for BL_MOB!\n");
|
|
|
+ return SCRIPT_CMD_FAILURE;
|
|
|
+ }
|
|
|
+ mob_target(md,target,0);
|
|
|
+ break;
|
|
|
+ }
|
|
|
default:
|
|
|
ShowError("buildin_setunitdata: Unknown data identifier %d for BL_MOB.\n", type);
|
|
|
return SCRIPT_CMD_FAILURE;
|
|
@@ -17997,6 +18010,15 @@ BUILDIN_FUNC(setunitdata)
|
|
|
case UHOM_AMOTION: hd->base_status.amotion = (short)value; calc_status = true; break;
|
|
|
case UHOM_ADELAY: hd->base_status.adelay = (short)value; calc_status = true; break;
|
|
|
case UHOM_DMOTION: hd->base_status.dmotion = (short)value; calc_status = true; break;
|
|
|
+ case UHOM_TARGETID: {
|
|
|
+ struct block_list* target = map_id2bl(value);
|
|
|
+ if (!target) {
|
|
|
+ ShowWarning("buildin_setunitdata: Error in finding target for BL_HOM!\n");
|
|
|
+ return SCRIPT_CMD_FAILURE;
|
|
|
+ }
|
|
|
+ unit_attack(&hd->bl, target->id, 1);
|
|
|
+ break;
|
|
|
+ }
|
|
|
default:
|
|
|
ShowError("buildin_setunitdata: Unknown data identifier %d for BL_HOM.\n", type);
|
|
|
return SCRIPT_CMD_FAILURE;
|
|
@@ -18096,6 +18118,15 @@ BUILDIN_FUNC(setunitdata)
|
|
|
case UMER_AMOTION: mc->base_status.amotion = (short)value; calc_status = true; break;
|
|
|
case UMER_ADELAY: mc->base_status.adelay = (short)value; calc_status = true; break;
|
|
|
case UMER_DMOTION: mc->base_status.dmotion = (short)value; calc_status = true; break;
|
|
|
+ case UMER_TARGETID: {
|
|
|
+ struct block_list* target = map_id2bl(value);
|
|
|
+ if (!target) {
|
|
|
+ ShowWarning("buildin_setunitdata: Error in finding target for BL_MER!\n");
|
|
|
+ return SCRIPT_CMD_FAILURE;
|
|
|
+ }
|
|
|
+ unit_attack(&mc->bl, target->id, 1);
|
|
|
+ break;
|
|
|
+ }
|
|
|
default:
|
|
|
ShowError("buildin_setunitdata: Unknown data identifier %d for BL_MER.\n", type);
|
|
|
return SCRIPT_CMD_FAILURE;
|
|
@@ -18148,6 +18179,16 @@ BUILDIN_FUNC(setunitdata)
|
|
|
case UELE_AMOTION: ed->base_status.amotion = (short)value; calc_status = true; break;
|
|
|
case UELE_ADELAY: ed->base_status.adelay = (short)value; calc_status = true; break;
|
|
|
case UELE_DMOTION: ed->base_status.dmotion = (short)value; calc_status = true; break;
|
|
|
+ case UELE_TARGETID: {
|
|
|
+ struct block_list* target = map_id2bl(value);
|
|
|
+ if (!target) {
|
|
|
+ ShowWarning("buildin_setunitdata: Error in finding target for BL_ELEM!\n");
|
|
|
+ return SCRIPT_CMD_FAILURE;
|
|
|
+ }
|
|
|
+ elemental_change_mode(ed, static_cast<e_mode>(EL_MODE_AGGRESSIVE));
|
|
|
+ unit_attack(&ed->bl, target->id, 1);
|
|
|
+ break;
|
|
|
+ }
|
|
|
default:
|
|
|
ShowError("buildin_setunitdata: Unknown data identifier %d for BL_ELEM.\n", type);
|
|
|
return SCRIPT_CMD_FAILURE;
|