src/disaster_cmd.cpp
branchnoai
changeset 9701 d1ac22c62f64
parent 9694 e72987579514
child 9718 f82a4facea8b
equal deleted inserted replaced
9700:e442ce398e83 9701:d1ac22c62f64
   156 
   156 
   157 	DisasterVehicleUpdateImage(v);
   157 	DisasterVehicleUpdateImage(v);
   158 	VehiclePositionChanged(v);
   158 	VehiclePositionChanged(v);
   159 	EndVehicleMove(v);
   159 	EndVehicleMove(v);
   160 
   160 
   161 	if ((u = v->next) != NULL) {
   161 	if ((u = v->Next()) != NULL) {
   162 		int safe_x = clamp(x, 0, MapMaxX() * TILE_SIZE);
   162 		int safe_x = clamp(x, 0, MapMaxX() * TILE_SIZE);
   163 		int safe_y = clamp(y - 1, 0, MapMaxY() * TILE_SIZE);
   163 		int safe_y = clamp(y - 1, 0, MapMaxY() * TILE_SIZE);
   164 		BeginVehicleMove(u);
   164 		BeginVehicleMove(u);
   165 
   165 
   166 		u->x_pos = x;
   166 		u->x_pos = x;
   171 
   171 
   172 		DisasterVehicleUpdateImage(u);
   172 		DisasterVehicleUpdateImage(u);
   173 		VehiclePositionChanged(u);
   173 		VehiclePositionChanged(u);
   174 		EndVehicleMove(u);
   174 		EndVehicleMove(u);
   175 
   175 
   176 		if ((u = u->next) != NULL) {
   176 		if ((u = u->Next()) != NULL) {
   177 			BeginVehicleMove(u);
   177 			BeginVehicleMove(u);
   178 			u->x_pos = x;
   178 			u->x_pos = x;
   179 			u->y_pos = y;
   179 			u->y_pos = y;
   180 			u->z_pos = z + 5;
   180 			u->z_pos = z + 5;
   181 			VehiclePositionChanged(u);
   181 			VehiclePositionChanged(u);
   609 		u->u.disaster.big_ufo_destroyer_target = v->index;
   609 		u->u.disaster.big_ufo_destroyer_target = v->index;
   610 
   610 
   611 		w = new DisasterVehicle();
   611 		w = new DisasterVehicle();
   612 		if (w == NULL) return;
   612 		if (w == NULL) return;
   613 
   613 
   614 		u->next = w;
   614 		u->SetNext(w);
   615 		InitializeDisasterVehicle(w, -6 * TILE_SIZE, v->y_pos, 0, DIR_SW, ST_Big_Ufo_Destroyer_Shadow);
   615 		InitializeDisasterVehicle(w, -6 * TILE_SIZE, v->y_pos, 0, DIR_SW, ST_Big_Ufo_Destroyer_Shadow);
   616 		w->vehstatus |= VS_SHADOW;
   616 		w->vehstatus |= VS_SHADOW;
   617 	} else if (v->current_order.dest == 0) {
   617 	} else if (v->current_order.dest == 0) {
   618 		int x = TileX(v->dest_tile) * TILE_SIZE;
   618 		int x = TileX(v->dest_tile) * TILE_SIZE;
   619 		int y = TileY(v->dest_tile) * TILE_SIZE;
   619 		int y = TileY(v->dest_tile) * TILE_SIZE;
   780 	InitializeDisasterVehicle(v, x, 0, 135, DIR_SE, ST_Zeppeliner);
   780 	InitializeDisasterVehicle(v, x, 0, 135, DIR_SE, ST_Zeppeliner);
   781 
   781 
   782 	/* Allocate shadow too? */
   782 	/* Allocate shadow too? */
   783 	u = new DisasterVehicle();
   783 	u = new DisasterVehicle();
   784 	if (u != NULL) {
   784 	if (u != NULL) {
   785 		v->next = u;
   785 		v->SetNext(u);
   786 		InitializeDisasterVehicle(u, x, 0, 0, DIR_SE, ST_Zeppeliner_Shadow);
   786 		InitializeDisasterVehicle(u, x, 0, 0, DIR_SE, ST_Zeppeliner_Shadow);
   787 		u->vehstatus |= VS_SHADOW;
   787 		u->vehstatus |= VS_SHADOW;
   788 	}
   788 	}
   789 }
   789 }
   790 
   790 
   805 	v->age = 0;
   805 	v->age = 0;
   806 
   806 
   807 	/* Allocate shadow too? */
   807 	/* Allocate shadow too? */
   808 	u = new DisasterVehicle();
   808 	u = new DisasterVehicle();
   809 	if (u != NULL) {
   809 	if (u != NULL) {
   810 		v->next = u;
   810 		v->SetNext(u);
   811 		InitializeDisasterVehicle(u, x, 0, 0, DIR_SE, ST_Small_Ufo_Shadow);
   811 		InitializeDisasterVehicle(u, x, 0, 0, DIR_SE, ST_Small_Ufo_Shadow);
   812 		u->vehstatus |= VS_SHADOW;
   812 		u->vehstatus |= VS_SHADOW;
   813 	}
   813 	}
   814 }
   814 }
   815 
   815 
   841 
   841 
   842 	InitializeDisasterVehicle(v, x, y, 135, DIR_NE, ST_Airplane);
   842 	InitializeDisasterVehicle(v, x, y, 135, DIR_NE, ST_Airplane);
   843 
   843 
   844 	u = new DisasterVehicle();
   844 	u = new DisasterVehicle();
   845 	if (u != NULL) {
   845 	if (u != NULL) {
   846 		v->next = u;
   846 		v->SetNext(u);
   847 		InitializeDisasterVehicle(u, x, y, 0, DIR_SE, ST_Airplane_Shadow);
   847 		InitializeDisasterVehicle(u, x, y, 0, DIR_SE, ST_Airplane_Shadow);
   848 		u->vehstatus |= VS_SHADOW;
   848 		u->vehstatus |= VS_SHADOW;
   849 	}
   849 	}
   850 }
   850 }
   851 
   851 
   876 
   876 
   877 	InitializeDisasterVehicle(v, x, y, 135, DIR_SW, ST_Helicopter);
   877 	InitializeDisasterVehicle(v, x, y, 135, DIR_SW, ST_Helicopter);
   878 
   878 
   879 	u = new DisasterVehicle();
   879 	u = new DisasterVehicle();
   880 	if (u != NULL) {
   880 	if (u != NULL) {
   881 		v->next = u;
   881 		v->SetNext(u);
   882 		InitializeDisasterVehicle(u, x, y, 0, DIR_SW, ST_Helicopter_Shadow);
   882 		InitializeDisasterVehicle(u, x, y, 0, DIR_SW, ST_Helicopter_Shadow);
   883 		u->vehstatus |= VS_SHADOW;
   883 		u->vehstatus |= VS_SHADOW;
   884 
   884 
   885 		w = new DisasterVehicle();
   885 		w = new DisasterVehicle();
   886 		if (w != NULL) {
   886 		if (w != NULL) {
   887 			u->next = w;
   887 			u->SetNext(w);
   888 			InitializeDisasterVehicle(w, x, y, 140, DIR_SW, ST_Helicopter_Rotors);
   888 			InitializeDisasterVehicle(w, x, y, 140, DIR_SW, ST_Helicopter_Rotors);
   889 		}
   889 		}
   890 	}
   890 	}
   891 }
   891 }
   892 
   892 
   908 	v->age = 0;
   908 	v->age = 0;
   909 
   909 
   910 	/* Allocate shadow too? */
   910 	/* Allocate shadow too? */
   911 	u = new DisasterVehicle();
   911 	u = new DisasterVehicle();
   912 	if (u != NULL) {
   912 	if (u != NULL) {
   913 		v->next = u;
   913 		v->SetNext(u);
   914 		InitializeDisasterVehicle(u, x, y, 0, DIR_NW, ST_Big_Ufo_Shadow);
   914 		InitializeDisasterVehicle(u, x, y, 0, DIR_NW, ST_Big_Ufo_Shadow);
   915 		u->vehstatus |= VS_SHADOW;
   915 		u->vehstatus |= VS_SHADOW;
   916 	}
   916 	}
   917 }
   917 }
   918 
   918