Skip to content

Commit

Permalink
engineering vic (#256)
Browse files Browse the repository at this point in the history
  • Loading branch information
AndroBetel committed Jun 6, 2024
1 parent c0b30ee commit df1943a
Show file tree
Hide file tree
Showing 6 changed files with 370 additions and 0 deletions.
4 changes: 4 additions & 0 deletions code/datums/vehicles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,10 @@
name = "Tank"
interior_id = "tank"

/datum/map_template/interior/aev
name = "AEV"
interior_id = "aev"

/datum/map_template/interior/van
name = "Van"
interior_id = "van"
80 changes: 80 additions & 0 deletions code/modules/vehicles/tank/aev.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
/obj/vehicle/multitile/tank/aev
name = "M34E1 Armored Engineering Vehicle"
desc = "A giant piece of armor with a plow, you know what to do. Entrance in the back."
desc_lore = "M34E1 is an extremely rare vehicle in the arsenal of USCMC that was developed after Operation Odolla Onslaught conducted by USS Stalwart forces against massive CLF insurrection. Being pinned down with improvised mortars and surrounded by IEDs, marines of 1/2 \"Iron Heads\" outfitted a Longstreet tank with improvised armor and mine plow, sending it unmanned into a minefield and allowing for a quick assault against enemy positions. MEUCOM took notice of this event, and after record-breaking 3 months of development and 10 million dollars of cost introduced M34E1 in limited numbers."

icon_state = "aev_base"

hardpoints_allowed = list(
/obj/item/hardpoint/support/overdrive_enhancer,
/obj/item/hardpoint/armor/ballistic,
/obj/item/hardpoint/armor/caustic,
/obj/item/hardpoint/armor/concussive,
/obj/item/hardpoint/armor/paladin,
/obj/item/hardpoint/armor/snowplow,
/obj/item/hardpoint/locomotion/treads,
/obj/item/hardpoint/locomotion/treads/robust,
)


required_skill = SKILL_VEHICLE_LARGE
interior_map = /datum/map_template/interior/aev

active_hp = list(VEHICLE_DRIVER = null)

explosive_resistance = 750

passengers_slots = 15

wall_ram_damage = 500

/obj/vehicle/multitile/tank/aev/initialize_cameras(change_tag = FALSE)
if(!camera)
camera = new /obj/structure/machinery/camera/vehicle(src)
if(change_tag)
camera.c_tag = "#[rand(1,100)] M34E1 \"[nickname]\" AEV"
if(camera_int)
camera_int.c_tag = camera.c_tag + " interior" //this fluff allows it to be at the start of cams list
else
camera.c_tag = "#[rand(1,100)] M34E1 AEV"
if(camera_int)
camera_int.c_tag = camera.c_tag + " interior" //this fluff allows it to be at the start of cams list

/obj/vehicle/multitile/tank/aev/load_hardpoints()
return

/obj/effect/vehicle_spawner/aev
name = "AEV Spawner"
icon = 'icons/obj/vehicles/tank.dmi'
icon_state = "aev_base"
pixel_x = -48
pixel_y = -48

/obj/effect/vehicle_spawner/aev/Initialize()
. = ..()
spawn_vehicle()
qdel(src)

/obj/effect/vehicle_spawner/aev/spawn_vehicle()
var/obj/vehicle/multitile/tank/aev/AEV = new(loc)

load_misc(AEV)
load_hardpoints(AEV)
handle_direction(AEV)
AEV.update_icon()

return AEV

/obj/effect/vehicle_spawner/aev/load_hardpoints(obj/vehicle/multitile/tank/V)
V.add_hardpoint(new /obj/item/hardpoint/locomotion/treads)
V.add_hardpoint(new /obj/item/hardpoint/armor/snowplow)
V.add_hardpoint(new /obj/item/hardpoint/support/overdrive_enhancer)

/obj/effect/vehicle_spawner/aev/decrepit/spawn_vehicle()
var/obj/vehicle/multitile/tank/aev/AEV = new(loc)

load_misc(AEV)
handle_direction(AEV)
load_hardpoints(AEV)
load_damage(AEV)
AEV.update_icon()
1 change: 1 addition & 0 deletions colonialmarines.dme
Original file line number Diff line number Diff line change
Expand Up @@ -2458,6 +2458,7 @@
#include "code\modules\vehicles\multitile\multitile_interaction.dm"
#include "code\modules\vehicles\multitile\multitile_movement.dm"
#include "code\modules\vehicles\multitile\multitile_verbs.dm"
#include "code\modules\vehicles\tank\aev.dm"
#include "code\modules\vehicles\tank\interior.dm"
#include "code\modules\vehicles\tank\tank.dm"
#include "code\modules\vehicles\van\interior.dm"
Expand Down
Binary file modified icons/obj/vehicles/interiors/tank.dmi
Binary file not shown.
Binary file modified icons/obj/vehicles/tank.dmi
Binary file not shown.
285 changes: 285 additions & 0 deletions maps/interiors/aev.dmm
Original file line number Diff line number Diff line change
@@ -0,0 +1,285 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"b" = (
/obj/effect/landmark/interior/spawn/entrance{
dir = 8;
exit_type = /obj/structure/interior_exit/vehicle/tank;
name = "back entrance marker";
tag = "back"
},
/turf/open/shuttle/vehicle,
/area/vehicle/tank)
"c" = (
/turf/open/shuttle/vehicle,
/area/vehicle/tank)
"e" = (
/obj/structure/bed/chair/vehicle{
dir = 1;
pixel_x = -8
},
/obj/structure/bed/chair/vehicle{
dir = 1;
pixel_x = 8
},
/turf/open/shuttle/vehicle{
icon_state = "floor_3_5"
},
/area/vehicle/tank)
"f" = (
/obj/structure/interior_wall/tank{
layer = 2;
icon_state = "wall_1"
},
/turf/open/void/vehicle,
/area/space)
"g" = (
/obj/structure/interior_wall/tank{
alpha = 50;
icon_state = "exterior_1";
layer = 5.2;
pixel_y = 32
},
/turf/open/void/vehicle,
/area/space)
"i" = (
/turf/open/void/vehicle,
/area/space)
"j" = (
/obj/structure/interior_wall/tank{
icon_state = "back_3"
},
/turf/open/void/vehicle,
/area/space)
"l" = (
/obj/structure/interior_wall/tank{
alpha = 50;
icon_state = "exterior_2";
layer = 5.2;
pixel_y = 32
},
/turf/open/void/vehicle,
/area/space)
"n" = (
/obj/structure/prop/tank{
icon_state = "prop_aev2";
layer = 3
},
/turf/open/shuttle/vehicle,
/area/vehicle/tank)
"r" = (
/obj/structure/interior_wall/tank{
icon_state = "front_1"
},
/turf/open/void/vehicle,
/area/space)
"u" = (
/obj/effect/landmark/interior/spawn/vehicle_driver_seat/armor{
dir = 4;
pixel_y = 2
},
/obj/structure/prop/tank{
density = 0;
icon_state = "prop6";
pixel_x = 0;
pixel_y = 32
},
/obj/structure/prop/tank{
density = 0;
icon_state = "prop4";
layer = 3;
pixel_x = 0
},
/obj/structure/phone_base{
dir = 8;
layer = 3.1;
name = "AEV Telephone";
phone_category = "Vehicles";
phone_id = "M34E1 Armored Engineering Vehicle";
pixel_x = 14;
pixel_y = -21
},
/turf/open/shuttle/vehicle{
icon_state = "floor_3_5"
},
/area/vehicle/tank)
"v" = (
/obj/structure/interior_wall/tank{
layer = 2
},
/turf/open/void/vehicle,
/area/space)
"y" = (
/obj/structure/interior_wall/tank{
icon_state = "back_2"
},
/turf/open/void/vehicle,
/area/space)
"B" = (
/obj/structure/prop/tank{
icon_state = "prop_aev1";
pixel_x = 0
},
/obj/structure/prop/tank{
icon_state = "prop7";
pixel_x = 0;
pixel_y = 32
},
/turf/open/shuttle/vehicle,
/area/vehicle/tank)
"C" = (
/obj/structure/prop/tank{
icon_state = "prop_aev2";
layer = 3
},
/turf/open/shuttle/vehicle{
icon_state = "floor_3_1_1"
},
/area/vehicle/tank)
"D" = (
/obj/structure/interior_wall/tank{
icon_state = "back_1"
},
/turf/open/void/vehicle,
/area/space)
"G" = (
/obj/structure/bed/chair/vehicle{
pixel_x = -8;
pixel_y = 12
},
/obj/structure/bed/chair/vehicle{
pixel_x = 8;
pixel_y = 12
},
/obj/effect/landmark/interior/spawn/interior_viewport{
pixel_y = 24;
layer = 2.9;
pixel_x = -7
},
/turf/open/shuttle/vehicle{
icon_state = "floor_3_5"
},
/area/vehicle/tank)
"H" = (
/obj/structure/interior_wall/tank{
icon_state = "exterior_3";
layer = 5.2;
pixel_y = 32
},
/turf/open/void/vehicle,
/area/space)
"J" = (
/obj/effect/landmark/interior/spawn/interior_camera{
dir = 10;
layer = 3.2;
pixel_x = 12;
pixel_y = 58
},
/obj/structure/vehicle_locker/tank{
pixel_x = 32;
pixel_y = -2
},
/turf/open/shuttle/vehicle,
/area/vehicle/tank)
"N" = (
/obj/structure/bed/chair/vehicle{
dir = 1;
pixel_x = -8
},
/obj/structure/bed/chair/vehicle{
dir = 1;
pixel_x = 8
},
/obj/effect/landmark/interior/spawn/interior_viewport{
dir = 1;
pixel_y = -10;
pixel_x = -7
},
/turf/open/shuttle/vehicle{
icon_state = "floor_3_5"
},
/area/vehicle/tank)
"T" = (
/obj/structure/interior_wall/tank{
icon_state = "front_2"
},
/turf/open/void/vehicle,
/area/space)
"W" = (
/obj/structure/interior_wall/tank{
icon_state = "front_3"
},
/turf/open/void/vehicle,
/area/space)
"Y" = (
/obj/structure/interior_wall/tank{
alpha = 50;
icon_state = "tank_left_2";
layer = 5.2;
pixel_y = 32
},
/turf/open/void/vehicle,
/area/space)
"Z" = (
/obj/structure/machinery/cm_vending/sorted/medical/wall_med/lifeboat{
name = "Vehicle NanoMed";
pixel_x = -5;
pixel_y = 31
},
/obj/structure/extinguisher_cabinet/lifeboat{
pixel_x = 9;
pixel_y = 31
},
/obj/structure/bed/chair/vehicle{
pixel_x = -8;
pixel_y = 12
},
/obj/structure/bed/chair/vehicle{
pixel_x = 8;
pixel_y = 12
},
/turf/open/shuttle/vehicle{
icon_state = "floor_3_5"
},
/area/vehicle/tank)

(1,1,1) = {"
j
y
y
D
i
"}
(2,1,1) = {"
v
Z
b
e
g
"}
(3,1,1) = {"
f
G
c
N
l
"}
(4,1,1) = {"
v
u
J
e
Y
"}
(5,1,1) = {"
v
B
n
C
H
"}
(6,1,1) = {"
W
T
T
r
i
"}

0 comments on commit df1943a

Please sign in to comment.