mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 19:17:50 +01:00
conflict resolution
This commit is contained in:
@@ -43,7 +43,8 @@ other types of metals and chemistry for reagents).
|
||||
var/build_type = null //Flag as to what kind machine the design is built in. See defines.
|
||||
var/list/materials = list() //List of materials. Format: "id" = amount.
|
||||
var/construction_time //Amount of time required for building the object
|
||||
var/build_path = "" //The file path of the object that gets created
|
||||
var/build_path = null //The file path of the object that gets created
|
||||
var/list/make_reagents = list() //Reagents produced. Format: "id" = amount. Currently only supported by the biogenerator.
|
||||
var/locked = 0 //If true it will spawn inside a lockbox with currently sec access
|
||||
var/access_requirement = list(access_armory) //What special access requirements will the lockbox have? Defaults to armory.
|
||||
var/category = null //Primarily used for Mech Fabricators, but can be used for anything
|
||||
|
||||
@@ -162,6 +162,14 @@
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
|
||||
build_path = /obj/item/weapon/firealarm_electronics
|
||||
category = list("initial", "Electronics")
|
||||
|
||||
/datum/design/earmuffs
|
||||
name = "Earmuffs"
|
||||
id = "earmuffs"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
|
||||
build_path = /obj/item/clothing/ears/earmuffs
|
||||
category = list("initial", "Miscellaneous")
|
||||
|
||||
/datum/design/igniter
|
||||
name = "Igniter"
|
||||
@@ -188,7 +196,7 @@
|
||||
category = list("initial", "Medical")
|
||||
|
||||
/datum/design/kitchen_knife
|
||||
name = "Kitchen knife"
|
||||
name = "Kitchen Knife"
|
||||
id = "kitchen_knife"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 12000)
|
||||
@@ -196,19 +204,19 @@
|
||||
category = list("initial","Miscellaneous")
|
||||
|
||||
/datum/design/minihoe
|
||||
name = "Mini hoe"
|
||||
name = "Mini Hoe"
|
||||
id = "mini_hoe"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 50)
|
||||
build_path = /obj/item/weapon/minihoe
|
||||
build_path = /obj/item/weapon/cultivator
|
||||
category = list("initial","Miscellaneous")
|
||||
|
||||
/datum/design/plant_analyzer
|
||||
name = "Plant analyzer"
|
||||
name = "Plant Analyzer"
|
||||
id = "plant_analyzer"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 30, MAT_GLASS = 20)
|
||||
build_path = /obj/item/device/analyzer/plant_analyzer
|
||||
build_path = /obj/item/device/plant_analyzer
|
||||
category = list("initial","Miscellaneous")
|
||||
|
||||
/datum/design/shovel
|
||||
@@ -324,12 +332,12 @@
|
||||
category = list("initial", "Miscellaneous")
|
||||
|
||||
/datum/design/foambox
|
||||
name = "Box of Foam Force darts"
|
||||
id = "foamforce"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 2000)
|
||||
build_path = /obj/item/ammo_box/foambox
|
||||
category = list("initial", "Miscellaneous")
|
||||
name = "Box of Foam Force darts"
|
||||
id = "foamforce"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 2000)
|
||||
build_path = /obj/item/ammo_box/foambox
|
||||
category = list("initial", "Miscellaneous")
|
||||
|
||||
/datum/design/canvas/twentythreeXtwentythree
|
||||
name = "23px by 23px Canvas"
|
||||
|
||||
@@ -0,0 +1,220 @@
|
||||
///////////////////////////////////
|
||||
///////Biogenerator Designs ///////
|
||||
///////////////////////////////////
|
||||
|
||||
/datum/design/milk
|
||||
name = "10 milk"
|
||||
id = "milk"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 20)
|
||||
make_reagents = list("milk" = 10)
|
||||
category = list("initial","Food")
|
||||
|
||||
/datum/design/cream
|
||||
name = "10 cream"
|
||||
id = "cream"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 30)
|
||||
make_reagents = list("cream" = 10)
|
||||
category = list("initial","Food")
|
||||
|
||||
/datum/design/milk_carton
|
||||
name = "Milk carton"
|
||||
id = "milk_carton"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 100)
|
||||
build_path = /obj/item/weapon/reagent_containers/food/condiment/milk
|
||||
category = list("initial","Food")
|
||||
|
||||
/datum/design/cream_carton
|
||||
name = "Cream carton"
|
||||
id = "cream_carton"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 300)
|
||||
build_path = /obj/item/weapon/reagent_containers/food/drinks/bottle/cream
|
||||
category = list("initial","Food")
|
||||
|
||||
/datum/design/black_pepper
|
||||
name = "10u black pepper"
|
||||
id = "black_pepper"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 25)
|
||||
make_reagents = list("blackpepper" = 10)
|
||||
category = list("initial","Food")
|
||||
|
||||
/datum/design/pepper_mill
|
||||
name = "Pepper mill"
|
||||
id = "pepper_mill"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 50)
|
||||
build_path = /obj/item/weapon/reagent_containers/food/condiment/peppermill
|
||||
make_reagents = list()
|
||||
category = list("initial","Food")
|
||||
|
||||
/datum/design/monkey_cube
|
||||
name = "Monkey cube"
|
||||
id = "mcube"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 250)
|
||||
build_path = /obj/item/weapon/reagent_containers/food/snacks/monkeycube
|
||||
category = list("initial", "Food")
|
||||
|
||||
/datum/design/ez_nut
|
||||
name = "E-Z-Nutrient"
|
||||
id = "ez_nut"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 10)
|
||||
build_path = /obj/item/weapon/reagent_containers/glass/bottle/nutrient/ez
|
||||
category = list("initial","Botany Chemicals")
|
||||
|
||||
/datum/design/l4z_nut
|
||||
name = "Left 4 Zed"
|
||||
id = "l4z_nut"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 20)
|
||||
build_path = /obj/item/weapon/reagent_containers/glass/bottle/nutrient/l4z
|
||||
category = list("initial","Botany Chemicals")
|
||||
|
||||
/datum/design/rh_nut
|
||||
name = "Robust Harvest"
|
||||
id = "rh_nut"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 25)
|
||||
build_path = /obj/item/weapon/reagent_containers/glass/bottle/nutrient/rh
|
||||
category = list("initial","Botany Chemicals")
|
||||
|
||||
/datum/design/weed_killer
|
||||
name = "Weed Killer"
|
||||
id = "weed_killer"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 50)
|
||||
build_path = /obj/item/weapon/reagent_containers/glass/bottle/killer/weedkiller
|
||||
category = list("initial","Botany Chemicals")
|
||||
|
||||
/datum/design/pest_spray
|
||||
name = "Pest Killer"
|
||||
id = "pest_spray"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 50)
|
||||
build_path = /obj/item/weapon/reagent_containers/glass/bottle/killer/pestkiller
|
||||
category = list("initial","Botany Chemicals")
|
||||
|
||||
/datum/design/botany_bottle
|
||||
name = "Empty Bottle"
|
||||
id = "botany_bottle"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 5)
|
||||
build_path = /obj/item/weapon/reagent_containers/glass/bottle/nutrient/empty
|
||||
category = list("initial", "Botany Chemicals")
|
||||
|
||||
/datum/design/cloth
|
||||
name = "Roll of cloth"
|
||||
id = "cloth"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 50)
|
||||
build_path = /obj/item/stack/sheet/cloth
|
||||
category = list("initial","Leather and Cloth")
|
||||
|
||||
/datum/design/wallet
|
||||
name = "Wallet"
|
||||
id = "wallet"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 100)
|
||||
build_path = /obj/item/weapon/storage/wallet
|
||||
category = list("initial","Leather and Cloth")
|
||||
|
||||
/datum/design/botany_gloves
|
||||
name = "Botanical gloves"
|
||||
id = "botany_gloves"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 150)
|
||||
build_path = /obj/item/clothing/gloves/botanic_leather
|
||||
category = list("initial","Leather and Cloth")
|
||||
|
||||
/datum/design/toolbelt
|
||||
name = "Utility Belt"
|
||||
id = "toolbelt"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 300)
|
||||
build_path = /obj/item/weapon/storage/belt/utility
|
||||
category = list("initial","Leather and Cloth")
|
||||
|
||||
/datum/design/hydrobelt
|
||||
name = "Botanist belt"
|
||||
id = "hydrobelt"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 300)
|
||||
build_path = /obj/item/weapon/storage/belt/botany
|
||||
category = list("initial","Leather and Cloth")
|
||||
|
||||
/datum/design/secbelt
|
||||
name = "Security belt"
|
||||
id = "secbelt"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 300)
|
||||
build_path = /obj/item/weapon/storage/belt/security
|
||||
category = list("initial","Leather and Cloth")
|
||||
|
||||
/datum/design/medbelt
|
||||
name = "Medical belt"
|
||||
id = "medbel"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 300)
|
||||
build_path = /obj/item/weapon/storage/belt/medical
|
||||
category = list("initial","Leather and Cloth")
|
||||
|
||||
/datum/design/janibelt
|
||||
name = "Janitorial belt"
|
||||
id = "janibelt"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 300)
|
||||
build_path = /obj/item/weapon/storage/belt/janitor
|
||||
category = list("initial","Leather and Cloth")
|
||||
|
||||
/datum/design/bandolier
|
||||
name = "Bandolier belt"
|
||||
id = "bandolier"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 300)
|
||||
build_path = /obj/item/weapon/storage/belt/bandolier
|
||||
category = list("initial","Leather and Cloth")
|
||||
|
||||
/datum/design/s_holster
|
||||
name = "Shoulder holster"
|
||||
id = "s_holster"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 400)
|
||||
build_path = /obj/item/weapon/storage/belt/holster
|
||||
category = list("initial","Leather and Cloth")
|
||||
|
||||
/datum/design/leather_satchel
|
||||
name = "Leather satchel"
|
||||
id = "leather_satchel"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 400)
|
||||
build_path = /obj/item/weapon/storage/backpack/satchel
|
||||
category = list("initial","Leather and Cloth")
|
||||
|
||||
/datum/design/leather_jacket
|
||||
name = "Leather jacket"
|
||||
id = "leather_jacket"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 500)
|
||||
build_path = /obj/item/clothing/suit/jacket/leather
|
||||
category = list("initial","Leather and Cloth")
|
||||
|
||||
/datum/design/leather_overcoat
|
||||
name = "Leather overcoat"
|
||||
id = "leather_overcoat"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 1000)
|
||||
build_path = /obj/item/clothing/suit/jacket/leather/overcoat
|
||||
category = list("initial","Leather and Cloth")
|
||||
|
||||
/datum/design/rice_hat
|
||||
name = "Rice hat"
|
||||
id = "rice_hat"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(MAT_BIOMASS = 300)
|
||||
build_path = /obj/item/clothing/head/rice_hat
|
||||
category = list("initial","Leather and Cloth")
|
||||
@@ -340,7 +340,7 @@
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/seed_extractor
|
||||
category = list ("Misc. Machinery")
|
||||
category = list ("Hydroponics Machinery")
|
||||
|
||||
/datum/design/processor
|
||||
name = "Machine Design (Processor Board)"
|
||||
@@ -512,23 +512,12 @@
|
||||
build_path = /obj/item/weapon/circuitboard/gameboard
|
||||
category = list("Misc. Machinery")
|
||||
|
||||
|
||||
/datum/design/botany_extractor
|
||||
name = "Machine Design (Lysis-Isolation Centrifuge)"
|
||||
desc = "The circuit board for a lysis-isolation centrifuge."
|
||||
id = "botany_extractor"
|
||||
req_tech = list("biotech" = 3, "programming" = 3)
|
||||
/datum/design/plantgenes
|
||||
name = "Machine Design (Plant DNA Manipulator Board)"
|
||||
desc = "The circuit board for a plant DNA manipulator."
|
||||
id = "plantgenes"
|
||||
req_tech = list("programming" = 4, "biotech" = 3)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS=1000, "sacid"=20)
|
||||
build_path = /obj/item/weapon/circuitboard/botany_extractor
|
||||
category = list("Hydroponics Machinery")
|
||||
|
||||
/datum/design/botany_editor
|
||||
name = "Machine Design (Bioballistic Delivery System)"
|
||||
desc = "The circuit board for a bioballistic delivery system."
|
||||
id = "botany_editor"
|
||||
req_tech = list("biotech" = 3, "programming" = 3)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS=1000, "sacid"=20)
|
||||
build_path = /obj/item/weapon/circuitboard/botany_editor
|
||||
category = list("Hydroponics Machinery")
|
||||
build_path = /obj/item/weapon/circuitboard/plantgenes
|
||||
category = list("Hydroponics Machinery")
|
||||
@@ -11,6 +11,16 @@
|
||||
build_path = /obj/item/weapon/disk/design_disk
|
||||
category = list("Miscellaneous")
|
||||
|
||||
/datum/design/diskplantgene
|
||||
name = "Plant data disk"
|
||||
desc = "A disk for storing plant genetic data."
|
||||
id = "diskplantgene"
|
||||
req_tech = list("programming" = 4, "biotech" = 3)
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL=200, MAT_GLASS=100)
|
||||
build_path = /obj/item/weapon/disk/plantgene
|
||||
category = list("Miscellaneous")
|
||||
|
||||
/datum/design/intellicard
|
||||
name = "Intellicard"
|
||||
desc = "Allows for the construction of an intellicard."
|
||||
|
||||
@@ -410,6 +410,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
|
||||
if(being_built)
|
||||
var/power = 2000
|
||||
var/amount=text2num(href_list["amount"])
|
||||
if(being_built.make_reagents.len)
|
||||
return 0
|
||||
amount = max(1, min(10, amount))
|
||||
for(var/M in being_built.materials)
|
||||
power += round(being_built.materials[M] * amount / 5)
|
||||
@@ -718,6 +720,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
|
||||
if(b_type & AUTOLATHE) lathe_types += "Autolathe"
|
||||
if(b_type & MECHFAB) lathe_types += "Mech Fabricator"
|
||||
if(b_type & PODFAB) lathe_types += "Spacepod Fabricator"
|
||||
if(b_type & BIOGENERATOR) lathe_types += "Biogenerator"
|
||||
var/list/materials = list()
|
||||
disk_data["materials"] = materials
|
||||
for(var/M in d_disk.blueprint.materials)
|
||||
|
||||
@@ -178,6 +178,21 @@ research holder datum.
|
||||
return
|
||||
..()
|
||||
|
||||
//Biogenerator files
|
||||
/datum/research/biogenerator/New()
|
||||
for(var/T in (subtypesof(/datum/tech)))
|
||||
possible_tech += new T(src)
|
||||
for(var/path in subtypesof(/datum/design))
|
||||
var/datum/design/D = new path(src)
|
||||
possible_designs += D
|
||||
if((D.build_type & BIOGENERATOR) && ("initial" in D.category))
|
||||
AddDesign2Known(D)
|
||||
|
||||
/datum/research/biogenerator/AddDesign2Known(datum/design/D)
|
||||
if(!(D.build_type & BIOGENERATOR))
|
||||
return
|
||||
..()
|
||||
|
||||
/***************************************************************
|
||||
** Technology Datums **
|
||||
** Includes all the various technoliges and what they make. **
|
||||
@@ -311,10 +326,7 @@ datum/tech/robotics
|
||||
/obj/item/weapon/disk/tech_disk
|
||||
name = "\improper Technology Disk"
|
||||
desc = "A disk for storing technology data for further research."
|
||||
icon = 'icons/obj/cloning.dmi'
|
||||
icon_state = "datadisk2"
|
||||
item_state = "card-id"
|
||||
w_class = 1
|
||||
materials = list(MAT_METAL=30, MAT_GLASS=10)
|
||||
var/datum/tech/stored
|
||||
var/default_name = "\improper Technology Disk"
|
||||
@@ -339,10 +351,7 @@ datum/tech/robotics
|
||||
/obj/item/weapon/disk/design_disk
|
||||
name = "\improper Component Design Disk"
|
||||
desc = "A disk for storing device design data for construction in lathes."
|
||||
icon = 'icons/obj/cloning.dmi'
|
||||
icon_state = "datadisk2"
|
||||
item_state = "card-id"
|
||||
w_class = 1
|
||||
materials = list(MAT_METAL=30, MAT_GLASS=10)
|
||||
var/datum/design/blueprint
|
||||
// I'm doing this so that disk paths with pre-loaded designs don't get weird names
|
||||
|
||||
@@ -210,6 +210,6 @@
|
||||
M.lastattacker = user
|
||||
|
||||
if(inserted_battery.battery_effect)
|
||||
user.attack_log += "\[[time_stamp()]\]<font color='red'> Tapped [key_name(M)] with [name] (EFFECT: [inserted_battery.battery_effect.effecttype])</font>"
|
||||
M.attack_log += "\[[time_stamp()]\]<font color='orange'> Tapped by [key_name(user)] with [name] (EFFECT: [inserted_battery.battery_effect.effecttype])</font>"
|
||||
user.create_attack_log("<font color='red'> Tapped [key_name(M)] with [name] (EFFECT: [inserted_battery.battery_effect.effecttype])</font>")
|
||||
M.create_attack_log("<font color='orange'> Tapped by [key_name(user)] with [name] (EFFECT: [inserted_battery.battery_effect.effecttype])</font>")
|
||||
msg_admin_attack("[key_name_admin(user)] tapped [key_name_admin(M)] with [name] (EFFECT: [inserted_battery.battery_effect.effecttype])" )
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
..()
|
||||
|
||||
/obj/item/slime_extract/New()
|
||||
..()
|
||||
create_reagents(100)
|
||||
..()
|
||||
create_reagents(100)
|
||||
|
||||
/obj/item/slime_extract/grey
|
||||
name = "grey slime extract"
|
||||
@@ -124,7 +124,9 @@
|
||||
w_class = 1
|
||||
origin_tech = "biotech=4"
|
||||
|
||||
/obj/item/slimepotion/afterattack(obj/item/weapon/reagent_containers/target, mob/user , proximity)
|
||||
/obj/item/slimepotion/afterattack(obj/item/weapon/reagent_containers/target, mob/user, proximity_flag)
|
||||
if(!proximity_flag)
|
||||
return
|
||||
if(istype(target))
|
||||
to_chat(user, "<span class='notice'>You cannot transfer [src] to [target]! It appears the potion must be given directly to a slime to absorb.</span>") // le fluff faec
|
||||
return
|
||||
@@ -174,7 +176,7 @@
|
||||
|
||||
/obj/item/slimepotion/sentience
|
||||
name = "sentience potion"
|
||||
desc = "A miraculous chemical mix that can raise the intelligence of creatures to human levels. Unlike normal slime potions, it can be absorbed by any nonsentient being."
|
||||
desc = "A miraculous chemical mix that can raise the intelligence of creatures to human levels."
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
icon_state = "bottle19"
|
||||
origin_tech = "biotech=5"
|
||||
@@ -182,7 +184,9 @@
|
||||
var/being_used = 0
|
||||
var/sentience_type = SENTIENCE_ORGANIC
|
||||
|
||||
/obj/item/slimepotion/sentience/afterattack(mob/living/M, mob/user)
|
||||
/obj/item/slimepotion/sentience/afterattack(mob/living/M, mob/user, proximity_flag)
|
||||
if(!proximity_flag)
|
||||
return
|
||||
if(being_used || !ismob(M))
|
||||
return
|
||||
if(!isanimal(M) || M.ckey) //only works on animals that aren't player controlled
|
||||
@@ -221,6 +225,50 @@
|
||||
being_used = 0
|
||||
..()
|
||||
|
||||
/obj/item/slimepotion/transference
|
||||
name = "consciousness transference potion"
|
||||
desc = "A strange slime-based chemical that, when used, allows the user to transfer their consciousness to a lesser being."
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
icon_state = "bottle19"
|
||||
origin_tech = "biotech=6"
|
||||
var/prompted = FALSE
|
||||
var/animal_type = SENTIENCE_ORGANIC
|
||||
|
||||
/obj/item/slimepotion/transference/afterattack(mob/living/M, mob/user, proximity_flag)
|
||||
if(!proximity_flag)
|
||||
return
|
||||
if(prompted || !ismob(M))
|
||||
return
|
||||
if(!isanimal(M) || M.ckey) //much like sentience, these will not work on something that is already player controlled
|
||||
to_chat(user, "<span class='warning'>[M] already has a higher consciousness!</span>")
|
||||
return ..()
|
||||
if(M.stat)
|
||||
to_chat(user, "<span class='warning'>[M] is dead!</span>")
|
||||
return ..()
|
||||
var/mob/living/simple_animal/SM = M
|
||||
if(SM.sentience_type != animal_type)
|
||||
to_chat(user, "<span class='warning'>You cannot transfer your consciousness to [SM].</span>") //no controlling machines
|
||||
return ..()
|
||||
if(jobban_isbanned(user, ROLE_SENTIENT))
|
||||
to_chat(user, "<span class='warning'>Your mind goes blank as you attempt to use the potion.</span>")
|
||||
return
|
||||
|
||||
prompted = TRUE
|
||||
if(alert("This will permanently transfer your consciousness to [SM]. Are you sure you want to do this?",,"Yes","No")=="No")
|
||||
prompted = FALSE
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>You drink the potion then place your hands on [SM]...</span>")
|
||||
user.mind.transfer_to(SM)
|
||||
SM.universal_speak = 1
|
||||
SM.faction = user.faction
|
||||
SM.sentience_act() //Same deal here as with sentience
|
||||
user.death()
|
||||
to_chat(SM, "<span class='notice'>In a quick flash, you feel your consciousness flow into [SM]!</span>")
|
||||
to_chat(SM, "<span class='warning'>You are now [SM]. Your allegiances, alliances, and roles are still the same as they were prior to consciousness transfer!</span>")
|
||||
SM.name = "[SM.name] as [user.real_name]"
|
||||
qdel(src)
|
||||
|
||||
/obj/item/slimepotion/steroid
|
||||
name = "slime steroid"
|
||||
desc = "A potent chemical mix that will cause a baby slime to generate more extract."
|
||||
@@ -303,15 +351,17 @@
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
icon_state = "bottle3"
|
||||
|
||||
/obj/item/slimepotion/speed/afterattack(obj/item/C, mob/user)
|
||||
/obj/item/slimepotion/speed/afterattack(obj/item/C, mob/user, proximity_flag)
|
||||
if(!proximity_flag)
|
||||
return
|
||||
..()
|
||||
if(!istype(C))
|
||||
to_chat(user, "<span class='warning'>The potion can only be used on items!</span>")
|
||||
return
|
||||
if(C.slowdown <= 0)
|
||||
to_chat(user, "<span class='warning'>The [C] can't be made any faster!</span>")
|
||||
to_chat(user, "<span class='warning'>[C] can't be made any faster!</span>")
|
||||
return..()
|
||||
to_chat(user, "<span class='notice'>You slather the red gunk over the [C], making it faster.</span>")
|
||||
to_chat(user, "<span class='notice'>You slather the red gunk over [C], making it faster.</span>")
|
||||
C.color = "#FF0000"
|
||||
C.slowdown = 0
|
||||
qdel(src)
|
||||
@@ -323,8 +373,10 @@
|
||||
icon_state = "bottle17"
|
||||
var/uses = 3
|
||||
|
||||
/obj/item/slimepotion/fireproof/afterattack(obj/item/clothing/C, mob/user)
|
||||
/obj/item/slimepotion/fireproof/afterattack(obj/item/clothing/C, mob/user, proximity_flag)
|
||||
..()
|
||||
if(!proximity_flag)
|
||||
return
|
||||
if(!uses)
|
||||
qdel(src)
|
||||
return
|
||||
@@ -332,9 +384,9 @@
|
||||
to_chat(user, "<span class='warning'>The potion can only be used on clothing!</span>")
|
||||
return
|
||||
if(C.max_heat_protection_temperature == FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT)
|
||||
to_chat(user, "<span class='warning'>The [C] is already fireproof!</span>")
|
||||
to_chat(user, "<span class='warning'>[C] is already fireproof!</span>")
|
||||
return ..()
|
||||
to_chat(user, "<span class='notice'>You slather the blue gunk over the [C], fireproofing it.</span>")
|
||||
to_chat(user, "<span class='notice'>You slather the blue gunk over [C], fireproofing it.</span>")
|
||||
C.name = "fireproofed [C.name]"
|
||||
C.color = "#000080"
|
||||
C.max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
|
||||
@@ -366,9 +418,9 @@
|
||||
else
|
||||
icon_state = "golem"
|
||||
|
||||
/obj/effect/golemrune/attack_hand(mob/living/user as mob)
|
||||
/obj/effect/golemrune/attack_hand(mob/living/user)
|
||||
var/mob/dead/observer/ghost
|
||||
for(var/mob/dead/observer/O in src.loc)
|
||||
for(var/mob/dead/observer/O in loc)
|
||||
if(!check_observer(O))
|
||||
to_chat(O, "\red You are not eligible to become a golem.")
|
||||
continue
|
||||
@@ -391,21 +443,22 @@
|
||||
volunteer(O)
|
||||
|
||||
/obj/effect/golemrune/attack_ghost(var/mob/dead/observer/O)
|
||||
if(!O) return
|
||||
if(!O)
|
||||
return
|
||||
volunteer(O)
|
||||
|
||||
/obj/effect/golemrune/proc/check_observer(var/mob/dead/observer/O)
|
||||
if(!O)
|
||||
return 0
|
||||
return FALSE
|
||||
if(!O.client)
|
||||
return 0
|
||||
return FALSE
|
||||
if(O.mind && O.mind.current && O.mind.current.stat != DEAD)
|
||||
return 0
|
||||
return FALSE
|
||||
if(!O.can_reenter_corpse)
|
||||
return 0
|
||||
return FALSE
|
||||
if(O.has_enabled_antagHUD == 1 && config.antag_hud_restricted)
|
||||
return 0
|
||||
return 1
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/obj/effect/golemrune/proc/volunteer(var/mob/dead/observer/O)
|
||||
if(O in ghosts)
|
||||
@@ -448,8 +501,8 @@
|
||||
/obj/effect/timestop/proc/timestop()
|
||||
playsound(get_turf(src), 'sound/magic/TIMEPARADOX2.ogg', 100, 1, -1)
|
||||
for(var/i in 1 to duration-1)
|
||||
for(var/A in orange (freezerange, src.loc))
|
||||
if(istype(A, /mob/living))
|
||||
for(var/A in orange (freezerange, loc))
|
||||
if(isliving(A))
|
||||
var/mob/living/M = A
|
||||
if(M in immune)
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user