Skip to content

Commit 62d30b2

Browse files
authored
Merge pull request #15697 from VOREStation/master
1/21/24 - Map swap
2 parents 122fbfe + 7335b57 commit 62d30b2

File tree

94 files changed

+1430
-1170
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

94 files changed

+1430
-1170
lines changed

code/__defines/chemistry.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
// Chemistry lists.
5050
var/list/tachycardics = list("coffee", "inaprovaline", "hyperzine", "nitroglycerin", "thirteenloko", "nicotine") // Increase heart rate.
5151
var/list/bradycardics = list("neurotoxin", "cryoxadone", "clonexadone", "bliss", "stoxin", "ambrosia_extract") // Decrease heart rate.
52-
var/list/heartstopper = list("potassium_chlorophoride", "zombie_powder") // This stops the heart.
52+
var/list/heartstopper = list("potassium_chlorophoride", "zombiepowder") // This stops the heart.
5353
var/list/cheartstopper = list("potassium_chloride") // This stops the heart when overdose is met. -- c = conditional
5454

5555
#define MAX_PILL_SPRITE 24 //max icon state of the pill sprites

code/_onclick/hud/robot.dm

+6-4
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,8 @@ var/obj/screen/robot_inventory
240240

241241
var/display_rows = -round(-(r.module.modules.len) / 8)
242242
r.robot_modules_background.screen_loc = "CENTER-4:16,SOUTH+1:7 to CENTER+3:16,SOUTH+[display_rows]:7"
243-
r.client.screen += r.robot_modules_background
243+
if(r.client)
244+
r.client.screen += r.robot_modules_background
244245

245246
var/x = -4 //Start at CENTER-4,SOUTH+1
246247
var/y = 1
@@ -258,7 +259,7 @@ var/obj/screen/robot_inventory
258259
r.module.modules.Remove(r.module.emag)
259260

260261
for(var/atom/movable/A in r.module.modules)
261-
if( (A != r.module_state_1) && (A != r.module_state_2) && (A != r.module_state_3) )
262+
if(r.client && (A != r.module_state_1) && (A != r.module_state_2) && (A != r.module_state_3) )
262263
//Module is not currently active
263264
r.client.screen += A
264265
if(x < 0)
@@ -276,11 +277,12 @@ var/obj/screen/robot_inventory
276277
//Modules display is hidden
277278
//r.client.screen -= robot_inventory //"store" icon
278279
for(var/atom/A in r.module.modules)
279-
if( (A != r.module_state_1) && (A != r.module_state_2) && (A != r.module_state_3) )
280+
if(r.client && (A != r.module_state_1) && (A != r.module_state_2) && (A != r.module_state_3) )
280281
//Module is not currently active
281282
r.client.screen -= A
282283
r.shown_robot_modules = 0
283-
r.client.screen -= r.robot_modules_background
284+
if(r.client)
285+
r.client.screen -= r.robot_modules_background
284286

285287
/mob/living/silicon/robot/update_hud()
286288
if(modtype)

code/game/antagonist/station/highlander.dm

+18-14
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ var/datum/antagonist/highlander/highlanders
1212
initial_spawn_req = 3
1313
initial_spawn_target = 5
1414

15+
id_type = /obj/item/weapon/card/id/centcom/ERT
16+
1517
/datum/antagonist/highlander/New()
1618
..()
1719
highlanders = src
@@ -32,26 +34,28 @@ var/datum/antagonist/highlander/highlanders
3234
if(!..())
3335
return
3436

