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 10 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
4,996 changes: 4,996 additions & 0 deletions _maps/RandomRuins/SandRuins/whitesands_cave_base.dmm

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions code/datums/ruins/whitesands.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@
description = "A failed attempt of the Nanotrasen nutrional replacement program"
suffix = "whitesands_surface_pubbyslopcrash.dmm"

/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"

//////////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
7 changes: 7 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,8 @@
/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"
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
13 changes: 13 additions & 0 deletions code/game/objects/items/grenades/plastic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -125,3 +125,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 = "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(1, 2, 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
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 = "jorkin it"
Sun-Soaked marked this conversation as resolved.
Show resolved Hide resolved

#undef INCLUSIVE_MODE
#undef EXCLUSIVE_MODE
#undef RECOGNIZER_MODE
Expand Down
1 change: 1 addition & 0 deletions code/modules/projectiles/ammunition/_ammunition.dm
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@

var/list/bounce_sfx_override // if true, overrides the bouncing sfx from the turf to this one

///how many will spawn in a generic ammo box containing this ammo
var/bullet_per_box


Expand Down
21 changes: 21 additions & 0 deletions code/modules/projectiles/ammunition/ballistic/sniper.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,24 @@
desc = "A .50 BMG penetrator bullet casing."
bullet_skin = "ap"
projectile_type = /obj/projectile/bullet/p50/penetrator

//14.5mm Crunch Gun
/obj/item/ammo_casing/p145
Copy link
Member

Choose a reason for hiding this comment

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

Yeah... this probably won't be happening

name = "14.5mm Ball casing"
desc = "A 14.5mm bullet casing."
icon_state = "big-steel"
caliber = "14.5mm Heavy"
projectile_type = /obj/projectile/bullet/p145
bullet_per_box = 9

/obj/item/ammo_casing/p145/ds
name = "14.5mm Discarding Sabot casing"
desc = "A 14.5mm Discarding Sabot bullet casing"
bullet_skin = "ap"
projectile_type = /obj/projectile/bullet/p145/ds

/obj/item/ammo_casing/p145/he
name = "14.5mm High Explosive casing"
desc = "A 14.5mm High Explosive bullet casing. It seems fairly illegal, if not inherently unethical."
bullet_skin = "he"
projectile_type = /obj/projectile/bullet/p145/he
23 changes: 23 additions & 0 deletions code/modules/projectiles/boxes_magazines/external/sniper.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,26 @@
desc = "A large, heavy 5-round box magazine designed for the sniper rifle. These penetrator rounds deal incredible damage and will penetrate most structures, though they don't knock down or delimb targets."
ammo_type = /obj/item/ammo_casing/p50/penetrator
max_ammo = 5

//you have no idea how tempted i was to call this crunch berries
/obj/item/ammo_box/magazine/crunch_shot
name = "anti-armor rifle magazine (14.5mm Heavy)"
desc = "A large, heavy box magazine designed for an anti-armor rifle. The 14.5mm rounds have a reputation as exceptionally lethal. If incredibly inconvienent."
icon_state = "50bmgsniper_mag-0"
base_icon_state = "50bmgsniper_mag"
ammo_type = /obj/item/ammo_casing/p145
max_ammo = 3
caliber = "14.5mm Heavy"
w_class = WEIGHT_CLASS_NORMAL
multiple_sprites = AMMO_BOX_ONE_SPRITE

/obj/item/ammo_box/magazine/crunch_shot/ds
name = "anti-armor rifle magazine (14.5mm Discarding Sabot)"
desc = "A massive box magazine designed for an anti-armor rifle. There is no armor 14.5mm Discarding Sabot cannot beat."
ammo_type = /obj/item/ammo_casing/p145/ds

//if im stealing the idea im stealing all of it.
/obj/item/ammo_box/magazine/crunch_shot/he
name = "anti-armor rifle magazine (14.5mm High Explosive)"
desc = "A massive box magazine designed for an anti-armor rifle. You're fairly sure that this variety of ammo was outlawed by most governments."
ammo_type = /obj/item/ammo_casing/p145/he
18 changes: 18 additions & 0 deletions code/modules/projectiles/gun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -854,8 +854,26 @@
actual_angle -= 360
if(total_recoil > 0)
recoil_camera(user, total_recoil + 1, (total_recoil * recoil_backtime_multiplier)+1, total_recoil, actual_angle)
var/consequences_of_our_actions = (HAS_TRAIT(user, TRAIT_EASYLIMBDISABLE)? 2 : 4)
Erikafox marked this conversation as resolved.
Show resolved Hide resolved
var/recoil_offset = (total_recoil - consequences_of_our_actions) * 5
if(total_recoil >= consequences_of_our_actions && prob(40 + (recoil_offset * 5)))
var/mob/living/carbon/jackass = user
if(prob(recoil_offset * 10))
var/obj/item/bodypart/consequences = jackass.get_active_hand()
consequences.break_bone()
jackass.apply_damage(recoil_offset * 5, BRUTE, jackass.get_active_hand())
jackass.visible_message(span_danger("The recoil of [src] forces it out of [user.name]'s hands and onto the ground!"), span_boldwarning("The recoil of [src] sends it flying out of your hands!"))
jackass.dropItemToGround(jackass.get_active_held_item())
log_attack("[user] experienced a high level of recoil while trying to fire [src]")
toss_gun_at(user, recoil_offset)
return TRUE

