Tweaks to greed ruin and die of fate (#20737)

* Tweaks to greed ruin and die of fate

* Delay between effects

* moved and updaated traitor items

* More tweaks to traitor item list

* Update code/game/objects/items/weapons/dice.dm

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* Sirryan review

* Lets decrease the money even more

* experimental KA instead of alien pistol

* emp dmg for machines when interacting

* brainloss

* Code improvment

* forcewall removal

* Turning into a list

---------

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
This commit is contained in:
Henri215
2023-04-22 09:18:08 +02:00
committed by GitHub
co-authored by Ryan
parent a6a392b790
commit d65ec2d5e8
3 changed files with 53 additions and 33 deletions
@@ -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
+39 -16
View File
@@ -182,7 +182,7 @@
//Swarm of creatures
T.visible_message("<span class='userdanger'>A swarm of creatures surround [user]!</span>")
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("<span class='userdanger'>Everything [user] is holding and wearing disappears!</span>")
@@ -210,7 +210,7 @@
if(8)
//Fueltank Explosion
T.visible_message("<span class='userdanger'>An explosion bursts into existence around [user]!</span>")
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("<span class='userdanger'>Mad dosh shoots out of [src]!</span>")
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("<span class='userdanger'>An impressive gun appears!</span>")
//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("<span class='userdanger'>A suspicious item appears!</span>")
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("<span class='userdanger'>A magical looking book drops to the floor!</span>")
create_smoke(2)
new /obj/item/spellbook/oneuse/random(drop_location())
new selected_spellbook(drop_location())
if(16)
//Servant & Servant Summon
T.visible_message("<span class='userdanger'>A Dice Servant appears in a cloud of smoke!</span>")
@@ -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("<span class='userdanger'>A suspicious box appears!</span>")
new /obj/item/storage/box/syndie_kit/bundle(drop_location())
//Free Gun
T.visible_message("<span class='userdanger'>An impressive gun appears!</span>")
create_smoke(2)
new /obj/item/gun/energy/kinetic_accelerator/experimental(drop_location())
if(18)
//Captain ID
T.visible_message("<span class='userdanger'>A golden identification card appears!</span>")
@@ -292,11 +314,12 @@
T.visible_message("<span class='userdanger'>[user] looks very robust!</span>")
user.physiology.brute_mod *= 0.5
user.physiology.burn_mod *= 0.5
if(20)
//Free wizard!
T.visible_message("<span class='userdanger'>Magic flows out of [src] and into [user]!</span>")
user.mind.make_Wizard()
//Three free good dice rolls!
T.visible_message("<span class='userdanger'>Critical number! [src] is rolling three times all by himself!</span>")
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"
@@ -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, "<span class='userdanger'>Your brain is sparking!</span>")
user.adjustBrainLoss(15)
if(user.stat)
to_chat(user, "<span class='userdanger'>No... just one more try...</span>")
user.gib()
@@ -29,14 +34,14 @@
user.visible_message("<span class='warning'>[user] pulls [src]'s lever with a glint in [user.p_their()] eyes!</span>", "<span class='warning'>You feel a draining as you pull the lever, but you \
know it'll be worth it.</span>")
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, "<span class='boldwarning'>You've hit jackpot. Laughter echoes around you as your reward appears in the machine's place.</span>")
@@ -45,6 +50,8 @@
if(user)
to_chat(user, "<span class='boldwarning'>Fucking machine! Must be rigged. Still... one more try couldn't hurt, right?</span>")
#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!"