Skip to content

Commit

Permalink
Train new list of small changes (#488)
Browse files Browse the repository at this point in the history
* fix enclave pilot spawn

* fix cross belt icon

* adds wild windown seed (from the cult hit game Haven and Hearth)

* workbenchs wont stop thrown items

* salvaged legion armor can no longer be plated

* can link cameras to security computers

* can only sprint with at least 1/4 of your sprint bar

* fix linter

* can mass process products from a plantbag in the normal grinder

* normal extractor too

* enables the crafting of blowguns

* fix syrigegubs losing sprites

* fixes the BAR not being recognized as an automatic weapon

* enables pointing across z level

---------

Co-authored-by: Marcus D. Johnston <[email protected]>
  • Loading branch information
xTrainx and Aurrain authored Apr 9, 2024
1 parent 4828957 commit 7e591e8
Show file tree
Hide file tree
Showing 20 changed files with 82 additions and 8 deletions.
9 changes: 9 additions & 0 deletions code/datums/components/crafting/guncrafting.dm
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,21 @@
desc = "A basic workbench with a full set of tools for simple to intermediate projects."
resistance_flags = INDESTRUCTIBLE
density = TRUE
pass_flags = LETPASSTHROW
pass_flags_self = PASSTABLE
layer = BELOW_OBJ_LAYER
anchored = TRUE
machine_tool_behaviour = list(TOOL_WORKBENCH, TOOL_CROWBAR, TOOL_SCREWDRIVER, TOOL_WIRECUTTER, TOOL_WRENCH)
drag_delay = 0.4 SECONDS // Heavy, slow to drag
var/wrenchable = 1

/obj/machinery/workbench/CanPass(atom/movable/mover, border_dir)
if(src.density == 0)
return 1
if(istype(mover) && (mover.pass_flags & pass_flags_self))
return 1
else
return 0

/obj/machinery/workbench/can_be_unfasten_wrench(mob/user, silent)
if (!wrenchable) // case also covered by NODECONSTRUCT checks in default_unfasten_wrench
Expand Down
2 changes: 1 addition & 1 deletion code/datums/components/crafting/recipes/recipes_tribal.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
result = /obj/item/gun/syringe/blowgun
time = 50
reqs = list(/obj/item/stack/sheet/mineral/bamboo = 10)
always_available = FALSE
always_available = TRUE

/datum/crafting_recipe/tribalwar/bow
name = "String Wooden Bow"
Expand Down
6 changes: 5 additions & 1 deletion code/game/machinery/camera/camera.dm
Original file line number Diff line number Diff line change
Expand Up @@ -161,8 +161,12 @@
I.play_tool_sound(src)
return TRUE

/obj/machinery/camera/multitool_act(mob/living/user, obj/item/I)
/obj/machinery/camera/multitool_act(mob/living/user, obj/item/multitool/I)
if(!panel_open)
if(istype(I))
to_chat(user, "<span class='notice'>You log [src] in the multitool's buffer.</span>")
I.buffer = src
return TRUE
return FALSE

setViewRange((view_range == initial(view_range)) ? short_range : initial(view_range))
Expand Down
11 changes: 11 additions & 0 deletions code/game/machinery/computer/camera.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
var/obj/screen/cam_screen
var/obj/screen/plane_master/lighting/cam_plane_master
var/obj/screen/background/cam_background
var/camera_type = /obj/machinery/camera

/obj/machinery/computer/security/Initialize()
. = ..()
Expand Down Expand Up @@ -173,6 +174,16 @@
D["[C.c_tag]"] = C
return D

/obj/machinery/computer/security/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/multitool))
var/obj/item/multitool/P = W
if(istype(P.buffer, camera_type))
to_chat(user, "<font color = #666633>-% Successfully linked [P.buffer] with [src] %-</font color>")
var/obj/machinery/camera/connectingcamera = P.buffer
network |= connectingcamera.network
return
else
return ..()
// SECURITY MONITORS

/obj/machinery/computer/security/wooden_tv
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/effects/landmarks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -823,7 +823,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player)
icon_state = "uspvt"

/obj/effect/landmark/start/f13/uspilot
name = "Enclave Navy Pilot"
name = "Enclave Pilot"
icon_state = "uspvt"

/obj/effect/landmark/start/f13/usremnant
Expand Down
4 changes: 2 additions & 2 deletions code/game/objects/items/apc_frame.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
return
var/turf/T = get_turf(user)
var/area/A = get_area(T)
if(!isfloorturf(T))
/*if(!isfloorturf(T))
to_chat(user, "<span class='warning'>You cannot place [src] on this spot!</span>")
return
return*/
if(A.always_unpowered)
to_chat(user, "<span class='warning'>You cannot place [src] in this area!</span>")
return
Expand Down
4 changes: 3 additions & 1 deletion code/modules/clothing/suits/f13factionarmor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@
/datum/component/storage/concrete/pockets/tiny/legion
max_items = 3

