diff --git a/code/datums/riding.dm b/code/datums/riding.dm
index ba96dbc405..9dd32dcd93 100644
--- a/code/datums/riding.dm
+++ b/code/datums/riding.dm
@@ -8,6 +8,7 @@
var/key_name = "the keys" // What the 'keys' for the thing being rided on would be called.
var/atom/movable/ridden = null // The thing that the datum is attached to.
var/only_one_driver = FALSE // If true, only the person in 'front' (first on list of riding mobs) can drive.
+ var/rider_size = 1 // VOREStation Edit to figure out offsets for rider.
/datum/riding/New(atom/movable/_ridden)
ridden = _ridden
diff --git a/code/datums/supplypacks/misc_vr.dm b/code/datums/supplypacks/misc_vr.dm
index 9c30d686cc..d09f2394a5 100644
--- a/code/datums/supplypacks/misc_vr.dm
+++ b/code/datums/supplypacks/misc_vr.dm
@@ -158,4 +158,14 @@
cost = 300
containertype = /obj/structure/closet/crate
containername = "cordless jukebox speakers crate"
-
\ No newline at end of file
+
+/datum/supply_pack/misc/sword
+ name = "sword"
+ contains = list(
+ /obj/item/weapon/material/sword =2
+ )
+ cost =100
+ access = list(access_explorer,
+ access_security,)
+
+ one_access = TRUE
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index bfc164ae27..9e82b6f434 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -160,7 +160,11 @@
/obj/item/weapon/pipe_dispenser, //bigger belt for bigger tools
/obj/item/weapon/rcd, //see above
/obj/item/device/quantum_pad_booster,
- /obj/item/weapon/inducer
+ /obj/item/weapon/inducer,
+ /obj/item/stack/material/steel,
+ /obj/item/stack/material/glass,
+ /obj/item/device/lightreplacer,
+ /obj/item/weapon/pickaxe/plasmacutter
)
diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm
index d457d49811..8ec67cdf8f 100644
--- a/code/game/objects/structures/artstuff.dm
+++ b/code/game/objects/structures/artstuff.dm
@@ -335,6 +335,7 @@
var/desc_with_canvas
var/persistence_id
var/loaded = FALSE
+ var/curator = "nobody! Report bug if you see this."
//Presets for art gallery mapping, for paintings to be shared across stations
/obj/structure/sign/painting/public
@@ -345,10 +346,11 @@
/obj/structure/sign/painting/library_secure
name = "\improper Curated Painting Exhibit mounting"
- desc = "For masterpieces hand-picked by the curator."
- desc_with_canvas = "A masterpiece hand-picked by the curator, supposedly."
+ desc = "For masterpieces hand-picked by the librarian."
+ desc_with_canvas = "A masterpiece hand-picked by the librarian, supposedly."
persistence_id = "library"
req_one_access = list(access_library)
+ curator = "Librarian"
/obj/structure/sign/painting/chapel_secure
name = "\improper Religious Painting Exhibit mounting"
@@ -356,13 +358,15 @@
desc_with_canvas = "A masterpiece hand-picked by the chaplain, supposedly."
persistence_id = "chapel"
req_one_access = list(access_chapel_office)
+ curator = "Chaplain"
/obj/structure/sign/painting/library_private // keep your smut away from prying eyes, or non-librarians at least
name = "\improper Private Painting Exhibit mounting"
- desc = "For art pieces deemed too subversive or too illegal to be shared outside of curators."
+ desc = "For art pieces deemed too subversive or too illegal to be shared outside of librarians."
desc_with_canvas = "A painting hung away from lesser minds."
persistence_id = "library_private"
req_one_access = list(access_library)
+ curator = "Librarian"
/obj/structure/sign/painting/away_areas // for very hard-to-get-to areas
name = "\improper Remote Painting Exhibit mounting"
@@ -412,7 +416,7 @@
/obj/structure/sign/painting/proc/frame_canvas(mob/user,obj/item/canvas/new_canvas)
if(!allowed(user))
- to_chat(user, "You're not comfortable framing this canvas in such a prestigious spot!")
+ to_chat(user, "Access lock prevents you from putting a painting into this frame. Ask [curator] for help!")
return
if(user.drop_from_inventory(new_canvas, src))
current_canvas = new_canvas
@@ -423,7 +427,7 @@
/obj/structure/sign/painting/proc/unframe_canvas(mob/living/user)
if(!allowed(user))
- to_chat(user, "You're not comfortable removing this prestigious canvas!")
+ to_chat(user, "Access lock prevents you from removing paintings from this frame. Ask [curator] ((or admins)) for help!")
return
if(current_canvas)
current_canvas.forceMove(drop_location())
diff --git a/code/modules/busy_space_vr/air_traffic.dm b/code/modules/busy_space_vr/air_traffic.dm
index a71fb888df..8a3e5a1607 100644
--- a/code/modules/busy_space_vr/air_traffic.dm
+++ b/code/modules/busy_space_vr/air_traffic.dm
@@ -116,6 +116,9 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"pathwarning",30;"dockingrequestgeneric",30;"dockingrequestdenied",30;"dockingrequestdelayed",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",30;"undockingrequest","normal",30;"undockingdenied",30;"undockingdelayed",300;"slogan")
else if((org_type == "government" || org_type == "neutral" || org_type == "military"))
chatter_type = pick(5;"emerg",25;"policescan",25;"traveladvisory",30;"pathwarning",30;"dockingrequestgeneric",30;"dockingrequestdenied",30;"dockingrequestdelayed",30;"dockingrequestsupply",30;"dockingrequestrepair",30;"dockingrequestmedical",30;"dockingrequestsecurity",30;"undockingrequest","normal",30;"undockingdenied",30;"undockingdelayed")
+ else if(org_type == "spacer")
+ chatter_type = pick(5;"emerg",15;"policescan",15;"traveladvisory",5;"pathwarning",10;"dockingrequestgeneric",30;"dockingrequestdenied",10;"dockingrequestdelayed",30;"dockingrequestsupplly",10;"dockingrequestrepair",20;"dockingrequestmedical",20;"dockingrequestsecurity",30;"undockingrequest","normal",10;"undockingdenied",30;"undockingdelayed")
+
//the following filters *always* fire their 'unique' event when they're tripped, simply because the conditions behind them are quite rare to begin with
else if(org_type == "smuggler" && org_type2 != "system defense") //just straight up funnel smugglers into always being caught, otherwise we get them asking for traffic info and stuff
chatter_type = "policeflee"
@@ -141,7 +144,7 @@ var/datum/lore/atc_controller/atc = new/datum/lore/atc_controller
//to_world("DEBUG OUTPUT 2: [secondowner], [secondprefix], [secondshipname], [org_type2]")
//to_world("DEBUG OUTPUT 3: Chose [chatter_type]")
//DEBUG BLOCK ENDS
-
+
var/yes = prob(90) //Chance for them to say yes vs no
var/request = pick(requests)
diff --git a/code/modules/busy_space_vr/organizations.dm b/code/modules/busy_space_vr/organizations.dm
index f52a61fe2d..f2d719968a 100644
--- a/code/modules/busy_space_vr/organizations.dm
+++ b/code/modules/busy_space_vr/organizations.dm
@@ -2677,6 +2677,7 @@
work = "salvage and trade operators"
headquarters = "AH-CV Migrant"
motto = ""
+ org_type = "spacer"
ship_prefixes = list("AH-DV" = "a diplomatic", "AH-EV" = "an exploration", "AH-FV" = "a fueling", "AH-FV" = "a cargo", "AH-SV" = "a research", "AH-TV" = "a colony-transporter", "AH-RV" = "an emergency response", "AH-RV" = "a response", "AH-MV" = "a medical")
ship_names = list(
diff --git a/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm b/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm
index 3fcc18e04a..3542aadda0 100644
--- a/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm
@@ -110,3 +110,7 @@ Talon winter coat
path = /obj/item/clothing/suit/storage/hooded/wintercoat/talon
+/datum/gear/suit/armor/combat/crusader_explo
+ display_name = "knight, explo"
+ path = /obj/item/clothing/suit/armor/combat/crusader_explo
+ allowed_roles = list("Explorer","Field Medic","Pathfinder")
diff --git a/code/modules/client/preference_setup/vore/08_nif.dm b/code/modules/client/preference_setup/vore/08_nif.dm
index 62ebbdbeac..c618341344 100644
--- a/code/modules/client/preference_setup/vore/08_nif.dm
+++ b/code/modules/client/preference_setup/vore/08_nif.dm
@@ -38,11 +38,16 @@
if((character.type == /mob/living/carbon/human) && ispath(pref.nif_path) && pref.nif_durability)
new pref.nif_path(character,pref.nif_durability,pref.nif_savedata)
+ /*
//And now here's the trick. We wipe these so that if they die, they lose the NIF.
//Backup implants will start saving this again periodically, and so will cryo'ing out.
pref.nif_path = null
pref.nif_durability = null
pref.nif_savedata = null
+ */
+ //No we do not, that's lame and admins have to re-NIF them later.
+ //If they leave round after they get their NIF extracted, it will save as 'gone' anyway
+ //The NIF will save automatically every time durability changes too now.
var/savefile/S = new /savefile(pref.path)
if(!S) WARNING ("Couldn't load NIF save savefile? [pref.real_name]")
S.cd = "/character[pref.default_slot]"
diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm
index b98d08131d..44715c2576 100644
--- a/code/modules/clothing/head/jobs.dm
+++ b/code/modules/clothing/head/jobs.dm
@@ -278,6 +278,6 @@
//Quartermaster
/obj/item/clothing/head/beret/qm
- name = "quartermaster's white beret"
+ name = "quartermaster's beret"
desc = "This headwear shows off your Cargonian leadership."
icon_state = "beretqm"
\ No newline at end of file
diff --git a/code/modules/clothing/suits/armor_vr.dm b/code/modules/clothing/suits/armor_vr.dm
index 8fed317d35..04cdf610c2 100644
--- a/code/modules/clothing/suits/armor_vr.dm
+++ b/code/modules/clothing/suits/armor_vr.dm
@@ -114,6 +114,8 @@
icon_state = "bedevere"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
+
+
//Deluxe explorer suit
/obj/item/clothing/suit/armor/pcarrier/explorer/deluxe
name = "modular explorer suit"
@@ -123,7 +125,7 @@
/obj/item/clothing/suit/armor/crusader
name = "crusader armor"
desc = "God will protect those who defend his faith."
-
+
armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 25, "bomb" = 30, "bio" = 0, "rad" = 0)
icon = 'icons/inventory/suit/item_vr.dmi'
@@ -133,9 +135,32 @@
/obj/item/clothing/head/helmet/crusader
name = "crusader helmet"
desc = "God will protect those who defend his faith."
-
+
armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 25, "bomb" = 30, "bio" = 0, "rad" = 0)
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "crusader_head"
+
+/obj/item/clothing/suit/armor/combat/crusader_explo
+ name = "explorer low tech suit"
+ desc = "A low tech armoured suit for exploring harsh environments."
+ icon_state = "crusader_explo"
+ icon = 'icons/obj/clothing/knights_vr.dmi'
+ icon_override = 'icons/obj/clothing/knights_vr.dmi'
+ flags = THICKMATERIAL
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
+ min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
+ cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
+ siemens_coefficient = 0.9
+ armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 35, bio = 75, rad = 35) // Inferior to sec vests in bullet/laser but better for environmental protection.
+ allowed = list(
+ /obj/item/device/flashlight,
+ /obj/item/weapon/gun,
+ /obj/item/ammo_magazine,
+ /obj/item/weapon/melee,
+ /obj/item/weapon/material/knife,
+ /obj/item/weapon/tank,
+ /obj/item/device/radio,
+ /obj/item/weapon/pickaxe
+ )
\ No newline at end of file
diff --git a/code/modules/clothing/suits/utility_vr.dm b/code/modules/clothing/suits/utility_vr.dm
index 19475fbe8c..9302fcf11b 100644
--- a/code/modules/clothing/suits/utility_vr.dm
+++ b/code/modules/clothing/suits/utility_vr.dm
@@ -29,3 +29,5 @@
SPECIES_VOX = 'icons/inventory/suit/mob_vox.dmi',
SPECIES_WEREBEAST = 'icons/inventory/suit/mob_vr_werebeast.dmi'
)
+
+
diff --git a/code/modules/mob/living/carbon/human/species/outsider/vox.dm b/code/modules/mob/living/carbon/human/species/outsider/vox.dm
index 6cba5f8cee..81b4baa194 100644
--- a/code/modules/mob/living/carbon/human/species/outsider/vox.dm
+++ b/code/modules/mob/living/carbon/human/species/outsider/vox.dm
@@ -108,4 +108,7 @@
H.internal = H.r_hand
H.internal = locate(/obj/item/weapon/tank) in H.contents
if(istype(H.internal,/obj/item/weapon/tank) && H.internals)
- H.internals.icon_state = "internal1"
\ No newline at end of file
+ H.internals.icon_state = "internal1"
+
+/datum/species/vox/get_perfect_belly_air_type()
+ return /datum/gas_mixture/belly_air/vox
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/species/species_getters_vr.dm b/code/modules/mob/living/carbon/human/species/species_getters_vr.dm
index 4ba9305acc..8bccade358 100644
--- a/code/modules/mob/living/carbon/human/species/species_getters_vr.dm
+++ b/code/modules/mob/living/carbon/human/species/species_getters_vr.dm
@@ -4,4 +4,7 @@
/datum/species/proc/get_wing(var/mob/living/carbon/human/H)
return wing
/datum/species/proc/get_wing_animation(var/mob/living/carbon/human/H)
- return wing_animation
\ No newline at end of file
+ return wing_animation
+
+/datum/species/proc/get_perfect_belly_air_type(var/mob/living/carbon/human/H)
+ return /datum/gas_mixture/belly_air //Default
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm
index 3675ab6ca3..460aded9ab 100644
--- a/code/modules/mob/living/carbon/human/species/station/station.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station.dm
@@ -467,6 +467,8 @@
if(!(K in covered))
H.apply_damage(light_amount/4, BURN, K, 0, 0, "Abnormal growths")
+/datum/species/zaddat/get_perfect_belly_air_type()
+ return /datum/gas_mixture/belly_air/zaddat
/datum/species/diona
name = SPECIES_DIONA
diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm
index 90bec77cb7..1182dcf34b 100644
--- a/code/modules/mob/living/life.dm
+++ b/code/modules/mob/living/life.dm
@@ -10,7 +10,11 @@
if(!loc)
return
- var/datum/gas_mixture/environment = loc.return_air()
+ var/datum/gas_mixture/environment
+ if(isbelly(loc))
+ environment = loc.return_air_for_internal_lifeform(src)
+ else
+ environment = loc.return_air()
//handle_modifiers() // Do this early since it might affect other things later. //VOREStation Edit
@@ -42,10 +46,10 @@
//Check if we're on fire
handle_fire()
-
+
if(client && !(client.prefs.ambience_freq == 0)) // Handle re-running ambience to mobs if they've remained in an area, AND have an active client assigned to them, and do not have repeating ambience disabled.
handle_ambience()
-
+
//stuff in the stomach
//handle_stomach() //VOREStation Code
diff --git a/code/modules/mob/living/silicon/robot/robot_vr.dm b/code/modules/mob/living/silicon/robot/robot_vr.dm
index b6c037440a..bcd6a9114b 100644
--- a/code/modules/mob/living/silicon/robot/robot_vr.dm
+++ b/code/modules/mob/living/silicon/robot/robot_vr.dm
@@ -209,12 +209,13 @@
/datum/riding/dogborg/get_offsets(pass_index) // list(dir = x, y, layer)
var/mob/living/L = ridden
var/scale = L.size_multiplier
+ var/scale_difference = (L.size_multiplier - rider_size) * 10
var/list/values = list(
- "[NORTH]" = list(0, 10*scale, ABOVE_MOB_LAYER),
- "[SOUTH]" = list(0, 10*scale, BELOW_MOB_LAYER),
- "[EAST]" = list(-5*scale, 10*scale, ABOVE_MOB_LAYER),
- "[WEST]" = list(5*scale, 10*scale, ABOVE_MOB_LAYER))
+ "[NORTH]" = list(0, 10*scale + scale_difference, ABOVE_MOB_LAYER),
+ "[SOUTH]" = list(0, 10*scale + scale_difference, BELOW_MOB_LAYER),
+ "[EAST]" = list(-5*scale, 10*scale + scale_difference, ABOVE_MOB_LAYER),
+ "[WEST]" = list(5*scale, 10*scale + scale_difference, ABOVE_MOB_LAYER))
return values
@@ -255,6 +256,7 @@
. = ..()
if(.)
+ riding_datum.rider_size = M.size_multiplier
buckled_mobs[M] = "riding"
/mob/living/silicon/robot/MouseDrop_T(mob/living/M, mob/living/user) //Prevention for forced relocation caused by can_buckle. Base proc has no other use.
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 b5b019d083..3349bd433f 100644
--- a/code/modules/mob/living/simple_mob/simple_mob_vr.dm
+++ b/code/modules/mob/living/simple_mob/simple_mob_vr.dm
@@ -301,12 +301,13 @@
/datum/riding/simple_mob/get_offsets(pass_index) // list(dir = x, y, layer)
var/mob/living/simple_mob/L = ridden
var/scale = L.size_multiplier
+ var/scale_difference = (L.size_multiplier - rider_size) * 10
var/list/values = list(
- "[NORTH]" = list(0, L.mount_offset_y*scale, ABOVE_MOB_LAYER),
- "[SOUTH]" = list(0, L.mount_offset_y*scale, BELOW_MOB_LAYER),
- "[EAST]" = list(-L.mount_offset_x*scale, L.mount_offset_y*scale, ABOVE_MOB_LAYER),
- "[WEST]" = list(L.mount_offset_x*scale, L.mount_offset_y*scale, ABOVE_MOB_LAYER))
+ "[NORTH]" = list(0, L.mount_offset_y*scale + scale_difference, ABOVE_MOB_LAYER),
+ "[SOUTH]" = list(0, L.mount_offset_y*scale + scale_difference, BELOW_MOB_LAYER),
+ "[EAST]" = list(-L.mount_offset_x*scale, L.mount_offset_y*scale + scale_difference, ABOVE_MOB_LAYER),
+ "[WEST]" = list(L.mount_offset_x*scale, L.mount_offset_y*scale + scale_difference, ABOVE_MOB_LAYER))
return values
@@ -333,6 +334,7 @@
. = ..()
if(.)
+ riding_datum.rider_size = H.size_multiplier
buckled_mobs[H] = "riding"
/mob/living/simple_mob/attack_hand(mob/user as mob)
diff --git a/code/modules/mob/new_player/sprite_accessories_taur.dm b/code/modules/mob/new_player/sprite_accessories_taur.dm
index cc0d2472c2..4fa3d66e1f 100644
--- a/code/modules/mob/new_player/sprite_accessories_taur.dm
+++ b/code/modules/mob/new_player/sprite_accessories_taur.dm
@@ -26,14 +26,15 @@
//Hoooo boy.
/datum/riding/taur/get_offsets(pass_index) // list(dir = x, y, layer)
var/mob/living/L = ridden
- var/scale_x = L.icon_scale_x * L.size_multiplier //VOREStation Edit
- var/scale_y = L.icon_scale_y * L.size_multiplier //VOREStation Edit
+ var/scale_x = L.icon_scale_x * L.size_multiplier //VOREStation Edit Start
+ var/scale_y = L.icon_scale_y * L.size_multiplier
+ var/scale_difference = (L.size_multiplier - rider_size) * 10
var/list/values = list(
- "[NORTH]" = list(0, 8*scale_y, ABOVE_MOB_LAYER),
- "[SOUTH]" = list(0, 8*scale_y, BELOW_MOB_LAYER),
- "[EAST]" = list(-10*scale_x, 8*scale_y, ABOVE_MOB_LAYER),
- "[WEST]" = list(10*scale_x, 8*scale_y, ABOVE_MOB_LAYER))
+ "[NORTH]" = list(0, 8*scale_y + scale_difference, ABOVE_MOB_LAYER),
+ "[SOUTH]" = list(0, 8*scale_y + scale_difference, BELOW_MOB_LAYER),
+ "[EAST]" = list(-10*scale_x, 8*scale_y + scale_difference, ABOVE_MOB_LAYER),
+ "[WEST]" = list(10*scale_x, 8*scale_y + scale_difference, ABOVE_MOB_LAYER)) //VOREStation Edit End
return values
@@ -74,6 +75,7 @@
. = ..()
if(.)
+ riding_datum.rider_size = M.size_multiplier
buckled_mobs[M] = "riding"
/mob/living/carbon/human/MouseDrop_T(mob/living/M, mob/living/user) //Prevention for forced relocation caused by can_buckle. Base proc has no other use.
diff --git a/code/modules/mob/new_player/sprite_accessories_wing_vr.dm b/code/modules/mob/new_player/sprite_accessories_wing_vr.dm
index 7cc4dfc081..c747c4923b 100644
--- a/code/modules/mob/new_player/sprite_accessories_wing_vr.dm
+++ b/code/modules/mob/new_player/sprite_accessories_wing_vr.dm
@@ -133,6 +133,7 @@
icon_state = "neckfur"
do_colouration = 1
color_blend_mode = ICON_MULTIPLY
+ extra_overlay = "neckfur_markings"
/datum/sprite_accessory/wing/feathered
name = "feathered wings, colorable"
diff --git a/code/modules/nifsoft/nif.dm b/code/modules/nifsoft/nif.dm
index 6d3d62e684..77f7ef093e 100644
--- a/code/modules/nifsoft/nif.dm
+++ b/code/modules/nifsoft/nif.dm
@@ -202,6 +202,9 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
durability -= wear
savetofile = TRUE // YW EDIT
+ if(human)
+ persist_nif_data(human)
+
if(durability <= 0)
stat = NIF_TEMPFAIL
update_icon()
@@ -210,6 +213,13 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
notify("Danger! General system insta#^!($",TRUE)
to_chat(human,"Your NIF vision overlays disappear and your head suddenly seems very quiet...")
+//Repair update/check proc
+/obj/item/device/nif/proc/repair(var/repair = 0)
+ durability = min(durability + repair, initial(durability))
+
+ if(human)
+ persist_nif_data(human)
+
//Attackby proc, for maintenance
/obj/item/device/nif/attackby(obj/item/weapon/W, mob/user as mob)
if(open == 0 && W.is_screwdriver())
@@ -239,6 +249,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
open = FALSE
durability = initial(durability)
+ repair(initial(durability))
savetofile = TRUE // YW EDIT
stat = NIF_PREINSTALL
update_icon()
diff --git a/code/modules/random_map/noise/ore.dm b/code/modules/random_map/noise/ore.dm
index a2aaec2d75..a9273f5ec0 100644
--- a/code/modules/random_map/noise/ore.dm
+++ b/code/modules/random_map/noise/ore.dm
@@ -53,7 +53,7 @@
var/current_cell = map[get_map_cell(x,y)]
if(current_cell < rare_val) // Surface metals.
- T.resources["hematite"] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX)
+ T.resources["hematite"] = rand(RESOURCE_MID_MIN, RESOURCE_HIGH_MAX)
T.resources["gold"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX)
T.resources["silver"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX)
T.resources["uranium"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX)
@@ -81,7 +81,7 @@
T.resources["lead"] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX)
T.resources["hydrogen"] = 0
T.resources["diamond"] = 0
- T.resources["hematite"] = 0
+ T.resources["hematite"] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX)
T.resources["marble"] = 0
//T.resources["copper"] = 0
//T.resources["tin"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX)
@@ -91,7 +91,7 @@
//T.resources["quartz"] = 0
//T.resources["painite"] = 0
else // Deep metals.
- T.resources["uranium"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX)
+ T.resources["uranium"] = rand(RESOURCE_MID_MIN, RESOURCE_HIGH_MAX)
T.resources["diamond"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX)
T.resources["verdantium"] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX)
T.resources["phoron"] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX)
@@ -99,9 +99,9 @@
T.resources["hydrogen"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX)
T.resources["marble"] = rand(RESOURCE_MID_MIN, RESOURCE_HIGH_MAX)
T.resources["lead"] = rand(RESOURCE_LOW_MIN, RESOURCE_HIGH_MAX)
- T.resources["hematite"] = 0
- T.resources["gold"] = 0
- T.resources["silver"] = 0
+ T.resources["hematite"] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX)
+ T.resources["gold"] = rand(RESOURCE_MID_MIN, RESOURCE_HIGH_MAX)
+ T.resources["silver"] = rand(RESOURCE_MID_MIN, RESOURCE_HIGH_MAX)
//T.resources["copper"] = 0
//T.resources["tin"] = 0
//T.resources["bauxite"] = 0
diff --git a/code/modules/reagents/reagents/other_vr.dm b/code/modules/reagents/reagents/other_vr.dm
index f0286667df..eba5c5cbbe 100644
--- a/code/modules/reagents/reagents/other_vr.dm
+++ b/code/modules/reagents/reagents/other_vr.dm
@@ -47,7 +47,7 @@
var/obj/item/device/nif/nif = H.nif //L o c a l
if(nif.stat == NIF_TEMPFAIL)
nif.stat = NIF_INSTALLING
- nif.durability = min(nif.durability + removed, initial(nif.durability))
+ nif.repair(removed)
/datum/reagent/firefighting_foam
name = "Firefighting Foam"
@@ -120,7 +120,7 @@
var/obj/item/device/nif/nif = H.nif //L o c a l
if(nif.stat == NIF_TEMPFAIL)
nif.stat = NIF_INSTALLING
- nif.durability = min(nif.durability + removed*0.1, initial(nif.durability))
+ nif.repair(removed*0.1)
//Special toxins for solargrubs
/datum/reagent/grubshock
diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm
index 7551b4a2da..9637ea2fe9 100644
--- a/code/modules/vore/eating/living_vr.dm
+++ b/code/modules/vore/eating/living_vr.dm
@@ -554,11 +554,20 @@
/obj/belly/return_air()
return return_air_for_internal_lifeform()
-/obj/belly/return_air_for_internal_lifeform()
+/obj/belly/return_air_for_internal_lifeform(var/mob/living/lifeform)
//Free air until someone wants to code processing it for reals from predbreaths
- var/datum/gas_mixture/belly_air/air = new(1000)
+ var/air_type = lifeform.get_perfect_belly_air_type() // Without any overrides/changes, its gonna be /datum/gas_mixture/belly_air
+ var/air = new air_type(1000)
return air
+/mob/living/proc/get_perfect_belly_air_type()
+ return /datum/gas_mixture/belly_air
+
+/mob/living/carbon/human/get_perfect_belly_air_type()
+ if(species)
+ return species.get_perfect_belly_air_type()
+ return ..()
+
// This is about 0.896m^3 of atmosphere
/datum/gas_mixture/belly_air
volume = 2500
@@ -571,6 +580,27 @@
"oxygen" = 21,
"nitrogen" = 79)
+/datum/gas_mixture/belly_air/vox
+ volume = 2500
+ temperature = 293.150
+ total_moles = 104
+
+/datum/gas_mixture/belly_air/vox/New()
+ . = ..()
+ gas = list(
+ "phoron" = 100)
+
+/datum/gas_mixture/belly_air/zaddat
+ volume = 2500
+ temperature = 293.150
+ total_moles = 300
+
+/datum/gas_mixture/belly_air/zaddat/New()
+ . = ..()
+ gas = list(
+ "oxygen" = 100)
+
+
/mob/living/proc/feed_grabbed_to_self_falling_nom(var/mob/living/user, var/mob/living/prey)
var/belly = user.vore_selected
return perform_the_nom(user, prey, user, belly, delay = 1) //1/10th of a second is probably fine.
diff --git a/icons/inventory/head/item_vr.dmi b/icons/inventory/head/item_vr.dmi
index 1f298898de..54a988a2b7 100644
Binary files a/icons/inventory/head/item_vr.dmi and b/icons/inventory/head/item_vr.dmi differ
diff --git a/icons/mob/vore/wings_vr.dmi b/icons/mob/vore/wings_vr.dmi
index 40f5f02d92..4dac461599 100644
Binary files a/icons/mob/vore/wings_vr.dmi and b/icons/mob/vore/wings_vr.dmi differ
diff --git a/icons/obj/clothing/knights_vr.dmi b/icons/obj/clothing/knights_vr.dmi
index eb4c1a6074..395319fbff 100644
Binary files a/icons/obj/clothing/knights_vr.dmi and b/icons/obj/clothing/knights_vr.dmi differ
diff --git a/maps/expedition_vr/aerostat/aerostat_science_outpost.dmm b/maps/expedition_vr/aerostat/aerostat_science_outpost.dmm
index d3dae2538e..49d0f2963b 100644
--- a/maps/expedition_vr/aerostat/aerostat_science_outpost.dmm
+++ b/maps/expedition_vr/aerostat/aerostat_science_outpost.dmm
@@ -268,7 +268,6 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/obj/structure/table/wooden_reinforced,
/turf/simulated/floor/plating/virgo2,
/area/offmap/aerostat/solars)
"aN" = (
@@ -2578,6 +2577,9 @@
tag_north = 2;
tag_west = 1
},
+/obj/machinery/camera/network/research_outpost{
+ dir = 8
+ },
/turf/simulated/floor/tiled/white,
/area/offmap/aerostat/inside/toxins)
"hX" = (
@@ -9557,7 +9559,8 @@
/obj/machinery/door/firedoor/glass,
/obj/machinery/door/airlock/medical{
name = "Virology Isolation Room";
- req_access = list (39)
+ req_access = list(39);
+ req_one_access = null
},
/turf/simulated/floor/tiled/steel_ridged,
/area/offmap/aerostat/inside/virology)
diff --git a/maps/stellardelight/stellar_delight2.dmm b/maps/stellardelight/stellar_delight2.dmm
index 093cc756ac..c2ff02b966 100644
--- a/maps/stellardelight/stellar_delight2.dmm
+++ b/maps/stellardelight/stellar_delight2.dmm
@@ -930,7 +930,6 @@
dir = 1;
pixel_y = 24
},
-/obj/structure/sign/christmas/wreath,
/mob/living/simple_mob/otie/red/chubby/cocoa,
/turf/simulated/floor/tiled/eris/steel/brown_platform,
/area/crew_quarters/bar)
@@ -1235,7 +1234,7 @@
/turf/simulated/floor/wood,
/area/stellardelight/deck2/barbackroom)
"cC" = (
-/obj/structure/flora/pottedplant/xmas,
+/obj/structure/flora/pottedplant/decorative,
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"cD" = (
@@ -2615,15 +2614,9 @@
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"fL" = (
-/obj/machinery/computer/arcade/battle,
/obj/machinery/atmospherics/unary/vent_pump/on,
/obj/effect/landmark/vermin,
-/obj/structure/sign/christmas/lights{
- dir = 4
- },
-/obj/structure/sign/christmas/lights{
- dir = 1
- },
+/obj/machinery/slot_machine,
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"fN" = (
@@ -3407,9 +3400,6 @@
/obj/item/weapon/deck/cah/black,
/obj/item/weapon/deck/cards,
/obj/item/weapon/deck/cards/casino,
-/obj/structure/sign/christmas/lights{
- dir = 1
- },
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"hC" = (
@@ -3652,9 +3642,6 @@
},
/obj/structure/table/bench/steel,
/obj/effect/landmark/start/visitor,
-/obj/structure/sign/christmas/lights{
- dir = 4
- },
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"ik" = (
@@ -3761,7 +3748,6 @@
dir = 1
},
/obj/effect/landmark/start/visitor,
-/obj/structure/sign/christmas/lights,
/turf/simulated/floor/carpet/turcarpet,
/area/crew_quarters/recreation_area)
"iy" = (
@@ -3920,7 +3906,6 @@
dir = 1;
pixel_y = 4
},
-/obj/structure/sign/christmas/wreath,
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"iP" = (
@@ -4576,9 +4561,6 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/sign/christmas/lights{
- dir = 4
- },
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"kq" = (
@@ -5280,9 +5262,6 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/sign/christmas/lights{
- dir = 4
- },
/turf/simulated/floor/carpet/turcarpet,
/area/crew_quarters/recreation_area)
"lH" = (
@@ -5834,7 +5813,6 @@
/obj/machinery/camera/network/civilian{
dir = 1
},
-/obj/structure/sign/christmas/lights,
/turf/simulated/floor/tiled/dark,
/area/crew_quarters/recreation_area)
"mM" = (
@@ -5911,9 +5889,6 @@
/obj/machinery/camera/network/civilian{
dir = 8
},
-/obj/structure/sign/christmas/lights{
- dir = 4
- },
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"mV" = (
@@ -7781,7 +7756,6 @@
/obj/structure/bed/chair/sofa/corp/corner{
dir = 8
},
-/obj/structure/sign/christmas/lights,
/turf/simulated/floor/carpet/turcarpet,
/area/crew_quarters/recreation_area)
"rh" = (
@@ -8115,14 +8089,6 @@
"rR" = (
/turf/simulated/wall/bay/r_wall/steel,
/area/maintenance/stellardelight/deck2/portaft)
-"rS" = (
-/obj/structure/table/wooden_reinforced,
-/obj/structure/sign/christmas/lights,
-/obj/structure/sign/christmas/lights{
- dir = 4
- },
-/turf/simulated/floor/tiled/eris/dark/cargo,
-/area/crew_quarters/recreation_area)
"rT" = (
/turf/simulated/wall/bay/r_wall/steel,
/area/storage/tech)
@@ -8203,7 +8169,6 @@
/obj/structure/bed/chair/sofa/corp{
dir = 1
},
-/obj/structure/sign/christmas/lights,
/turf/simulated/floor/carpet/turcarpet,
/area/crew_quarters/recreation_area)
"sd" = (
@@ -8428,7 +8393,6 @@
/area/quartermaster/storage)
"sH" = (
/obj/structure/table/wooden_reinforced,
-/obj/structure/sign/christmas/lights,
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"sI" = (
@@ -9649,13 +9613,6 @@
/obj/machinery/lapvend,
/turf/simulated/floor/tiled/techmaint,
/area/storage/primary)
-"vv" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/sign/christmas/lights{
- dir = 8
- },
-/turf/simulated/floor/tiled/eris/dark/cargo,
-/area/crew_quarters/recreation_area)
"vw" = (
/obj/machinery/atmospherics/unary/vent_pump/on,
/turf/simulated/floor,
@@ -9933,7 +9890,6 @@
/obj/structure/bed/chair/sofa/corp/corner{
dir = 4
},
-/obj/structure/sign/christmas/lights,
/turf/simulated/floor/carpet/turcarpet,
/area/crew_quarters/recreation_area)
"wg" = (
@@ -10541,9 +10497,6 @@
dir = 8
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/sign/christmas/lights{
- dir = 8
- },
/turf/simulated/floor/carpet/turcarpet,
/area/crew_quarters/recreation_area)
"xG" = (
@@ -10769,9 +10722,6 @@
/obj/machinery/light{
dir = 1
},
-/obj/structure/sign/christmas/lights{
- dir = 1
- },
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"yd" = (
@@ -11051,10 +11001,6 @@
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
},
-/obj/structure/sign/christmas/lights,
-/obj/structure/sign/christmas/lights{
- dir = 8
- },
/turf/simulated/floor/carpet/turcarpet,
/area/crew_quarters/recreation_area)
"yH" = (
@@ -12264,9 +12210,6 @@
dir = 4;
pixel_x = 24
},
-/obj/structure/sign/christmas/lights{
- dir = 4
- },
/turf/simulated/floor/carpet/turcarpet,
/area/crew_quarters/recreation_area)
"BD" = (
@@ -12392,9 +12335,6 @@
pixel_x = 9;
pixel_y = 24
},
-/obj/structure/sign/christmas/lights{
- dir = 1
- },
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"BT" = (
@@ -12916,15 +12856,12 @@
/turf/simulated/floor/tiled/techmaint,
/area/storage/primary)
"De" = (
-/obj/structure/flora/pottedplant/xmas,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/item/device/radio/intercom{
dir = 8;
pixel_x = -24
},
-/obj/structure/sign/christmas/lights{
- dir = 8
- },
+/obj/structure/flora/pottedplant/decorative,
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"Df" = (
@@ -13220,15 +13157,12 @@
/turf/simulated/floor/glass/reinforced,
/area/stellardelight/deck2/fore)
"DO" = (
-/obj/structure/flora/pottedplant/xmas,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/item/device/radio/intercom{
dir = 4;
pixel_x = 24
},
-/obj/structure/sign/christmas/lights{
- dir = 4
- },
+/obj/structure/flora/pottedplant/decorative,
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"DP" = (
@@ -13268,10 +13202,6 @@
/obj/machinery/hologram/holopad,
/turf/simulated/floor/tiled/eris/dark/techfloor_grid,
/area/engineering/storage)
-"DU" = (
-/obj/structure/sign/christmas/lights,
-/turf/simulated/floor/tiled/eris/dark/cargo,
-/area/crew_quarters/recreation_area)
"DV" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -14688,9 +14618,6 @@
/obj/structure/closet/crate/bin{
anchored = 1
},
-/obj/structure/sign/christmas/lights{
- dir = 1
- },
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"GM" = (
@@ -15077,9 +15004,6 @@
dir = 8;
pixel_x = -24
},
-/obj/structure/sign/christmas/lights{
- dir = 8
- },
/turf/simulated/floor/carpet/turcarpet,
/area/crew_quarters/recreation_area)
"HF" = (
@@ -15596,7 +15520,6 @@
/obj/effect/landmark{
name = "lightsout"
},
-/obj/structure/flora/tree/pine/xmas/presents,
/turf/simulated/floor/glass/reinforced,
/area/crew_quarters/recreation_area)
"IF" = (
@@ -15825,12 +15748,6 @@
"Ji" = (
/obj/machinery/computer/arcade/orion_trail,
/obj/machinery/atmospherics/unary/vent_scrubber/on,
-/obj/structure/sign/christmas/lights{
- dir = 8
- },
-/obj/structure/sign/christmas/lights{
- dir = 1
- },
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"Jj" = (
@@ -17242,10 +17159,7 @@
/turf/simulated/floor/tiled,
/area/stellardelight/deck2/port)
"Mp" = (
-/obj/machinery/computer/arcade/orion_trail,
-/obj/structure/sign/christmas/lights{
- dir = 1
- },
+/obj/machinery/computer/arcade/battle,
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"Mq" = (
@@ -17664,7 +17578,6 @@
dir = 1;
pixel_y = 24
},
-/obj/structure/sign/christmas/wreath,
/turf/simulated/floor/tiled/eris/steel/brown_platform,
/area/crew_quarters/bar)
"Nl" = (
@@ -18226,13 +18139,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/tiled/eris/white/bluecorner,
/area/stellardelight/deck2/triage)
-"Oy" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/sign/christmas/lights{
- dir = 4
- },
-/turf/simulated/floor/tiled/eris/dark/cargo,
-/area/crew_quarters/recreation_area)
"Oz" = (
/obj/machinery/atmospherics/unary/vent_pump/on,
/obj/effect/floor_decal/steeldecal/steel_decals5{
@@ -19282,9 +19188,6 @@
pixel_y = -32
},
/obj/structure/table/bench/steel,
-/obj/structure/sign/christmas/lights{
- dir = 8
- },
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"QK" = (
@@ -19439,9 +19342,6 @@
dir = 8
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/sign/christmas/lights{
- dir = 8
- },
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"Ra" = (
@@ -20085,10 +19985,7 @@
/turf/simulated/wall/bay/r_wall/steel,
/area/maintenance/stellardelight/deck2/portfore)
"SF" = (
-/obj/machinery/computer/arcade/battle,
-/obj/structure/sign/christmas/lights{
- dir = 1
- },
+/obj/machinery/slot_machine,
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"SG" = (
@@ -20117,7 +20014,6 @@
/obj/item/weapon/stool/padded{
dir = 8
},
-/obj/structure/sign/christmas/lights,
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"SK" = (
@@ -21114,9 +21010,6 @@
/obj/structure/sign/poster{
dir = 1
},
-/obj/structure/sign/christmas/lights{
- dir = 1
- },
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"UX" = (
@@ -21808,9 +21701,6 @@
/area/medical/reception)
"WC" = (
/obj/machinery/alarm/angled,
-/obj/structure/sign/christmas/lights{
- dir = 1
- },
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"WE" = (
@@ -21939,10 +21829,6 @@
"WR" = (
/obj/structure/table/wooden_reinforced,
/obj/item/device/paicard,
-/obj/structure/sign/christmas/lights,
-/obj/structure/sign/christmas/lights{
- dir = 8
- },
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"WS" = (
@@ -22349,9 +22235,6 @@
pixel_y = 32
},
/obj/machinery/recharge_station,
-/obj/structure/sign/christmas/lights{
- dir = 1
- },
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"XQ" = (
@@ -22480,7 +22363,6 @@
/obj/structure/musician/piano{
dir = 4
},
-/obj/structure/sign/christmas/lights,
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"Yd" = (
@@ -22537,9 +22419,6 @@
/area/stellardelight/deck2/port)
"Yl" = (
/obj/machinery/firealarm/angled,
-/obj/structure/sign/christmas/lights{
- dir = 1
- },
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"Ym" = (
@@ -22808,9 +22687,6 @@
/obj/machinery/camera/network/civilian{
dir = 5
},
-/obj/structure/sign/christmas/lights{
- dir = 8
- },
/turf/simulated/floor/tiled/eris/dark/cargo,
/area/crew_quarters/recreation_area)
"YO" = (
@@ -23348,10 +23224,6 @@
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 1
},
-/obj/structure/sign/christmas/lights,
-/obj/structure/sign/christmas/lights{
- dir = 4
- },
/turf/simulated/floor/carpet/turcarpet,
/area/crew_quarters/recreation_area)
@@ -32637,7 +32509,7 @@ mt
jv
ct
Lq
-vv
+ct
HE
xE
yG
@@ -33773,7 +33645,7 @@ mt
hm
VM
uJ
-Oy
+VM
BC
lG
ZZ
@@ -33909,12 +33781,12 @@ HO
nt
XP
mt
-mt
+SF
mt
mt
lO
mt
-DU
+mt
nt
nt
nt
@@ -34198,7 +34070,7 @@ kp
GA
fK
ij
-rS
+sH
nt
Rq
Rq