mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-01-01 21:13:47 +00:00
Merge branch 'Kbraidtweaks' of https://github.com/KBraid/YWPolarisVore into Kbraidtweaks
This commit is contained in:
@@ -381,7 +381,7 @@
|
||||
|
||||
/obj/item/clothing/accessory/cowledvest
|
||||
name = "cowled vest"
|
||||
desc = "A body warmer for the 26th century."
|
||||
desc = "A body warmer for the 24th century." //VOREStation Edit
|
||||
icon_state = "cowled_vest"
|
||||
|
||||
/obj/item/clothing/accessory/asymmetric
|
||||
@@ -397,4 +397,4 @@
|
||||
/obj/item/clothing/accessory/asymmetric/green
|
||||
name = "green asymmetrical jacket"
|
||||
desc = "Insultingly avant-garde in aqua."
|
||||
icon_state = "asym_green"
|
||||
icon_state = "asym_green"
|
||||
|
||||
@@ -738,7 +738,8 @@ I said no!
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/porkbowl
|
||||
|
||||
/datum/recipe/tortilla
|
||||
/datum/recipe/microwavetortilla
|
||||
reagents = list("flour" = 5, "water" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough
|
||||
)
|
||||
|
||||
@@ -81,6 +81,13 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/flatbread
|
||||
|
||||
/datum/recipe/tortilla
|
||||
reagents = list("flour" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/tortilla
|
||||
|
||||
/datum/recipe/meatbread
|
||||
appliance = OVEN
|
||||
|
||||
@@ -683,6 +683,9 @@
|
||||
|
||||
if(isnull(gene_chem[i])) gene_chem[i] = 0
|
||||
|
||||
if(chems[rid].len < i) //YW Edit: allows plants whose reagents have not been defined uniformly to splice properly
|
||||
continue
|
||||
|
||||
if(chems[rid][i])
|
||||
chems[rid][i] = max(1,round((gene_chem[i] + chems[rid][i])/2))
|
||||
else
|
||||
|
||||
@@ -40,11 +40,11 @@
|
||||
playsound(src, 'sound/voice/growl.ogg', 50, 1, -1, preference = /datum/client_preference/emote_noises)
|
||||
if("woof")
|
||||
m_type = 2
|
||||
message = "lets out an woof."
|
||||
message = "lets out a woof."
|
||||
playsound(src, 'sound/voice/woof.ogg', 50, 1, -1, preference = /datum/client_preference/emote_noises)
|
||||
if("woof2")
|
||||
m_type = 2
|
||||
message = "lets out an woof."
|
||||
message = "lets out a woof."
|
||||
playsound(src, 'sound/voice/woof2.ogg', 50, 1, -1, preference = /datum/client_preference/emote_noises)
|
||||
if("nya")
|
||||
message = "lets out a nya."
|
||||
@@ -188,7 +188,7 @@
|
||||
message = "does a flip!"
|
||||
m_type = 1
|
||||
if("vhelp") //Help for Virgo-specific emotes.
|
||||
to_chat(src, "vwag, vflap, mlem, blep, awoo, awoo2, growl, nya, peep, chirp, hoot, weh, merp, myarp, bark, bork, mrow, hypno, hiss, rattle, squeak, geck, baa, baa2, mar, wurble, snort, meow, moo, croak, nsay, nme, flip")
|
||||
to_chat(src, "vwag, vflap, mlem, blep, awoo, awoo2, growl, nya, peep, chirp, hoot, weh, merp, myarp, bark, bork, mrow, mrowl, hypno, hiss, rattle, squeak, geck, baa, baa2, mar, wurble, snort, meow, moo, croak, nsay, nme, flip")
|
||||
return TRUE
|
||||
|
||||
if(message)
|
||||
|
||||
@@ -688,10 +688,13 @@
|
||||
if(bodytemperature >= species.heat_level_2)
|
||||
if(bodytemperature >= species.heat_level_3)
|
||||
burn_dam = HEAT_DAMAGE_LEVEL_3
|
||||
throw_alert("temp", /obj/screen/alert/hot, 3)
|
||||
else
|
||||
burn_dam = HEAT_DAMAGE_LEVEL_2
|
||||
throw_alert("temp", /obj/screen/alert/hot, 2)
|
||||
else
|
||||
burn_dam = HEAT_DAMAGE_LEVEL_1
|
||||
throw_alert("temp", /obj/screen/alert/hot, 1)
|
||||
|
||||
take_overall_damage(burn=burn_dam, used_weapon = "High Body Temperature")
|
||||
|
||||
@@ -714,6 +717,8 @@
|
||||
cold_dam = COLD_DAMAGE_LEVEL_1
|
||||
|
||||
take_overall_damage(burn=cold_dam, used_weapon = "Low Body Temperature")
|
||||
|
||||
else clear_alert("temp")
|
||||
|
||||
// Account for massive pressure differences. Done by Polymorph
|
||||
// Made it possible to actually have something that can protect against high pressure... Done by Errorage. Polymorph now has an axe sticking from his head for his previous hardcoded nonsense!
|
||||
|
||||
@@ -1221,6 +1221,12 @@
|
||||
for(var/obj/effect/decal/cleanable/blood/B in T)
|
||||
qdel(B)
|
||||
|
||||
//VOREstation edit. Floor polishing.
|
||||
if(istype(T, /turf/simulated))
|
||||
var/turf/simulated/S = T
|
||||
S.dirt = -50
|
||||
//VOREstation edit end
|
||||
|
||||
/datum/reagent/sterilizine/touch_mob(var/mob/living/L, var/amount)
|
||||
if(istype(L))
|
||||
if(istype(L, /mob/living/simple_mob/slime))
|
||||
|
||||
@@ -578,7 +578,7 @@
|
||||
name = "Plant-B-Gone"
|
||||
id = "plantbgone"
|
||||
result = "plantbgone"
|
||||
required_reagents = list("toxin" = 1, "water" = 4)
|
||||
required_reagents = list("pacid" = 1, "diethylamine" = 4) //YW Edit
|
||||
result_amount = 5
|
||||
|
||||
/datum/chemical_reaction/foaming_agent
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
// if(params["id"] == "del_rec" && active_record)
|
||||
// var/obj/item/weapon/card/id/C = usr.get_active_hand()
|
||||
// if(!istype(C) && !istype(C, /obj/item/device/pda))
|
||||
// set_temp("ID not in hand.", "bad")
|
||||
// set_temp("ID not in hand.", "danger")
|
||||
// return
|
||||
// if(check_access(C))
|
||||
// records.Remove(active_record)
|
||||
@@ -211,7 +211,7 @@
|
||||
// set_temp("Record deleted.", "success")
|
||||
// menu = MENU_RECORDS
|
||||
// else
|
||||
// set_temp("Access denied.", "bad")
|
||||
// set_temp("Access denied.", "danger")
|
||||
return
|
||||
|
||||
switch(action)
|
||||
@@ -223,21 +223,21 @@
|
||||
if(istype(active_br))
|
||||
if(isnull(active_br.ckey))
|
||||
qdel(active_br)
|
||||
set_temp("Error: Record corrupt.", "bad")
|
||||
set_temp("Error: Record corrupt.", "danger")
|
||||
else
|
||||
var/can_grow_active = 1
|
||||
if(!synthetic_capable && active_br.synthetic) //Disqualified due to being synthetic in an organic only.
|
||||
can_grow_active = 0
|
||||
set_temp("Error: Cannot grow [active_br.mydna.name] due to lack of synthfabs.", "bad")
|
||||
set_temp("Error: Cannot grow [active_br.mydna.name] due to lack of synthfabs.", "danger")
|
||||
else if(!organic_capable && !active_br.synthetic) //Disqualified for the opposite.
|
||||
can_grow_active = 0
|
||||
set_temp("Error: Cannot grow [active_br.mydna.name] due to lack of cloners.", "bad")
|
||||
set_temp("Error: Cannot grow [active_br.mydna.name] due to lack of cloners.", "danger")
|
||||
else if(!synthetic_capable && !organic_capable) //What have you done??
|
||||
can_grow_active = 0
|
||||
set_temp("Error: Cannot grow [active_br.mydna.name] due to lack of synthfabs and cloners.", "bad")
|
||||
set_temp("Error: Cannot grow [active_br.mydna.name] due to lack of synthfabs and cloners.", "danger")
|
||||
else if(active_br.toocomplex)
|
||||
can_grow_active = 0
|
||||
set_temp("Error: Cannot grow [active_br.mydna.name] due to species complexity.", "bad")
|
||||
set_temp("Error: Cannot grow [active_br.mydna.name] due to species complexity.", "danger")
|
||||
var/list/payload = list(
|
||||
activerecord = "\ref[active_br]",
|
||||
realname = sanitize(active_br.mydna.name),
|
||||
@@ -251,7 +251,7 @@
|
||||
tgui_modal_message(src, action, "", null, payload)
|
||||
else
|
||||
active_br = null
|
||||
set_temp("Error: Record missing.", "bad")
|
||||
set_temp("Error: Record missing.", "danger")
|
||||
if("view_m_rec")
|
||||
var/ref = params["ref"]
|
||||
if(!length(ref))
|
||||
@@ -260,18 +260,21 @@
|
||||
if(istype(active_mr))
|
||||
if(isnull(active_mr.ckey))
|
||||
qdel(active_mr)
|
||||
set_temp("Error: Record corrupt.", "bad")
|
||||
set_temp("Error: Record corrupt.", "danger")
|
||||
else
|
||||
var/can_sleeve_active = 1
|
||||
if(!LAZYLEN(sleevers))
|
||||
can_sleeve_active = 0
|
||||
set_temp("Error: Cannot sleeve due to no sleevers.", "bad")
|
||||
set_temp("Error: Cannot sleeve due to no sleevers.", "danger")
|
||||
return
|
||||
if(!selected_sleever)
|
||||
can_sleeve_active = 0
|
||||
set_temp("Error: Cannot sleeve due to no selected sleever.", "bad")
|
||||
set_temp("Error: Cannot sleeve due to no selected sleever.", "danger")
|
||||
return
|
||||
if(selected_sleever && !selected_sleever.occupant)
|
||||
can_sleeve_active = 0
|
||||
set_temp("Error: Cannot sleeve due to lack of sleever occupant.", "bad")
|
||||
set_temp("Error: Cannot sleeve due to lack of sleever occupant.", "danger")
|
||||
return
|
||||
var/list/payload = list(
|
||||
activerecord = "\ref[active_mr]",
|
||||
realname = sanitize(active_mr.mindname),
|
||||
@@ -282,7 +285,7 @@
|
||||
tgui_modal_message(src, action, "", null, payload)
|
||||
else
|
||||
active_mr = null
|
||||
set_temp("Error: Record missing.", "bad")
|
||||
set_temp("Error: Record missing.", "danger")
|
||||
if("coredump")
|
||||
if(disk)
|
||||
SStranscore.core_dump(disk)
|
||||
@@ -298,107 +301,117 @@
|
||||
if(istype(active_br))
|
||||
//Tried to grow a synth but no synth pods.
|
||||
if(active_br.synthetic && !spods.len)
|
||||
set_temp("Error: No SynthFabs detected.", "bad")
|
||||
set_temp("Error: No SynthFabs detected.", "danger")
|
||||
//Tried to grow an organic but no growpods.
|
||||
else if(!active_br.synthetic && !pods.len)
|
||||
set_temp("Error: No growpods detected.", "Bad")
|
||||
set_temp("Error: No growpods detected.", "danger")
|
||||
//We have the machines. We can rebuild them. Probably.
|
||||
else
|
||||
//We're cloning a synth.
|
||||
if(active_br.synthetic)
|
||||
var/obj/machinery/transhuman/synthprinter/spod = selected_printer
|
||||
if(!istype(spod))
|
||||
set_temp("Error: No SynthFab selected.", "bad")
|
||||
set_temp("Error: No SynthFab selected.", "danger")
|
||||
return
|
||||
|
||||
//Already doing someone.
|
||||
if(spod.busy)
|
||||
set_temp("Error: SynthFab is currently busy.", "bad")
|
||||
set_temp("Error: SynthFab is currently busy.", "danger")
|
||||
return
|
||||
|
||||
//Not enough steel or glass
|
||||
else if(spod.stored_material[DEFAULT_WALL_MATERIAL] < spod.body_cost)
|
||||
set_temp("Error: Not enough [DEFAULT_WALL_MATERIAL] in SynthFab.", "bad")
|
||||
set_temp("Error: Not enough [DEFAULT_WALL_MATERIAL] in SynthFab.", "danger")
|
||||
return
|
||||
else if(spod.stored_material["glass"] < spod.body_cost)
|
||||
set_temp("Error: Not enough glass in SynthFab.", "bad")
|
||||
set_temp("Error: Not enough glass in SynthFab.", "danger")
|
||||
return
|
||||
|
||||
//Gross pod (broke mid-cloning or something).
|
||||
else if(spod.broken)
|
||||
set_temp("Error: SynthFab malfunction.", "bad")
|
||||
set_temp("Error: SynthFab malfunction.", "danger")
|
||||
return
|
||||
|
||||
//Do the cloning!
|
||||
else if(spod.print(active_br))
|
||||
set_temp("Initiating printing cycle...", "good")
|
||||
set_temp("Initiating printing cycle...", "success")
|
||||
menu = 1
|
||||
else
|
||||
set_temp("Initiating printing cycle... Error: Post-initialisation failed. Printing cycle aborted.", "bad")
|
||||
set_temp("Initiating printing cycle... Error: Post-initialisation failed. Printing cycle aborted.", "danger")
|
||||
return
|
||||
|
||||
//We're cloning an organic.
|
||||
else
|
||||
var/obj/machinery/clonepod/transhuman/pod = selected_pod
|
||||
if(!istype(pod))
|
||||
set_temp("Error: No clonepod selected.", "bad")
|
||||
set_temp("Error: No clonepod selected.", "danger")
|
||||
tgui_modal_clear(src)
|
||||
return
|
||||
|
||||
//Already doing someone.
|
||||
if(pod.occupant)
|
||||
set_temp("Error: Growpod is currently occupied.", "bad")
|
||||
set_temp("Error: Growpod is currently occupied.", "danger")
|
||||
tgui_modal_clear(src)
|
||||
return
|
||||
|
||||
//Not enough materials.
|
||||
else if(pod.get_biomass() < CLONE_BIOMASS)
|
||||
set_temp("Error: Not enough biomass.", "bad")
|
||||
set_temp("Error: Not enough biomass.", "danger")
|
||||
tgui_modal_clear(src)
|
||||
return
|
||||
|
||||
//Gross pod (broke mid-cloning or something).
|
||||
else if(pod.mess)
|
||||
set_temp("Error: Growpod malfunction.", "bad")
|
||||
set_temp("Error: Growpod malfunction.", "danger")
|
||||
tgui_modal_clear(src)
|
||||
return
|
||||
|
||||
//Disabled in config.
|
||||
else if(!config.revival_cloning)
|
||||
set_temp("Error: Unable to initiate growing cycle.", "bad")
|
||||
set_temp("Error: Unable to initiate growing cycle.", "danger")
|
||||
tgui_modal_clear(src)
|
||||
return
|
||||
|
||||
//Do the cloning!
|
||||
else if(pod.growclone(active_br))
|
||||
set_temp("Initiating growing cycle...", "good")
|
||||
menu = 1
|
||||
set_temp("Initiating growing cycle...", "success")
|
||||
tgui_modal_clear(src)
|
||||
else
|
||||
set_temp("Initiating growing cycle... Error: Post-initialisation failed. Growing cycle aborted.", "bad")
|
||||
set_temp("Initiating growing cycle... Error: Post-initialisation failed. Growing cycle aborted.", "danger")
|
||||
tgui_modal_clear(src)
|
||||
return
|
||||
|
||||
//The body record is broken somehow.
|
||||
else
|
||||
set_temp("Error: Data corruption.", "bad")
|
||||
set_temp("Error: Data corruption.", "danger")
|
||||
tgui_modal_clear(src)
|
||||
return
|
||||
|
||||
if("sleeve")
|
||||
if(istype(active_mr))
|
||||
if(!sleevers.len)
|
||||
set_temp("Error: No sleevers detected.", "bad")
|
||||
set_temp("Error: No sleevers detected.", "danger")
|
||||
else
|
||||
var/mode = text2num(params["mode"])
|
||||
var/override
|
||||
var/obj/machinery/transhuman/resleever/sleever = selected_sleever
|
||||
if(!istype(sleever))
|
||||
set_temp("Error: No resleeving pod selected.", "bad")
|
||||
set_temp("Error: No resleeving pod selected.", "danger")
|
||||
tgui_modal_clear(src)
|
||||
return
|
||||
|
||||
switch(mode)
|
||||
if(1) //Body resleeving
|
||||
//No body to sleeve into.
|
||||
if(!sleever.occupant)
|
||||
set_temp("Error: Resleeving pod is not occupied.", "bad")
|
||||
set_temp("Error: Resleeving pod is not occupied.", "danger")
|
||||
tgui_modal_clear(src)
|
||||
return
|
||||
|
||||
//OOC body lock thing.
|
||||
if(sleever.occupant.resleeve_lock && active_mr.ckey != sleever.occupant.resleeve_lock)
|
||||
set_temp("Error: Mind incompatible with body.", "bad")
|
||||
set_temp("Error: Mind incompatible with body.", "danger")
|
||||
tgui_modal_clear(src)
|
||||
return
|
||||
|
||||
var/list/subtargets = list()
|
||||
@@ -410,12 +423,14 @@
|
||||
var/oc_sanity = sleever.occupant
|
||||
override = input(usr,"Multiple bodies detected. Select target for resleeving of [active_mr.mindname] manually. Sleeving of primary body is unsafe with sub-contents, and is not listed.", "Resleeving Target") as null|anything in subtargets
|
||||
if(!override || oc_sanity != sleever.occupant || !(override in sleever.occupant))
|
||||
set_temp("Error: Target selection aborted.", "bad")
|
||||
set_temp("Error: Target selection aborted.", "danger")
|
||||
tgui_modal_clear(src)
|
||||
return
|
||||
|
||||
if(2) //Card resleeving
|
||||
if(sleever.sleevecards <= 0)
|
||||
set_temp("Error: No available cards in resleever.", "bad")
|
||||
set_temp("Error: No available cards in resleever.", "danger")
|
||||
tgui_modal_clear(src)
|
||||
return
|
||||
|
||||
//Body to sleeve into, but mind is in another living body.
|
||||
@@ -424,16 +439,15 @@
|
||||
|
||||
//They declined to be moved.
|
||||
if(answer == "No")
|
||||
set_temp("Initiating resleeving... Error: Post-initialisation failed. Resleeving cycle aborted.", "bad")
|
||||
menu = MENU_MAIN
|
||||
set_temp("Initiating resleeving... Error: Post-initialisation failed. Resleeving cycle aborted.", "danger")
|
||||
tgui_modal_clear(src)
|
||||
return TRUE
|
||||
|
||||
//They were dead, or otherwise available.
|
||||
if(!temp)
|
||||
sleever.putmind(active_mr,mode,override)
|
||||
set_temp("Initiating resleeving...")
|
||||
menu = 1
|
||||
return
|
||||
sleever.putmind(active_mr,mode,override)
|
||||
set_temp("Initiating resleeving...")
|
||||
tgui_modal_clear(src)
|
||||
|
||||
if("refresh")
|
||||
SStgui.update_uis(src)
|
||||
if("selectpod")
|
||||
|
||||
Reference in New Issue
Block a user