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

Voreupdate [MDB IGNORE] [IDB IGNORE] #1379

Merged
merged 15 commits into from
Jan 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
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