Added Cards Against The Galaxy.

This commit is contained in:
Zuhayr
2016-02-14 11:28:03 +10:30
parent b4a89e1acf
commit 7d83a629b0
9 changed files with 160 additions and 7 deletions

28
code/modules/games/cah.dm Normal file
View File

@@ -0,0 +1,28 @@
/obj/item/weapon/deck/cah
name = "\improper CAG deck (white)"
desc = "The ever-popular Cards Against The Galaxy word game. Warning: may include traces of broken fourth wall. This is the white deck."
icon_state = "cag_white"
var/blanks = 5
/obj/item/weapon/deck/cah/black
name = "\improper CAG deck (black)"
desc = "The ever-popular Cards Against The Galaxy word game. Warning: may include traces of broken fourth wall. This is the black deck."
icon_state = "cag_black"
blanks = 0
/obj/item/weapon/deck/cah/New()
..()
var/datum/playingcard/P
for(var/cardtext in card_text_list)
P = new()
P.name = "[cardtext]"
P.card_icon = "[icon_state]_card"
P.back_icon = "[icon_state]_card_back"
cards += P
if(!blanks)
return
for(var/x=1 to blanks)
P = new()
P.name = "Blank Card"
P.card_icon = "[icon_state]_card_back"
P.back_icon = "[icon_state]_card_back"

View File

@@ -0,0 +1,37 @@
// Black cards.
/obj/item/weapon/deck/cah/black/card_text_list = list(
"Why am I itchy?",
"Today, Security shot ____.",
"The Chaplain this shift is worshiping _____.",
"Cargo ordered a crate full of _____.",
"An ERT was called due to ______.",
"Alert! The Captain has armed themselves with _____.",
"Current Laws: ________ is your master.",
"Current Laws: ________ is the enemy.",
"_____ vented the entirety of Cargo.",
"Today, science found an anomaly that made people ____ and ____.",
"There was a rap battle between ____ and ____.",
"Caution, ______ have been detected in collision course with the station.",
"Today's kitchen menu includes _______.",
"What did the mercenaries want when they attacked the station?",
"I think the Captain is insane. He just demanded ______ in his office.",
"Fuckin' scientists, they just turned Misc. Research into _______ .",
"What's my fetish?",
"Hello, _______ here with _______",
"No one else was at _______, they wouldn't understand the ______",
"Why am I shivering?",
"What is this world coming to? First, ________, now _______",
"NanoTrasen's labor union decided to use _______ to raise employee morale.",
"The Chemist's drug of choice is ______",
"It is common practice for _______ to ______ on Moghes.",
"Mercurial Colonies are _____.",
"The Skrell are celebrating _____ today.",
"_____ is/are why I'm afraid of the maintenance tunnels.",
"_____ used ____ to create their newest invention, _____!",
"Scientists are not allowed to make Gatling _____.",
"It's not a party until the ____ arrive.",
"No matter how many Tajara you have, _____ is never acceptable.",
"No, the AI's first law is NOT to serve _____.",
"The robots are not disposal bins for your _____.",
"You can never have too many _____ on shift.",
)

View File

@@ -0,0 +1,75 @@
// White cards.
/obj/item/weapon/deck/cah/var/list/card_text_list = list(
"Those motherfucking carp",
"Having sex in the maintenance tunnels",
"Space 'Nam",
"Space lesbians",
"The Gardener getting SUPER high",
"The Captain thinking they're a badass",
"Being in a cult",
"Racially biased lawsets",
"An Unathi who WON'T STOP FIGHTING",
"Tajara fetishists",
"Bald thirty-year-olds",
"A Chief Engineer who can't setup the engine",
"Being sucked out into space",
"Officer Beepsky",
"Engineering",
"The grey tide.",
"The Research Director",
"Fucking synths",
"Man-eating purple pod plants",
"Chemical sprayers filled with lube",
"Librarians",
"Squids",
"Cats",
"Lizards",
"Apes",
"Trees",
"Supermatter undergarments",
"Bluespace",
"Five hundred rabid spiders",
"Five hundred rabid diona nymphs",
"Cable ties",
"Rampant vending machines",
"Positronic drink coasters",
"Kitchen utensil anomalies",
"Locked lockers",
"Energy spatulas",
"Flashbang gauntlets",
"Carp",
"Space whales",
"Blu-sharks",
"Fax machines",
"Exquisite Pens",
"Dr. Maxman's male enhancements",
"Gyrating slimes",
"Forehead-mounted laser weaponry",
"Pelvis-mounted laser weaponry",
"Cardboard cutouts",
"An obscene amount of rubber ducks",
"Brain cakes",
"A drone's game of life.",
"Anomaly suits",
"A gardener smoking reishi",
"Military-grade baseball bats",
"Barricading the bar",
"An irritatingly chipper robot",
"Androids hanging out in the bar drinking beer",
"Gear harnesses",
"A seventeen-year-old Captain",
"The throbbing erection that the HoS gets at the thought of shooting something",
"Trying to stab someone and hugging them instead",
"Waking up naked in the maintenance tunnels",
"Horrible cloning accidents",
"Licking the supermatter due to a dare",
"A Quartermaster who WON'T STOP ordering guns",
"Teaching a synthetic the Birds and the Bees",
"Unnecessary surgery",
"My addiction to spiders",
"wetskrell.nt",
"DOCTOR MAXMAN!",
"A group of Skrell getting their squish on",
"Enough soporific to put the entire station down",
"Delicious Vietnamese cuisine"
)