35-
for (var/obj/item/I in player)
36-
if (istype(I, /obj/item/weapon/implant))
37-
continue
38-
qdel(I)
39-
37+
// drop original items! It used to be a loop that just Qdeled everything including your organs!
38+
// Dropping because of non-oxy breathers... That would suck wouldn't it?
39+
player.drop_from_inventory(player.get_equipped_item(slot_wear_id))
40+
player.drop_from_inventory(player.get_equipped_item(slot_wear_suit))
41+
player.drop_from_inventory(player.get_equipped_item(slot_w_uniform))
42+
player.drop_from_inventory(player.get_equipped_item(slot_l_ear))
43+
player.drop_from_inventory(player.get_equipped_item(slot_head))
44+
player.drop_from_inventory(player.get_equipped_item(slot_l_hand))
45+
player.drop_from_inventory(player.get_equipped_item(slot_shoes))
46+
player.drop_from_inventory(player.get_equipped_item(slot_l_store))
47+
// highlanders!
4048
player.equip_to_slot_or_del(new /obj/item/clothing/under/kilt(player), slot_w_uniform)
41-
player.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(player), slot_l_ear)
4249
player.equip_to_slot_or_del(new /obj/item/clothing/head/beret(player), slot_head)
4350
player.equip_to_slot_or_del(new /obj/item/weapon/material/sword(player), slot_l_hand)
4451
player.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/combat(player), slot_shoes)
4552
player.equip_to_slot_or_del(new /obj/item/weapon/pinpointer(get_turf(player)), slot_l_store)
4653

47-
var/obj/item/weapon/card/id/W = new(player)
48-
W.name = "[player.real_name]'s ID Card"
49-
W.icon_state = "centcom"
50-
W.access = get_all_station_access().Copy()
51-
W.access |= get_all_centcom_access()
52-
W.assignment = "Highlander"
53-
W.registered_name = player.real_name
54-
player.equip_to_slot_or_del(W, slot_wear_id)
54+
var/obj/item/weapon/card/id/id = create_id("Highlander", player)
55+
if(id)
56+
id.access |= get_all_station_access()
57+
id.icon_state = "centcom"
58+
create_radio(DTH_FREQ, player)
5559

5660
/proc/only_one()
5761

code/game/objects/items/weapons/material/material_weapons.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@
140140
return
141141

142142
/obj/item/weapon/material/proc/sharpen(var/material, var/sharpen_time, var/kit, mob/living/M)
143-
if(!fragile)
143+
if(!fragile && src.material.can_sharpen)
144144
if(health < initial(health))
145145
to_chat(M, "You should repair [src] first. Try using [kit] on it.")
146146
return FALSE

code/game/objects/items/weapons/storage/laundry_basket.dm

+4-3
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@
6565
return ..()
6666

6767
/obj/item/weapon/storage/laundry_basket/dropped(mob/user as mob)
68-
QDEL_NULL(linked)
68+
if(linked)
69+
QDEL_NULL(linked)
6970
return ..()
7071

7172
/obj/item/weapon/storage/laundry_basket/show_to(mob/user as mob)
@@ -82,6 +83,6 @@
8283
use_to_pickup = FALSE
8384

8485
/obj/item/weapon/storage/laundry_basket/offhand/dropped(mob/user as mob)
85-
user.drop_from_inventory(linked)
86+
if(user.isEquipped(linked))
87+
user.drop_from_inventory(linked)
8688
return
87-

code/game/turfs/flooring/flooring.dm

+11
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,17 @@ var/list/flooring_types
198198
'sound/effects/footstep/mud3.ogg',
199199
'sound/effects/footstep/mud4.ogg'))
200200

201+
/decl/flooring/rock
202+
name = "rocks"
203+
desc = "Hard as a rock."
204+
icon = 'icons/turf/outdoors.dmi'
205+
icon_base = "rock"
206+
footstep_sounds = list("human" = list(
207+
'sound/effects/footstep/LightStone1.ogg',
208+
'sound/effects/footstep/LightStone2.ogg',
209+
'sound/effects/footstep/LightStone3.ogg',
210+
'sound/effects/footstep/LightStone4.ogg'))
211+
201212
/decl/flooring/asteroid
202213
name = "coarse sand"
203214
desc = "You got a pebble in your shoe just looking at it."

code/game/turfs/simulated/outdoors/outdoors.dm

