Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Sandplanet Ruin: Cave Base #3368

Merged
merged 39 commits into from
Oct 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
41846b9
oh
Erikafox Sep 10, 2024
64a8391
I am like. Very hot.
Erikafox Sep 11, 2024
964a1c6
walance
Erikafox Sep 11, 2024
72ee8b0
fraggart
Erikafox Sep 12, 2024
9323195
work
Erikafox Sep 13, 2024
2da1b9b
fin_without_feedback
Erikafox Sep 14, 2024
63225ed
Merge remote-tracking branch 'upstream/master' into sandplanet_crunch…
Erikafox Sep 14, 2024
0e48bde
walance i forgot
Erikafox Sep 15, 2024
7772a22
Update rifle.dm
Erikafox Sep 15, 2024
9d9a406
Merge branch 'master' into sandplanet_crunch_gun
Erikafox Sep 16, 2024
02dde09
no_snowflake_guns
Erikafox Sep 16, 2024
aa70004
no_snowflake_recoil_change_atm
Erikafox Sep 16, 2024
016f104
mapfix
Erikafox Sep 16, 2024
b3d35b9
minge
Erikafox Sep 16, 2024
b518135
actually fuckin gone now
Erikafox Sep 16, 2024
1c68b9e
Update whitesands_cave_base.dmm
Erikafox Sep 16, 2024
19090e1
Merge remote-tracking branch 'upstream/master' into sandplanet_crunch…
Erikafox Sep 20, 2024
6b9bc5f
Update whitesands.dm
Erikafox Sep 20, 2024
c0f9a69
review changes
Erikafox Sep 30, 2024
7d405b3
Update whitesands_cave_base.dmm
Erikafox Sep 30, 2024
b25072f
Merge remote-tracking branch 'upstream/master' into sandplanet_crunch…
Erikafox Sep 30, 2024
87721cc
Update whitesands_cave_base.dmm
Erikafox Sep 30, 2024
8cd86c8
Update whitesands_cave_base.dmm
Erikafox Sep 30, 2024
cdc8d78
Update cave_base.dm
Erikafox Sep 30, 2024
cba2d39
review changes p1 of 2
Erikafox Oct 3, 2024
58d796b
p2 / 3 (not yet functional) ((stupid fucking assembly holders))
Erikafox Oct 3, 2024
5a01a63
yaaaay
Erikafox Oct 7, 2024
3833310
Update proximity.dm
Erikafox Oct 7, 2024
be5ba0b
Merge remote-tracking branch 'upstream/master' into sandplanet_crunch…
Erikafox Oct 12, 2024
89dae76
Merge remote-tracking branch 'upstream/master' into sandplanet_crunch…
Erikafox Oct 16, 2024
f53af55
Merge branch 'master' into sandplanet_crunch_gun
Erikafox Oct 17, 2024
b2abe02
wah
Erikafox Oct 17, 2024
0af4c3c
Merge branch 'master' into sandplanet_crunch_gun
Erikafox Oct 25, 2024
dfde34c
Merge remote-tracking branch 'upstream/master' into sandplanet_crunch…
Erikafox Oct 26, 2024
efe79b0
q
Erikafox Oct 26, 2024
710ea85
Update whitesands_cave_base.dmm
Erikafox Oct 26, 2024
e9e004e
Merge branch 'master' into sandplanet_crunch_gun
Erikafox Oct 26, 2024
65a5c15
Update plastic.dm
Erikafox Oct 26, 2024
31b940e
Merge branch 'sandplanet_crunch_gun' of https://github.com/Erikafox/S…
Erikafox Oct 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5,720 changes: 5,720 additions & 0 deletions _maps/RandomRuins/SandRuins/whitesands_cave_base.dmm

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions code/datums/ruins/whitesands.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@
suffix = "whitesands_surface_pubbyslopcrash.dmm"
ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER)

/datum/map_template/ruin/whitesands/cave_base
name = "Abandoned Cave Base"
id = "cave_base"
description = "The former home of a poor sod on observation duty. Now a cunning trap."
suffix = "whitesands_cave_base.dmm"
ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER)

