Skip to content

Commit

Permalink
Merge pull request #1379 from Yawn-Wider/upstream-update
Browse files Browse the repository at this point in the history
Voreupdate [MDB IGNORE] [IDB IGNORE]
  • Loading branch information
izac112 authored Jan 9, 2024
2 parents c63f56f + 376ce75 commit ee29cc3
Show file tree
Hide file tree
Showing 20 changed files with 151 additions and 14 deletions.
3 changes: 2 additions & 1 deletion code/game/area/areas_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
var/enter_message
var/exit_message
var/limit_mob_size = TRUE //If mob size is limited in the area.
var/block_suit_sensors = FALSE //If mob size is limited in the area.
var/block_suit_sensors = FALSE //If suit sensors are blocked in the area.
var/block_tracking = FALSE //If camera tracking is blocked in the area.
var/turf/ceiling_type

// Size of the area in open turfs, only calculated for indoors areas.
Expand Down
4 changes: 3 additions & 1 deletion code/game/machinery/camera/tracking.dm
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,9 @@
var/obj/item/weapon/card/id/id = GetIdCard()
if(id && id.prevent_tracking())
return TRACKING_TERMINATE
if(InvalidPlayerTurf(get_turf(src)))
var/turf/pos = get_turf(src)
var/area/B = pos?.loc // No cam tracking in dorms!
if(InvalidPlayerTurf(pos) || B.block_tracking)
return TRACKING_TERMINATE
if(invisibility >= INVISIBILITY_LEVEL_ONE) //cloaked
return TRACKING_TERMINATE
Expand Down
2 changes: 2 additions & 0 deletions code/modules/events/spontaneous_appendicitis_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@
continue
if(A.flags & RAD_SHIELDED)
continue
if(isbelly(H.loc))
continue
if(H.client && H.appendicitis())
break
4 changes: 2 additions & 2 deletions code/modules/gamemaster/event2/events/medical/appendicitis.dm
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
if(!H.client)
continue

// Or antags.
if(player_is_antag(H.mind))
// Or antags / bellied.
if(player_is_antag(H.mind) || isbelly(H.loc))
continue

// Or doctors (otherwise it could be possible for the only surgeon to need surgery).
Expand Down
88 changes: 88 additions & 0 deletions code/modules/projectiles/guns/energy/altevian_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,91 @@
light_range = 2
light_power = 0.5
light_color = "#77A6E1"

/obj/item/weapon/gun/energy/ratminer
name = "Altevian Repulsion Mineral Slicer"
desc = "An advanced piece of mining focused technology from the Altevian Hegemony. \
This model appears to be their standard asteroid clearing laser with a tailored system to work with an ore-bag, \
or similar, linked to the device. It has extra crystals for the focus that seem to split the beam, \
but also removes the pin-point accuracy other mining devices typically have."
icon_state = "altevian-miner"
item_state = "altevian-miner"
fire_delay = 12
slot_flags = SLOT_BACK
w_class = ITEMSIZE_HUGE
force = 10
origin_tech = list(TECH_COMBAT = 2, TECH_MAGNET = 4)
matter = list(MAT_STEEL = 2000)
projectile_type = /obj/item/projectile/scatter/ratminer
charge_cost = 400

/obj/item/projectile/scatter/ratminer
spread_submunition_damage = FALSE
damage = 20
range = 0

submunition_spread_max = 300
force_max_submunition_spread = TRUE

submunitions = list(
/obj/item/projectile/beam/ratminer = 3
)

/obj/item/projectile/beam/ratminer
name = "slicer beam"
icon_state = "ratmining"
damage = 20
light_color = "#77A6E1"
hud_state = "laser_disabler"

muzzle_type = /obj/effect/projectile/muzzle/ratminer
tracer_type = /obj/effect/projectile/tracer/ratminer
impact_type = /obj/effect/projectile/impact/ratminer

/obj/item/projectile/beam/ratminer/on_range()
strike_thing()
..()

/obj/item/projectile/beam/ratminer/on_hit(atom/target)
strike_thing(target)
. = ..()

/obj/item/projectile/beam/ratminer/on_impact(atom/A)
. = ..()
strike_thing(A)

/obj/item/projectile/beam/ratminer/proc/strike_thing(var/atom/A)
var/turf/target_turf = get_turf(A)
if(!target_turf)
target_turf = get_turf(src)
if(ismineralturf(target_turf))
var/turf/simulated/mineral/M = target_turf
M.GetDrilled(TRUE)
for(var/T in RANGE_TURFS(2, target_turf) - target_turf)
if(ismineralturf(T))
var/turf/simulated/mineral/M = T
M.GetDrilled(TRUE)
if(firer)
var/obj/item/weapon/storage/bag/ore/orebag = locate(/obj/item/weapon/storage/bag/ore) in firer
if(orebag)
for(var/turf/T in RANGE_TURFS(2, target_turf))
orebag.gather_all(T, firer, TRUE)


/obj/effect/projectile/muzzle/ratminer
icon_state = "muzzle_ratmining"
light_range = 2
light_power = 0.5
light_color = "#77A6E1"

/obj/effect/projectile/tracer/ratminer
icon_state = "ratmining"
light_range = 2
light_power = 0.5
light_color = "#77A6E1"

/obj/effect/projectile/impact/ratminer
icon_state = "impact_ratmining"
light_range = 2
light_power = 0.5
light_color = "#77A6E1"
9 changes: 6 additions & 3 deletions code/modules/tgui/modules/camera.dm
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,10 @@
/datum/tgui_module/camera/tgui_interact(mob/user, datum/tgui/ui = null)
// Update UI
ui = SStgui.try_update_ui(user, src, ui)
var/turf/newturf = get_turf(active_camera)
var/area/B = newturf?.loc // No cam tracking in dorms!
// Show static if can't use the camera
if(!active_camera?.can_use())
if(!active_camera?.can_use() || B.block_tracking)
show_camera_static()
if(!ui)
var/user_ref = REF(user)
Expand Down Expand Up @@ -175,15 +177,16 @@
. = TRUE

