From 9384d44ee5a125d72465f034a5e34bff2fd56f7d Mon Sep 17 00:00:00 2001 From: Incoming Date: Sun, 8 Mar 2015 04:24:04 -0400 Subject: [PATCH 1/2] Adds a magic mirror to the wizards shuttle. The magic mirror has greatly expanded functionality compared to the normal one, and can additionally change a wizards name, gender, race, hair color and eye color. Additionally this fixes up some rogue simulated airless tiles on the wizards shuttle (these tiles were why the creature would always end up dead) --- _maps/map_files/generic/z2.dmm | 33 +++++---- code/game/objects/structures/mirror.dm | 93 +++++++++++++++++++++++++- 2 files changed, 108 insertions(+), 18 deletions(-) diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm index a209cde1838..7453230b960 100644 --- a/_maps/map_files/generic/z2.dmm +++ b/_maps/map_files/generic/z2.dmm @@ -354,13 +354,21 @@ "gP" = (/obj/structure/optable,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) "gQ" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/cautery,/obj/item/weapon/surgicaldrill,/obj/item/robot_parts/l_arm,/obj/item/robot_parts/r_arm,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) "gR" = (/obj/structure/table,/obj/item/weapon/scalpel,/obj/item/weapon/retractor,/obj/item/weapon/hemostat,/obj/item/weapon/surgical_drapes,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"gS" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "small"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/unsimulated/floor/plating,/area/wizard_station) "gT" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile{dir = 8; dwidth = 2; height = 12; id = "ferry"; name = "ferry shuttle"; travelDir = 180; width = 5},/obj/docking_port/stationary{dir = 8; dwidth = 2; height = 12; id = "ferry_away"; name = "unknown"; turf_type = /turf/unsimulated/floor; width = 5},/turf/simulated/shuttle/floor,/area/space) "gU" = (/obj/machinery/door/airlock/external{name = "Ferry Airlock"; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/ferry) "gV" = (/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/ferry) "gW" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/ferry) "gX" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/unsimulated/wall,/area/centcom/evac) +"gY" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/turf/unsimulated/floor/plating,/area/wizard_station) +"gZ" = (/obj/machinery/door/poddoor/preopen,/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor/plating,/area/wizard_station) "ha" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 5},/area/centcom/ferry) +"hb" = (/obj/structure/table/wood,/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/obj/structure/mirror/magic{pixel_y = 28},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "hc" = (/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) +"hd" = (/obj/machinery/door/poddoor/preopen,/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor/plating,/area/wizard_station) +"he" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/unsimulated/floor/plating,/area/wizard_station) +"hf" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "medium"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/unsimulated/floor/plating,/area/wizard_station) +"hg" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor/plating,/area/wizard_station) "hi" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/space) "hj" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/ferry) "hk" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/evac) @@ -445,7 +453,6 @@ "iX" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac) "iY" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) "iZ" = (/obj/structure/filingcabinet/filingcabinet,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) -"ja" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "small"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/wizard_station) "jb" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 8; icon_state = "fakewindows2"},/area/wizard_station) "jc" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 4; icon_state = "fakewindows"},/area/wizard_station) "jd" = (/turf/unsimulated/wall/normal{tag = "icon-uranium2"; icon_state = "uranium2"},/area/wizard_station) @@ -527,7 +534,6 @@ "kQ" = (/turf/space,/area/tdome/tdomeobserve) "kR" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{tag = "icon-cultdamage6"; icon_state = "cultdamage6"},/area/wizard_station) "kS" = (/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) -"kT" = (/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "kU" = (/obj/machinery/suit_storage_unit/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) "kV" = (/obj/effect/landmark{name = "Syndicate-Uplink"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) "kW" = (/turf/unsimulated/wall/fakeglass,/area/syndicate_mothership) @@ -557,10 +563,8 @@ "lz" = (/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 2},/area/tdome/tdomeobserve) "lA" = (/obj/structure/stool/bed/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 2},/area/tdome/tdomeobserve) "lB" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/space/transit,/area/wizard_station) -"lC" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/turf/simulated/floor/plating/airless,/area/wizard_station) "lD" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station) "lE" = (/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station) -"lF" = (/obj/machinery/door/poddoor/preopen,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plating/airless,/area/wizard_station) "lG" = (/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) "lH" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage7"; icon_state = "cultdamage7"},/area/wizard_station) "lI" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station) @@ -613,7 +617,6 @@ "mF" = (/obj/structure/stool/bed/chair/wood/wings,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "mG" = (/obj/structure/table/wood,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/ointment,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "mH" = (/obj/structure/table/wood,/obj/item/weapon/retractor,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"mI" = (/obj/structure/table/wood,/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "mJ" = (/obj/structure/table/wood,/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "mK" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/hardsuit/wizard,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "mL" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) @@ -655,10 +658,8 @@ "nx" = (/obj/structure/cult/talisman{desc = "A altar dedicated to the Wizard's Federation"},/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "ny" = (/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/staff/broom,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "nz" = (/obj/effect/decal/cleanable/blood/splatter,/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"nA" = (/obj/machinery/door/poddoor/preopen,/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/simulated/floor/plating/airless,/area/wizard_station) "nB" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/remains/human,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station) "nC" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station) -"nD" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/floor/plating/airless,/area/wizard_station) "nE" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 8},/turf/space/transit,/area/wizard_station) "nF" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) "nG" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) @@ -668,7 +669,6 @@ "nK" = (/obj/machinery/flasher{id = "tdomeflash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome/arena) "nL" = (/obj/machinery/camera{pixel_x = 12; pixel_y = -10; network = list("thunder"); c_tag = "Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) "nM" = (/turf/unsimulated/wall/fakeglass{color = "#008000"},/area/wizard_station) -"nN" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "medium"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/wizard_station) "nO" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station) "nP" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "nQ" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/wizard_station) @@ -738,7 +738,6 @@ "ph" = (/turf/unsimulated/wall/fakedoor{name = "Squad 2 Pod"},/area/wizard_station) "pi" = (/turf/unsimulated/wall/normal{tag = "icon-uranium13"; icon_state = "uranium13"},/area/wizard_station) "pj" = (/turf/simulated/shuttle/wall,/area/wizard_station) -"pk" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/wizard_station) "pl" = (/obj/structure/table/wood,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "pm" = (/obj/structure/table/wood,/obj/item/weapon/gun/magic/wand{desc = "Used in emergency's to reignite magma engines. This one appears spent."; name = "wand of emergency engine ignition"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "pn" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/wizard_station) @@ -951,31 +950,31 @@ ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhMhNhOhOhOhOhOhNhPgIgIgIgIhcgIhygJhygJgIgKgIgKgzabababababababababababababababababababababababababababababababfhhUhUhUhUfDhUfDhUhUhUhUhUhUisfhhZhZiaibicidiehZhZekgigigigjfxfyfzdGhJhJhJhJdGfqfqfqifdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNigihiiijikililhNimgIgIhygzgziniogzgzhyipiqhygzabababababababababababababababababababababababababababababababfhiJhUhUiKiKiKiKfRhUhUhUhUhUiLfhitiuiviwixiyiviuiuekgiiziAiBekababdGiCiCiDiDdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNiEihihiFihihihhNimgIiGgzgziHiIiIiHgzgzgzgzgzgzgzgzabababababababababababababababababababababababababababababfhiMhUfTiKiNiOiKhUhUhUhUhUhUiPfhiuiUiViwixiyiViWiuekgiiXiYiZekababebfeedededededededfeeeabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajajbjcjdaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNjeihihihjfihjghNimhciGgzjhjijijijijjjkjljmjnjojpgzabababababababababababababababababababababababababababababfhiQhUhUiKiKiKiKfRhUhUhUhUhUiRfhjriujriwixiyjriujrekgigigigiekabababebegegegegegegegeeababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagSjbjcjdaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNjeihihihjfihjghNimhciGgzjhjijijijijjjkjljmjnjojpgzabababababababababababababababababababababababababababababfhiQhUhUiKiKiKiKfRhUhUhUhUhUiRfhjriujriwixiyjriujrekgigigigiekabababebegegegegegegegeeababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsaajtjujvjwjxaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIjyhNhNhNjzhNhNhNjAgIgIjBgzjCjijDjDjEjijijijFjGjGjGgzabababababababababababababababababababababababababababababfhiShUhUgnhUgnhUhUhUhUhUhUhUiTfhjPiuiuiwixiyiuiujQekjRjSjSjTekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsjUjVjWjvjXjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNjZihkahNkbhyhyhykcgzjijDkdkejDjikfkgjmkhkigzgzabababababababababababababababababababababababababababababfhjqhUhUhUhUhUhUhUjHjJjIgpiTjLfhklkmkmiwixiyknknkoekekkpekekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajYkqlGjXksktjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNkuihkvhNkwkxkxkxiogzjijDkykzjDjikfkAgzgzgzgzababababababababababababababababababababababababababababababfhfhfhfhfhgBfhfhfhfhfhfhfhfhfhfhhZhZhZhZixhZhZhZhZekeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajwjxkIkJkIkKkLaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhMhNhNhNhNhNkuihkvhNkMkNkNkNkNkOjijijijijijikfkAgzgzgzgzabababababababababababababababababababababababababababababababababababababababababababababababababhZixhZkQkQkQeoeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsjskLkRkSkTjwaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihihkVhNkuihkvhNkWkXinkxiogzkYjDjDjDjijikfkZgzlalbgzgzabababababababababababababababababababababababababababababababababababababababababkQhZhZhZhZhZhZhZichZhZhZhZhZhZhZhZekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsjskLkRkSjvjwaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihihkVhNkuihkvhNkWkXinkxiogzkYjDjDjDjijikfkZgzlalbgzgzabababababababababababababababababababababababababababababababababababababababababkQhZhZhZhZhZhZhZichZhZhZhZhZhZhZhZekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaalhliljlklllmjvlnjsaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihlolphNkuihkvhNhNnrlrhPlsgzltlulvlulujijijilwlxlxlygzabababababababababababababababababababababababababababababababababababababababababhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaalBlClDlElFlljvlGlHlIjsjsaaaaaaaaaaaaaaaaababababababgzlJgIhNkUihihlKhNihihihhNihihihhNjBgzlLlMlLlLlNjijijigzlOlPlygzababababababababababababababababababababababababababababababababababababababababablQlzlzlzlRlzlzlzlzlzlzlzlRlzlzlzlQababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaalBgYlDlEgZlljvlGlHlIjsjsaaaaaaaaaaaaaaaaababababababgzlJgIhNkUihihlKhNihihihhNihihihhNjBgzlLlMlLlLlNjijijigzlOlPlygzababababababababababababababababababababababababababababababababababababababababablQlzlzlzlRlzlzlzlzlzlzlzlRlzlzlzlQababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaajsaaljlSlSlTlljvlUlGlIaalVlWaaaaaaaaaaaaaaababababababgzgIgIhNkUihihihlXihihihlYihihihhNiGgzgzkglZmambgzmcjigzgzgzgzgzabababababababababababababababababababababababababababababababababababababababababhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaalnjsaaaajsmdmejWmfjWlnjsjsaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihihihmgihihihmhihihmihNmjmjlsgzgzgzgzgzgNgCmlmmmnmogzabababababababababababababababababababababababababababababababababababababababababhZidmpmpmpmpmpmpmpmpmpmpmpmpmpibhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaakKmqmrmsmtmumtmtmqmvmsmtmtmumtmtaajsaaaaaaaaaaababababababgzgIhMhNhNhNhNhNhNmwihihhNhNhNhNhNhNhPmxmxmxmylsgzmzmzmzmzmzmzgzabababababababababababababababababababababababababababababababababmBmBmBmBmBmBmBmBmBmCmDmDmDmDmDmDmDmDmDmDmDmDmDmCmBmBmBmBmBmBmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaamEmFjvjvmFmEmGmHjvjvjvmImJmEmKmLlnmMjsjsaaaaaaababababababgzgIhNmNmNmOmPmQhNihihihhNmRmSmTmUmVhNgIgJgIgIgLjmmzmzmzmzmzmWgzabababababababababababababababababababababababababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaamEmFjvjvmFmEmGmHjvjvjvhbmJmEmKmLlnmMjsjsaaaaaaababababababgzgIhNmNmNmOmPmQhNihihihhNmRmSmTmUmVhNgIgJgIgIgLjmmzmzmzmzmzmWgzabababababababababababababababababababababababababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaanhnijvjvninhmMmMjvjvjvjvnjnhnknllSlSnmaaaaaaaaababababababgzgIhNihihihloihnnihihihnoihloihlonphNgIhcgKgJhcgznqnqnqnqnqlqgzabababababababababababababababababababababababababababababababababmBmZnanbnsnbnsnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfntnfntnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaanunvjvlGjvnwlUlGjvnxjvjvnynunznAnBnCnDnEaaaaaaababababababgzgIhNnFihihihihnGihihihnHihihihihihhNgIgIgIgKiGgzgzgzgzgzgzgzgzabababababababababababababababababababababababababababababababababmBmZnanbnbnInbnbncndmDmDmDmDmDnJnKnJmDmDmDmDmDnencnfnfnLnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaanMnijvjWlUnNjWjvjvnOjvjvjvnMnPnQnmnRlhaaaaaaaaababababababgzgIhNnFihihnSnThNnUnVnUhNnWnXihihihhNgIgKgIhciGgzababababababababababababababababababababababababababababababababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDnJnYnJmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaanunvjvlGjvnwlUlGjvnxjvjvnynunzhdnBnChenEaaaaaaababababababgzgIhNnFihihihihnGihihihnHihihihihihhNgIgIgIgKiGgzgzgzgzgzgzgzgzabababababababababababababababababababababababababababababababababmBmZnanbnbnInbnbncndmDmDmDmDmDnJnKnJmDmDmDmDmDnencnfnfnLnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaanMnijvjWlUhfjWjvjvnOjvjvjvnMnPnQnmnRlhaaaaaaaaababababababgzgIhNnFihihnSnThNnUnVnUhNnWnXihihihhNgIgKgIhciGgzababababababababababababababababababababababababababababababababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDnJnYnJmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaajdnZjvjvnZjdoajvlGjWjvjvoajdobocodoeaaaaaaaaaaababababababgzgIhNihihgOhNhNhNofogihhNhNhNihihihhNgIgIgJgIiGgzababababababababababababababababababababababababababababababababababababababababmBmZnanbnsnbnsnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfntnfntnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaajwmqojmsmtokmtmqkIolkImsmtokmtmqjsjsjsaaaaaaaaababababababgzgIhNgQgPgRhNgIhNopopophNgIhNiloqorhNgIgIgIgIiGgzababababababababababababababababababababababababababababababababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaamdlGaajsaajsoslmmdaaaajsaaaaaaaajsaaaaaaaaababababababgzgIhNopopophNgIjyotegoujAgIhNopopophNgIgIgIgIiGgzababababababababababababababababababababababababababababababababababababababababmBmBmBovovovovovmBmCmDmDmDmDmDmDmDmDmDmDmDmDmDmCmBovovovovovmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaajsjsaaowlGaaoxoymdjsaalUaaaaaaaaaaaaaaaaaaababababababgzgIjyotegoujAgIgIgIgIgIgIgIjyotegoujAgIgIgIgIiGgzababababababababababababababababababababababababababababababababababababababababababmBozozozozozmBoAoBoBoBoBoBoBoBoBoBoBoBoBoBoCmBoDoDoDoDoDmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsjsaaoElGoFaaaaaajsaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIiGgzababababababababababababababababababababababababababababababababababababababababababmBmBmBmBmBmBmBoGoHoHoHoHoHoIoJoKoHoHoHoHoHoGmBmBmBmBmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsmumqoLmsmujsaajsjsaaaaaaaaaaaaaaababababababgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzababababababababababababababababababababababababababababababababababababababababababababababababoMoGoGoGoNoGoOoOoOoOoOoGoNoGoGoGoMababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaamEoPoQoRmEownllFoSoTjsaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababoMoMoUoMoMoMoMoVoWoXoMoMoMoMoUoMoMababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaamEoPoQoRmEownlgZoSoTjsaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababoMoMoUoMoMoMoMoVoWoXoMoMoMoMoUoMoMababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaakIoYoZpakIpbpclEpdjvjYaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababoMoMoMoMoMababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaalmjsjdpepfpgjdjWphlEpdaajsaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsmupimqkImspimupjpkpdaajsaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhshshshshshshshshshshshshshshshshshshsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsmupimqkImspimupjhgpdaajsaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhshshshshshshshshshshshshshshshshshshsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsmEjvplpmpljvmEaapnaaaajsaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspopppqprprpppsptpupvpwpxpypxpxpxpzhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaajslGpAjvjvjvjvjvpAaaaaaaaalGaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspopppppppppppBpwpwpwpCpxpxpxpDpxpxhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaajsjslmjvjdpEjvjvjvpEjdaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspopppFpopGpHpIpwpwpwpwpxpxpJpxpKpyhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index 87809a71d38..562fc159cd9 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -100,4 +100,95 @@ playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1) return user.visible_message("[user] smashes [src]!") - shatter() \ No newline at end of file + shatter() + +/obj/structure/mirror/magic + name = "magic mirror" + desc = "Turn and face the strange... face." + + +/obj/structure/mirror/magic/attack_hand(mob/user as mob) + 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", "race", "gender", "hair", "eyes") + + 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.mind) + H.mind.name = newname + + if("race") + var/newrace + var/racechoice = input(H, "What are we again?", "Race change") as null|anything in species_list + newrace = species_list[racechoice] + + if(!newrace || !H.dna) + return + + H.dna.species = new newrace + + if(H.dna.species.use_skintones) + var/new_s_tone = input(user, "What are we again?", "Race change") as null|anything in skin_tones + + if(new_s_tone) + H.skin_tone = new_s_tone + + if(MUTCOLORS in H.dna.species.specflags) + var/new_mutantcolor = input(user, "Choose your skin color:", "Race change") as color|null + if(new_mutantcolor) + var/temp_hsv = RGBtoHSV(new_mutantcolor) + + if(ReadHSV(temp_hsv)[3] >= ReadHSV("#7F7F7F")[3]) // mutantcolors must be bright + H.dna.mutant_color = sanitize_hexcolor(new_mutantcolor) + + else + H << "Invalid color. Your color is not bright enough." + + H.regenerate_icons() + + if("gender") + if(!(H.gender in list("male", "female"))) //blame the patriarchy + return + + if(H.gender == "male") + if(alert(H, "Become a Witch?", "Confirmation", "Yes", "No") == "Yes") + H.gender = "female" + H << "Man, you feel like a woman!" + H.regenerate_icons() + else + if(alert(H, "Become a Warlock?", "Confirmation", "Yes", "No") == "Yes") + H.gender = "male" + H << "Whoa man, you feel like a man!" + H.regenerate_icons() + + if("hair") + var/hairchoice = alert(H, "Hair style or hair color?", "Change Hair", "Style", "Color") + + if(hairchoice == "Style") //So you just want to use a mirror then? + ..() + else + var/new_hair_color = input(H, "Choose your hair color", "Hair Color") as null|color + if(new_hair_color) + H.hair_color = sanitize_hexcolor(new_hair_color) + if(H.gender == "male") + var/new_face_color = input(H, "Choose your facial hair color", "Hair Color") as null|color + if(new_face_color) + H.facial_hair_color = sanitize_hexcolor(new_face_color) + + H.update_hair() + + if("eyes") + var/new_eye_color = input(H, "Choose your eye color", "Eye Color") as null|color + if(new_eye_color) + H.eye_color = sanitize_hexcolor(new_eye_color) + H.update_body() \ No newline at end of file From 1cb7674ebd4121392e2fee309ababe239a426ddb Mon Sep 17 00:00:00 2001 From: Incoming Date: Mon, 9 Mar 2015 12:42:41 -0400 Subject: [PATCH 2/2] Adds a cheap looking pulse animation for magic mirrors so wizards notice they are actually more than normal mirrors Adds a changelog --- code/game/objects/structures/mirror.dm | 1 + html/changelogs/Incoming5643-magicmirror.yml | 9 +++++++++ icons/obj/watercloset.dmi | Bin 16366 -> 15003 bytes 3 files changed, 10 insertions(+) create mode 100644 html/changelogs/Incoming5643-magicmirror.yml diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index 562fc159cd9..050f225a6b4 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -105,6 +105,7 @@ /obj/structure/mirror/magic name = "magic mirror" desc = "Turn and face the strange... face." + icon_state = "magic_mirror" /obj/structure/mirror/magic/attack_hand(mob/user as mob) diff --git a/html/changelogs/Incoming5643-magicmirror.yml b/html/changelogs/Incoming5643-magicmirror.yml new file mode 100644 index 00000000000..aad4ce79883 --- /dev/null +++ b/html/changelogs/Incoming5643-magicmirror.yml @@ -0,0 +1,9 @@ +################################ + + +author: Incoming5643 + +delete-after: True + +changes: + - rscadd: "Utilizing a new magic mirror found in the den, wizards can now customize their appearance to a high degree before descending upon the station." diff --git a/icons/obj/watercloset.dmi b/icons/obj/watercloset.dmi index 2b0a66d9ac5249da4f247103c64cfe91949b7263..e31bb79d2474249dd2d161f76d69219e54f38c68 100644 GIT binary patch literal 15003 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 literal 16366 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