diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm index 8a9e53776f9..07f3727e1ff 100644 --- a/_maps/map_files/cyberiad/z2.dmm +++ b/_maps/map_files/cyberiad/z2.dmm @@ -273,11 +273,11 @@ "fm" = (/turf/unsimulated/wall,/area/centcom/gamma) "fn" = (/obj/machinery/computer/library/checkout,/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "fo" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"fp" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"fp" = (/obj/machinery/vending/snack/free,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "fq" = (/obj/machinery/vending/magivend,/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "fr" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/storage/backpack/satchel,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/wizard_station) "fs" = (/obj/structure/bed,/obj/item/bedsheet/wiz,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/wizard_station) -"ft" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/wizard_station) +"ft" = (/obj/structure/mirror/magic{pixel_y = 28},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/wizard_station) "fu" = (/turf/unsimulated/floor{icon_state = "dark"},/area/ninja/outpost) "fv" = (/obj/structure/ninjatele{pixel_y = 25},/turf/unsimulated/floor{icon_state = "dark"},/area/ninja/outpost) "fw" = (/obj/docking_port/stationary{dir = 8; dwidth = 4; height = 11; id = "trade_sol_base"; name = "docking bay 2 at Jupiter Station"; width = 9},/turf/space,/area/space) @@ -313,6 +313,7 @@ "ga" = (/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "gb" = (/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "gc" = (/obj/machinery/light,/obj/machinery/cryopod/right,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/trader_station/sol) +"gd" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/twohanded/staff,/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/twohanded/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) "ge" = (/turf/unsimulated/floor/snow,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/syndicate_mothership) "gf" = (/obj/item/camera,/turf/unsimulated/beach/sand,/area/ninja/holding) "gg" = (/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) @@ -435,6 +436,7 @@ "it" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership) "iu" = (/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plating/airless,/area/syndicate_mothership) "iv" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/assault_pod) +"iw" = (/obj/structure/rack,/obj/item/clothing/suit/space/eva/plasmaman/wizard,/obj/item/clothing/head/helmet/space/eva/plasmaman/wizard,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath/vox,/obj/item/tank/plasma/plasmaman,/obj/item/tank/emergency_oxygen/vox,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) "iy" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "iz" = (/obj/machinery/door/airlock/centcom{name = "Restroom"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "iA" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) @@ -490,7 +492,6 @@ "jB" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'FOURTH WALL'."; name = "\improper FOURTH WALL"; pixel_x = -32},/turf/unsimulated/floor/snow,/area/syndicate_mothership) "jC" = (/obj/machinery/door/poddoor/impassable{id_tag = "sit_tele"; name = "Teleporter"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "jE" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/twohanded/staff/broom,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"jF" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/twohanded/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) "jI" = (/turf/space,/area/adminconstruction) "jJ" = (/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plating/airless,/area/syndicate_mothership) "jK" = (/obj/effect/decal/warning_stripes/north,/obj/machinery/light,/turf/simulated/floor/plating/airless,/area/syndicate_mothership) @@ -513,7 +514,6 @@ "kd" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/gamma) "ke" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/twohanded/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) "kf" = (/obj/machinery/light/spot,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"kg" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/twohanded/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) "kh" = (/turf/simulated/floor/pod,/turf/space,/obj/machinery/porta_turret/syndicate/pod,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/assault_pod) "ki" = (/obj/docking_port/stationary/transit{dir = 2; dwidth = 3; height = 5; id = "engineering_transit"; name = "engineering in transit"; turf_type = /turf/space/transit/horizontal; width = 7},/turf/space/transit/horizontal,/area/space) "kj" = (/turf/unsimulated/floor{dir = 2; icon_state = "stage_stairs"},/area/syndicate_mothership) @@ -1555,8 +1555,8 @@ ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckck ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihfofofofofofofofxfzfyihaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZdEdEdEdEdEbZbZbZbZbZbZbZbZbZbZbZbZbZbZbZbZbZdFdFdFdFdFbZaNaNaNaNaN ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihfAfAfofofofBihfCfEfDihaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZbZbZfGfGfGfGfGjajbjcjcjcjcjcjcjcjcjcjcjcjcjcjbjafGfGfGfGfGbZbZbZaNaNaN ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihfofofofofJfJihihjeihihaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZjlfMbZbZbZbZbZfOfNjpjpjpjpjpjpjpjpjpjpjpjpjpfPfObZbZbZbZbZfMjrbZaNaNaN -ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihfQfQfofRfUfSihjEjejFihaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZjlfMbZbZbZbZbZfOfNjpjpjpjpjpjpjpjpjpjpjpjpjpfPfObZbZbZbZbZfMjrbZaNaNaN -ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihfWfofofRfYfXihkekfkgihaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZjlfMbZbZbZbZbZfOfNjpjpjpjpjpkBgkkBjpjpjpjpjpfPfObZbZbZbZbZfMjrbZaNaNaN +ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihfQfQfofRfUfSihjEjegdihaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZjlfMbZbZbZbZbZfOfNjpjpjpjpjpjpjpjpjpjpjpjpjpfPfObZbZbZbZbZfMjrbZaNaNaN +ckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihfWfofofRfYfXihkekfiwihaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZjlfMbZbZbZbZbZfOfNjpjpjpjpjpkBgkkBjpjpjpjpjpfPfObZbZbZbZbZfMjrbZaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihglfofofofoihihihihihihaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZjlfMbZbZbZbZbZfOfNjpjpjpjpjpkBgnkBjpjpjpjpjpfPfObZbZbZbZbZfMjrbZaNaNaN aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihgpgogsgqfogugwgvgzgyihaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZjlfMbZbZbZbZbZfOfNjpjpjpjpjpjpjpjpjpjpjpjpjpfPfObZbZbZbZbZfMjrbZaNaNaN aNckckckckckckckckckckckckckckckckckckckckckckckckckaNaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckaNckckckckckckckckckckckckckckckckckckckckckckckaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNihgDgCgEfofofogFlsgGluihaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZbZbZgJgJgJgJgJlClDjpjpjpjpjpjplEjpjpjpjpjpjplDlCgJgJgJgJgJbZbZbZaNaNaN diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index 0f85d0bb8eb..8639dbe29f7 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -130,3 +130,51 @@ var/obj/structure/mirror/M = new /obj/structure/mirror(get_turf(user), get_dir(on_wall, user), 1) transfer_prints_to(M, TRUE) qdel(src) + +/obj/structure/mirror/magic + name = "magic mirror" + icon_state = "magic_mirror" + +/obj/structure/mirror/magic/attack_hand(mob/user) + if(!ishuman(user)) + return + + var/mob/living/carbon/human/H = user + var/choice = input(user, "Something to change?", "Magical Grooming") as null|anything in list("Name", "Body") + + switch(choice) + if("Name") + var/newname = copytext(sanitize(input(H, "Who are we again?", "Name change", H.name) as null|text),1,MAX_NAME_LEN) + + if(!newname) + return + H.real_name = newname + H.name = newname + if(H.dna) + H.dna.real_name = newname + if(H.mind) + H.mind.name = newname + + if("Body") + var/list/race_list = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin") + if(config.usealienwhitelist) + for(var/Spec in GLOB.whitelisted_species) + if(is_alien_whitelisted(H, Spec)) + race_list += Spec + else + race_list += GLOB.whitelisted_species + + var/datum/nano_module/appearance_changer/AC = ui_users[user] + if(!AC) + AC = new(src, user) + AC.name = "Magic Mirror" + AC.flags = APPEARANCE_ALL + AC.whitelist = race_list + ui_users[user] = AC + AC.ui_interact(user) + +/obj/structure/mirror/magic/attackby(obj/item/I, mob/living/user, params) + return + +/obj/structure/mirror/magic/shatter() + return //can't be broken. it's magic, i ain't gotta explain shit \ No newline at end of file diff --git a/icons/obj/watercloset.dmi b/icons/obj/watercloset.dmi index 4b00c72866f..e30d7888844 100644 Binary files a/icons/obj/watercloset.dmi and b/icons/obj/watercloset.dmi differ