Skip to content

Commit

Permalink
Merge branch 'master' into the-drip
Browse files Browse the repository at this point in the history
  • Loading branch information
Gristlebee authored Sep 18, 2024
2 parents 664c61d + 29177cb commit d3e3024
Show file tree
Hide file tree
Showing 41 changed files with 713 additions and 145 deletions.
4 changes: 2 additions & 2 deletions _maps/map_files/generic/CentCom.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@
/turf/open/floor/plating,
/area/ctf)
"agI" = (
/obj/machinery/power/emitter/energycannon{
/obj/machinery/power/emitter/energycannon/ctf{
active = 0
},
/turf/open/floor/plating,
Expand All @@ -163,7 +163,7 @@
/turf/open/floor/plating,
/area/ctf)
"aha" = (
/obj/machinery/power/emitter/energycannon{
/obj/machinery/power/emitter/energycannon/ctf{
active = 0;
dir = 1
},
Expand Down
4 changes: 3 additions & 1 deletion _maps/shuttles/subshuttles/frontiersmen_brawler.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,9 @@
/obj/structure/window/reinforced{
dir = 1
},
/obj/machinery/power/smes/shuttle/precharged,
/obj/machinery/power/smes/shuttle/precharged{
dir = 2
},
/obj/structure/cable,
/turf/open/floor/plasteel/tech/grid,
/area/ship/bridge)
Expand Down
8 changes: 6 additions & 2 deletions _maps/shuttles/subshuttles/independent_kunai.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,9 @@
dir = 1
},
/obj/structure/cable,
/obj/machinery/power/smes/shuttle/precharged,
/obj/machinery/power/smes/shuttle/precharged{
dir = 1
},
/obj/machinery/door/poddoor/shutters{
id = "polengine";
name = "Engine Shutters"
Expand All @@ -278,7 +280,9 @@
dir = 1
},
/obj/structure/cable,
/obj/machinery/power/smes/shuttle/precharged,
/obj/machinery/power/smes/shuttle/precharged{
dir = 2
},
/obj/machinery/door/poddoor/shutters{
id = "polengine"
},
Expand Down
4 changes: 3 additions & 1 deletion _maps/shuttles/subshuttles/inteq_anvil.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,9 @@
/turf/open/floor/plasteel/mono/dark,
/area/ship/bridge)
"g" = (
/obj/machinery/power/smes/shuttle/precharged,
/obj/machinery/power/smes/shuttle/precharged{
dir = 2
},
/obj/structure/cable,
/obj/structure/window/reinforced{
dir = 1
Expand Down
4 changes: 3 additions & 1 deletion _maps/shuttles/subshuttles/inteq_haste.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,9 @@
/obj/structure/cable/yellow{
icon_state = "0-4"
},
/obj/machinery/power/smes/shuttle/precharged,
/obj/machinery/power/smes/shuttle/precharged{
dir = 2
},
/turf/open/floor/plasteel/tech,
/area/ship/bridge)
"K" = (
Expand Down
4 changes: 3 additions & 1 deletion _maps/shuttles/subshuttles/syndicate_runner.dmm
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/obj/machinery/power/smes/shuttle/precharged,
/obj/machinery/power/smes/shuttle/precharged{
dir = 2
},
/obj/structure/window/reinforced{
dir = 4
},
Expand Down
5 changes: 5 additions & 0 deletions code/__DEFINES/guns.dm
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,11 @@
#define MANUFACTURER_PGF "the Etherbor Industries emblem"
#define MANUFACTURER_IMPORT "Lanchester Import Co."

// Misfire chances if the gun's safety is off
#define GUN_NO_SAFETY_MALFUNCTION_CHANCE_LOW 5
#define GUN_NO_SAFETY_MALFUNCTION_CHANCE_MEDIUM 10
#define GUN_NO_SAFETY_MALFUNCTION_CHANCE_HIGH 15

/////////////////
// ATTACHMENTS //
/////////////////
Expand Down
2 changes: 2 additions & 0 deletions code/datums/status_effects/debuffs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
. = ..()
if(!.)
return
owner.trip_with_gun("knockdown")
ADD_TRAIT(owner, TRAIT_FLOORED, TRAIT_STATUS_EFFECT(id))

/datum/status_effect/incapacitating/knockdown/on_remove()
Expand Down Expand Up @@ -79,6 +80,7 @@
. = ..()
if(!.)
return
owner.trip_with_gun("paralyze")
ADD_TRAIT(owner, TRAIT_INCAPACITATED, TRAIT_STATUS_EFFECT(id))
ADD_TRAIT(owner, TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id))
ADD_TRAIT(owner, TRAIT_FLOORED, TRAIT_STATUS_EFFECT(id))
Expand Down
1 change: 1 addition & 0 deletions code/game/objects/items/storage/belt.dm
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,7 @@
/obj/item/clothing/gloves,
/obj/item/resonator,
/obj/item/mining_scanner,
/obj/item/pinpointer/mineral,
/obj/item/pickaxe,
/obj/item/shovel,
/obj/item/stack/sheet/animalhide,
Expand Down
6 changes: 6 additions & 0 deletions code/game/objects/items/storage/storage.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@
if(EXPLODE_LIGHT)
SSexplosions.lowobj += A

/obj/item/storage/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
. = ..()
for(var/obj/item/gun/at_risk in get_all_contents())
if(at_risk.safety == FALSE && prob(GUN_NO_SAFETY_MALFUNCTION_CHANCE_HIGH))
at_risk.discharge("is hits the ground hard")

/obj/item/storage/canStrip(mob/who)
. = ..()
if(!. && rummage_if_nodrop)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/admin/topic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1973,7 +1973,7 @@
if(response.body == "[]")
dat += "<center><b>0 bans detected for [ckey]</b></center>"
else
bans = json_decode(response["body"])
bans = json_decode(response.body)

//Ignore bans from non-whitelisted sources, if a whitelist exists
var/list/valid_sources
Expand Down
3 changes: 3 additions & 0 deletions code/modules/awaymissions/capture_the_flag.dm
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@
icon = 'icons/obj/device.dmi'
icon_state = "syndbeacon"
resistance_flags = INDESTRUCTIBLE
processing_flags = START_PROCESSING_MANUALLY
var/team = WHITE_TEAM
var/team_span = ""
//Capture the Flag scoring
Expand Down Expand Up @@ -347,6 +348,7 @@

/obj/machinery/capture_the_flag/proc/start_ctf()
ctf_enabled = TRUE
START_PROCESSING(SSmachines, src)
for(var/d in dead_barricades)
var/obj/effect/ctf/dead_barricade/D = d
D.respawn()
Expand Down Expand Up @@ -378,6 +380,7 @@

/obj/machinery/capture_the_flag/proc/stop_ctf()
ctf_enabled = FALSE
STOP_PROCESSING(SSmachines, src)
arena_reset = FALSE
var/area/A = get_area(src)
for(var/i in GLOB.mob_list)
Expand Down
10 changes: 10 additions & 0 deletions code/modules/awaymissions/mission_code/challenge.dm
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,13 @@

/obj/machinery/power/emitter/energycannon/RefreshParts()
return

/obj/machinery/power/emitter/energycannon/ctf
processing_flags = START_PROCESSING_MANUALLY

/obj/machinery/power/emitter/energycannon/ctf/proc/toggle_ctf(ctf_enabled)
src.active = ctf_enabled
if(ctf_enabled)
START_PROCESSING(SSmachines, src)
else
STOP_PROCESSING(SSmachines, src)
82 changes: 61 additions & 21 deletions code/modules/cargo/packs/exploration.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,48 +8,59 @@

/datum/supply_pack/exploration/lava
name = "Lava Exploration Kit"
desc = "Contains two pickaxes, 60 lavaproof rods, and goggles to protect eyes from the heat"
cost = 1500
desc = "Contains two pickaxes, 60 lavaproof rods, two pocket extinguishers and goggles to protect yourself from the heat."
cost = 500
contains = list(
/obj/item/pickaxe/mini,
/obj/item/pickaxe/mini,
/obj/item/clothing/glasses/heat,
/obj/item/clothing/glasses/heat,
/obj/item/extinguisher/mini,
/obj/item/extinguisher/mini,
/obj/item/clothing/glasses/heat,
/obj/item/clothing/glasses/heat,
/obj/item/stack/rods/lava/thirty,
/obj/item/stack/rods/lava/thirty,
)
crate_name = "Lava Exploration Kit"

/datum/supply_pack/exploration/lavaproof_ords
name ="Lavaproof Rods Crate"
desc = "Contains 60 lavaproof rods for safely traversing molten pits."
cost = 200
contains = list(
/obj/item/stack/rods/lava/thirty,
/obj/item/stack/rods/lava/thirty,
)
crate_name = "Lavaproof Rod Crate"

/datum/supply_pack/exploration/ice
name = "Ice Exploration Kit"
desc = "Contains two pickaxes, winter clothes, and goggles to protect eyes from the cold"
cost = 1500
desc = "Contains two pickaxes, 2 sets of winter clothes and ice hiking boots, along with goggles to protect eyes from the cold."
cost = 500
contains = list(
/obj/item/pickaxe/mini,
/obj/item/pickaxe/mini,
/obj/item/clothing/glasses/cold,
/obj/item/clothing/glasses/cold,
/obj/item/clothing/glasses/cold,
/obj/item/clothing/glasses/cold,
/obj/item/clothing/shoes/winterboots,
/obj/item/clothing/shoes/winterboots,
/obj/item/clothing/shoes/winterboots,
/obj/item/clothing/shoes/winterboots,
/obj/item/clothing/suit/hooded/wintercoat,
/obj/item/clothing/suit/hooded/wintercoat,
/obj/item/clothing/shoes/winterboots/ice_boots,
/obj/item/clothing/shoes/winterboots/ice_boots,
)
crate_name = "Ice Exploration Kit"

/datum/supply_pack/exploration/jungle
name = "Jungle Exploration Kit"
desc = "Contains hatchets, picks, and antivenom, great for dense jungles!"
cost = 750
desc = "Contains a hatchets, two picks and lanterns, plus antivenom pills, great for dense jungles!"
cost = 500
contains = list(
/obj/item/pickaxe/mini,
/obj/item/pickaxe/mini,
/obj/item/flashlight/lantern,
/obj/item/flashlight/lantern,
/obj/item/storage/pill_bottle/charcoal,
/obj/item/storage/pill_bottle/charcoal,
/obj/item/hatchet,
/obj/item/hatchet,
)
crate_name = "Jungle Exploration Kit"

Expand All @@ -76,16 +87,45 @@
crate_name = "Beach Kit"

/*
Heavy Duty Exploration Gear
General Exploration Gear
*/

/datum/supply_pack/exploration/capsules
name = "Bluespace Shelter Capsules"
desc = "A trio of Bluespace Shelter Capsules, for instant shelter in rough situations."
cost = 3000
name = "Bluespace Shelter Capsule"
desc = "Contains a Bluespace Shelter Capsule, for instant shelter in rough situations."
cost = 500
contains = list(
/obj/item/survivalcapsule
)

/datum/supply_pack/exploration/binocular
name = "Binoculars"
desc = "One pair of binoculars for surveying terrain."
cost = 200
contains = list(
/obj/item/binoculars
)

/datum/supply_pack/exploration/anom_neutralizer
name = "Anomaly Neutralizer"
desc = "A single use anomaly neutralizer for stabalizing hazardous anomalies."
cost = 250
contains = list(
/obj/item/anomaly_neutralizer
)

/datum/supply_pack/exploration/mineral_scanner
name = "Underground Mineral Scanner"
desc = "Contains an underground mineral scanner for locating veins of ore beneath the earth. Deep core laser drill for extracting said ores not included."
cost = 250
contains = list(
/obj/item/survivalcapsule,
/obj/item/survivalcapsule,
/obj/item/survivalcapsule,
/obj/item/pinpointer/mineral
)

/datum/supply_pack/exploration/gps
name = "GPS"
desc = "Contains a GPS device, useful for finding lost things and not getting lost yourself."
cost = 100
contains = list(
/obj/item/gps
)
6 changes: 6 additions & 0 deletions code/modules/cargo/packs/material.dm
Original file line number Diff line number Diff line change
Expand Up @@ -111,3 +111,9 @@
contains = list(/obj/item/stack/sheet/mineral/wood/fifty)
crate_name = "wood planks crate"

/datum/supply_pack/material/concrete_mix
name = "Concrete Mix (Jug)"
desc = "Feeling lazy? Need a structure and quick? Use concrete! Just add water."
cost = 500
contains = list(/obj/item/reagent_containers/glass/chem_jug/concrete_mix)
crate_name = "Concrete Mix"
Original file line number Diff line number Diff line change
Expand Up @@ -61,5 +61,5 @@
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
result = /obj/item/reagent_containers/food/snacks/blt
category = CAT_SANDWICH
subcategory = CAT_SANDWICH

6 changes: 3 additions & 3 deletions code/modules/mining/equipment/explorer_gear.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
heat_protection = CHEST|GROIN|LEGS|ARMS
hoodtype = /obj/item/clothing/head/hooded/explorer
armor = list("melee" = 15, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50)
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/pinpointer/mineral, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
resistance_flags = FIRE_PROOF
supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION

Expand Down Expand Up @@ -65,7 +65,7 @@
resistance_flags = FIRE_PROOF | LAVA_PROOF
slowdown = 0
armor = list("melee" = 70, "bullet" = 40, "laser" = 30, "energy" = 45, "bomb" = 70, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/pinpointer/mineral, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)

/obj/item/clothing/suit/space/hostile_environment/Initialize()
. = ..()
Expand Down Expand Up @@ -167,7 +167,7 @@
heat_protection = CHEST|GROIN|LEGS|ARMS
hoodtype = /obj/item/clothing/head/hooded/survivor_hood
armor = list("melee" = 10, "bullet" = 0, "laser" = 0, "energy" = 10, "bomb" = 20, "bio" = 100, "rad" = 20, "fire" = 50, "acid" = 30)
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/pinpointer/mineral, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
resistance_flags = FIRE_PROOF
supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION

Expand Down
13 changes: 12 additions & 1 deletion code/modules/mining/equipment/mineral_scanner.dm
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@
/obj/item/pinpointer/mineral/examine(mob/user)
. = ..()
. += "<span class='notice'>It is currently set to [scanmode ? "scan underground" : "scan the surface"].</span>"
. += span_notice("You can use the scanner on an vein on harm intent to mark them as sites of no interest, causing them to no longer show up on scans.")

/obj/item/pinpointer/mineral/AltClick(mob/user) //switching modes
..()
Expand Down Expand Up @@ -204,7 +205,7 @@
var/located_dist
var/obj/structure/located_vein
for(var/obj/structure/vein/I in GLOB.ore_veins)
if(I.z == 0 || I.virtual_z() != here.virtual_z())
if(I.z == 0 || I.virtual_z() != here.virtual_z() || I.detectable == FALSE)
continue
if(located_vein)
var/new_dist = get_dist(here, get_turf(I))
Expand All @@ -223,6 +224,16 @@
if(!proximity || !istype(O,/obj/structure/vein))
return
playsound(src, 'sound/effects/fastbeep.ogg', 10)
if(user.a_intent == INTENT_HARM)
if(O.detectable == TRUE)
to_chat(user,span_notice("You blacklist the vein from the scanner's telemetry, and will no longer be detected as a site of interest to the scanner."))
O.detectable = FALSE
return
else
to_chat(user,span_notice("You mark vein into the scanner's telemetry, allowing it be located by underground scans."))
O.detectable = TRUE
return

if(O.vein_contents.len > 0)
to_chat(user, "<span class='notice'>Class [O.vein_class] ore vein with [O.mining_charges] possible ore lodes found.</span>")
for(var/re in O.vein_contents)
Expand Down
Loading

0 comments on commit d3e3024

Please sign in to comment.