//////////OUTSIDE SETTLEMENTS/RUINS//////////
/datum/map_template/ruin/whitesands/survivors/saloon
name = "Hermit Saloon"
Expand Down
9 changes: 9 additions & 0 deletions code/datums/wires/_wires.dm
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,15 @@
S.connected = src
return S

/datum/wires/proc/attach_assembly_init(obj/item/assembly/S)
var/obj/item/assembly/I = new S(holder.loc)
for(var/color in colors)
if(I && istype(I) && I.attachable && !is_attached(color))
assemblies[color] = I
I.forceMove(holder)
I.connected = src
return I

/datum/wires/proc/detach_assembly(color)
var/obj/item/assembly/S = get_attached(color)
if(S && istype(S))
Expand Down
2 changes: 1 addition & 1 deletion code/datums/wires/explosive.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@

/datum/wires/explosive/c4/explode()
var/obj/item/grenade/c4/P = holder
P.prime()
P.receive_signal()

/datum/wires/explosive/pizza
holder_type = /obj/item/pizzabox
Expand Down
9 changes: 9 additions & 0 deletions code/game/area/areas/ruins/sandplanet.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@

//whitesands surface camp saloon

//saloon ruin
/area/ruin/whitesands/saloon
name = "Hermit Saloon"
icon_state = "green"

//the pubby slop crash
/area/ruin/whitesands/pubbycrash
name = "Pubby-Class Wreckage"
icon_state = "bluenew"
Expand All @@ -17,3 +19,10 @@
/area/ruin/whitesands/pubbycrash/split
name = "Pubby-Class Chunk"
icon_state = "red"

//cave base
/area/ruin/whitesands/cave_base
name = "Abandoned Facility"
icon_state = "bluenew"

/area/ruin/whitesands/cave_base/engi
5 changes: 4 additions & 1 deletion code/game/machinery/telecomms/machines/message_server.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,13 @@
active_power_usage = ACTIVE_DRAW_MINIMAL
armor = list("melee" = 25, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 70)
var/obj/item/stored
var/empty = FALSE

/obj/machinery/blackbox_recorder/Initialize()
. = ..()
stored = new /obj/item/blackbox(src)
if(!empty)
stored = new /obj/item/blackbox(src)
update_appearance()

/obj/machinery/blackbox_recorder/attack_hand(mob/living/user)
. = ..()
Expand Down
20 changes: 19 additions & 1 deletion code/game/objects/items/grenades/plastic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,12 @@

//assembly stuff
/obj/item/grenade/c4/receive_signal()
prime()
if(!active)
active = TRUE
icon_state = "[item_state]2"
balloon_alert_to_viewers("[src] begins ticking!")
addtimer(CALLBACK(src, PROC_REF(prime)), det_time*10)
return

/obj/item/grenade/c4/attack_self(mob/user)
var/newtime = input(usr, "Please set the timer.", "Timer", 10) as num|null
Expand Down Expand Up @@ -125,3 +130,16 @@
item_state = "plasticx4"
directional = TRUE
boom_sizes = list(0, 2, 5)


// x-com ufo defense high ex charge 1993
/obj/item/grenade/c4/satchel_charge
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This thing just feels a bit cheap to me. It pretty much only rewards knowing whats in the ruin beforehand, or having been there before.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not entirely sure how to rework it while still keeping the intent of it being a gotcha trap (that admittedly, won't trigger too often)

name = "\improper satchel charge"
desc = "Used to put craters into places without too much hassle. An engineer's favorite."
w_class = WEIGHT_CLASS_NORMAL
icon_state = "satchel_charge0"
item_state = "satchel_charge"
throw_range = 3
lefthand_file = 'icons/mob/inhands/weapons/bombs_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/bombs_righthand.dmi'
boom_sizes = list(0, 3, 5)
12 changes: 12 additions & 0 deletions code/game/turfs/open/floor/plating/whitesands.dm
Original file line number Diff line number Diff line change
Expand Up @@ -80,3 +80,15 @@
/turf/open/floor/plating/asteroid/whitesands/grass/dead/lit
light_power = 1
light_range = 2

/turf/open/floor/concrete/whitesands
initial_gas_mix = WHITESANDS_ATMOS
light_color = COLOR_VERY_LIGHT_GRAY

/turf/open/floor/concrete/slab_1/whitesands
initial_gas_mix = WHITESANDS_ATMOS
light_color = COLOR_VERY_LIGHT_GRAY

/turf/open/floor/plating/whitesands
initial_gas_mix = WHITESANDS_ATMOS
light_color = COLOR_VERY_LIGHT_GRAY
14 changes: 13 additions & 1 deletion code/modules/assembly/holder.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
throw_speed = 2
throw_range = 7

///set both of these or neither.
var/obj/item/assembly/a_left = null
var/obj/item/assembly/a_right = null

Expand All @@ -21,6 +22,18 @@
)
AddElement(/datum/element/connect_loc, loc_connections)

