diff --git a/code/game/objects/structures/urban.dm b/code/game/objects/structures/urban.dm index 4bad6b287bd..ef42613eea8 100644 --- a/code/game/objects/structures/urban.dm +++ b/code/game/objects/structures/urban.dm @@ -7,19 +7,189 @@ density = TRUE layer = 7 -/obj/structure/automobile/random/Initialize(mapload) - . = ..() - ClearOverlays() - name = "[pick("deluxe Shibata Sport automotive","beat-up Poplar Auto Group automotive","weathered Shibata Sport automotive","beat-up Langenfeld automotive","deluxe Langenfeld automotive","weathered Langenfeld automotive")]" - desc = "A [name] vehicle of working condition." - icon_state = "car[rand(1, 10)]" - return +/obj/random/automobile + name = "random civilian automobile" + desc = "A random make/model/color of a civilian vehicle" + icon = 'icons/obj/structure/urban/cars.dmi' + icon_state = "random_car" + spawnlist = list( + /obj/structure/automobile/poplar_boxvan_blue/deluxe = 1, + /obj/structure/automobile/poplar_boxvan_blue/weathered = 3, + /obj/structure/automobile/poplar_boxvan_blue/beat_up = 2, + /obj/structure/automobile/poplar_boxvan_green/deluxe = 1, + /obj/structure/automobile/poplar_boxvan_green/weathered = 3, + /obj/structure/automobile/poplar_boxvan_green/beat_up = 2, + /obj/structure/automobile/shibata_compact_white/deluxe = 1, + /obj/structure/automobile/shibata_compact_white/weathered = 3, + /obj/structure/automobile/shibata_compact_white/beat_up = 2, + /obj/structure/automobile/shibata_compact_teal/deluxe = 1, + /obj/structure/automobile/shibata_compact_teal/weathered = 3, + /obj/structure/automobile/shibata_compact_teal/beat_up = 2, + /obj/structure/automobile/shibata_compact_cyan/deluxe = 1, + /obj/structure/automobile/shibata_compact_cyan/weathered = 3, + /obj/structure/automobile/shibata_compact_cyan/beat_up = 2, + /obj/structure/automobile/shibata_compact_yellow/deluxe = 1, + /obj/structure/automobile/shibata_compact_yellow/weathered = 3, + /obj/structure/automobile/shibata_compact_yellow/beat_up = 2, + /obj/structure/automobile/langenfeld_hybrid_green/deluxe = 1, + /obj/structure/automobile/langenfeld_hybrid_green/weathered = 3, + /obj/structure/automobile/langenfeld_hybrid_green/beat_up = 2, + /obj/structure/automobile/langenfeld_hybrid_red/deluxe = 1, + /obj/structure/automobile/langenfeld_hybrid_red/weathered = 3, + /obj/structure/automobile/langenfeld_hybrid_red/beat_up = 2, + /obj/structure/automobile/langenfeld_hybrid_purple/deluxe = 1, + /obj/structure/automobile/langenfeld_hybrid_purple/weathered = 3, + /obj/structure/automobile/langenfeld_hybrid_purple/beat_up = 2, + /obj/structure/automobile/langenfeld_hybrid_white/deluxe = 1, + /obj/structure/automobile/langenfeld_hybrid_white/weathered = 3, + /obj/structure/automobile/langenfeld_hybrid_white/beat_up = 2 + ) /obj/structure/automobile/police name = "police cruiser" desc = "A police vehicle with all the bells and whistles you'd expect from a decently-funded agency." icon_state = "copcar" +/obj/structure/automobile/poplar_boxvan_blue + name = "blue poplar auto group van" + desc = "A boxy blue van. Cars in this style are found everywhere in the spur." + icon_state = "car1" + +/obj/structure/automobile/poplar_boxvan_blue/deluxe + name = "deluxe poplar auto group van" + +/obj/structure/automobile/poplar_boxvan_blue/weathered + name = "weathered poplar auto group van" + +/obj/structure/automobile/poplar_boxvan_blue/beat_up + name = "beat-up poplar auto group van" + +/obj/structure/automobile/poplar_boxvan_green + name = "green poplar auto group van" + desc = "A boxy green van. Cars in this style are found everywhere in the spur." + icon_state = "car2" + +/obj/structure/automobile/poplar_boxvan_green/deluxe + name = "deluxe poplar auto group van" + +/obj/structure/automobile/poplar_boxvan_green/weathered + name = "weathered poplar auto group van" + +/obj/structure/automobile/poplar_boxvan_green/beat_up + name = "beat-up poplar auto group van" + +/obj/structure/automobile/shibata_compact_white + name = "white shibata sport compact" + desc = "A compact electric car with a light cream paint job." + icon_state = "car3" + +/obj/structure/automobile/shibata_compact_white/deluxe + name = "deluxe shibata sport compact" + +/obj/structure/automobile/shibata_compact_white/weathered + name = "weathered shibata sport compact" + +/obj/structure/automobile/shibata_compact_white/beat_up + name = "beat-up shibata sport compact" + +/obj/structure/automobile/shibata_compact_teal + name = "teal shibata sport compact" + desc = "A compact electric car with a teal paint job." + icon_state = "car4" + +/obj/structure/automobile/shibata_compact_teal/deluxe + name = "deluxe shibata sport compact" + +/obj/structure/automobile/shibata_compact_teal/weathered + name = "weathered shibata sport compact" + +/obj/structure/automobile/shibata_compact_teal/beat_up + name = "beat-up shibata sport compact" + +/obj/structure/automobile/shibata_compact_cyan + name = "cyan shibata sport compact" + desc = "A compact electric car with a cyan paint job." + icon_state = "car5" + +/obj/structure/automobile/shibata_compact_cyan/deluxe + name = "deluxe shibata sport compact" + +/obj/structure/automobile/shibata_compact_cyan/weathered + name = "weathered shibata sport compact" + +/obj/structure/automobile/shibata_compact_cyan/beat_up + name = "beat-up shibata sport compact" + +/obj/structure/automobile/shibata_compact_yellow + name = "yellow shibata sport compact" + desc = "A compact electric car with a yellow paint job." + icon_state = "car6" + +/obj/structure/automobile/shibata_compact_yellow/deluxe + name = "deluxe shibata sport compact" + +/obj/structure/automobile/shibata_compact_yellow/weathered + name = "weathered shibata sport compact" + +/obj/structure/automobile/shibata_compact_yellow/beat_up + name = "beat-up shibata sport compact" + +/obj/structure/automobile/langenfeld_hybrid_green + name = "green langenfeld hybrid" + desc = "A hybrid combustion-electric car. Popular anywhere where electricity is expensive. This one has an olive green paint job." + icon_state = "car7" + +/obj/structure/automobile/langenfeld_hybrid_green/deluxe + name = "deluxe langenfeld compact" + +/obj/structure/automobile/langenfeld_hybrid_green/weathered + name = "weathered langenfeld compact" + +/obj/structure/automobile/langenfeld_hybrid_green/beat_up + name = "beat-up langenfeld compact" + +/obj/structure/automobile/langenfeld_hybrid_red + name = "red langenfeld hybrid" + desc = "A hybrid combustion-electric car. Popular anywhere where electricity is expensive. This one has a darker red paint job." + icon_state = "car8" + +/obj/structure/automobile/langenfeld_hybrid_red/deluxe + name = "deluxe langenfeld compact" + +/obj/structure/automobile/langenfeld_hybrid_red/weathered + name = "weathered langenfeld compact" + +/obj/structure/automobile/langenfeld_hybrid_red/beat_up + name = "beat-up langenfeld compact" + +/obj/structure/automobile/langenfeld_hybrid_purple + name = "purple langenfeld hybrid" + desc = "A hybrid combustion-electric car. Popular anywhere where electricity is expensive. This one has a midnight purple paint job." + icon_state = "car9" + +/obj/structure/automobile/langenfeld_hybrid_purple/deluxe + name = "deluxe langenfeld compact" + +/obj/structure/automobile/langenfeld_hybrid_purple/weathered + name = "weathered langenfeld compact" + +/obj/structure/automobile/langenfeld_hybrid_purple/beat_up + name = "beat-up langenfeld compact" + +/obj/structure/automobile/langenfeld_hybrid_white + name = "white langenfeld hybrid" + desc = "A hybrid combustion-electric car. Popular anywhere where electricity is expensive. This one has a light cream paint job." + icon_state = "car10" + +/obj/structure/automobile/langenfeld_hybrid_white/deluxe + name = "deluxe langenfeld compact" + +/obj/structure/automobile/langenfeld_hybrid_white/weathered + name = "weathered langenfeld compact" + +/obj/structure/automobile/langenfeld_hybrid_white/beat_up + name = "beat-up langenfeld compact" + /obj/structure/automobile_filler name = "vehicle" desc = "A piece of a larger vehicle." diff --git a/html/changelogs/courierbravo-car_sprites.yml b/html/changelogs/courierbravo-car_sprites.yml new file mode 100644 index 00000000000..6093eca0f1c --- /dev/null +++ b/html/changelogs/courierbravo-car_sprites.yml @@ -0,0 +1,62 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: CourierBravo + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added all of the other cars.dmi sprites as automobile objects." + - rscadd: "Moved around and changed some of the names of sprites in the cars.dmi file." + - rscadd: "Reworked how the random car spawning works. Now instead of initializing a structure with a random name/sprite, its a random subtype selecting to spawn structure with a preset name and sprite." + - rscdel: "Replaced the previous random car initialize with the random subtype." + - imageadd: "Added a random car sprite to the car.dmi file, since the random.dmi file doesnt support 96x64 pixel sprites" diff --git a/icons/obj/structure/urban/cars.dmi b/icons/obj/structure/urban/cars.dmi index c6ae39b7fa8..e5355da42e9 100644 Binary files a/icons/obj/structure/urban/cars.dmi and b/icons/obj/structure/urban/cars.dmi differ diff --git a/maps/away/away_site/konyang/point_verdant/point_verdant.dmm b/maps/away/away_site/konyang/point_verdant/point_verdant.dmm index 7477d5d7e58..65ef7011271 100644 --- a/maps/away/away_site/konyang/point_verdant/point_verdant.dmm +++ b/maps/away/away_site/konyang/point_verdant/point_verdant.dmm @@ -10348,7 +10348,7 @@ dir = 8 }, /obj/effect/decal/road_marking/thin, -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 4 }, /turf/simulated/floor/asphalt, @@ -14008,7 +14008,7 @@ /turf/simulated/floor/exoplanet/water/shallow/konyang, /area/point_verdant/interior/tunnels) "hTd" = ( -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 4 }, /turf/simulated/floor/asphalt, @@ -14378,7 +14378,7 @@ /turf/simulated/floor/wood, /area/point_verdant/interior/tailor) "icr" = ( -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 8 }, /obj/effect/decal/road_marking{ @@ -14646,7 +14646,7 @@ /turf/simulated/floor/asphalt, /area/point_verdant/outdoors) "iko" = ( -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 8 }, /turf/simulated/floor/asphalt, @@ -15989,7 +15989,7 @@ /turf/simulated/floor/asphalt, /area/point_verdant/outdoors) "iYD" = ( -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 4 }, /obj/random/dirt_75, @@ -16127,7 +16127,7 @@ /turf/simulated/floor/exoplanet/water/shallow/konyang/no_smooth, /area/point_verdant/outdoors) "jbX" = ( -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 8 }, /turf/simulated/floor/asphalt, @@ -17260,7 +17260,7 @@ /turf/simulated/floor/wood, /area/point_verdant/interior/cafe) "jKN" = ( -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 8; pixel_y = 12 }, @@ -18911,7 +18911,7 @@ /turf/simulated/floor/asphalt, /area/point_verdant/outdoors) "kCv" = ( -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 1 }, /turf/simulated/floor/asphalt, @@ -26332,7 +26332,7 @@ /turf/simulated/floor/exoplanet/dirt_konyang, /area/point_verdant/interior/tunnels) "oRh" = ( -/obj/structure/automobile/random, +/obj/random/automobile, /obj/effect/decal/road_marking{ dir = 8 }, @@ -27744,7 +27744,7 @@ /turf/simulated/floor/wood, /area/point_verdant/interior/laundromat) "pMy" = ( -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 4 }, /obj/random/dirt_75, @@ -30277,7 +30277,7 @@ /obj/effect/decal/curb{ dir = 4 }, -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 4 }, /turf/simulated/floor/asphalt, @@ -32280,7 +32280,7 @@ /turf/simulated/floor/sidewalk, /area/point_verdant/interior/restaurant) "sEl" = ( -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 4 }, /turf/simulated/floor/asphalt, @@ -34037,7 +34037,7 @@ /turf/simulated/floor/concrete, /area/point_verdant/interior/tailor) "tGw" = ( -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 8 }, /obj/effect/decal/road_marking{ @@ -34357,7 +34357,7 @@ /turf/simulated/floor/tiled/freezer, /area/point_verdant/interior/offices) "tQY" = ( -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 4 }, /obj/random/dirt_75, @@ -35420,7 +35420,7 @@ /obj/effect/decal/curb{ dir = 4 }, -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 4 }, /turf/simulated/floor/asphalt, @@ -37399,7 +37399,7 @@ /turf/simulated/floor/tiled/white, /area/point_verdant/interior/police) "vFh" = ( -/obj/structure/automobile/random, +/obj/random/automobile, /obj/effect/decal/road_marking{ dir = 8 }, @@ -41156,7 +41156,7 @@ dir = 8 }, /obj/effect/decal/curb, -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 4 }, /turf/simulated/floor/asphalt, @@ -41497,7 +41497,7 @@ /turf/simulated/floor/roofing_tiles, /area/point_verdant/outdoors) "xUF" = ( -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 1 }, /turf/simulated/floor/asphalt, diff --git a/maps/random_ruins/exoplanets/biesel/biesel_camp_site.dmm b/maps/random_ruins/exoplanets/biesel/biesel_camp_site.dmm index f58135c5d9a..2485ad287bb 100644 --- a/maps/random_ruins/exoplanets/biesel/biesel_camp_site.dmm +++ b/maps/random_ruins/exoplanets/biesel/biesel_camp_site.dmm @@ -210,7 +210,7 @@ /turf/simulated/floor/exoplanet/grass/grove, /area/template_noop) "O" = ( -/obj/structure/automobile/random{ +/obj/random/automobile{ dir = 4 }, /obj/machinery/media/jukebox{