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/_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/_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/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..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" @@ -227,10 +233,10 @@ 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") - + if(!Adjacent(user)) + return if(hairchoice == "Style") //So you just want to use a mirror then? ..() else @@ -247,7 +253,14 @@ 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) 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..e2626f13977 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 Blessing" + 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..da27f185975 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -25,3 +25,102 @@ 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 + 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(50) + 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 truly 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/pride + 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) + +//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