+2-1
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ var/list/turf_edge_cache = list()
123123
desc = "Hard as a rock."
124124
icon_state = "rock"
125125
edge_blending_priority = 1
126+
initial_flooring = /decl/flooring/rock
126127

127128
/turf/simulated/floor/outdoors/rocks/caves
128129
outdoors = OUTDOORS_NO
@@ -185,4 +186,4 @@ var/list/turf_edge_cache = list()
185186
icon = 'icons/turf/concrete.dmi'
186187
icon_state = "concrete_dark"
187188
desc = "Some sort of material composite road."
188-
edge_blending_priority = -1
189+
edge_blending_priority = -1

code/game/turfs/simulated/underwater.dm

+2-2
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@
7171
water_state = "cult"
7272

7373
/turf/simulated/floor/water/underwater/ruins
74-
icon = 'maps/atoll/icons/turfs/marble.dmi'
74+
icon = 'maps/redgate/falls/icons/turfs/marble.dmi'
7575
icon_state = "1" // So it shows up in the map editor as water.
76-
water_icon = 'maps/atoll/icons/turfs/marble.dmi'
76+
water_icon = 'maps/redgate/falls/icons/turfs/marble.dmi'
7777
water_state = "1"
7878

7979
/turf/simulated/floor/water/underwater/sand

code/game/turfs/simulated/water.dm

+29
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,27 @@
7373
water_breath.adjust_gas(gasid, BREATH_MOLES) // They have no oxygen, but non-zero moles and temp
7474
water_breath.temperature = above_air.temperature
7575
return water_breath
76+
if(L && L.is_bad_swimmer() && depth >= 2 && !L.buckled())
77+
if(prob(10))
78+
L.visible_message("<span class='notice'>[L] splashes wildly.</span>","<span class='warning'>You struggle to keep your head above the water!</span>")
79+
if(L.can_breathe_water())
80+
var/datum/gas_mixture/water_breath = new()
81+
var/datum/gas_mixture/above_air = return_air()
82+
var/amount = 300
83+
water_breath.adjust_gas("oxygen", amount) // Assuming water breathes just extract the oxygen directly from the water.
84+
water_breath.temperature = above_air.temperature
85+
return water_breath
86+
else
87+
var/gasid = "carbon_dioxide"
88+
if(ishuman(L))
89+
var/mob/living/carbon/human/H = L
90+
if(H.species && H.species.exhale_type)
91+
gasid = H.species.exhale_type
92+
var/datum/gas_mixture/water_breath = new()
93+
var/datum/gas_mixture/above_air = return_air()
94+
water_breath.adjust_gas(gasid, BREATH_MOLES) // They have no oxygen, but non-zero moles and temp
95+
water_breath.temperature = above_air.temperature
96+
return water_breath
7697
return return_air() // Otherwise their head is above the water, so get the air from the atmosphere instead.
7798

7899
/turf/simulated/floor/water/Entered(atom/movable/AM, atom/oldloc)
@@ -125,6 +146,14 @@
125146
return species.can_breathe_water()
126147
return ..()
127148

149+
/mob/living/proc/is_bad_swimmer()
150+
return FALSE
151+
152+
/mob/living/carbon/human/is_bad_swimmer()
153+
if(species)
154+
return species.is_bad_swimmer()
155+
return ..()
156+
128157
/mob/living/proc/check_submerged()
129158
if(buckled)
130159
return 0

code/modules/admin/verbs/modify_robot.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
set name = "Modify Robot Module"
44
set desc = "Allows to add or remove modules to/from robots."
55
set category = "Admin"
6-
if(!check_rights(R_ADMIN))
6+
if(!check_rights(R_ADMIN, R_FUN, R_VAREDIT))
77
return
88

99
if(!istype(target) || !target.module)

