Files
Paradise/code/modules/arcade/prize_datums.dm
Mike Long 29c9aca1a8 Devil game mode
Fixes more compile errors.  Down to 65 now.

updates << into to_chat

Down to 60 errors, also starts to port the codex gigas and law 666 for cyborg devils.

Fixes more compile errors.  Down to 41 now.

Replaces timers with spawns, and <<s with to_chats
40 compile errors.

Down to 34 compile errors.

whoops, actually down to 34 now.

Down to 25 compile errors.

Down to 15 compile errors, I'llprobably need some help at this point.

Woo!  Down to 7 compile errors.

Ported over devil hud.  Number of errors up to 19.

WOO!  It compiles.  It's completely untested, but it compiles.

Adds devils to traitor panel

Implements iron, silver and salt banes.

implements flashing lights bane

Selling your soul prevents cloning, and some other methods of revival.

Implements harvest bane

Merged and sorted icons/obj/bureaucracy.dmi

Adds toy codex gigas

Fixes compile errors, adds codex gigas sprite.

Lots of bug fixes.  Contracts work, devil revival is more consistant, etc

Adds missing icons for flaming contracts, summon pitchfork, summon wealth, employment cabinet, and sintouch.

Converts DEEP LORE explanations from hell to inferno incorporated.

Banishes the compile errors.

Devils come from hell again.

replaces offer drink obligation with a much more lore appropriate devil's fiddle reference
Also fixes contract bashing brain damage chance.

Undoes some changes I accidentally did to example config files.

Fixes up a few remaining bugs.

Puts in the codex gigas and employment contract cabinets.
 -- Lemon - I kinda skipped this one, I'll patch it back in later because
 map conflicts are suffering incarnate

Solves the devil law problem in a REALLY hacky snowflake way.

Fixes a few methods in which a hellbound can be revived.

Devils respawn with a limited number of appropriate items, instead of COMPLETELY naked upon corpse destruction.  Also adds lines to example config.

Updates devil laws to be less hacky.

Objective to sintouch x mortals now greentexts correctly.

Contracts no longer cause brain damage.  I didn't realize it was lethal on this codebase.  Oops.

Splits dust(visual_only) into dust() and dust_animation() procs

Fixes some defines.
Adds undef statements to improve compile times.

Fixes race changes from demonic form changes.

