From d17d34edc998f71183dad3c0aea4eb73249f955b Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Tue, 23 Feb 2016 01:07:06 -0600 Subject: [PATCH 1/5] Three lavaland ruins --- _maps/templates/lavaland_surface_gluttony.dmm | 40 +++++++++++ _maps/templates/lavaland_surface_greed.dmm | 43 +++++++++++ _maps/templates/lavaland_surface_pride.dmm | 32 +++++++++ code/datums/diseases/transformation.dm | 16 +++++ code/game/objects/structures/mirror.dm | 6 +- .../awaymissions/mission_code/Academy.dm | 3 + .../chemistry/reagents/other_reagents.dm | 9 +++ .../reagents/reagent_containers/syringes.dm | 9 ++- code/modules/ruins/lavaland_ruin_code.dm | 71 +++++++++++++++++++ 9 files changed, 227 insertions(+), 2 deletions(-) create mode 100644 _maps/templates/lavaland_surface_gluttony.dmm create mode 100644 _maps/templates/lavaland_surface_greed.dmm create mode 100644 _maps/templates/lavaland_surface_pride.dmm diff --git a/_maps/templates/lavaland_surface_gluttony.dmm b/_maps/templates/lavaland_surface_gluttony.dmm new file mode 100644 index 00000000000..1f904abd032 --- /dev/null +++ b/_maps/templates/lavaland_surface_gluttony.dmm @@ -0,0 +1,40 @@ +"a" = (/turf/simulated/mineral/volcanic/lava_land_surface,/area/lavaland/surface/outdoors) +"b" = (/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,/area/lavaland/surface/outdoors) +"c" = (/turf/simulated/floor/plating/lava/smooth/lava_land_surface,/area/lavaland/surface/outdoors) +"d" = (/turf/indestructible/riveted/uranium{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"e" = (/turf/simulated/floor/plating/lava/smooth,/area/ruin/powered) +"f" = (/obj/item/weapon/reagent_containers/syringe/gluttony,/turf/simulated/floor/plasteel/freezer{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"g" = (/obj/effect/gluttony,/turf/simulated/floor/plasteel/freezer{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"h" = (/obj/item/weapon/veilrender/vealrender,/turf/simulated/floor/plasteel/freezer{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"i" = (/turf/simulated/floor/plasteel/freezer{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"j" = (/obj/item/trash/plate,/turf/simulated/floor/plasteel/freezer{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"k" = (/obj/machinery/door/airlock/uranium,/turf/simulated/floor/plasteel/freezer{baseturf = /turf/simulated/floor/plating/lava/smooth; blocks_air = 1},/area/ruin/powered) +"l" = (/obj/item/trash/candy,/turf/simulated/floor/plasteel/freezer{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"m" = (/obj/item/trash/raisins,/turf/simulated/floor/plasteel/freezer{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"n" = (/obj/item/trash/pistachios,/turf/simulated/floor/plasteel/freezer{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"o" = (/obj/item/trash/popcorn,/turf/simulated/floor/plasteel/freezer{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"p" = (/obj/item/trash/semki,/turf/simulated/floor/plasteel/freezer{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"q" = (/obj/item/trash/syndi_cakes,/turf/simulated/floor/plasteel/freezer{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) + +(1,1,1) = {" +aabbbaaabaaaaaabbaaa +aaaababbbbbbbbbbbaaa +aaaaaabcccccccbbbaaa +bbaaaabcdddddcbaaaaa +bbbbaabcdefedcbbbbaa +abbbbbbcddgddcbbbbaa +abbbbbbcdgggdcbbbbaa +bbccccccdgggdccccccb +abcddddddgggddddddcb +bbcdhiiiggggggijidcb +bbbkiilimgniiiginkbb +bbcdoiimiiigiiiiidcb +bbcddddddpiiddddddcb +bbccccccdiildccccccb +bbbbbbbcdjiidcbbbbba +bbbaabbcdliidcbbbbba +aaaaabbcdiiqdcbbbbab +aaaaabbcddkddcbaaaaa +aaaaabbcccbcccbaaaaa +aaaaaaabbbbbbbbaaaaa +"} diff --git a/_maps/templates/lavaland_surface_greed.dmm b/_maps/templates/lavaland_surface_greed.dmm new file mode 100644 index 00000000000..e5cb3cbf5ab --- /dev/null +++ b/_maps/templates/lavaland_surface_greed.dmm @@ -0,0 +1,43 @@ +"a" = (/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,/area/lavaland/surface/outdoors) +"b" = (/turf/simulated/mineral/volcanic/lava_land_surface,/area/lavaland/surface/outdoors) +"c" = (/turf/simulated/floor/plating/lava/smooth/lava_land_surface,/area/lavaland/surface/outdoors) +"d" = (/turf/simulated/wall/cult{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"e" = (/obj/structure/table/wood/poker,/obj/item/weapon/gun/projectile/revolver/russian/soul,/turf/simulated/floor/carpet{baseturf = /turf/simulated/floor/plating/lava/smooth; icon_state = "carpetsymbol"},/area/ruin/powered) +"f" = (/obj/structure/cursed_slot_machine,/turf/simulated/floor/carpet{baseturf = /turf/simulated/floor/plating/lava/smooth; icon_state = "carpetsymbol"},/area/ruin/powered) +"g" = (/obj/structure/table/wood/poker,/obj/item/weapon/coin/mythril,/turf/simulated/floor/carpet{baseturf = /turf/simulated/floor/plating/lava/smooth; icon_state = "carpetsymbol"},/area/ruin/powered) +"h" = (/obj/structure/table/wood/poker,/obj/item/weapon/coin/diamond,/turf/simulated/floor/carpet{baseturf = /turf/simulated/floor/plating/lava/smooth; icon_state = "carpetsymbol"},/area/ruin/powered) +"i" = (/turf/simulated/floor/carpet{baseturf = /turf/simulated/floor/plating/lava/smooth; icon_state = "carpetsymbol"},/area/ruin/powered) +"j" = (/obj/structure/table/wood/poker,/obj/item/weapon/coin/adamantine,/turf/simulated/floor/carpet{baseturf = /turf/simulated/floor/plating/lava/smooth; icon_state = "carpetsymbol"},/area/ruin/powered) +"k" = (/obj/machinery/computer/arcade/battle{emagged = 1},/turf/simulated/floor/engine/cult{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"l" = (/obj/item/weapon/coin/gold,/turf/simulated/floor/engine/cult{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"m" = (/turf/simulated/floor/engine/cult{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"n" = (/obj/structure/table/wood/poker,/obj/item/stack/spacecash/c1000,/turf/simulated/floor/engine/cult{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"o" = (/obj/item/weapon/moneybag,/turf/simulated/floor/engine/cult{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"p" = (/obj/structure/table/wood/poker,/obj/item/weapon/ore/gold,/turf/simulated/floor/engine/cult{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"q" = (/obj/structure/table/wood/poker,/obj/item/stack/spacecash/c20,/obj/item/stack/spacecash/c50,/turf/simulated/floor/engine/cult{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"r" = (/obj/structure/table/wood/poker,/obj/item/stack/spacecash/c500,/obj/item/stack/spacecash/c100,/obj/item/stack/spacecash/c1000,/turf/simulated/floor/engine/cult{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"s" = (/obj/structure/table/wood/poker,/obj/item/stack/spacecash/c200,/turf/simulated/floor/engine/cult{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"t" = (/obj/machinery/door/airlock/gold,/turf/simulated/floor/engine/cult{baseturf = /turf/simulated/floor/plating/lava/smooth; blocks_air = 1},/area/ruin/powered) + +(1,1,1) = {" +aaaaabbaabaaabbbaaaa +abbaaaaaabaaabbbaaaa +abbbaaaabbbaaaabbaaa +aabbbaaaaaaaaaabbbba +aabbbacccccccaaaabbb +aabaaacdddddcaaaabbb +aaaaaccdefgdccaaabba +aaaaccddhijddccaabaa +aaaacddklmlkddcaabaa +bbbacdnomlmopdcaabaa +bbaacdqlmmmmrdcaabba +abaacdsmmollrdcaabba +aaaacdddlmmdddcaabbb +aaaacccdmmldcccaaabb +aaaaaacdlmodcaaaaaab +aaaaaacddmddcaaaabbb +aabbaaccdtdccaaaabbb +abbbaaaaaaaaaaaaabbb +abbbbbaaaaaaaaabbbbb +bbbbaaaaaaaaaaabbbbb +"} diff --git a/_maps/templates/lavaland_surface_pride.dmm b/_maps/templates/lavaland_surface_pride.dmm new file mode 100644 index 00000000000..b6d48176b51 --- /dev/null +++ b/_maps/templates/lavaland_surface_pride.dmm @@ -0,0 +1,32 @@ +"a" = (/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,/area/lavaland/surface/outdoors) +"b" = (/turf/simulated/mineral/volcanic/lava_land_surface,/area/lavaland/surface/outdoors) +"c" = (/turf/simulated/floor/plating/lava/smooth/lava_land_surface,/area/lavaland/surface/outdoors) +"d" = (/turf/simulated/wall/mineral/diamond{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"e" = (/obj/structure/mirror{pixel_x = -32},/turf/simulated/floor/mineral/silver{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"f" = (/obj/structure/mirror{pixel_x = 32},/turf/simulated/floor/mineral/silver{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"g" = (/turf/simulated/floor/mineral/silver{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"h" = (/obj/structure/mirror/magic/pride,/turf/simulated/wall/mineral/diamond{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"i" = (/obj/machinery/door/airlock/diamond,/turf/simulated/floor/mineral/silver{baseturf = /turf/simulated/floor/plating/lava/smooth; blocks_air = 1},/area/ruin/powered) + +(1,1,1) = {" +aabcccccbb +aaccdddccb +accdddddcc +acdddddddc +acdddddddc +acdedddfdc +acdeghgfdc +acdegggfdc +acdegggfdc +acdegggfdc +acdegggfdc +acdegggfdc +acdegggfdc +acdegggfdc +acdegggfdc +acdegggfdc +acdegggfdc +acdddidddc +acccaacccc +aaaaaaaaaa +"} diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm index 82a1712ac58..b814687318a 100644 --- a/code/datums/diseases/transformation.dm +++ b/code/datums/diseases/transformation.dm @@ -228,3 +228,19 @@ if(4) if (prob(20)) affected_mob.say(pick("Bark!", "AUUUUUU")) + +/datum/disease/transformation/morph + name = "Gluttony's Blessing" + cure_text = "nothing" + cures = list("adminordrazine") + agent = "Gluttony's Blessing" + desc = "A 'gift' from somewhere terrible." + stage_prob = 20 + severity = BIOHAZARD + visibility_flags = 0 + stage1 = list("Your stomach rumbles.") + stage2 = list("Your skin feels saggy.") + stage3 = list("Your appendages are melting away.", "Your limbs begin to lose their shape.") + stage4 = list("You're ravenous.") + stage5 = list("You have become a morph.") + new_form = /mob/living/simple_animal/hostile/morph \ No newline at end of file diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index 343cfb5d940..f95dec2f6c5 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -227,7 +227,6 @@ H.update_body() H.update_mutations_overlay() //(hulk male/female) - if("hair") var/hairchoice = alert(H, "Hair style or hair color?", "Change Hair", "Style", "Color") @@ -251,3 +250,8 @@ H.eye_color = sanitize_hexcolor(new_eye_color) H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK) H.update_body() + if(choice) + curse(user) + +/obj/structure/mirror/magic/proc/curse(mob/living/user) + return \ No newline at end of file diff --git a/code/modules/awaymissions/mission_code/Academy.dm b/code/modules/awaymissions/mission_code/Academy.dm index ac0ce1e15f6..b098e08e510 100644 --- a/code/modules/awaymissions/mission_code/Academy.dm +++ b/code/modules/awaymissions/mission_code/Academy.dm @@ -167,6 +167,9 @@ var/used = 0 var/rigged = -1 +/obj/item/weapon/dice/d20/fate/one_use + reusable = 0 + /obj/item/weapon/dice/d20/fate/diceroll(mob/user) ..() if(!used) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 421fce223b5..1c85ab8ec76 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -412,6 +412,15 @@ if(method != TOUCH) M.ForceContractDisease(new /datum/disease/transformation/slime(0)) +/datum/reagent/gluttonytoxin + name = "Gluttony's Blessing" + id = "gluttonytoxin" + description = "An advanced corruptive toxin produced by something terrible." + color = "#5EFF3B" //RGB: 94, 255, 59 + +/datum/reagent/gluttonytoxin/reaction_mob(mob/M, method=TOUCH, reac_volume) + M.ForceContractDisease(new /datum/disease/transformation/morph(0)) + /datum/reagent/serotrotium name = "Serotrotium" id = "serotrotium" diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index d534b3ef9e2..1c0ed97a91f 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -246,4 +246,11 @@ desc = "A syringe used to completely change the users identity." amount_per_transfer_from_this = 1 volume = 1 - list_reagents = list("mulligan" = 1) \ No newline at end of file + list_reagents = list("mulligan" = 1) + +/obj/item/weapon/reagent_containers/syringe/gluttony + name = "Gluttony's Blesssing" + desc = "A syringe recovered from a dread place. It probably isn't wise to use." + amount_per_transfer_from_this = 1 + volume = 1 + list_reagents = list("gluttonytoxin" = 1) \ No newline at end of file diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index a3b40d285bf..eb47389333a 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -25,3 +25,74 @@ death = FALSE mob_species = /datum/species/pod flavour_text = {"You are a strange, artificial creature. In the face of impending apocalyptic events, your creators tasked you with maintaining an emergency seed vault. You are to tend to the plants and await their return to aid in rebuilding civilization. You've been waiting quite a while though..."} + +//Greed + +/obj/structure/cursed_slot_machine + name = "greed's slot machine" + desc = "High stakes, high rewards." + icon = 'icons/obj/economy.dmi' + icon_state = "slots1" + anchored = 1 + density = 1 + var/win_prob = 5 + +/obj/structure/cursed_slot_machine/attack_hand(mob/living/carbon/human/user) + if(!istype(user)) + return + if(in_use) + return + if(!ishuman(user)) + return + in_use = TRUE + user << "You feel your very life draining away as you pull the lever...it'll be worth it though, right?" + user.adjustCloneLoss(20) + if(user.stat) + user.gib() + icon_state = "slots2" + sleep(5) + icon_state = "slots1" + in_use = FALSE + if(prob(win_prob)) + new /obj/item/weapon/dice/d20/fate/one_use(get_turf(src)) + if(user) + user << "You hear laughter echoing around you as the machine fades away. In it's place...more gambling." + qdel(src) + else + if(user) + user << "Looks like you didn't win anything this time...next time though, right?" +//Gluttony + +/obj/effect/gluttony + name = "gluttony's wall" + desc = "Only those who truely indulge may pass." + anchored = 1 + density = 1 + icon_state = "blob" + icon = 'icons/mob/blob.dmi' + +/obj/effect/gluttony/CanPass(atom/movable/mover, turf/target, height=0)//So bullets will fly over and stuff. + if(height==0) + return 1 + if(istype(mover, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = mover + if(H.nutrition >= NUTRITION_LEVEL_FAT) + return 1 + else + H << "You're not gluttonous enough to pass this barrier!" + else + return 0 + +//Pride + +/obj/structure/mirror/magic + name = "pride's mirror" + desc = "Pride cometh before the..." + icon_state = "magic_mirror" + +/obj/structure/mirror/magic/pride/curse(mob/user) + user.visible_message("The ground splits beneath [user] as their hand leaves the mirror!") + var/turf/T = get_turf(user) + T.ChangeTurf(/turf/simulated/chasm/straight_down) + var/turf/simulated/chasm/straight_down/C = T + C.drop(user) \ No newline at end of file From 9d208197baf460a4c17e86988da739da092c629a Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Tue, 23 Feb 2016 05:05:11 -0600 Subject: [PATCH 2/5] Sloth --- _maps/templates/lavaland_surface_sloth.dmm | 20 +++++++++++++++++++ .../reagents/reagent_containers/syringes.dm | 2 +- code/modules/ruins/lavaland_ruin_code.dm | 7 +++++-- 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 _maps/templates/lavaland_surface_sloth.dmm diff --git a/_maps/templates/lavaland_surface_sloth.dmm b/_maps/templates/lavaland_surface_sloth.dmm new file mode 100644 index 00000000000..7e7c356c2d2 --- /dev/null +++ b/_maps/templates/lavaland_surface_sloth.dmm @@ -0,0 +1,20 @@ +"a" = (/turf/indestructible/riveted{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/unpowered) +"b" = (/turf/simulated/floor/plating/lava/smooth/lava_land_surface,/area/ruin/unpowered) +"c" = (/obj/item/weapon/paper{desc = "have not gotten around to finishing my cursed item yet sorry - sloth"; name = "note from sloth"},/turf/simulated/floor/sepia{baseturf = /turf/simulated/floor/plating/lava/smooth; blocks_air = 1; slowdown = 10},/area/ruin/unpowered) +"d" = (/turf/simulated/floor/sepia{baseturf = /turf/simulated/floor/plating/lava/smooth; blocks_air = 1; slowdown = 10},/area/ruin/unpowered) +"e" = (/obj/machinery/door/airlock/wood,/turf/simulated/floor/sepia{baseturf = /turf/simulated/floor/plating/lava/smooth; blocks_air = 1; slowdown = 10},/area/ruin/unpowered) +"f" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/orange,/turf/simulated/floor/sepia{baseturf = /turf/simulated/floor/plating/lava/smooth; blocks_air = 1; slowdown = 10},/area/ruin/unpowered) +"g" = (/obj/structure/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/sepia{baseturf = /turf/simulated/floor/plating/lava/smooth; blocks_air = 1; slowdown = 10},/area/ruin/unpowered) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba +abaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +abacdddadddadddadddadddadddadddadddadddadddadddada +abaddadadadadadadadadadadadadadadadadadadadadadade +abaddadadadadadadadadadadadadadadadadadadadadadade +abafgadddadddadddadddadddadddadddadddadddadddaddda +abaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 1c0ed97a91f..e2626f13977 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -249,7 +249,7 @@ list_reagents = list("mulligan" = 1) /obj/item/weapon/reagent_containers/syringe/gluttony - name = "Gluttony's Blesssing" + name = "Gluttony's Blessing" desc = "A syringe recovered from a dread place. It probably isn't wise to use." amount_per_transfer_from_this = 1 volume = 1 diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index eb47389333a..cfbd050af1f 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -65,7 +65,7 @@ /obj/effect/gluttony name = "gluttony's wall" - desc = "Only those who truely indulge may pass." + desc = "Only those who truly indulge may pass." anchored = 1 density = 1 icon_state = "blob" @@ -95,4 +95,7 @@ var/turf/T = get_turf(user) T.ChangeTurf(/turf/simulated/chasm/straight_down) var/turf/simulated/chasm/straight_down/C = T - C.drop(user) \ No newline at end of file + C.drop(user) + +//Sloth - I'll finish this item later + From de89460706e82ebeca983c7fdbca2209072283f6 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Tue, 23 Feb 2016 06:31:40 -0600 Subject: [PATCH 3/5] Envy --- _maps/templates/lavaland_surface_envy.dmm | 39 +++++++++++++++++++++++ code/modules/ruins/lavaland_ruin_code.dm | 27 ++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 _maps/templates/lavaland_surface_envy.dmm diff --git a/_maps/templates/lavaland_surface_envy.dmm b/_maps/templates/lavaland_surface_envy.dmm new file mode 100644 index 00000000000..55916f23cad --- /dev/null +++ b/_maps/templates/lavaland_surface_envy.dmm @@ -0,0 +1,39 @@ +"a" = (/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,/area/lavaland/surface/outdoors) +"b" = (/turf/simulated/mineral/volcanic/lava_land_surface,/area/lavaland/surface/outdoors) +"c" = (/turf/simulated/floor/plating/lava/smooth/lava_land_surface,/area/lavaland/surface/outdoors) +"d" = (/turf/simulated/wall/rust{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/unpowered) +"e" = (/obj/structure/mirror{desc = "This mirror has been shattered. It looks like the bad luck energies spilling from it are taking immediate effect on your surroundings!"; icon_state = "mirror_broke"; pixel_x = -28; shattered = 1},/obj/item/clothing/suit/hooded/bloated_human,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/unpowered) +"f" = (/obj/structure/mirror{desc = "Oh no, seven years of bad luck!"; icon_state = "mirror_broke"; pixel_x = 28; shattered = 1},/turf/simulated/floor/plating{baseturf = /turf/simulated/floor/plating/lava/smooth; icon_state = "panelscorched"},/area/ruin/unpowered) +"g" = (/obj/effect/decal/cleanable/blood/tracks,/obj/structure/mirror{desc = "This mirror has been shattered. It looks like the bad luck energies spilling from it are taking immediate effect on your surroundings!"; icon_state = "mirror_broke"; pixel_x = -28; shattered = 1},/turf/simulated/floor/plating{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/unpowered) +"h" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/unpowered) +"i" = (/turf/simulated/floor/plating{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/unpowered) +"j" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plating{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/unpowered) +"k" = (/obj/structure/mirror{icon_state = "mirror_broke"; pixel_y = 28; shattered = 1},/obj/item/weapon/knife/envy,/turf/simulated/floor/plating{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/unpowered) +"l" = (/obj/structure/mirror{desc = "Oh no, seven years of bad luck!"; icon_state = "mirror_broke"; pixel_x = 28; shattered = 1},/turf/simulated/floor/plating{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/unpowered) +"m" = (/obj/structure/mirror{desc = "This mirror has been shattered. It looks like the bad luck energies spilling from it are taking immediate effect on your surroundings!"; icon_state = "mirror_broke"; pixel_x = -28; shattered = 1},/turf/simulated/floor/plating{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/unpowered) +"n" = (/turf/simulated/floor/plating{baseturf = /turf/simulated/floor/plating/lava/smooth; broken = 1; icon_state = "platingdmg2"},/area/ruin/unpowered) +"o" = (/obj/structure/mirror{desc = "This mirror has been shattered. It looks like the bad luck energies spilling from it are taking immediate effect on your surroundings!"; icon_state = "mirror_broke"; pixel_x = -28; shattered = 1},/turf/simulated/floor/plating{baseturf = /turf/simulated/floor/plating/lava/smooth; broken = 1; icon_state = "platingdmg1"},/area/ruin/unpowered) +"p" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/plating{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/unpowered) + +(1,1,1) = {" +aabcccccbb +aaccdddccb +accdddddcc +acdddddddc +acdddddddc +acdedddfdc +acdghdijdc +acdghkildc +acdgiiildc +acdmiijldc +acdmiiildc +acdmiinldc +acdmiiildc +acdmhiildc +acdoiiildc +acdmiiildc +acdjiiijdc +acdddpdddc +acccaacccc +aaaaaaaaaa +"} diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index cfbd050af1f..b420cba43fc 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -99,3 +99,30 @@ //Sloth - I'll finish this item later +//Envy + +/obj/item/weapon/knife/envy + name = "envy's knife" + desc = "Their success will be yours." + icon = 'icons/obj/wizard.dmi' + icon_state = "render" + item_state = "render" + force = 18 + throwforce = 10 + w_class = 3 + hitsound = 'sound/weapons/bladeslice.ogg' + +/obj/item/weapon/knife/envy/afterattack(atom/movable/AM, mob/living/carbon/human/user, proximity) + ..() + if(!proximity) + return + if(!istype(user)) + return + if(istype(AM, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = AM + if(user.real_name != H.dna.real_name) + user.real_name = H.dna.real_name + H.dna.transfer_identity(user, transfer_SE=1) + user.updateappearance(mutcolor_update=1) + user.domutcheck() + user << "You assume the face of [H]. Are you satisfied?" \ No newline at end of file From 66689856d3b099ef0500612351ddbadc8520227c Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Wed, 24 Feb 2016 01:09:53 -0600 Subject: [PATCH 4/5] Span classes --- code/modules/ruins/lavaland_ruin_code.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index b420cba43fc..e54b4ddf1d2 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -45,12 +45,12 @@ if(!ishuman(user)) return in_use = TRUE - user << "You feel your very life draining away as you pull the lever...it'll be worth it though, right?" + user << "You feel your very life draining away as you pull the lever...it'll be worth it though, right?" user.adjustCloneLoss(20) if(user.stat) user.gib() icon_state = "slots2" - sleep(5) + sleep(50) icon_state = "slots1" in_use = FALSE if(prob(win_prob)) @@ -60,7 +60,7 @@ qdel(src) else if(user) - user << "Looks like you didn't win anything this time...next time though, right?" + user << "Looks like you didn't win anything this time...next time though, right?" //Gluttony /obj/effect/gluttony @@ -79,7 +79,7 @@ if(H.nutrition >= NUTRITION_LEVEL_FAT) return 1 else - H << "You're not gluttonous enough to pass this barrier!" + H << "You're not gluttonous enough to pass this barrier!" else return 0 From 62ce96e20eca6f101ec570ed985992cdfe449287 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Wed, 24 Feb 2016 13:20:12 -0600 Subject: [PATCH 5/5] Adjacency checks --- code/game/objects/structures/mirror.dm | 17 +++++++++++++---- code/modules/ruins/lavaland_ruin_code.dm | 4 +--- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index f95dec2f6c5..0a85358629c 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -159,13 +159,17 @@ var/choice = input(user, "Something to change?", "Magical Grooming") as null|anything in list("name", "race", "gender", "hair", "eyes") + if(!Adjacent(user)) + return + 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 - + if(!Adjacent(user)) + return H.real_name = newname H.name = newname if(H.dna) @@ -180,7 +184,8 @@ if(!newrace) return - + if(!Adjacent(user)) + return H.set_species(newrace, icon_update=0) if(H.dna.species.use_skintones) @@ -209,7 +214,8 @@ if("gender") if(!(H.gender in list("male", "female"))) //blame the patriarchy return - + if(!Adjacent(user)) + return if(H.gender == "male") if(alert(H, "Become a Witch?", "Confirmation", "Yes", "No") == "Yes") H.gender = "female" @@ -229,7 +235,8 @@ if("hair") var/hairchoice = alert(H, "Hair style or hair color?", "Change Hair", "Style", "Color") - + if(!Adjacent(user)) + return if(hairchoice == "Style") //So you just want to use a mirror then? ..() else @@ -246,6 +253,8 @@ if("eyes") var/new_eye_color = input(H, "Choose your eye color", "Eye Color") as null|color + if(!Adjacent(user)) + return if(new_eye_color) H.eye_color = sanitize_hexcolor(new_eye_color) H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK) diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index e54b4ddf1d2..da27f185975 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -42,8 +42,6 @@ return if(in_use) return - if(!ishuman(user)) - return in_use = TRUE user << "You feel your very life draining away as you pull the lever...it'll be worth it though, right?" user.adjustCloneLoss(20) @@ -85,7 +83,7 @@ //Pride -/obj/structure/mirror/magic +/obj/structure/mirror/magic/pride name = "pride's mirror" desc = "Pride cometh before the..." icon_state = "magic_mirror"