code/modules/admin/verbs/resize.dm

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
set name = "Resize"
33
set desc = "Resizes any living mob without any restrictions on size."
44
set category = "Fun"
5-
if(!check_rights(R_ADMIN, R_FUN))
5+
if(!check_rights(R_ADMIN, R_FUN, R_VAREDIT))
66
return
7-
7+
88
var/size_multiplier = tgui_input_number(usr, "Input size multiplier.", "Resize", 1)
99
if(!size_multiplier)
1010
return //cancelled
@@ -21,4 +21,4 @@
2121
L.resize(size_multiplier, animate = TRUE, uncapped = TRUE, ignore_prefs = TRUE)
2222

2323
log_and_message_admins("has changed [key_name(L)]'s size multiplier to [size_multiplier].")
24-
feedback_add_details("admin_verb","RESIZE")
24+
feedback_add_details("admin_verb","RESIZE")

code/modules/client/preference_setup/loadout/loadout_suit.dm

+4
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,10 @@
505505
path = /obj/item/clothing/suit/storage/hooded/wintercoat/cosmic
506506
// winter coats end here
507507

508+
/datum/gear/suit/runner
509+
display_name = "runner jacket"
510+
path = /obj/item/clothing/suit/runner
511+
508512
/datum/gear/suit/varsity
509513
display_name = "varsity jacket selection"
510514
path = /obj/item/clothing/suit/varsity

code/modules/client/preference_setup/loadout/loadout_uniform.dm

+4
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,10 @@
374374
display_name = "halter top"
375375
path = /obj/item/clothing/under/haltertop
376376

377+
/datum/gear/uniform/tanktop
378+
display_name = "tank top"
379+
path = /obj/item/clothing/under/tanktop
380+
377381
/datum/gear/uniform/revealingdress
378382
display_name = "revealing dress"
379383
path = /obj/item/clothing/under/dress/revealingdress

code/modules/clothing/suits/miscellaneous.dm

+8
Original file line numberDiff line numberDiff line change
@@ -799,6 +799,14 @@
799799
name = "brown varsity jacket"
800800
icon_state = "varsity_brown"
801801

802+
/obj/item/clothing/suit/runner
803+
name = "runner jacket"
804+
desc = "A yellow sports jacket with white trim and an unfolded collar."
805+
icon_state = "runner"
806+
allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask)
807+
item_state_slots = list(slot_r_hand_str = "suit_red", slot_l_hand_str = "suit_red")
808+
flags_inv = HIDEHOLSTER
809+
802810
/*
803811
* Department Jackets
804812
*/

code/modules/clothing/under/miscellaneous.dm

+5
Original file line numberDiff line numberDiff line change
@@ -981,6 +981,11 @@
981981
desc = "Jean shorts and a black halter top. Perfect for casual Fridays!"
982982
icon_state = "haltertop"
983983

984+
/obj/item/clothing/under/tanktop
985+
name = "tank top"
986+
desc = "The most versatile top ever created."
987+
icon_state = "tanktop"
988+
984989
/obj/item/clothing/under/rippedpunk
985990
name = "ripped punk jeans"
986991
desc = "Black ripped jeans and a fishnet top. How punk."

code/modules/lore_codex/codex.dm

+10-2
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,21 @@
99
var/datum/codex_tree/tree = null
1010
var/root_type = /datum/lore/codex/category/main_virgo_lore //Runtimes on codex_tree.dm, line 18 with a null here
1111

12+
var/static/list/codex_tree_keys = list() // static list linking codexes to the correct codex_tree.
13+
1214
/obj/item/weapon/book/codex/Initialize()
13-
tree = new(src, root_type)
15+
tree = codex_tree_keys["[root_type]"]
16+
if(!tree)
17+
tree = new(src, root_type)
18+
codex_tree_keys["[root_type]"] = tree
1419
. = ..()
1520

1621
/obj/item/weapon/book/codex/attack_self(mob/user)
1722
if(!tree)
18-
tree = new(src, root_type)
23+
tree = codex_tree_keys["[root_type]"]
24+
if(!tree)
25+
tree = new(src, root_type)
26+
codex_tree_keys["[root_type]"] = tree
1927
icon_state = "[initial(icon_state)]-open"
2028
tree.display(user)
2129

0 commit comments

Comments
 (0)