/obj/item/clothing/suit/armor/f13/legion/Initialize()
/obj/item/clothing/suit/armor/f13/legion/ComponentInitialize()
. = ..()
AddComponent(/datum/component/armor_plate)

Expand Down Expand Up @@ -366,6 +366,8 @@
armor = list("melee" = 60, "bullet" = 65, "laser" = 55, "energy" = 15, "bomb" = 40, "bio" = 55, "rad" = 25, "fire" = 55, "acid" = 15, "wound" = 30)
slowdown = 1.5

/obj/item/clothing/suit/armor/f13/legion/legionsalvaged/ComponentInitialize()
return
/obj/item/clothing/suit/armor/f13/slavelabor
name = "old leather strips"
desc = "Worn leather strips, used as makeshift protection from chafing and sharp stones by labor slaves."
Expand Down
6 changes: 6 additions & 0 deletions code/modules/fallout/obj/structures/wasteplants.dm
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,12 @@
desc = "The juice of this fleshy plant soothes burns, but it also removes nutrients from the body."
produce = /obj/item/reagent_containers/food/snacks/grown/agave

/obj/structure/flora/wasteplant/wild_windsown_weed
name = "Wild Windsown Weed"
icon_state = "wild_windsown_weed"
desc = "A weed known to travel far distances before settling down."
produce = /obj/item/reagent_containers/food/snacks/grown/wild_windsown_weed


/////FALLOUT 13 TREES////
/obj/structure/flora/tree/joshua
Expand Down
2 changes: 1 addition & 1 deletion code/modules/fallout/turf/ground.dm
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@

#define GRASS_SPONTANEOUS 2
#define GRASS_WEIGHT 4
#define LUSH_PLANT_SPAWN_LIST list(/obj/structure/flora/grass/wasteland = 10, /obj/structure/flora/wasteplant/wild_broc = 7, /obj/structure/flora/wasteplant/wild_horsenettle = 6, /obj/structure/flora/wasteplant/wild_mesquite = 4, /obj/structure/flora/wasteplant/wild_feracactus = 5, /obj/structure/flora/wasteplant/wild_punga = 5, /obj/structure/flora/wasteplant/wild_coyote = 5, /obj/structure/flora/wasteplant/wild_tato = 5, /obj/structure/flora/wasteplant/wild_yucca = 5, /obj/structure/flora/wasteplant/wild_mutfruit = 5, /obj/structure/flora/wasteplant/wild_prickly = 5, /obj/structure/flora/wasteplant/wild_datura = 5, /obj/structure/flora/wasteplant/wild_buffalogourd = 5, /obj/structure/flora/wasteplant/wild_pinyon = 3, /obj/structure/flora/wasteplant/wild_xander = 5, /obj/structure/flora/wasteplant/wild_agave = 5, /obj/structure/flora/tree/joshua = 3, /obj/structure/flora/tree/cactus = 2, /obj/structure/flora/tree/wasteland = 2)
#define LUSH_PLANT_SPAWN_LIST list(/obj/structure/flora/grass/wasteland = 10, /obj/structure/flora/wasteplant/wild_broc = 7, /obj/structure/flora/wasteplant/wild_horsenettle = 6, /obj/structure/flora/wasteplant/wild_mesquite = 4, /obj/structure/flora/wasteplant/wild_feracactus = 5, /obj/structure/flora/wasteplant/wild_punga = 5, /obj/structure/flora/wasteplant/wild_coyote = 5, /obj/structure/flora/wasteplant/wild_tato = 5, /obj/structure/flora/wasteplant/wild_yucca = 5, /obj/structure/flora/wasteplant/wild_mutfruit = 5, /obj/structure/flora/wasteplant/wild_prickly = 5, /obj/structure/flora/wasteplant/wild_datura = 5, /obj/structure/flora/wasteplant/wild_buffalogourd = 5, /obj/structure/flora/wasteplant/wild_pinyon = 3, /obj/structure/flora/wasteplant/wild_xander = 5, /obj/structure/flora/wasteplant/wild_agave = 5, /obj/structure/flora/wasteplant/wild_windsown_weed = 5, /obj/structure/flora/tree/joshua = 3, /obj/structure/flora/tree/cactus = 2, /obj/structure/flora/tree/wasteland = 2)
#define DESOLATE_PLANT_SPAWN_LIST list(/obj/structure/flora/grass/wasteland = 1)

