diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 9af84740ad..9a687fb442 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,4 +1,4 @@ -#### Brief description of the issue +#### Brief description of the bug #### What you expected to happen diff --git a/code/datums/supplypacks/hospitality_vr.dm b/code/datums/supplypacks/hospitality_vr.dm index 822773b6f9..decb7027db 100644 --- a/code/datums/supplypacks/hospitality_vr.dm +++ b/code/datums/supplypacks/hospitality_vr.dm @@ -1,3 +1,6 @@ +/datum/supply_pack/randomised/hospitality/pizza + cost = 50 + /datum/supply_pack/randomised/hospitality/burgers_vr num_contained = 5 contains = list( diff --git a/code/game/antagonist/station/highlander.dm b/code/game/antagonist/station/highlander.dm index e2ec983818..f483b1df3b 100644 --- a/code/game/antagonist/station/highlander.dm +++ b/code/game/antagonist/station/highlander.dm @@ -47,8 +47,8 @@ var/datum/antagonist/highlander/highlanders var/obj/item/weapon/card/id/W = new(player) W.name = "[player.real_name]'s ID Card" W.icon_state = "centcom" - W.access = get_all_station_access() - W.access += get_all_centcom_access() + W.access = get_all_station_access().Copy + W.access |= get_all_centcom_access() W.assignment = "Highlander" W.registered_name = player.real_name player.equip_to_slot_or_del(W, slot_wear_id) diff --git a/code/game/area/Space Station 13 areas_vr.dm b/code/game/area/Space Station 13 areas_vr.dm index 396ab60821..c03489b307 100644 --- a/code/game/area/Space Station 13 areas_vr.dm +++ b/code/game/area/Space Station 13 areas_vr.dm @@ -1,121 +1,4 @@ -/area/crew_quarters/sleep/vistor_room_1 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_2 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_3 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_4 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_5 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_6 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_7 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_8 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_9 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_10 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_11 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_12 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_1 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_2 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_3 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_4 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_5 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_6 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_7 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_8 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_9 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_10 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/teleporter/departing - name = "\improper Long-Range Teleporter" - icon_state = "teleporter" - music = "signal" - -// Override telescience shielding on some areas -/area/security/armoury - flags = BLUE_SHIELDED - -/area/security/tactical - flags = BLUE_SHIELDED - -/area/security/nuke_storage - flags = BLUE_SHIELDED - -/area/supply - flags = BLUE_SHIELDED - -// Add rad shielding to maintenance and construction sites -/area/vacant - flags = RAD_SHIELDED - -/area/maintenance - flags = RAD_SHIELDED - -/area/rnd/research_storage //Located entirely in maint under public access, so why not that too - flags = RAD_SHIELDED - -// New shuttles -/area/shuttle/administration/transit - name = "Deep Space (AS)" - icon_state = "shuttle" - -/area/shuttle/administration/away_mission - name = "Away Mission (AS)" - icon_state = "shuttle" - -/area/shuttle/awaymission/home - name = "NSB Adephagia (AM)" - icon_state = "shuttle2" - -/area/shuttle/awaymission/warp - name = "Deep Space (AM)" - icon_state = "shuttle" - -/area/shuttle/awaymission/away - name = "Away Mission (AM)" - icon_state = "shuttle2" - -/area/shuttle/awaymission/oldengbase - name = "Old Construction Site (AM)" - icon_state = "shuttle2" +//TFF 28/8/19 - cleanup of areas placement - removes all but rogueminer_vr stuff. /area/shuttle/belter/station name = "Belter Shuttle Landed" @@ -162,140 +45,6 @@ icon_state = "red2" shuttle_area = /area/shuttle/belter/belt/zone4 -/area/medical/resleeving - name = "Resleeving Lab" - icon_state = "genetics" - -/area/bigship - name = "Bigship" - requires_power = 0 - flags = RAD_SHIELDED - sound_env = SMALL_ENCLOSED - base_turf = /turf/space - icon_state = "red2" - -/area/bigship/teleporter - name = "Bigship Teleporter Room" - -//////// Small Cruiser Areas //////// -/area/houseboat - name = "Small Cruiser" - requires_power = 0 - flags = RAD_SHIELDED - base_turf = /turf/space - icon_state = "red2" - lightswitch = TRUE - -/area/houseboat/holodeck_area - name = "Small Cruiser - Holodeck" - icon_state = "blue2" - -/area/houseboat/holodeck/off - name = "Small Cruiser Holo - Off" - icon_state = "blue2" -/area/houseboat/holodeck/beach - name = "Small Cruiser Holo - Beach" - icon_state = "blue2" -/area/houseboat/holodeck/snow - name = "Small Cruiser Holo - Snow" - icon_state = "blue2" -/area/houseboat/holodeck/desert - name = "Small Cruiser Holo - Desert" - icon_state = "blue2" -/area/houseboat/holodeck/picnic - name = "Small Cruiser Holo - Picnic" - icon_state = "blue2" -/area/houseboat/holodeck/thunderdome - name = "Small Cruiser Holo - Thunderdome" - icon_state = "blue2" -/area/houseboat/holodeck/basketball - name = "Small Cruiser Holo - Basketball" - icon_state = "blue2" -/area/houseboat/holodeck/gaming - name = "Small Cruiser Holo - Gaming Table" - icon_state = "blue2" -/area/houseboat/holodeck/space - name = "Small Cruiser Holo - Space" - icon_state = "blue2" -/area/houseboat/holodeck/bunking - name = "Small Cruiser Holo - Bunking" - icon_state = "blue2" - -/area/shuttle/cruiser/cruiser - name = "Small Cruiser Shuttle - Cruiser" - icon_state = "blue2" - base_turf = /turf/simulated/floor/tiled/techfloor -/area/shuttle/cruiser/station - name = "Small Cruiser Shuttle - Station" - icon_state = "blue2" - - -// Tether Map has this shuttle -/area/shuttle/tether/surface - name = "Tether Shuttle Landed" - icon_state = "shuttle" - base_turf = /turf/simulated/floor/reinforced - -/area/shuttle/tether/station - name = "Tether Shuttle Dock" - icon_state = "shuttle2" - -/area/shuttle/tether/transit - name = "Tether Shuttle Transit" - icon_state = "shuttle2" - -// rnd (Research and Development) -/area/rnd/research/testingrange - name = "\improper Weapons Testing Range" - icon_state = "firingrange" - -/area/rnd/research/researchdivision - name = "\improper Research Division" - icon_state = "research" - -/area/rnd/outpost - name = "\improper Research Outpost Hallway" - icon_state = "research" - -/area/rnd/outpost/airlock - name = "\improper Research Outpost Airlock" - icon_state = "green" - -/area/rnd/outpost/eva - name = "Research Outpost EVA Storage" - icon_state = "eva" - -/area/rnd/outpost/chamber - name = "\improper Research Outpost Burn Chamber" - icon_state = "engine" - -/area/rnd/outpost/atmos - name = "Research Outpost Atmospherics" - icon_state = "atmos" - -/area/rnd/outpost/storage - name = "\improper Research Outpost Gas Storage" - icon_state = "toxstorage" - -/area/rnd/outpost/mixing - name = "\improper Research Outpost Gas Mixing" - icon_state = "toxmix" - -/area/rnd/outpost/heating - name = "\improper Research Outpost Gas Heating" - icon_state = "toxmix" - -/area/rnd/outpost/testing - name = "\improper Research Outpost Testing" - icon_state = "toxtest" - -/area/maintenance/substation/outpost - name = "Research Outpost Substation" - /area/engineering/engine_gas name = "\improper Engine Gas Storage" icon_state = "engine_waste" - -/area/chapel/observation - name = "\improper Chapel Observation" - icon_state = "chapel" \ No newline at end of file diff --git a/code/game/area/areas_vr.dm b/code/game/area/areas_vr.dm new file mode 100644 index 0000000000..d422c1cd0f --- /dev/null +++ b/code/game/area/areas_vr.dm @@ -0,0 +1,6 @@ +/area/shuttle_arrived() + .=..() + for(var/obj/machinery/telecomms/relay/R in contents) + R.reset_z() + for(var/obj/machinery/power/apc/A in contents) + A.update_area() diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index adaabce442..c8f0b44c3d 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -1,6 +1,6 @@ /atom/movable layer = OBJ_LAYER - appearance_flags = TILE_BOUND|PIXEL_SCALE + appearance_flags = TILE_BOUND|PIXEL_SCALE|KEEP_TOGETHER //VOREStation Edit var/last_move = null var/anchored = 0 // var/elevation = 2 - not used anywhere diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index 1c9196d332..78df309c58 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -31,7 +31,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) H.implant_loyalty(src) */ /datum/job/captain/get_access() - return get_all_station_access() + return get_all_station_access().Copy() /datum/job/hop title = "Head of Personnel" diff --git a/code/game/jobs/job/special.dm b/code/game/jobs/job/special.dm index 7d1ccead19..fbed745240 100644 --- a/code/game/jobs/job/special.dm +++ b/code/game/jobs/job/special.dm @@ -37,8 +37,7 @@ return 1 get_access() - var/access = get_all_accesses() - return access + return get_all_accesses().Copy() /*/datum/job/centcom_visitor //For Pleasure // You mean for admin abuse... -Ace title = "CentCom Visitor" diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index b259fe1ded..f89927e375 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -29,8 +29,7 @@ sleeper = sleepernew sleepernew.console = src set_dir(get_dir(src, sleepernew)) - return - return + /obj/machinery/sleep_console/attack_ai(var/mob/user) return attack_hand(user) @@ -45,7 +44,7 @@ to_chat(user, "Sleeper not found!") return - if(sleeper.panel_open) + if(panel_open) to_chat(user, "Close the maintenance panel first.") return @@ -108,6 +107,7 @@ else data["beaker"] = -1 data["filtering"] = S.filtering + data["pump"] = S.pumping var/stasis_level_name = "Error!" for(var/N in S.stasis_choices) @@ -142,6 +142,9 @@ if(href_list["sleeper_filter"]) if(S.filtering != text2num(href_list["sleeper_filter"])) S.toggle_filter() + if(href_list["pump"]) + if(S.pumping != text2num(href_list["pump"])) + S.toggle_pump() if(href_list["chemical"] && href_list["amount"]) if(S.occupant && S.occupant.stat != DEAD) if(href_list["chemical"] in S.available_chemicals) // Your hacks are bad and you should feel bad @@ -166,6 +169,7 @@ var/list/base_chemicals = list("inaprovaline" = "Inaprovaline", "paracetamol" = "Paracetamol", "anti_toxin" = "Dylovene", "dexalin" = "Dexalin") var/obj/item/weapon/reagent_containers/glass/beaker = null var/filtering = 0 + var/pumping = 0 var/obj/machinery/sleep_console/console var/stasis_level = 0 //Every 'this' life ticks are applied to the mob (when life_ticks%stasis_level == 1) var/stasis_choices = list("Complete (1%)" = 100, "Deep (10%)" = 10, "Moderate (20%)" = 5, "Light (50%)" = 2, "None (100%)" = 0) @@ -263,6 +267,17 @@ else toggle_filter() + if(pumping > 0) + if(beaker) + if(beaker.reagents.total_volume < beaker.reagents.maximum_volume) + var/pumped = 0 + for(var/datum/reagent/x in occupant.ingested.reagent_list) + occupant.reagents.trans_to_obj(beaker, 3) + pumped++ + if(ishuman(occupant)) + occupant.ingested.trans_to_obj(beaker, pumped + 1) + else + toggle_pump() /obj/machinery/sleeper/update_icon() icon_state = "sleeper_[occupant ? "1" : "0"]" @@ -301,14 +316,12 @@ return if(UNCONSCIOUS) to_chat(usr, "You struggle through the haze to hit the eject button. This will take a couple of minutes...") - sleep(2 MINUTES) - if(!src || !usr || !occupant || (occupant != usr)) //Check if someone's released/replaced/bombed him already - return - go_out() + if(do_after(usr, 2 MINUTES, src)) + go_out() if(CONSCIOUS) go_out() else - if(usr.stat != 0) + if(usr.stat != CONSCIOUS) return go_out() add_fingerprint(usr) @@ -326,6 +339,9 @@ if(filtering) toggle_filter() + if(pumping) + toggle_pump() + if(stat & (BROKEN|NOPOWER)) ..(severity) return @@ -340,6 +356,12 @@ return filtering = !filtering +/obj/machinery/sleeper/proc/toggle_pump() + if(!occupant || !beaker) + pumping = 0 + return + pumping = !pumping + /obj/machinery/sleeper/proc/go_in(var/mob/M, var/mob/user) if(!M) return @@ -370,7 +392,8 @@ update_icon() /obj/machinery/sleeper/proc/go_out() - if(!occupant) + if(!occupant || occupant.loc != src) + occupant = null // JUST IN CASE return if(occupant.client) occupant.client.eye = occupant.client.mob @@ -387,6 +410,7 @@ update_use_power(1) update_icon() toggle_filter() + toggle_pump() /obj/machinery/sleeper/proc/remove_beaker() if(beaker) diff --git a/code/game/machinery/telecomms/presets_vr.dm b/code/game/machinery/telecomms/presets_vr.dm index 1bd6b92460..01a07a5f5e 100644 --- a/code/game/machinery/telecomms/presets_vr.dm +++ b/code/game/machinery/telecomms/presets_vr.dm @@ -3,3 +3,6 @@ hide = 1 produces_heat = 0 autolinkers = list("hb_relay") + +/obj/machinery/telecomms/relay/proc/reset_z() + listening_level = z diff --git a/code/game/objects/items/weapons/id cards/station_ids.dm b/code/game/objects/items/weapons/id cards/station_ids.dm index 6da8a1b933..8ccd6f70c1 100644 --- a/code/game/objects/items/weapons/id cards/station_ids.dm +++ b/code/game/objects/items/weapons/id cards/station_ids.dm @@ -172,7 +172,7 @@ /obj/item/weapon/card/id/synthetic/Initialize() . = ..() - access = get_all_station_access() + access_synth + access = get_all_station_access().Copy() + access_synth /obj/item/weapon/card/id/centcom name = "\improper CentCom. ID" @@ -183,7 +183,7 @@ /obj/item/weapon/card/id/centcom/Initialize() . = ..() - access = get_all_centcom_access() + access = get_all_centcom_access().Copy() /obj/item/weapon/card/id/centcom/station/Initialize() . = ..() diff --git a/code/game/objects/items/weapons/material/material_weapons.dm b/code/game/objects/items/weapons/material/material_weapons.dm index 4f08c61a4c..a911d1e137 100644 --- a/code/game/objects/items/weapons/material/material_weapons.dm +++ b/code/game/objects/items/weapons/material/material_weapons.dm @@ -42,6 +42,9 @@ if(!isnull(matter[material_type])) matter[material_type] *= force_divisor // May require a new var instead. + if(!(material.conductive)) + src.flags |= NOCONDUCT + /obj/item/weapon/material/get_material() return material @@ -67,7 +70,7 @@ if(applies_material_colour) color = material.icon_colour if(material.products_need_process()) - START_PROCESSING(SSobj, src) + START_PROCESSING(SSobj, src) update_force() /obj/item/weapon/material/Destroy() diff --git a/code/game/objects/items/weapons/material/shards.dm b/code/game/objects/items/weapons/material/shards.dm index ba7438a685..937391737a 100644 --- a/code/game/objects/items/weapons/material/shards.dm +++ b/code/game/objects/items/weapons/material/shards.dm @@ -61,6 +61,58 @@ return return ..() +/obj/item/weapon/material/shard/afterattack(var/atom/target, mob/living/carbon/human/user as mob) + var/active_hand //hand the shard is in + var/will_break + var/gloves_are_heavy = FALSE//this is a fucking mess + var/break_damage = 4 + var/light_glove_d = rand(2, 4) + var/no_glove_d = rand(4, 6) + var/list/h_gloves = list(/obj/item/clothing/gloves/captain, /obj/item/clothing/gloves/cyborg, + /obj/item/clothing/gloves/swat, /obj/item/clothing/gloves/combat, + /obj/item/clothing/gloves/botanic_leather, /obj/item/clothing/gloves/duty, + /obj/item/clothing/gloves/tactical, /obj/item/clothing/gloves/vox, + /obj/item/clothing/gloves/gauntlets) + + if(istype(user.l_hand, src)) + active_hand = BP_L_HAND + else + active_hand = BP_R_HAND + + if(prob(75)) + will_break = TRUE + else + will_break = FALSE + + if(user.gloves && (user.gloves.body_parts_covered & HANDS)) + var/obj/item/clothing/gloves/UG = user.gloves.type + for(var/I in h_gloves) + if(UG == I) + gloves_are_heavy = TRUE + if(will_break) + user.visible_message("[user] hit \the [target] with \the [src], shattering it!", "You shatter \the [src] in your hand!") + playsound(user, pick('sound/effects/Glassbr1.ogg', 'sound/effects/Glassbr2.ogg', 'sound/effects/Glassbr3.ogg'), 30, 1) + qdel(src) + + if(gloves_are_heavy == FALSE) + to_chat(user, "\The [src] partially cuts into your hand through your gloves as you hit \the [target]!") + if(will_break) + user.visible_message("[user] hit \the [target] with \the [src], shattering it!", "You shatter \the [src] in your hand!") + user.apply_damage(light_glove_d + break_damage, BRUTE, active_hand, 0 ,0, src, src.sharp, src.edge) + playsound(user, pick('sound/effects/Glassbr1.ogg', 'sound/effects/Glassbr2.ogg', 'sound/effects/Glassbr3.ogg'), 30, 1) + qdel(src) + else + user.apply_damage(light_glove_d, BRUTE, active_hand, 0 ,0, src, src.sharp, src.edge) + else + to_chat(user, "\The [src] cuts into your hand as you hit \the [target]!") + if(will_break) + user.visible_message("[user] hit \the [target] with \the [src], shattering it!", "You shatter \the [src] in your hand!") + user.apply_damage(no_glove_d + break_damage, BRUTE, active_hand, 0 ,0, src, src.sharp, src.edge) + playsound(user, pick('sound/effects/Glassbr1.ogg', 'sound/effects/Glassbr2.ogg', 'sound/effects/Glassbr3.ogg'), 30, 1) + qdel(src) + else + user.apply_damage(no_glove_d, BRUTE, active_hand, 0 ,0, src, src.sharp, src.edge) + /obj/item/weapon/material/shard/Crossed(AM as mob|obj) ..() if(isliving(AM)) diff --git a/code/game/objects/items/weapons/storage/firstaid_vr.dm b/code/game/objects/items/weapons/storage/firstaid_vr.dm index 6f9bf71fb4..55cce5358c 100644 --- a/code/game/objects/items/weapons/storage/firstaid_vr.dm +++ b/code/game/objects/items/weapons/storage/firstaid_vr.dm @@ -12,51 +12,61 @@ name = "bottle of Rezadone pills" desc = "A powder with almost magical properties, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." starts_with = list(/obj/item/weapon/reagent_containers/pill/rezadone = 7) + wrapper_color = COLOR_GREEN_GRAY /obj/item/weapon/storage/pill_bottle/peridaxon name = "bottle of Peridaxon pills" desc = "Used to encourage recovery of internal organs and nervous systems. Medicate cautiously." starts_with = list(/obj/item/weapon/reagent_containers/pill/peridaxon = 7) + wrapper_color = COLOR_PURPLE /obj/item/weapon/storage/pill_bottle/carthatoline name = "bottle of Carthatoline pills" desc = "Carthatoline is strong evacuant used to treat severe poisoning." starts_with = list(/obj/item/weapon/reagent_containers/pill/carthatoline = 7) + wrapper_color = COLOR_GREEN_GRAY /obj/item/weapon/storage/pill_bottle/alkysine name = "bottle of Alkysine pills" desc = "Alkysine is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue." starts_with = list(/obj/item/weapon/reagent_containers/pill/alkysine = 7) + wrapper_color = COLOR_YELLOW /obj/item/weapon/storage/pill_bottle/imidazoline name = "bottle of Imidazoline pills" desc = "Heals eye damage." starts_with = list(/obj/item/weapon/reagent_containers/pill/imidazoline = 7) + wrapper_color = COLOR_PURPLE_GRAY /obj/item/weapon/storage/pill_bottle/osteodaxon name = "bottle of Osteodaxon pills" desc = "An experimental drug used to heal bone fractures." starts_with = list(/obj/item/weapon/reagent_containers/pill/osteodaxon = 7) + wrapper_color = COLOR_WHITE /obj/item/weapon/storage/pill_bottle/myelamine name = "bottle of Myelamine pills" desc = "Used to rapidly clot internal hemorrhages by increasing the effectiveness of platelets." starts_with = list(/obj/item/weapon/reagent_containers/pill/myelamine = 7) + wrapper_color = COLOR_PALE_PURPLE_GRAY /obj/item/weapon/storage/pill_bottle/hyronalin name = "bottle of Hyronalin pills" desc = "Hyronalin is a medicinal drug used to counter the effect of radiation poisoning." starts_with = list(/obj/item/weapon/reagent_containers/pill/hyronalin = 7) + wrapper_color = COLOR_TEAL /obj/item/weapon/storage/pill_bottle/arithrazine name = "bottle of Arithrazine pills" desc = "Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning." starts_with = list(/obj/item/weapon/reagent_containers/pill/arithrazine = 7) + wrapper_color = COLOR_TEAL /obj/item/weapon/storage/pill_bottle/corophizine name = "bottle of Corophizine pills" desc = "A wide-spectrum antibiotic drug. Powerful and uncomfortable in equal doses." starts_with = list(/obj/item/weapon/reagent_containers/pill/corophizine = 7) + wrapper_color = COLOR_PALE_GREEN_GRAY /obj/item/weapon/storage/pill_bottle/healing_nanites name = "bottle of Healing nanites capsules" diff --git a/code/modules/admin/verbs/adminhelp_vr.dm b/code/modules/admin/verbs/adminhelp_vr.dm index 8d27022ae4..f2df8e4eb2 100644 --- a/code/modules/admin/verbs/adminhelp_vr.dm +++ b/code/modules/admin/verbs/adminhelp_vr.dm @@ -18,6 +18,7 @@ /client/verb/adminspice() set category = "Admin" set name = "Request Spice" + set desc = "Request admins to spice round up for you" //handle muting and automuting if(prefs.muted & MUTE_ADMINHELP) @@ -26,6 +27,7 @@ if(alert(usr, "Are you sure you want to request the admins spice things up for you? You accept the consequences if you do.",,"No","Yes") != "No") message_admins("[ADMIN_FULLMONTY(usr)] has requested the round be spiced up a little.") + to_chat(usr, "You have requested some more spice in your round.") else to_chat(usr, "Spice request cancelled.") return diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 321655bb15..11541128c5 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -282,11 +282,11 @@ var/obj/item/device/pda/pda = H.wear_id id = pda.id id.icon_state = "gold" - id.access = get_all_accesses() + id.access = get_all_accesses().Copy() else var/obj/item/weapon/card/id/id = new/obj/item/weapon/card/id(M); id.icon_state = "gold" - id.access = get_all_accesses() + id.access = get_all_accesses().Copy() id.registered_name = H.real_name id.assignment = "Colony Director" id.name = "[id.registered_name]'s ID Card ([id.assignment])" diff --git a/code/modules/client/preference_setup/vore/02_size.dm b/code/modules/client/preference_setup/vore/02_size.dm index dcccf64ae0..2fe8b54e98 100644 --- a/code/modules/client/preference_setup/vore/02_size.dm +++ b/code/modules/client/preference_setup/vore/02_size.dm @@ -46,7 +46,6 @@ character.weight_loss = pref.weight_loss character.fuzzy = pref.fuzzy character.appearance_flags -= pref.fuzzy*PIXEL_SCALE - character.appearance_flags |= KEEP_TOGETHER character.resize(pref.size_multiplier, animate = FALSE) /datum/category_item/player_setup_item/vore/size/content(var/mob/user) diff --git a/code/modules/integrated_electronics/core/printer.dm b/code/modules/integrated_electronics/core/printer.dm index 871051a258..cdf4652d5e 100644 --- a/code/modules/integrated_electronics/core/printer.dm +++ b/code/modules/integrated_electronics/core/printer.dm @@ -148,7 +148,7 @@ else var/obj/item/I = build_type cost = initial(I.w_class) - if(!build_type in SScircuit.circuit_fabricator_recipe_list[current_category]) + if(!(build_type in SScircuit.circuit_fabricator_recipe_list[current_category])) return if(!debug) diff --git a/code/modules/mob/living/bot/SLed209bot.dm b/code/modules/mob/living/bot/SLed209bot.dm index 989c2e708d..7b5bbc76e5 100644 --- a/code/modules/mob/living/bot/SLed209bot.dm +++ b/code/modules/mob/living/bot/SLed209bot.dm @@ -21,7 +21,6 @@ xeno_harm_strength = 9 req_one_access = list(access_research, access_robotics) botcard_access = list(access_research, access_robotics, access_xenobiology, access_xenoarch, access_tox, access_tox_storage, access_maint_tunnels) - used_weapon = /obj/item/weapon/melee/baton/slime var/xeno_stun_strength = 6 /mob/living/bot/secbot/ed209/slime/update_icons() diff --git a/code/modules/mob/living/simple_mob/life.dm b/code/modules/mob/living/simple_mob/life.dm index 4c063e4bd9..d4ed684deb 100644 --- a/code/modules/mob/living/simple_mob/life.dm +++ b/code/modules/mob/living/simple_mob/life.dm @@ -88,7 +88,7 @@ if(Environment) - if( abs(Environment.temperature - bodytemperature) > 40 ) + if( abs(Environment.temperature - bodytemperature) > temperature_range ) //VOREStation Edit: heating adjustments bodytemperature += ((Environment.temperature - bodytemperature) / 5) if(min_oxy) diff --git a/code/modules/mob/living/simple_mob/simple_mob_vr.dm b/code/modules/mob/living/simple_mob/simple_mob_vr.dm index d388d1ec88..24faf9cc2a 100644 --- a/code/modules/mob/living/simple_mob/simple_mob_vr.dm +++ b/code/modules/mob/living/simple_mob/simple_mob_vr.dm @@ -4,6 +4,8 @@ #define SA_ICON_REST 0x03 /mob/living/simple_mob + var/temperature_range = 40 // How close will they get to environmental temperature before their body stops changing its heat + var/vore_active = 0 // If vore behavior is enabled for this mob var/vore_capacity = 1 // The capacity (in people) this person can hold diff --git a/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs_vr.dm b/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs_vr.dm index e7bb82bb5d..55a9172c07 100644 --- a/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs_vr.dm @@ -10,4 +10,16 @@ /mob/living/simple_mob/humanoid/merc/ranged/space name = "mercenary commando" - maxbodytemp = 700 \ No newline at end of file + maxbodytemp = 700 + +/mob/living/simple_mob/humanoid/merc/ranged/virgo + name = "suspicious individual" + min_oxy = 0 + max_oxy = 0 + min_tox = 0 + max_tox = 0 + min_co2 = 0 + max_co2 = 0 + min_n2 = 0 + max_n2 = 0 + minbodytemp = 0 \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes_vr.dm b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes_vr.dm index 43cec1e80c..3188ae0aa1 100644 --- a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes_vr.dm @@ -1,4 +1,5 @@ /mob/living/simple_mob/slime/xenobio + temperature_range = 5 mob_bump_flag = 0 /mob/living/simple_mob/slime/xenobio/Initialize(mapload, var/mob/living/simple_mob/slime/xenobio/my_predecessor) diff --git a/code/modules/power/apc_vr.dm b/code/modules/power/apc_vr.dm new file mode 100644 index 0000000000..c08c9b8db0 --- /dev/null +++ b/code/modules/power/apc_vr.dm @@ -0,0 +1,9 @@ +/obj/machinery/power/apc/proc/update_area() + var/area/NA = get_area(src) + if(!(NA == area)) + if(area.apc == src) + area.apc = null + NA.apc = src + area = NA + name = "[area.name] APC" + update() \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/pill_vr.dm b/code/modules/reagents/reagent_containers/pill_vr.dm index ad9663d020..30d084570f 100644 --- a/code/modules/reagents/reagent_containers/pill_vr.dm +++ b/code/modules/reagents/reagent_containers/pill_vr.dm @@ -1,7 +1,7 @@ /obj/item/weapon/reagent_containers/pill/nutriment name = "Nutriment pill" desc = "Used to feed people on the field. Contains 30 units of Nutriment." - icon_state = "pill6" + icon_state = "pill10" /obj/item/weapon/reagent_containers/pill/nutriment/Initialize() ..() @@ -10,7 +10,7 @@ /obj/item/weapon/reagent_containers/pill/protein name = "Meat pill" desc = "Used to feed carnivores on the field. Contains 30 units of Protein." - icon_state = "pill20" + icon_state = "pill24" /obj/item/weapon/reagent_containers/pill/protein/Initialize() ..() @@ -19,11 +19,12 @@ /obj/item/weapon/reagent_containers/pill/rezadone name = "Rezadone pill" desc = "A powder with almost magical properties, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." - icon_state = "pill13" + icon_state = "pill2" /obj/item/weapon/reagent_containers/pill/rezadone/Initialize() ..() reagents.add_reagent("rezadone", 5) + color = reagents.get_color() /obj/item/weapon/reagent_containers/pill/peridaxon name = "Peridaxon pill" @@ -37,38 +38,42 @@ /obj/item/weapon/reagent_containers/pill/carthatoline name = "Carthatoline pill" desc = "Carthatoline is strong evacuant used to treat severe poisoning." - icon_state = "pill17" + icon_state = "pill4" /obj/item/weapon/reagent_containers/pill/carthatoline/Initialize() ..() reagents.add_reagent("carthatoline", 10) + color = reagents.get_color() /obj/item/weapon/reagent_containers/pill/alkysine name = "Alkysine pill" desc = "Alkysine is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue." - icon_state = "pill7" + icon_state = "pill3" /obj/item/weapon/reagent_containers/pill/alkysine/Initialize() ..() reagents.add_reagent("alkysine", 10) + color = reagents.get_color() /obj/item/weapon/reagent_containers/pill/imidazoline name = "Imidazoline pill" desc = "Heals eye damage." - icon_state = "pill9" + icon_state = "pill3" /obj/item/weapon/reagent_containers/pill/imidazoline/Initialize() ..() reagents.add_reagent("imidazoline", 15) + color = reagents.get_color() /obj/item/weapon/reagent_containers/pill/osteodaxon name = "Osteodaxon pill" desc = "An experimental drug used to heal bone fractures." - icon_state = "pill19" + icon_state = "pill2" /obj/item/weapon/reagent_containers/pill/osteodaxon/Initialize() ..() reagents.add_reagent("osteodaxon", 10) + color = reagents.get_color() /obj/item/weapon/reagent_containers/pill/myelamine name = "Myelamine pill" @@ -78,15 +83,17 @@ /obj/item/weapon/reagent_containers/pill/myelamine/Initialize() ..() reagents.add_reagent("myelamine", 10) + color = reagents.get_color() /obj/item/weapon/reagent_containers/pill/hyronalin name = "Hyronalin pill" desc = "Hyronalin is a medicinal drug used to counter the effect of radiation poisoning." - icon_state = "pill17" + icon_state = "pill4" /obj/item/weapon/reagent_containers/pill/hyronalin/Initialize() ..() reagents.add_reagent("hyronalin", 15) + color = reagents.get_color() /obj/item/weapon/reagent_containers/pill/arithrazine name = "Arithrazine pill" @@ -96,21 +103,24 @@ /obj/item/weapon/reagent_containers/pill/arithrazine/Initialize() ..() reagents.add_reagent("arithrazine", 5) + color = reagents.get_color() /obj/item/weapon/reagent_containers/pill/corophizine name = "Corophizine pill" desc = "A wide-spectrum antibiotic drug. Powerful and uncomfortable in equal doses." - icon_state = "pill9" + icon_state = "pill2" /obj/item/weapon/reagent_containers/pill/corophizine/Initialize() ..() reagents.add_reagent("corophizine", 5) + color = reagents.get_color() /obj/item/weapon/reagent_containers/pill/healing_nanites name = "Healing nanites capsule" desc = "Miniature medical robots that swiftly restore bodily damage." - icon_state = "pill5" + icon_state = "pill1" /obj/item/weapon/reagent_containers/pill/healing_nanites/Initialize() ..() reagents.add_reagent("healing_nanites", 30) + color = reagents.get_color() diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index f372ebe37d..8c5f15f741 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -658,7 +658,6 @@ set category = "Preferences" set desc = "Switch sharp/fuzzy scaling for current mob." appearance_flags ^= PIXEL_SCALE - appearance_flags ^= KEEP_TOGETHER /mob/living/examine(mob/user, distance, infix, suffix) . = ..(user, distance, infix, suffix) diff --git a/code/modules/vore/fluffstuff/custom_clothes_vr.dm b/code/modules/vore/fluffstuff/custom_clothes_vr.dm index 4396932eab..fa24a83424 100644 --- a/code/modules/vore/fluffstuff/custom_clothes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_clothes_vr.dm @@ -693,9 +693,6 @@ icon_override = 'icons/vore/custom_clothes_vr.dmi' item_state = "rig-hos_mob" - //Slightly improved security voidsuit, which when made, was: - //armor = list(melee = 50, bullet = 25, laser = 25, energy = 5, bomb = 45, bio = 100, rad = 10) - armor = list("melee" = 60, "bullet" = 35, "laser" = 35, "energy" = 15, "bomb" = 50, "bio" = 100, "rad" = 10) species_restricted = null //HOS Hardsuit Helmet @@ -709,7 +706,6 @@ icon_override = 'icons/vore/custom_clothes_vr.dmi' item_state = "rig0-hos_mob" - armor = list("melee" = 60, "bullet" = 35, "laser" = 35, "energy" = 15, "bomb" = 50, "bio" = 100, "rad" = 10) species_restricted = null //adk09:Lethe diff --git a/html/changelog.html b/html/changelog.html index f122636ec5..a1b7e3bd02 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -53,6 +53,57 @@ -->
+

21 August 2019

+

Atermonera updated:

+ +

Mechoid updated:

+ +

Nalarac updated:

+ +

TheFurryFeline updated:

+ +

Woodrat updated:

+ +

08 August 2019

Mechoid updated: