Skip to content

Commit

Permalink
Merge branch 'master' into patch-1
Browse files Browse the repository at this point in the history
  • Loading branch information
xTrainx authored Apr 13, 2024
2 parents 2bac45d + a39f8c3 commit 73fcc23
Show file tree
Hide file tree
Showing 18 changed files with 448 additions and 17 deletions.
4 changes: 4 additions & 0 deletions code/datums/components/caltrop.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@
var/atom/A = parent
if(!A.has_gravity())
return

if(istype(AM, /obj/vehicle/ridden/space/speedbike) && AM.buckled_mobs.len)
var/obj/vehicle/ridden/space/speedbike/unfortunatebike = AM
unfortunatebike.crashing()

if(!prob(probability))
return
Expand Down
152 changes: 149 additions & 3 deletions code/game/mecha/mecha_construction_paths.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,12 @@
return
// Remove default mech power cell, as we replace it with a new one.
var/obj/mecha/M = new result(drop_location())
QDEL_NULL(M.cell)
if(istype(M))
QDEL_NULL(M.cell)

var/obj/item/mecha_parts/chassis/parent_chassis = parent
M.CheckParts(parent_chassis.contents)
if(istype(parent_chassis))
M.CheckParts(parent_chassis.contents)

SSblackbox.record_feedback("tally", "mechas_created", 1, M.name)
QDEL_NULL(parent)
Expand All @@ -69,7 +71,7 @@
/datum/component/construction/unordered/mecha_chassis/spawn_result()
var/atom/parent_atom = parent
parent_atom.icon = 'icons/mecha/mech_construction.dmi'
if(istype(parent_atom, /obj/item/mecha_parts/chassis/phazon/car))
if(istype(parent_atom, /obj/item/mecha_parts/chassis/phazon/car) || istype(parent_atom, /obj/item/mecha_parts/chassis/phazon/bike))
parent_atom.icon = 'icons/fallout/vehicles/medium_vehicles.dmi'
parent_atom.density = TRUE
parent_atom.cut_overlays()
Expand Down Expand Up @@ -2222,6 +2224,150 @@
user.visible_message("[user] paints [parent] as a finishing touch.",
"<span class='notice'>You paint [parent] as a finishing touch.</span>")
return TRUE

/datum/component/construction/unordered/mecha_chassis/phazon/pickuptruck/bos
result = /datum/component/construction/mecha/phazon/pickuptruck/bos
/datum/component/construction/mecha/phazon/pickuptruck/bos
result = /obj/mecha/combat/phazon/pickuptruck/bos
/datum/component/construction/unordered/mecha_chassis/phazon/pickuptruck/buggy
result = /datum/component/construction/mecha/phazon/pickuptruck/buggy
/datum/component/construction/mecha/phazon/pickuptruck/buggy
result = /obj/mecha/combat/phazon/buggy
/datum/component/construction/unordered/mecha_chassis/phazon/pickuptruck/ncrtruck
result = /datum/component/construction/mecha/phazon/pickuptruck/ncrtruck
/datum/component/construction/mecha/phazon/pickuptruck/ncrtruck
result = /obj/mecha/combat/phazon/ncrtruck
/datum/component/construction/unordered/mecha_chassis/phazon/pickuptruck/highwayman
result = /datum/component/construction/mecha/phazon/pickuptruck/highwayman
/datum/component/construction/mecha/phazon/pickuptruck/highwayman
result = /obj/mecha/combat/phazon/highwayman
/datum/component/construction/unordered/mecha_chassis/phazon/pickuptruck/coverage
result = /datum/component/construction/mecha/phazon/pickuptruck/coverage
/datum/component/construction/mecha/phazon/pickuptruck/coverage
result = /obj/mecha/combat/phazon/corvega
//BIKE
/datum/component/construction/unordered/mecha_chassis/phazon/bike
result = /datum/component/construction/mecha/phazon/bike
steps = list(
/obj/item/mecha_parts/part/Car_autoshaft,
/obj/item/mecha_parts/part/Car_tire,
/obj/item/mecha_parts/part/Car_tire,
/obj/item/mecha_parts/part/Car_engine,
/obj/item/defibrillator/primitive
)