/turf/open/indestructible/ground/outside/dirthole
Expand Down
10 changes: 10 additions & 0 deletions code/modules/farming/farming_structures.dm
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,16 @@
else if(seedify(O,-1, src, user))
to_chat(user, SPAN_NOTICE("You extract some seeds."))
return
else if(istype(O,/obj/item/storage/bag/plants))
var/obj/item/storage/P = O
var/loaded = 0
for(var/obj/item/G in P.contents)
if(seedify(G, -1, src, user))
++loaded
if (loaded)
to_chat(user, "<span class='notice'>You put get as many seeds from the contents of \the [O.name] as you can.</span>")
else
to_chat(user, "<span class='notice'>There is nothing to process into seeds in \the [O.name].</span>")
else if(user.a_intent != INTENT_HARM)
to_chat(user, SPAN_WARNING("You can't extract any seeds from \the [O.name]!"))
else
Expand Down
16 changes: 16 additions & 0 deletions code/modules/hydroponics/grown/wild_windswom_weed.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/obj/item/reagent_containers/food/snacks/grown/wild_windsown_weed
seed = /obj/item/seeds/tato
name = "Wild Windsown Weed"
desc = "A very light weed that floats about, gathering other seeds until they are too heavy to move, setting down somewhere on the ground."
icon_state = "Wild_Windswon_Weed"
icon = 'icons/obj/hydroponics/harvest.dmi'
juice_results = list(/datum/reagent/consumable/tea = 1)
distill_reagent = /datum/reagent/consumable/ethanol/wastemead

/obj/item/reagent_containers/food/snacks/grown/wild_windsown_weed/Initialize()
var/obj/machinery/vending/hydroseeds/tempmachine = new
var/list/allseeds = tempmachine.products
allseeds |= tempmachine.contraband
var/obj/item/seeds/chosen_seed = pick(allseeds)
seed = chosen_seed
. = ..()
6 changes: 6 additions & 0 deletions code/modules/hydroponics/seed_extractor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,12 @@
if(istype(O, /obj/item/storage/bag/plants))
var/obj/item/storage/P = O
var/loaded = 0
for(var/obj/item/G in P.contents)
if(seedify(G, -1, src, user))
++loaded
if (loaded)
to_chat(user, "<span class='notice'>You put get as many seeds from the contents of \the [O.name] as you can.</span>")
return
for(var/obj/item/seeds/G in P.contents)
if(contents.len >= max_seeds)
break
Expand Down
3 changes: 3 additions & 0 deletions code/modules/mob/living/living_sprint.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@
/mob/living/proc/enable_intentional_sprint_mode()
if((combat_flags & COMBAT_FLAG_SPRINT_TOGGLED) && (combat_flags & COMBAT_FLAG_SPRINT_ACTIVE))
return
if(sprint_buffer <= (sprint_buffer_max / 4))
to_chat(src, "<span class='warning'>You are too tired to sprint!</span>")
return
ENABLE_BITFIELD(combat_flags, COMBAT_FLAG_SPRINT_TOGGLED)
if(!HAS_TRAIT(src, TRAIT_SPRINT_LOCKED) && !(combat_flags & COMBAT_FLAG_SPRINT_ACTIVE))
enable_sprint_mode(FALSE)
Expand Down
4 changes: 3 additions & 1 deletion code/modules/mob/mob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,8 @@
//view() but with a signal, to allow blacklisting some of the otherwise visible atoms.
/mob/proc/fov_view(dist = world.view)
. = view(dist, src)
if(client.eye != src)
. = view(dist, client.eye)
SEND_SIGNAL(src, COMSIG_MOB_FOV_VIEW, .)

/**
Expand Down Expand Up @@ -399,7 +401,7 @@
set name = "Point To"
set category = "Object"

if(!src || !isturf(src.loc) || !(A in view(src.loc)))
if(!src || !isturf(src.loc))
return FALSE
if(istype(A, /obj/effect/temp_visual/point))
return FALSE
Expand Down
1 change: 1 addition & 0 deletions code/modules/projectiles/guns/ballistic/automatic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1309,6 +1309,7 @@
icon = 'icons/fallout/objects/guns/longguns.dmi'
slot_flags = ITEM_SLOT_BACK
icon_state = "BAR"
is_automatic = TRUE
item_state = "BAR"
icon_prefix = "rifle"
automatic = 1
Expand Down
3 changes: 3 additions & 0 deletions code/modules/projectiles/guns/misc/syringe_gun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@
to_chat(user, "<span class='warning'>[src] cannot hold more syringes!</span>")
return FALSE

/obj/item/gun/syringe/update_icon_state()
return

/obj/item/gun/syringe/rapidsyringe
name = "rapid syringe gun"
desc = "A modification of the syringe gun design, using a rotating cylinder to store up to six syringes."
Expand Down
1 change: 1 addition & 0 deletions fortune13.dme
Original file line number Diff line number Diff line change
Expand Up @@ -2307,6 +2307,7 @@
#include "code\modules\hydroponics\grown\tobacco.dm"
#include "code\modules\hydroponics\grown\tomato.dm"
#include "code\modules\hydroponics\grown\towercap.dm"
#include "code\modules\hydroponics\grown\wild_windswom_weed.dm"
#include "code\modules\hydroponics\grown\xander.dm"
#include "code\modules\hydroponics\grown\yucca.dm"
#include "code\modules\instruments\instrument_data\_instrument_data.dm"
Expand Down
Binary file modified icons/fallout/clothing/belts.dmi
Binary file not shown.
Binary file modified icons/obj/flora/wastelandflora.dmi
Binary file not shown.
Binary file modified icons/obj/hydroponics/harvest.dmi
Binary file not shown.

0 comments on commit 7e591e8

Please sign in to comment.