/obj/item/gun/proc/toss_gun_at(mob/living/user, intensity)
throw_at(get_edge_target_turf(user, rand(dir)), intensity, intensity*2)
pixel_x = rand(-4, 4)
pixel_y = rand(-4, 4)
SpinAnimation(5, 1)

/obj/item/gun/proc/handle_muzzle_flash(mob/living/user, firing_angle)
var/atom/movable/flash_loc = user
var/prev_light = light_range
Expand Down
43 changes: 43 additions & 0 deletions code/modules/projectiles/guns/ballistic/rifle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -193,3 +193,46 @@
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/polymer
can_be_sawn_off = FALSE
manufacturer = MANUFACTURER_NONE


/obj/item/gun/ballistic/rifle/crunch_gun
Erikafox marked this conversation as resolved.
Show resolved Hide resolved
name = "\improper anti-armor rifle"
desc = "A massive rifle chambered in 14.5mm Heavy, affectionately known as a 'crunch gun' by the few people crazy enough to use it. It seems to be missing a bipod." //blowing a fist sized hole through the inteq enforcer

icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi'
lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi'
righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi'
mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi'
icon_state = "taipan"
item_state = "taipan"
fire_sound = 'sound/weapons/gun/sniper/shot.ogg'
fire_sound_volume = 120
load_sound = 'sound/weapons/gun/sniper/mag_insert.ogg'
rack_sound = 'sound/weapons/gun/sniper/rack.ogg'
suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg'

zoomable = TRUE
zoom_amt = 16 //Fairly long range.
zoom_out_amt = 0

actions_types = list()
show_magazine_on_sprite = TRUE

casing_ejector = FALSE
internal_magazine = FALSE
semi_auto = FALSE
tac_reloads = FALSE
valid_attachments = list()

weapon_weight = WEAPON_VERY_HEAVY
mag_type = /obj/item/ammo_box/magazine/crunch_shot
w_class = WEIGHT_CLASS_HUGE
manufacturer = MANUFACTURER_BRAZIL

spread = -5
spread_unwielded = 60
recoil = 6
recoil_unwielded = 25 //not that you should be able to fire it unwielded regardless

wield_delay = 3 SECONDS
wield_slowdown = 2
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
37 changes: 36 additions & 1 deletion code/modules/projectiles/projectile/bullets/sniper.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@
knockdown = 100
dismemberment = 50
armour_penetration = 60
var/obj_damage_mod = 1.1
Erikafox marked this conversation as resolved.
Show resolved Hide resolved
var/breakthings = TRUE

/obj/projectile/bullet/p50/on_hit(atom/target, blocked = 0)
if(isobj(target) && (blocked != 100) && breakthings)
var/obj/O = target
O.take_damage(80, BRUTE, "bullet", FALSE)
O.take_damage((damage * obj_damage_mod), BRUTE, "bullet", FALSE)
return ..()

/obj/projectile/bullet/p50/soporific
Expand Down Expand Up @@ -43,3 +44,37 @@
icon_state = "gaussstrong"
damage = 25
range = 16

//crung gun
/obj/projectile/bullet/p145
Erikafox marked this conversation as resolved.
Show resolved Hide resolved
name = "14.5mm Ball shot"
speed = 0.3
damage = 75
knockdown = 100
dismemberment = 25
armour_penetration = 30
var/obj_damage_mod = 1.5
var/breakthings = TRUE

/obj/projectile/bullet/p145/on_hit(atom/target, blocked = 0)
if(isobj(target) && (blocked != 100) && breakthings)
var/obj/O = target
O.take_damage((damage * obj_damage_mod), BRUTE, "bullet", FALSE)
return ..()

/obj/projectile/bullet/p145/ds
name = "14.5mm Discarding Sabot shot"
speed = 0.2
damage = 85
armour_penetration = 70
dismemberment = 5
obj_damage_mod = 3

/obj/projectile/bullet/p145/he
name = "14.5mm High Explosive shot"
damage = 30 // most of the damage should be in the explosion
dismemberment = 5

/obj/projectile/bullet/p145/he/on_hit(atom/target, blocked = 0)
explosion(target, 0, 1, 1, 1, flame_range = 2)
Erikafox marked this conversation as resolved.
Show resolved Hide resolved
return ..()
Loading
Loading