[MIRROR] Facility event stuff (#8444)
Co-authored-by: SatinIsle <98125273+SatinIsle@users.noreply.github.com> Co-authored-by: CHOMPStation2 <chompsation2@gmail.com>
@@ -112,6 +112,11 @@
|
|||||||
desc = "A small green bottle containing some strange purple liquid that claims to transform the drinker."
|
desc = "A small green bottle containing some strange purple liquid that claims to transform the drinker."
|
||||||
prefill = list("polymorph" = 1)
|
prefill = list("polymorph" = 1)
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/glass/bottle/potion/glamour
|
||||||
|
name = "glamour potion"
|
||||||
|
desc = "A small white potion, the perfectly white liquid inside moves in an almost gaseous manner, yet appears to produce reflections perfectly."
|
||||||
|
prefill = list("glamour" = 1)
|
||||||
|
|
||||||
//Failed potions
|
//Failed potions
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/glass/bottle/potion/plain
|
/obj/item/weapon/reagent_containers/glass/bottle/potion/plain
|
||||||
|
|||||||
@@ -291,6 +291,14 @@
|
|||||||
base_reagent = /obj/item/weapon/potion_base/ichor
|
base_reagent = /obj/item/weapon/potion_base/ichor
|
||||||
product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/truepolymorph
|
product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/truepolymorph
|
||||||
|
|
||||||
|
/obj/item/weapon/potion_material/glamour_shard
|
||||||
|
name = "glamour_shard"
|
||||||
|
desc = "A shard of hardened white crystal that seems to change shapes as you hold it."
|
||||||
|
icon = 'icons/obj/chemical_potionreagents.dmi'
|
||||||
|
icon_state = "glamour_shard"
|
||||||
|
base_reagent = /obj/item/weapon/potion_base/aqua_regia
|
||||||
|
product_potion = /obj/item/weapon/reagent_containers/glass/bottle/potion/glamour
|
||||||
|
|
||||||
//base ingredients
|
//base ingredients
|
||||||
|
|
||||||
/obj/item/weapon/potion_base/aqua_regia
|
/obj/item/weapon/potion_base/aqua_regia
|
||||||
|
|||||||
@@ -315,3 +315,18 @@
|
|||||||
log_debug("polymorph tf_type pass")
|
log_debug("polymorph tf_type pass")
|
||||||
var/new_mob = new tf_type(get_turf(target))
|
var/new_mob = new tf_type(get_turf(target))
|
||||||
return new_mob
|
return new_mob
|
||||||
|
|
||||||
|
/datum/reagent/glamour
|
||||||
|
name = "Glamour"
|
||||||
|
id = "glamour"
|
||||||
|
description = "This material is from somewhere else, just being near produces changes."
|
||||||
|
taste_description = "change"
|
||||||
|
reagent_state = LIQUID
|
||||||
|
color = "#ffffff"
|
||||||
|
scannable = 1
|
||||||
|
|
||||||
|
/datum/reagent/glamour/affect_blood(var/mob/living/carbon/target, var/removed)
|
||||||
|
target.verbs |= /mob/living/carbon/human/proc/enter_cocoon
|
||||||
|
target.bloodstr.clear_reagents() //instantly clears reagents afterwards
|
||||||
|
target.ingested.clear_reagents()
|
||||||
|
target.touching.clear_reagents()
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 805 KiB After Width: | Height: | Size: 804 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 19 KiB |
BIN
icons/turf/flooring/glamour.dmi
Normal file
|
After Width: | Height: | Size: 251 B |
117
maps/redgate/facility_items.dm
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
/obj/item/weapon/card/id/keycard
|
||||||
|
name = "keycard"
|
||||||
|
desc = "Allows access to certain doors."
|
||||||
|
icon_state = "keycard-red"
|
||||||
|
initial_sprite_stack = list()
|
||||||
|
light_color = "#0099ff"
|
||||||
|
access = list(801)
|
||||||
|
|
||||||
|
/obj/item/weapon/card/id/keycard/update_icon()
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/weapon/card/id/keycard/read()
|
||||||
|
to_chat(usr, "<span class='notice'>It is a red keycard, it must unlock something.</span>")
|
||||||
|
|
||||||
|
/obj/item/weapon/card/id/keycard/attack_self(mob/living/user as mob)
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/weapon/card/id/keycard/blue
|
||||||
|
icon_state = "keycard-blue"
|
||||||
|
access = list(802)
|
||||||
|
|
||||||
|
/obj/item/weapon/card/id/keycard/green
|
||||||
|
icon_state = "keycard-green"
|
||||||
|
access = list(803)
|
||||||
|
|
||||||
|
/obj/item/glamourcrystal
|
||||||
|
name = "white crytal"
|
||||||
|
desc = "A large white, highly reflective crystal with a slight glow to it."
|
||||||
|
icon = 'icons/obj/items_vr.dmi'
|
||||||
|
icon_state = "glamourcrystal"
|
||||||
|
|
||||||
|
/obj/structure/crystalholder
|
||||||
|
name = "material cart"
|
||||||
|
desc = "A cart designed to fit and carry one large carefully cut crystal."
|
||||||
|
icon = 'icons/obj/items_vr.dmi'
|
||||||
|
icon_state = "crystalholder"
|
||||||
|
var/crystal = 0
|
||||||
|
density = 1
|
||||||
|
anchored = 0
|
||||||
|
|
||||||
|
/obj/structure/crystalholder/attackby(obj/item/W as obj, mob/living/user as mob)
|
||||||
|
if(istype(W,/obj/item/glamourcrystal) && !crystal)
|
||||||
|
icon_state = "crystalholder_full"
|
||||||
|
update_icon()
|
||||||
|
crystal = 1
|
||||||
|
user.drop_item()
|
||||||
|
qdel(W)
|
||||||
|
to_chat(usr, "<span class='notice'>You insert the crystal into the receptacle.</span>")
|
||||||
|
else
|
||||||
|
to_chat(usr, "<span class='notice'>There isn't a slot for that.</span>")
|
||||||
|
|
||||||
|
/obj/machinery/crystalexperimenter
|
||||||
|
name = "crystal experimenter"
|
||||||
|
desc = "A cart designed to fit and carry one large carefully cut crystal."
|
||||||
|
icon = 'icons/obj/32x64.dmi'
|
||||||
|
icon_state = "crystalexperimenter"
|
||||||
|
var/used_up = 0
|
||||||
|
density = 0
|
||||||
|
anchored = 1
|
||||||
|
layer = 5
|
||||||
|
var/id = "glamour"
|
||||||
|
|
||||||
|
/obj/machinery/crystalexperimenter/proc/experiment()
|
||||||
|
if(used_up)
|
||||||
|
return
|
||||||
|
var/crystal_found = 0
|
||||||
|
for(var/obj/structure/crystalholder/C in get_turf(src))
|
||||||
|
if(C.crystal)
|
||||||
|
used_up = 1
|
||||||
|
crystal_found = 1
|
||||||
|
continue
|
||||||
|
|
||||||
|
if(!crystal_found)
|
||||||
|
return
|
||||||
|
|
||||||
|
for(var/obj/machinery/light/L in machines)
|
||||||
|
if(L.z != src.z || get_dist(src,L) > 10)
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
L.flicker(10)
|
||||||
|
|
||||||
|
for(var/obj/machinery/door/blast/M in machines)
|
||||||
|
if(M.id == id)
|
||||||
|
if(M.density)
|
||||||
|
spawn(0)
|
||||||
|
M.open()
|
||||||
|
return
|
||||||
|
else
|
||||||
|
spawn(0)
|
||||||
|
M.close()
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
/obj/machinery/button/remote/experimenter
|
||||||
|
name = "experimentation switch"
|
||||||
|
desc = "A switch tied to nearby machinery."
|
||||||
|
|
||||||
|
/obj/machinery/button/remote/experimenter/trigger()
|
||||||
|
for(var/obj/machinery/crystalexperimenter/E in machines)
|
||||||
|
E.experiment()
|
||||||
|
|
||||||
|
/turf/unsimulated/wall/glamour
|
||||||
|
name = "glamour"
|
||||||
|
desc = "A blindingly white light that appears to cast your reflection."
|
||||||
|
icon = 'icons/turf/flooring/glamour.dmi'
|
||||||
|
icon_state = "glamour"
|
||||||
|
|
||||||
|
/turf/simulated/floor/glamour
|
||||||
|
name = "glamour"
|
||||||
|
desc = "A blindingly white light that appears to cast your reflection."
|
||||||
|
icon = 'icons/turf/flooring/glamour.dmi'
|
||||||
|
icon_state = "glamour"
|
||||||
|
light_range = 7
|
||||||
|
light_power = 1
|
||||||
|
light_color = "#ffffff"
|
||||||
|
light_on = TRUE
|
||||||
|
|
||||||
@@ -4632,6 +4632,7 @@
|
|||||||
#include "interface\stylesheet.dm"
|
#include "interface\stylesheet.dm"
|
||||||
#include "interface\skin.dmf"
|
#include "interface\skin.dmf"
|
||||||
#include "maps\gateway_archive_vr\blackmarketpackers.dm"
|
#include "maps\gateway_archive_vr\blackmarketpackers.dm"
|
||||||
|
#include "maps\redgate\facility_items.dm"
|
||||||
#include "maps\redgate\fantasy_items.dm"
|
#include "maps\redgate\fantasy_items.dm"
|
||||||
#include "maps\redgate\falls\atoll_decals.dm"
|
#include "maps\redgate\falls\atoll_decals.dm"
|
||||||
#include "maps\redgate\falls\atoll_objs.dm"
|
#include "maps\redgate\falls\atoll_objs.dm"
|
||||||
|
|||||||