Fixes small runtime error. (Which somehow didn't break anything?)

Implements lots of small changes/corrections suggested by CrazyLemon64

I still need to test these changes, along with other potential issues he brought up.

Fixes harvest bane and power contracts.  Also adds a few </span> tag enders.

Corrects some edge cases with revival contracts.

Fixes compile error.

Reverts unneccecary change to item/weapon/reagent_containers

Cleans up the code for readability.

Prevents cloning of hellbound individuals.

Latejoins now properly have employment contracts added to employment cabinets (provided they still exist)

Infernal contracts are no longer rendered unreadable by fire and alcohol.

All fireproof paper remains readable after being fireballed, not just infernal contracts.  (Though infernal contracts are the only fireproof paper atm)

Fixes an edge case problem with cloning.

Adds is_revivable proc to mind.

Removes snowflake code involving preventing soulseller resurrection.

Indulges in the sin of sloth, and copies tg's lazy list macros

Proc calls that transform the user no longer go to a null target

Fixes devil UI, human regression will keep appearance, and adds danceoff

Devil's base forms no longer suffocate inside the devil

Fixes runtimes, gets stuff working

The arch devil can now blast down walls with their pitchfork

EXTERMINATE ALL SPIRITS

Activates devil clause in voice of god

Fawks Mcclood

Feature P A R I T Y

Fixes devil bugs from testing

- Does a death refactor to make sure that diabolical resurrection works

- Walls no longer leave girders when blasted by the devil

- Getting a new body gives you a rudimentary amount of equipment to work
with to get out of maintenance or whereever

Does all the icons in a single commit on their own because icon

conflicts suck

Starting point of extra devil rebalance/fixes

Ports devil friends

Also oops tramples all over Fethas' corpse PR that's still up I need
to take care of that one

Styling fixes
2019-01-13 12:00:49 +01:00

326 lines
8.7 KiB
Plaintext

var/global/datum/prizes/global_prizes = new
/datum/prizes
var/list/prizes = list()
/datum/prizes/New()
for(var/itempath in subtypesof(/datum/prize_item))
prizes += new itempath()
/datum/prizes/proc/PlaceOrder(var/obj/machinery/prize_counter/prize_counter, var/itemID)
if(!prize_counter.Adjacent(usr))
to_chat(usr, "<span class='warning'>You need to be closer!</span>")
return
if(!prize_counter)
return 0
var/datum/prize_item/item = global_prizes.prizes[itemID]
if(!item)
return 0
if(prize_counter.tickets >= item.cost)
new item.typepath(prize_counter.loc)
prize_counter.tickets -= item.cost
prize_counter.visible_message("<span class='notice'>Enjoy your prize!</span>")
return 1
else
prize_counter.visible_message("<span class='warning'>Not enough tickets!</span>")
return 0
//////////////////////////////////////
// prize_item datum //
//////////////////////////////////////
/datum/prize_item
var/name = "Prize"
var/desc = "This shouldn't show up..."
var/typepath = /obj/item/toy/prizeball
var/cost = 0
//////////////////////////////////////
// Prizes //
//////////////////////////////////////
/datum/prize_item/balloon
name = "Water Balloon"
desc = "A thin balloon for throwing liquid at people."
typepath = /obj/item/toy/balloon
cost = 10
/datum/prize_item/spinningtoy
name = "Spinning Toy"
desc = "Looks like an authentic Singularity!"
typepath = /obj/item/toy/spinningtoy
cost = 15
/datum/prize_item/blinktoy
name = "Blink Toy"
desc = "Blink. Blink. Blink."
typepath = /obj/item/toy/blink
cost = 15
/datum/prize_item/dice
name = "Dice Set"
desc = "A set of assorted dice."
typepath = /obj/item/storage/box/dice
cost = 20
/datum/prize_item/foam_darts
name = "Pack of Foam Darts"
desc = "A refill pack with foam darts."
typepath = /obj/item/ammo_box/foambox
cost = 20
/datum/prize_item/snappops
name = "Snap-Pops"
desc = "A box of exploding snap-pop fireworks."
typepath = /obj/item/storage/box/snappops
cost = 20
/datum/prize_item/cards
name = "Deck of Cards"
desc = "Anyone fancy a game of 52-card Pickup?"
typepath = /obj/item/deck/cards
cost = 25
/datum/prize_item/crayons
name = "Box of Crayons"
desc = "A six-pack of crayons, just like back in kindergarten."
typepath = /obj/item/storage/fancy/crayons
cost = 35
/datum/prize_item/eight_ball
name = "Magic Eight Ball"
desc = "A mystical ball that can divine the future!"
typepath = /obj/item/toy/eight_ball
cost = 40
/datum/prize_item/wallet
name = "Colored Wallet"
desc = "Brightly colored and big enough for standard issue ID cards."
typepath = /obj/item/storage/wallet/color
cost = 50
/datum/prize_item/id_sticker
name = "Prisoner ID Sticker"
desc = "A sticker that can make any ID look like a prisoner ID."
typepath = /obj/item/id_decal/prisoner
cost = 50
/datum/prize_item/id_sticker/silver
name = "Silver ID Sticker"
desc = "A sticker that can make any ID look like a silver ID."
typepath = /obj/item/id_decal/silver
/datum/prize_item/id_sticker/gold
name = "Gold ID Sticker"
desc = "A sticker that can make any ID look like a golden ID."
typepath = /obj/item/id_decal/gold
/datum/prize_item/id_sticker/centcom
name = "Centcomm ID Sticker"
desc = "A sticker that can make any ID look like a Central Command ID."
typepath = /obj/item/id_decal/centcom
/datum/prize_item/id_sticker/emag
name = "Suspicious ID Sticker"
desc = "A sticker that can make any ID look like something suspicious..."
typepath = /obj/item/id_decal/emag
/datum/prize_item/flash
name = "Toy Flash"
desc = "AUGH! MY EYES!"
typepath = /obj/item/toy/flash
cost = 50
/datum/prize_item/minimeteor
name = "Mini-Meteor"
desc = "Meteors have been detected on a collision course with your fun times!"
typepath = /obj/item/toy/minimeteor
cost = 50
/datum/prize_item/therapy_doll
name = "Random Therapy Doll"
desc = "A therapeutic doll for relieving stress without being charged with assault."
typepath = /obj/item/toy/prizeball/therapy
cost = 60
/datum/prize_item/minigibber
name = "Minigibber Toy"
desc = "A model of the station gibber. Probably shouldn't stick your fingers in it."
typepath = /obj/item/toy/minigibber
cost = 60
/datum/prize_item/confetti
name = "Confetti Grenade"
desc = "Party time!"
typepath = /obj/item/grenade/confetti
cost = 65
/datum/prize_item/plushie
name = "Random Animal Plushie"
desc = "A colorful animal-shaped plush toy."
typepath = /obj/item/toy/prizeball/plushie
cost = 75
/datum/prize_item/carp_plushie
name = "Random Carp Plushie"
desc = "A colorful fish-shaped plush toy."
typepath = /obj/item/toy/prizeball/carp_plushie
cost = 75
/datum/prize_item/mech_toy
name = "Random Mecha"
desc = "A random mecha figure, collect all 11!"
typepath = /obj/item/toy/prizeball/mech
cost = 75
/datum/prize_item/action_figure
name = "Random Action Figure"
desc = "A random action figure, collect them all!"
typepath = /obj/item/toy/prizeball/figure
cost = 75
/datum/prize_item/AI
name = "Toy AI Unit"
desc = "Law 1: Maximize fun for crew."
typepath = /obj/item/toy/AI
cost = 75
/datum/prize_item/capgun
name = "Capgun Revolver"
desc = "Do you feel lucky... punk?"
typepath = /obj/item/gun/projectile/revolver/capgun
cost = 75
/datum/prize_item/pet_rock
name = "Pet Rock"
desc = "A pet of your very own!"
typepath = /obj/item/toy/pet_rock
cost = 80
/datum/prize_item/toy_xeno
name = "Xeno Action Figure"
desc = "A lifelike replica of the horrific xeno scourge."
typepath = /obj/item/toy/toy_xeno
cost = 80
/datum/prize_item/tacticool
name = "Tacticool Turtleneck"
desc = "A cool-looking turtleneck."
typepath = /obj/item/clothing/under/syndicate/tacticool
cost = 90
/datum/prize_item/nanomob_booster
name = "Nano-Mob Hunter Trading Card Booster Pack"
desc = "Contains 6 random Nano-Mob Hunter Trading Cards. May contain a holographic card!"
typepath = /obj/item/storage/box/nanomob_booster_pack
cost = 100
/datum/prize_item/fakespell
name = "Fake Spellbook"
desc = "Perform magic! Astound your friends! Get mistaken for an enemy of the corporation!"
typepath = /obj/item/spellbook/oneuse/fake_gib
cost = 100
/datum/prize_item/fakefingergun
name = "Miming Manual : Finger Gun"
desc = "..."
typepath = /obj/item/spellbook/oneuse/mime/fingergun/fake
cost = 100
/datum/prize_item/magic_conch
name = "Magic Conch Shell"
desc = "All hail the magic conch!"
typepath = /obj/item/toy/eight_ball/conch
cost = 100
/datum/prize_item/crossbow
name = "Foam Dart Crossbow"
desc = "A toy crossbow that fires foam darts."
typepath = /obj/item/gun/projectile/shotgun/toy/crossbow
cost = 100
/datum/prize_item/foamblade
name = "Foam Arm Blade"
desc = "Perfect for reenacting space horror holo-vids."
typepath = /obj/item/toy/foamblade
cost = 100
/datum/prize_item/redbutton
name = "Shiny Red Button"
desc = "PRESS IT!"
typepath = /obj/item/toy/redbutton
cost = 100
/datum/prize_item/nuke
name = "Nuclear Fun Device"
desc = "Annihilate boredom with an explosion of excitement!"
typepath = /obj/item/toy/nuke
cost = 100
/datum/prize_item/blobhat
name = "Blob Hat"
desc = "There's... something... on your head..."
typepath = /obj/item/clothing/head/blob
cost = 125
/datum/prize_item/owl
name = "Owl Action Figure"
desc = "Remember: heroes don't grief!"
typepath = /obj/item/toy/owl
cost = 125
/datum/prize_item/griffin
name = "Griffin Action Figure"
desc = "If you can't be the best, you can always be the WORST."
typepath = /obj/item/toy/griffin
cost = 125
/datum/prize_item/codex_gigas
name = "Toy Codex Gigas"
desc = "For helping you come up with writing ideas for your diabolical adventures."
typepath = /obj/item/toy/codex_gigas/
cost = 75
/datum/prize_item/esword
name = "Toy Energy Sword"
desc = "A plastic replica of an energy blade."
typepath = /obj/item/toy/sword
cost = 150
/datum/prize_item/fakespace
name = "Space Carpet"
desc = "A stack of carpeted floor tiles that resemble space."
typepath = /obj/item/stack/tile/fakespace/loaded
cost = 150
/datum/prize_item/arcadecarpet
name = "Arcade Carpet"
desc = "A stack of genuine arcade carpet tiles, complete with authentic soft drink stains!"
typepath = /obj/item/stack/tile/arcade_carpet/loaded
cost = 150
/datum/prize_item/tommygun
name = "Tommy Gun"
desc = "A replica tommy gun that fires foam darts."
typepath = /obj/item/gun/projectile/shotgun/toy/tommygun
cost = 175
/datum/prize_item/spacesuit
name = "Fake Spacesuit"
desc = "A replica spacesuit. Not actually spaceworthy."
typepath = /obj/item/storage/box/fakesyndiesuit
cost = 180
/datum/prize_item/chainsaw
name = "Toy Chainsaw"
desc = "A full-scale model chainsaw, based on that massacre in Space Texas."
typepath = /obj/item/twohanded/toy/chainsaw
cost = 200
/datum/prize_item/bike
name = "Awesome Bike!"
desc = "WOAH."
typepath = /obj/structure/chair/wheelchair/bike
cost = 10000 //max stack + 1 tickets.