/datum/component/construction/mecha/phazon/bike
result = /obj/vehicle/ridden/space/speedbike/f13
base_icon = "bikechassis"
steps = list(
//1
list(
"key" = TOOL_WRENCH,
"desc" = "The shaft is removed."
),
//2
list(
"key" = TOOL_SCREWDRIVER,
"desc" = "The wheels are installed."
),
//3
list(

"key" = /obj/item/light/bulb,
"back_key" = TOOL_CROWBAR,
"action" = ITEM_MOVE_INSIDE,
"desc" = "The wheels are secured."
),

//5
list(
"key" = /obj/item/stack/cable_coil,
"amount" = 5,
"back_key" = TOOL_CROWBAR,
"desc" = "The busted light is replaced."
),
//6
list(
"key" = TOOL_SCREWDRIVER,
"back_key" = TOOL_WIRECUTTER,
"desc" = "The headlights are wired."
),
//7
list(
"key" = /obj/item/stack/sheet/glass,
"amount" = 5,
"back_key" = TOOL_SCREWDRIVER,
"desc" = "The gearbox is installed."
),

//8
list(
"key" = TOOL_SCREWDRIVER,
"back_key" = TOOL_CROWBAR,
"desc" = "the Windshield is installed."
),
//9
list(
"key" = /obj/item/stock_parts/cell,
"action" = ITEM_MOVE_INSIDE,
"back_key" = TOOL_SCREWDRIVER,
"desc" = "The headlights are installed."
),
//10
list(
"key" = TOOL_SCREWDRIVER,
"back_key" = TOOL_CROWBAR,
"desc" = "The power cell is installed.",
)
)


/datum/component/construction/mecha/phazon/bike/custom_action(obj/item/I, mob/living/user, diff)
if(!..())
return FALSE
//TODO: better messages.
switch(index)
if(1)
user.visible_message("[user] connects [parent] hydraulic systems", "<span class='notice'>You connect [parent] hydraulic systems.</span>")
if(2)
if(diff==FORWARD)
user.visible_message("[user] activates [parent] hydraulic systems.", "<span class='notice'>You activate [parent] hydraulic systems.</span>")
else
user.visible_message("[user] disconnects [parent] hydraulic systems", "<span class='notice'>You disconnect [parent] hydraulic systems.</span>")
if(3)
if(diff==FORWARD)
user.visible_message("[user] changes the lightbulb of [parent].", "<span class='notice'>You change the lightbulb of [parent].</span>")
else
user.visible_message("[user] deactivates [parent] hydraulic systems.", "<span class='notice'>You deactivate [parent] hydraulic systems.</span>")
if(4)
if(diff==FORWARD)
user.visible_message("[user] wires the lightbulb of [parent].", "<span class='notice'> You wire the lightbulb [parent].</span>")
else
user.visible_message("[user] removes the lightbulb from[parent].", "<span class='notice'>You remove the lightbulb from [parent].</span>")
if(5)
if(diff==FORWARD)
user.visible_message("[user] installs the lightbulb [parent].", "<span class='notice'>You installs the lightbulbinto the [parent].</span>")
else
user.visible_message("[user] removes the lightbulb.", "<span class='notice'>You remove the lightbulb.</span>")
if(6)
if(diff==FORWARD)
user.visible_message("[user] Positions the Windshield.", "<span class='notice'>You Position the Windshield.</span>")
else
user.visible_message("[user] uninstall the windshield.", "<span class='notice'>You uninstall the windshield.</span>")
if(7)
if(diff==FORWARD)
user.visible_message("[user] installs the windshield of [parent].", "<span class='notice'>You install windshield of [parent].</span>")
else
user.visible_message("[user] removes the windshield.", "<span class='notice'>You remove the windshield.</span>")
if(8)
if(diff==FORWARD)
user.visible_message("[user] installs the battery.", "<span class='notice'>You install the battery.</span>")
else
user.visible_message("[user] uninstalls the windshield.", "<span class='notice'>You uninstall the windshield.</span>")
if(9)
if(diff==FORWARD)
user.visible_message("[user] secures the battery.", "<span class='notice'>You secure the battery.</span>")
return TRUE
//ODYSSEUS

/datum/component/construction/unordered/mecha_chassis/odysseus
Expand Down
25 changes: 24 additions & 1 deletion code/game/mecha/mecha_parts.dm
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,30 @@
icon = 'icons/fallout/trash.dmi'
icon_state = "car_engine"


/obj/item/mecha_parts/chassis/phazon/car/bos
name = "\improper Brotherhood Car chassis"
construct_type = /datum/component/construction/unordered/mecha_chassis/phazon/pickuptruck/bos
/obj/item/mecha_parts/chassis/phazon/car/buggy
name = "\improper Buggy Car chassis"
construct_type = /datum/component/construction/unordered/mecha_chassis/phazon/pickuptruck/buggy
/obj/item/mecha_parts/chassis/phazon/car/ncrtruck
name = "\improper Ncr Truck chassis"
construct_type = /datum/component/construction/unordered/mecha_chassis/phazon/pickuptruck/ncrtruck
/obj/item/mecha_parts/chassis/phazon/car/highwayman
name = "\improper Highwayman car chassis"
construct_type = /datum/component/construction/unordered/mecha_chassis/phazon/pickuptruck/highwayman
/obj/item/mecha_parts/chassis/phazon/car/coverage
name = "\improper Coverage car chassis"
construct_type = /datum/component/construction/unordered/mecha_chassis/phazon/pickuptruck/coverage