//if we want to spawn an holder pre-configured.
if(a_left && a_right)
var/obj/item/assembly/left = new a_left(src)
var/obj/item/assembly/right = new a_right(src)
//i love byond
a_left = null
a_right = null
assemble(left, right, null)
a_left.secured = TRUE
a_right.secured = TRUE
update_appearance()

/obj/item/assembly_holder/ComponentInitialize()
. = ..()
var/static/rotation_flags = ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_FLIP | ROTATION_VERBS
Expand All @@ -29,7 +42,6 @@
/obj/item/assembly_holder/IsAssemblyHolder()
return TRUE


/obj/item/assembly_holder/proc/assemble(obj/item/assembly/A, obj/item/assembly/A2, mob/user)
attach(A,user)
attach(A2,user)
Expand Down
22 changes: 21 additions & 1 deletion code/modules/assembly/proximity.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
drop_sound = 'sound/items/handling/component_drop.ogg'
pickup_sound = 'sound/items/handling/component_pickup.ogg'
var/scanning = FALSE
///is the assembly arming itself?
var/timing = FALSE
///seconds until the assembly arms itself
var/time = 10
var/sensitivity = 1
var/hearing_range = 3
Expand All @@ -16,11 +18,12 @@

/obj/item/assembly/prox_sensor/Initialize()
. = ..()
proximity_monitor = new(src, 0)
proximity_monitor = new(src, 0, FALSE)
START_PROCESSING(SSobj, src)

/obj/item/assembly/prox_sensor/Destroy()
STOP_PROCESSING(SSobj, src)
QDEL_NULL(proximity_monitor)
. = ..()

/obj/item/assembly/prox_sensor/examine(mob/user)
Expand All @@ -37,6 +40,15 @@
update_appearance()
return TRUE

/obj/item/assembly/prox_sensor/on_attach()
. = ..()
// Pick the first valid object in this list:
// Wiring datum's owner
// assembly holder's attached object
// assembly holder itself
// us
proximity_monitor.set_host(connected?.holder || holder?.master || holder || src, src)

/obj/item/assembly/prox_sensor/on_detach()
. = ..()
if(!.)
Expand Down Expand Up @@ -153,3 +165,11 @@
value = round(time + value)
time = clamp(value, 0, 600)
. = TRUE

/obj/item/assembly/prox_sensor/preset
sensitivity = 2
hearing_range = 3

/obj/item/assembly/prox_sensor/preset/Initialize()
. = ..()
toggle_scan(!scanning)
4 changes: 4 additions & 0 deletions code/modules/assembly/voice.dm
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,10 @@
. = ..()
listening = FALSE

/obj/item/assembly/voice/preset
mode = 1
recorded = "example phrase"

#undef INCLUSIVE_MODE
#undef EXCLUSIVE_MODE
#undef RECOGNIZER_MODE
Expand Down
1 change: 1 addition & 0 deletions code/modules/projectiles/projectile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@
var/decayedRange //stores original range
var/reflect_range_decrease = 5 //amount of original range that falls off when reflecting, so it doesn't go forever
var/reflectable = NONE // Can it be reflected or not?

//Effects
var/stun = 0
var/knockdown = 0
Expand Down
Loading
Loading