/datum/tgui_module/camera/proc/update_active_camera_screen()
var/turf/newturf = get_turf(active_camera)
var/area/B = newturf?.loc // No cam tracking in dorms!
// Show static if can't use the camera
if(!active_camera?.can_use())
if(!active_camera?.can_use() || B.block_tracking)
show_camera_static()
return TRUE

// If we're not forcing an update for some reason and the cameras are in the same location,
// we don't need to update anything.
// Most security cameras will end here as they're not moving.
var/turf/newturf = get_turf(active_camera)
if(newturf == last_camera_turf)
return

Expand Down
3 changes: 2 additions & 1 deletion code/modules/vore/eating/mob_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@
var/allow_spontaneous_tf = FALSE // Obviously.
var/show_vore_fx = TRUE // Show belly fullscreens
var/selective_preference = DM_DEFAULT // Preference for selective bellymode
var/eating_privacy_global = FALSE //Makes eating attempt/success messages only reach for subtle range if true, overwritten by belly-specific var
var/text_warnings = TRUE // Allows us to dismiss the text limit warning messages after viewing it once per round
var/eating_privacy_global = FALSE // Makes eating attempt/success messages only reach for subtle range if true, overwritten by belly-specific var
var/nutrition_message_visible = TRUE
var/list/nutrition_messages = list(
"They are starving! You can hear their stomach snarling from across the room!",
Expand Down
4 changes: 3 additions & 1 deletion code/modules/vore/eating/vorepanel_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1009,7 +1009,9 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
host.vore_selected.absorbed_desc = new_desc
. = TRUE
if("b_msgs")
tgui_alert(user,"Setting abusive or deceptive messages will result in a ban. Consider this your warning. Max 150 characters per message (250 for examines, 500 for idle messages), max 10 messages per topic.","Really, don't.") // Should remain tgui_alert() (blocking)
if(user.text_warnings)
if(tgui_alert(user,"Setting abusive or deceptive messages will result in a ban. Consider this your warning. Max 150 characters per message (250 for examines, 500 for idle messages), max 10 messages per topic.","Really, don't.",list("OK", "Disable Warnings")) == "Disable Warnings") // Should remain tgui_alert() (blocking)
user.text_warnings = FALSE
var/help = " Press enter twice to separate messages. '%pred' will be replaced with your name. '%prey' will be replaced with the prey's name. '%belly' will be replaced with your belly's name. '%count' will be replaced with the number of anything in your belly. '%countprey' will be replaced with the number of living prey in your belly."
switch(params["msgtype"])
if("dmp")
Expand Down
1 change: 1 addition & 0 deletions code/modules/vore/mouseray.dm
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,7 @@
new_mob.nutrition_message_visible = nutrition_message_visible
new_mob.allow_spontaneous_tf = allow_spontaneous_tf
new_mob.eating_privacy_global = eating_privacy_global
new_mob.text_warnings = text_warnings

/////SUBTYPES/////

Expand Down
4 changes: 0 additions & 4 deletions code/modules/vore/resizing/resize_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -154,10 +154,6 @@
set name = "Adjust Mass"
set category = "Abilities" //Seeing as prometheans have an IC reason to be changing mass.

if(!resizable)
to_chat(src, "<span class='warning'>You are immune to resizing!</span>")
return

var/nagmessage = "Adjust your mass to be a size between 25 to 200% (or 1% to 600% in dormitories). (DO NOT ABUSE)"
var/default = size_multiplier * 100
var/new_size = tgui_input_number(usr, nagmessage, "Pick a Size", default, 600, 1)
Expand Down
Binary file modified icons/inventory/back/mob.dmi
Binary file not shown.
Binary file modified icons/mob/items/lefthand_guns.dmi
Binary file not shown.
Binary file modified icons/mob/items/righthand_guns.dmi
Binary file not shown.
Binary file modified icons/obj/gun.dmi
Binary file not shown.
Binary file modified icons/obj/projectiles_impact.dmi
Binary file not shown.
Binary file modified icons/obj/projectiles_muzzle.dmi
Binary file not shown.
Binary file modified icons/obj/projectiles_tracer.dmi
Binary file not shown.
1 change: 1 addition & 0 deletions maps/groundbase/groundbase_areas.dm
Original file line number Diff line number Diff line change
Expand Up @@ -449,6 +449,7 @@
soundproofed = TRUE
limit_mob_size = FALSE
block_suit_sensors = TRUE
block_tracking = TRUE
forbid_events = TRUE
forbid_singulo = TRUE

Expand Down
3 changes: 2 additions & 1 deletion maps/stellar_delight/stellar_delight_areas.dm
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@
soundproofed = TRUE
limit_mob_size = FALSE
block_suit_sensors = TRUE
block_tracking = TRUE
forbid_events = TRUE
forbid_singulo = TRUE

Expand Down Expand Up @@ -286,6 +287,7 @@
flags = RAD_SHIELDED| BLUE_SHIELDED |AREA_FLAG_IS_NOT_PERSISTENT
soundproofed = TRUE
block_suit_sensors = TRUE
block_tracking = TRUE
forbid_events = TRUE

/area/stellardelight/deck3/portdock
Expand All @@ -305,4 +307,3 @@
name = "Deck Two Exterior"
/area/stellardelight/deck3/exterior
name = "Deck Three Exterior"

Loading

0 comments on commit ee29cc3

Please sign in to comment.