////////// Bike
/obj/item/mecha_parts/chassis/phazon/bike
name = "\improper Bike chassis"
construct_type = /datum/component/construction/unordered/mecha_chassis/phazon/bike
icon = 'icons/obj/vehicles/medium_vehicles.dmi'
icon_state = "bikechassis"
bound_width = 64
///////// Circuitboards

/obj/item/circuitboard/mecha
Expand Down
3 changes: 3 additions & 0 deletions code/game/objects/effects/temporary_visuals/miscellaneous.dm
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@
duration = 10
randomdir = 0

/obj/effect/temp_visual/dir_setting/speedbike_trail/f13
name = "speedbike dust"
icon_state = "bite_za_dusto_fade"
/obj/effect/temp_visual/dir_setting/firing_effect
icon = 'icons/effects/effects.dmi'
icon_state = "firing_effect"
Expand Down
29 changes: 29 additions & 0 deletions code/game/objects/structures/wrecks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
desc = "An old pre-war car, rusted and destroyed with age and weathering."
icon = 'icons/obj/vehicles/medium_vehicles.dmi'
icon_state = "derelict"
var/list/allchassis
var/obj/item/mecha_parts/chassis/chassis = /obj/item/mecha_parts/chassis/phazon/car
bound_width = 64

/obj/structure/wreck/car/welder_act(mob/living/user, obj/item/I)
Expand Down Expand Up @@ -55,10 +57,37 @@
return TRUE


/obj/structure/wreck/car/welder_act(mob/living/user, obj/item/I)
I.play_tool_sound(src)
user.visible_message("<span class='notice'>[user] starts preparing the [src] for a makeover...</span>", \
"<span class='notice'>You start preparing the [src] for a makeover...</span>")
if(!I.use_tool(src, user, 50))
return
playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, 1)
user.visible_message("<span class='notice'>[user] dexterly opens up [src]'s space .</span>", \
"<span class='notice'>You dexterly open up [src]'s space.</span>")
new chassis(loc)
qdel(src)
return TRUE

/obj/structure/wreck/car/wrench_act(mob/living/user, obj/item/I)
I.play_tool_sound(src)
allchassis = subtypesof(/obj/item/mecha_parts/chassis/phazon/car)
user.visible_message("<span class='notice'>[user] changes the chassis type [src]...</span>", \
"<span class='notice'>You change the chassis type of [src]...</span>")
chassis = pick(allchassis)
user.visible_message("<span class='notice'>[initial(chassis.name)]!...</span>")
return TRUE

/obj/structure/wreck/car/bike
name = "wrecked motorcycle"
desc = "An old pre-war motorcycle, rusted and destroyed with age and weathering."
icon_state = "rust_light_no_wheels"
chassis = /obj/item/mecha_parts/chassis/phazon/bike

/obj/structure/wreck/car/bike/wrench_act(mob/living/user, obj/item/I)
return


/obj/structure/wreck/bus
name = "wrecked bus"
Expand Down
2 changes: 1 addition & 1 deletion code/modules/clothing/suits/armor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
armor = list("melee" = 70, "bullet" = 20, "laser" = 10,"energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50, "wound" = 10)
armor = list("melee" = 60, "bullet" = 30, "laser" = 10,"energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50, "wound" = 30)
blocks_shove_knockdown = TRUE
strip_delay = 80
equip_delay_other = 60
Expand Down
4 changes: 2 additions & 2 deletions code/modules/fallout/obj/food_and_drinks/food.dm
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@
name = "cazador meat"
desc = "Meat extracted from the lean hide of cazador wasp."
icon_state = "mothmeat"
list_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 2, /datum/reagent/toxin/carpotoxin = 3)
list_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 2, /datum/reagent/toxin/cazador_venom = 3)
filling_color = "#e5b73b"
bitesize = 2
tastes = list("insect guts" = 3, "sweet tangy liquid" = 1) //google says toxin is sweet anyway.
Expand All @@ -142,7 +142,7 @@
desc = "Meat from a radscorpion, still inside its chitin. Going to need pliers for this."
icon = 'icons/fallout/objects/food&drinks/food.dmi'
icon_state = "radscorpion_meat"
list_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/toxin = 5, /datum/reagent/consumable/nutriment/vitamin = 2)
list_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/toxin/radscorp = 5, /datum/reagent/consumable/nutriment/vitamin = 2)
filling_color = "#e5b73b"
bitesize = 4
tastes = list("insect guts" = 3, "sweet tangy liquid" = 2) //google says toxin is sweet anyway.
Expand Down
Loading

0 comments on commit 73fcc23

Please sign in to comment.