View File

@@ -4,6 +4,7 @@
icon_state = "card_pack_cardemon"
/obj/item/weapon/pack/cardemon/New()
..()
var/datum/playingcard/P
var/i
for(i=0; i<5; i++)

View File

@@ -20,7 +20,6 @@
/obj/item/weapon/deck/cards/New()
..()
var/datum/playingcard/P
for(var/suit in list("spades","clubs","diamonds","hearts"))
@@ -44,7 +43,6 @@
P.back_icon = "card_back"
cards += P
for(var/i = 0,i<2,i++)
P = new()
P.name = "joker"
@@ -135,7 +133,19 @@
H.throw_at(get_step(target,target.dir),10,1,H)
/obj/item/weapon/hand/attackby(obj/O as obj, mob/user as mob)
if(istype(O,/obj/item/weapon/hand))
if(cards.len == 1 && istype(O, /obj/item/weapon/pen))
var/datum/playingcard/P = cards[1]
if(P.name != "Blank Card")
user << "You cannot write on that card."
return
var/cardtext = sanitize(input(user, "What do you wish to write on the card?", "Card Editing") as text|null, MAX_BOOK_MESSAGE_LEN)
if(!cardtext)
return
P.name = cardtext
// SNOWFLAKE FOR CAG, REMOVE IF OTHER CARDS ARE ADDED THAT USE THIS.
P.card_icon = "cag_white_card"
update_icon()
else if(istype(O,/obj/item/weapon/hand))
var/obj/item/weapon/hand/H = O
for(var/datum/playingcard/P in cards)
H.cards += P
@@ -214,7 +224,7 @@
if(!discarding || !to_discard[discarding] || !usr || !src) return
var/datum/playingcard/card = to_discard[discarding]
qdel(to_discard)
to_discard.Cut()
var/obj/item/weapon/hand/H = new(src.loc)
H.cards += card
@@ -238,7 +248,7 @@
if((!concealed || src.loc == user) && cards.len)
user << "It contains: "
for(var/datum/playingcard/P in cards)
user << "The [P.name]."
user << "\The [P.name]."
/obj/item/weapon/hand/update_icon(var/direction = 0)

View File

@@ -4,6 +4,7 @@
icon_state = "card_pack_spaceball"
/obj/item/weapon/pack/spaceball/New()
..()
var/datum/playingcard/P
var/i
var/year = 554 + text2num(time2text(world.timeofday, "YYYY"))

View File

@@ -17,8 +17,6 @@
P.back_icon = "card_back_tarot"
cards += P
for(var/suit in list("wands","pentacles","cups","swords"))
for(var/number in list("ace","two","three","four","five","six","seven","eight","nine","ten","page","knight","queen","king"))
P = new()
P.name = "[number] of [suit]"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -1154,6 +1154,9 @@
#include "code\modules\flufftext\Hallucination.dm"
#include "code\modules\flufftext\TextFilters.dm"
#include "code\modules\food\recipes_microwave.dm"
#include "code\modules\games\cah.dm"
#include "code\modules\games\cah_black_cards.dm"
#include "code\modules\games\cah_white_cards.dm"
#include "code\modules\games\cardemon.dm"
#include "code\modules\games\cards.dm"
#include "code\modules\games\spaceball_cards.dm"