diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_greed.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_greed.dmm index e1082c88664..14ef5982d63 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_greed.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_greed.dmm @@ -70,11 +70,6 @@ "m" = ( /turf/simulated/floor/engine/cult, /area/ruin/powered/greed) -"n" = ( -/obj/structure/table/wood/poker, -/obj/item/stack/spacecash/c1000, -/turf/simulated/floor/engine/cult, -/area/ruin/powered/greed) "o" = ( /obj/item/storage/bag/money, /turf/simulated/floor/engine/cult, @@ -86,7 +81,6 @@ /area/ruin/powered/greed) "q" = ( /obj/structure/table/wood/poker, -/obj/item/stack/spacecash/c20, /obj/item/stack/spacecash/c50, /obj/machinery/light/small{ brightness_range = 3; @@ -96,21 +90,17 @@ /area/ruin/powered/greed) "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, /area/ruin/powered/greed) "s" = ( /obj/structure/table/wood/poker, -/obj/item/stack/spacecash/c200, +/obj/item/stack/spacecash/c50, /turf/simulated/floor/engine/cult, /area/ruin/powered/greed) "u" = ( /obj/structure/table/wood/poker, -/obj/item/stack/spacecash/c500, /obj/item/stack/spacecash/c100, -/obj/item/stack/spacecash/c1000, /obj/machinery/light/small{ dir = 4 }, @@ -277,7 +267,7 @@ c c W W -n +p q s W diff --git a/code/game/objects/items/weapons/dice.dm b/code/game/objects/items/weapons/dice.dm index 4481434376e..4fb3f340f31 100644 --- a/code/game/objects/items/weapons/dice.dm +++ b/code/game/objects/items/weapons/dice.dm @@ -182,7 +182,7 @@ //Swarm of creatures T.visible_message("A swarm of creatures surround [user]!") for(var/direction in GLOB.alldirs) - new /mob/living/simple_animal/hostile/netherworld(get_step(get_turf(user),direction)) + new /mob/living/simple_animal/hostile/netherworld(get_step(get_turf(user), direction)) if(4) //Destroy Equipment T.visible_message("Everything [user] is holding and wearing disappears!") @@ -210,7 +210,7 @@ if(8) //Fueltank Explosion T.visible_message("An explosion bursts into existence around [user]!") - explosion(get_turf(user),-1,0,2, flame_range = 2) + explosion(get_turf(user), -1, 0, 2, flame_range = 2) if(9) //Cold var/datum/disease/D = new /datum/disease/cold() @@ -234,23 +234,46 @@ T.visible_message("Mad dosh shoots out of [src]!") var/turf/Start = get_turf(src) for(var/direction in GLOB.alldirs) - var/turf/dirturf = get_step(Start,direction) + var/turf/dirturf = get_step(Start, direction) if(prob(50)) new /obj/item/stack/spacecash/c1000(dirturf) else var/obj/item/storage/bag/money/M = new(dirturf) - for(var/i in 1 to rand(5,50)) + for(var/i in 1 to rand(5, 50)) new /obj/item/coin/gold(M) if(14) - //Free Gun - T.visible_message("An impressive gun appears!") + //Tator Item + var/list/traitor_items = list(/obj/item/chameleon, + /obj/item/chameleon_counterfeiter, + /obj/item/clothing/shoes/chameleon/noslip, + /obj/item/pinpointer/advpinpointer, + /obj/item/storage/box/syndie_kit/bonerepair, + /obj/item/storage/backpack/duffel/syndie/med/surgery, + /obj/item/storage/toolbox/syndicate, + /obj/item/storage/backpack/clown/syndie, + /obj/item/storage/backpack/satchel_flat, + /obj/item/camera_bug, + /obj/item/storage/belt/military/traitor, + /obj/item/clothing/glasses/chameleon/thermal, + /obj/item/borg/upgrade/modkit/indoors, + /obj/item/storage/box/syndie_kit/chameleon, + /obj/item/storage/box/syndie_kit/hardsuit, + /obj/item/implanter/storage, + /obj/item/toy/syndicateballoon) + var/selected_item = pick(traitor_items) + T.visible_message("A suspicious item appears!") + new selected_item(drop_location()) create_smoke(2) - new /obj/item/gun/projectile/revolver/mateba(drop_location()) if(15) //Random One-use spellbook + var/list/oneuse_spellbook = list(/obj/item/spellbook/oneuse/smoke, + /obj/item/spellbook/oneuse/blind, + /obj/item/spellbook/oneuse/knock, + /obj/item/spellbook/oneuse/summonitem) + var/selected_spellbook = pick(oneuse_spellbook) T.visible_message("A magical looking book drops to the floor!") create_smoke(2) - new /obj/item/spellbook/oneuse/random(drop_location()) + new selected_spellbook(drop_location()) if(16) //Servant & Servant Summon T.visible_message("A Dice Servant appears in a cloud of smoke!") @@ -276,12 +299,11 @@ var/obj/effect/proc_holder/spell/summonmob/S = new S.target_mob = H user.mind.AddSpell(S) - if(17) - //Tator Kit - T.visible_message("A suspicious box appears!") - new /obj/item/storage/box/syndie_kit/bundle(drop_location()) + //Free Gun + T.visible_message("An impressive gun appears!") create_smoke(2) + new /obj/item/gun/energy/kinetic_accelerator/experimental(drop_location()) if(18) //Captain ID T.visible_message("A golden identification card appears!") @@ -292,11 +314,12 @@ T.visible_message("[user] looks very robust!") user.physiology.brute_mod *= 0.5 user.physiology.burn_mod *= 0.5 - if(20) - //Free wizard! - T.visible_message("Magic flows out of [src] and into [user]!") - user.mind.make_Wizard() + //Three free good dice rolls! + T.visible_message("Critical number! [src] is rolling three times all by himself!") + addtimer(CALLBACK(src, PROC_REF(effect), user, rand(1, 9) + 10), 1 SECONDS) + addtimer(CALLBACK(src, PROC_REF(effect), user, rand(1, 9) + 10), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(effect), user, rand(1, 9) + 10), 3 SECONDS) /obj/item/dice/d100 name = "d100" diff --git a/code/modules/ruins/lavalandruin_code/sin_ruins.dm b/code/modules/ruins/lavalandruin_code/sin_ruins.dm index 4c75edbc90f..b018f29c72e 100644 --- a/code/modules/ruins/lavalandruin_code/sin_ruins.dm +++ b/code/modules/ruins/lavalandruin_code/sin_ruins.dm @@ -1,6 +1,8 @@ //These objects are used in the cardinal sin-themed ruins (i.e. Gluttony, Pride...) // Greed +#define WIN_PROB 5 + /obj/structure/cursed_slot_machine //Greed's slot machine: Used in the Greed ruin. Deals clone damage on each use, with a successful use giving a d20 of fate. name = "greed's slot machine" desc = "High stakes, high rewards." @@ -8,7 +10,6 @@ icon_state = "slots-off" anchored = TRUE density = TRUE - var/win_prob = 5 /obj/structure/cursed_slot_machine/attack_hand(mob/user) interact(user) @@ -21,7 +22,11 @@ return in_use = TRUE - user.adjustCloneLoss(20) + if(!ismachineperson(user)) + user.adjustCloneLoss(20) + else + to_chat(user, "Your brain is sparking!") + user.adjustBrainLoss(15) if(user.stat) to_chat(user, "No... just one more try...") user.gib() @@ -29,14 +34,14 @@ user.visible_message("[user] pulls [src]'s lever with a glint in [user.p_their()] eyes!", "You feel a draining as you pull the lever, but you \ know it'll be worth it.") icon_state = "slots-on" - playsound(src, 'sound/lavaland/cursed_slot_machine.ogg', 50, 0) + playsound(src, 'sound/lavaland/cursed_slot_machine.ogg', 50) addtimer(CALLBACK(src, PROC_REF(determine_victor), user), 50) /obj/structure/cursed_slot_machine/proc/determine_victor(mob/living/user) icon_state = "slots-off" in_use = FALSE - if(prob(win_prob)) - playsound(src, 'sound/lavaland/cursed_slot_machine_jackpot.ogg', 50, 0) + if(prob(WIN_PROB)) + playsound(src, 'sound/lavaland/cursed_slot_machine_jackpot.ogg', 50) new/obj/structure/cursed_money(get_turf(src)) if(user) to_chat(user, "You've hit jackpot. Laughter echoes around you as your reward appears in the machine's place.") @@ -45,6 +50,8 @@ if(user) to_chat(user, "Fucking machine! Must be rigged. Still... one more try couldn't hurt, right?") +#undef WIN_PROB + /obj/structure/cursed_money name = "bag of money" desc = "RICH! YES! YOU KNEW IT WAS WORTH IT! YOU'RE RICH! RICH! RICH!"