Merge branch 'origin/HEAD'

This commit is contained in:
DynaJ0ule
2023-02-06 12:31:43 -05:00
parent 8da38160f3
commit 5209413204
106 changed files with 4743 additions and 757 deletions
@@ -381,6 +381,12 @@
sheet_type = /obj/item/stack/sheet/mineral/bananium
coin_type = /obj/item/coin/bananium
/datum/material/calorite //GS13
name = "calorite"
id = MAT_CALORITE
sheet_type = /obj/item/stack/sheet/mineral/calorite
// coin_type = /obj/item/coin/calorite
/datum/material/titanium
name = "Titanium"
id = MAT_TITANIUM
+1 -1
View File
@@ -54,7 +54,7 @@ handles linking back and forth.
/datum/component/remote_materials/proc/_MakeLocal()
silo = null
mat_container = parent.AddComponent(/datum/component/material_container,
list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC),
list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_CALORITE, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC),
local_size,
FALSE,
/obj/item/stack)
+12 -4
View File
@@ -70,7 +70,7 @@
/datum/reagent/medicine/haloperidol, /datum/reagent/drug/aranesp, /datum/reagent/medicine/diphenhydramine
),
list( //level 11
/datum/reagent/medicine/modafinil, /datum/reagent/medicine/bicaridine
/datum/reagent/medicine/modafinil, /datum/reagent/drug/krokodil
)
)
@@ -243,7 +243,14 @@
else
visibility_flags &= ~HIDDEN_SCANNER
SetSpread(CLAMP(2 ** (properties["transmittable"] - symptoms.len), DISEASE_SPREAD_BLOOD, DISEASE_SPREAD_AIRBORNE))
if(properties["transmittable"]>=11)
SetSpread(DISEASE_SPREAD_AIRBORNE)
else if(properties["transmittable"]>=7)
SetSpread(DISEASE_SPREAD_CONTACT_SKIN)
else if(properties["transmittable"]>=3)
SetSpread(DISEASE_SPREAD_CONTACT_FLUIDS)
else
SetSpread(DISEASE_SPREAD_BLOOD)
permeability_mod = max(CEILING(0.4 * properties["transmittable"], 1), 1)
cure_chance = 15 - CLAMP(properties["resistance"], -5, 5) // can be between 10 and 20
@@ -419,7 +426,7 @@
// Should be only 1 entry left, but if not let's only return a single entry
var/datum/disease/advance/to_return = pick(diseases)
to_return.Refresh(1)
to_return.Refresh(TRUE)
return to_return
/proc/SetViruses(datum/reagent/R, list/data)
@@ -455,7 +462,8 @@
else if(ispath(symptom))
var/datum/symptom/S = new symptom
if(!D.HasSymptom(S))
D.symptoms += S
D.symptoms += S //We manually add to avoid the randomness
S.OnAdd(D) //Second step of adding a symptom
i -= 1
while(i > 0)
+3 -2
View File
@@ -36,7 +36,8 @@
var/datum/symptom/chosen_symptom = pick_n_take(possible_symptoms)
if(chosen_symptom)
var/datum/symptom/S = new chosen_symptom
symptoms += S
symptoms += S //Avoiding the randomness
S.OnAdd(src) //Activating symptoms added
name = "Sample #[rand(1,10000)]"
..()
..()
@@ -31,3 +31,19 @@
/datum/symptom/inorganic_adaptation/OnRemove(datum/disease/advance/A)
A.infectable_biotypes &= ~MOB_INORGANIC
/datum/symptom/robotic_adaptation //GS13
name = "Electronic propagation"
desc = "The virus learns to feed off and utilize electric signals to create computer virus copies of itself, allowing it to work inside of robotic hosts. Any reports stating the virus have tiny programmer socks attached to their cell's membranes are not scientifically accurate and false."
stealth = 1
resistance = -1
stage_speed = 3
transmittable = 0
level = 5
severity = 0
/datum/symptom/robotic_adaptation/OnAdd(datum/disease/advance/A)
A.infectable_biotypes |= MOB_ROBOTIC
/datum/symptom/robotic_adaptation/OnRemove(datum/disease/advance/A)
A.infectable_biotypes &= ~MOB_ROBOTIC
+9
View File
@@ -138,6 +138,7 @@
always_place = TRUE
allow_duplicates = FALSE
/datum/map_template/ruin/lavaland/blood_drunk_miner
name = "Blood-Drunk Miner"
id = "blooddrunk"
@@ -255,3 +256,11 @@
suffix = "lavaland_surface_cozy_cabin.dmm"
allow_duplicates = FALSE
cost = 0
/datum/map_template/ruin/lavaland/snack_store //GS13
name = "Snack Store"
id = "snackstore"
description = "All your dreams about spending a night in a snack store finally came true! Though judging by your situation, you might spend a bit longer than just one night here..."
suffix = "lavaland_surface_snack_store.dmm"
allow_duplicates = FALSE
cost = 0
+12
View File
@@ -318,3 +318,15 @@
suffix = "wizardden.dmm"
name = "Wizards Cabin"
description = "The wooden cabin of a wizard in space, it smells like mana in there."
/datum/map_template/ruin/space/feeders_den //GS13
id = "feeders_den"
suffix = "feeders_den.dmm"
name = "Feeder Den"
description = "What used to be a small Syndicate prison and interrogration facility has been taken over by a degenerate madman and turned into a den fit for one purpose - to fatten up its captives."
/datum/map_template/ruin/space/fastfood //GS13
id = "fastfood"
suffix = "fastfood.dmm"
name = "Fast Food Restaurant"
description = "In GATO controlled space, it isn't uncommon to find various space restaurants, famous for the abundance of corn oil in their foods."
@@ -1,3 +1,5 @@
//GS13 EDIT
/*
/datum/weather/ash_storm/layenia //because fuck writing my own code
name = "Layenia Weather"
desc = "A subset of weather affecting Layenia"
@@ -25,6 +27,8 @@
aesthetic = TRUE
*/
//datum/weather/layenia/telegraph()
//datum/weather/layenia/start()
@@ -1,65 +1,69 @@
//Radiation storms occur when the station passes through an irradiated area, and irradiate anyone not standing in protected areas (maintenance, emergency storage, etc.)
/datum/weather/rad_storm
name = "radiation storm"
desc = "A cloud of intense radiation passes through the area dealing rad damage to those who are unprotected."
// //Radiation storms occur when the station passes through an irradiated area, and irradiate anyone not standing in protected areas (maintenance, emergency storage, etc.)
// /datum/weather/rad_storm
// name = "radiation storm"
// desc = "A cloud of intense radiation passes through the area dealing rad damage to those who are unprotected."
telegraph_duration = 400
telegraph_message = "<span class='danger'>The air begins to grow warm.</span>"
// telegraph_duration = 400
// telegraph_message = "<span class='danger'>The air begins to grow warm.</span>"
weather_message = "<span class='userdanger'><i>You feel waves of heat wash over you! Find shelter!</i></span>"
weather_overlay = "ash_storm"
weather_duration_lower = 600
weather_duration_upper = 1500
weather_color = "green"
weather_sound = 'sound/misc/bloblarm.ogg'
// weather_message = "<span class='userdanger'><i>You feel waves of heat wash over you! Find shelter!</i></span>"
// weather_overlay = "ash_storm"
// weather_duration_lower = 600
// weather_duration_upper = 1500
// weather_color = "green"
// weather_sound = 'sound/misc/bloblarm.ogg'
end_duration = 100
end_message = "<span class='notice'>The air seems to be cooling off again.</span>"
// end_duration = 100
// end_message = "<span class='notice'>The air seems to be cooling off again.</span>"
area_type = /area
protected_areas = list(/area/maintenance, /area/ai_monitored/turret_protected/ai_upload, /area/ai_monitored/turret_protected/ai_upload_foyer,
/area/ai_monitored/turret_protected/ai, /area/storage/emergency/starboard, /area/storage/emergency/port, /area/shuttle, /area/survivalpod, /area/crew_quarters/dorms, /area/security/prison, /area/ruin, /area/space/nearstation)
target_trait = ZTRAIT_STATION
// area_type = /area
// protected_areas = list(/area/maintenance, /area/ai_monitored/turret_protected/ai_upload, /area/ai_monitored/turret_protected/ai_upload_foyer,
// /area/ai_monitored/turret_protected/ai, /area/storage/emergency/starboard, /area/storage/emergency/port, /area/shuttle, /area/survivalpod, /area/crew_quarters/dorms, /area/security/prison, /area/ruin, /area/space/nearstation)
// target_trait = ZTRAIT_STATION
immunity_type = "rad"
// immunity_type = "rad"
/datum/weather/rad_storm/telegraph()
..()
status_alarm(TRUE)
// /datum/weather/rad_storm/telegraph()
// ..()
// status_alarm(TRUE)
/datum/weather/rad_storm/weather_act(mob/living/L)
var/resist = L.getarmor(null, "rad")
if(prob(40))
if(ishuman(L))
var/mob/living/carbon/human/H = L
if(H.dna && !HAS_TRAIT(H, TRAIT_RADIMMUNE))
if(prob(max(0,100-resist)))
H.randmuti()
if(prob(50))
if(prob(90))
H.easy_randmut(NEGATIVE+MINOR_NEGATIVE)
else
H.easy_randmut(POSITIVE)
H.domutcheck()
L.rad_act(20)
// /datum/weather/rad_storm/weather_act(mob/living/L)
// var/resist = L.getarmor(null, "rad")
// if(prob(40))
// if(ishuman(L))
// var/mob/living/carbon/human/H = L
// if(H.dna && !HAS_TRAIT(H, TRAIT_RADIMMUNE))
// if(prob(max(0,100-resist)))
// H.randmuti()
// if(prob(50))
// if(prob(90))
// H.easy_randmut(NEGATIVE+MINOR_NEGATIVE)
// else
// H.easy_randmut(POSITIVE)
// H.domutcheck()
// L.rad_act(20)
/datum/weather/rad_storm/end()
if(..())
return
priority_announce("The radiation threat has passed. Please return to your workplaces.", "Anomaly Alert")
status_alarm(FALSE)
// /datum/weather/rad_storm/end()
// if(..())
// return
// priority_announce("The radiation threat has passed. Please return to your workplaces.", "Anomaly Alert")
// status_alarm(FALSE)
/datum/weather/rad_storm/proc/status_alarm(active) //Makes the status displays show the radiation warning for those who missed the announcement.
var/datum/radio_frequency/frequency = SSradio.return_frequency(FREQ_STATUS_DISPLAYS)
if(!frequency)
return
// /datum/weather/rad_storm/proc/status_alarm(active) //Makes the status displays show the radiation warning for those who missed the announcement.
// var/datum/radio_frequency/frequency = SSradio.return_frequency(FREQ_STATUS_DISPLAYS)
// if(!frequency)
// return
var/datum/signal/signal = new
if (active)
signal.data["command"] = "alert"
signal.data["picture_state"] = "radiation"
else
signal.data["command"] = "shuttle"
// var/datum/signal/signal = new
// if (active)
// signal.data["command"] = "alert"
// signal.data["picture_state"] = "radiation"
// else
// signal.data["command"] = "shuttle"
var/atom/movable/virtualspeaker/virt = new(null)
frequency.post_signal(virt, signal)
// var/atom/movable/virtualspeaker/virt = new(null)
// frequency.post_signal(virt, signal)
// GS13 tweak: Removed radstorms due to how disruptive they were to QoL and RP quality - Sono