Skip to content
This repository has been archived by the owner on Jan 22, 2020. It is now read-only.

Commit

Permalink
Merge pull request #12977 from Kearel/gameTweaks
Browse files Browse the repository at this point in the history
Adds chess pieces. Modifies facedown card logic.
  • Loading branch information
PsiOmegaDelta committed May 17, 2016
2 parents 9e2c1b4 + 0c82b64 commit 75b65cc
Show file tree
Hide file tree
Showing 6 changed files with 99 additions and 24 deletions.
24 changes: 23 additions & 1 deletion code/game/objects/items/weapons/storage/boxes.dm
Expand Up @@ -376,8 +376,30 @@
name = "checkers box"
desc = "This box holds a nifty portion of checkers. Foam-shaped on the inside so that only checkers may fit."
icon_state = "checkers"
foldable = null //specially shaped boxes generally should not be foldable.
max_storage_space = 24
foldable = null
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/checker)
startswith = list(/obj/item/weapon/reagent_containers/food/snacks/checker = 12,
/obj/item/weapon/reagent_containers/food/snacks/checker/red = 12)

/obj/item/weapon/storage/box/checkers/chess
name = "black chess box"
desc = "This box holds all the pieces needed for the black side of the chess board."
icon_state = "chess_b"
startswith = list(/obj/item/weapon/reagent_containers/food/snacks/checker/pawn = 8,
/obj/item/weapon/reagent_containers/food/snacks/checker/knight = 2,
/obj/item/weapon/reagent_containers/food/snacks/checker/bishop = 2,
/obj/item/weapon/reagent_containers/food/snacks/checker/rook = 2,
/obj/item/weapon/reagent_containers/food/snacks/checker/queen = 1,
/obj/item/weapon/reagent_containers/food/snacks/checker/king = 1)

/obj/item/weapon/storage/box/checkers/chess/red
name = "red chess box"
desc = "This box holds all the pieces needed for the red side of the chess board."
icon_state = "chess_r"
startswith = list(/obj/item/weapon/reagent_containers/food/snacks/checker/pawn/red = 8,
/obj/item/weapon/reagent_containers/food/snacks/checker/knight/red = 2,
/obj/item/weapon/reagent_containers/food/snacks/checker/bishop/red = 2,
/obj/item/weapon/reagent_containers/food/snacks/checker/rook/red = 2,
/obj/item/weapon/reagent_containers/food/snacks/checker/queen/red = 1,
/obj/item/weapon/reagent_containers/food/snacks/checker/king/red = 1)
80 changes: 65 additions & 15 deletions code/modules/games/boardgame.dm
Expand Up @@ -115,19 +115,19 @@ obj/item/weapon/board/attackby(obj/item/I as obj, mob/user as mob)
if(selected >= 0)
//check to see if clicked on tile is currently selected one
if(text2num(s) == selected)
selected = 0 //deselect it
return

if(I) //cant put items on other items.
return

//put item in new spot.
I = board["[selected]"]
board["[selected]"] = null
board -= "[selected]"
board -= null
board["[s]"] = I
selected = -1
selected = -1 //deselect it
else

if(I) //cant put items on other items.
return

//put item in new spot.
I = board["[selected]"]
board["[selected]"] = null
board -= "[selected]"
board -= null
board["[s]"] = I
selected = -1
else
if(I)
selected = text2num(s)
Expand Down Expand Up @@ -160,6 +160,7 @@ obj/item/weapon/board/attackby(obj/item/I as obj, mob/user as mob)
board_icons -= null
src.updateDialog()

//Checkers

/obj/item/weapon/reagent_containers/food/snacks/checker
name = "checker"
Expand All @@ -170,7 +171,56 @@ obj/item/weapon/board/attackby(obj/item/I as obj, mob/user as mob)
center_of_mass = list("x"=16, "y"=16)
nutriment_desc = list("a choking hazard" = 4)
nutriment_amt = 1
var/piece_color ="black"

/obj/item/weapon/reagent_containers/food/snacks/checker/New()
..()
icon_state = "[name]_[piece_color]"
name = "[piece_color] [name]"

/obj/item/weapon/reagent_containers/food/snacks/checker/red
name = "red checker"
icon_state = "checker_red"
piece_color ="red"

//Chess

/obj/item/weapon.reagent_containers/food/snacks/checker/pawn
name = "pawn"
desc = "How many pawns will die in your war?"

/obj/item/weapon.reagent_containers/food/snacks/checker/pawn/red
piece_color ="red"

/obj/item/weapon.reagent_containers/food/snacks/checker/knight
name = "knight"
desc = "The piece chess deserves, and needs to actually play."

/obj/item/weapon.reagent_containers/food/snacks/checker/knight/red
piece_color ="red"

/obj/item/weapon.reagent_containers/food/snacks/checker/bishop
name = "bishop"
desc = "What corruption occured, urging holy men to fight?"

/obj/item/weapon.reagent_containers/food/snacks/checker/bishop/red
piece_color ="red"

/obj/item/weapon/reagent_containers/food/snacks/checker/rook
name = "rook"
desc = "Representing ancient moving towers. So powerful and fast they were banned from wars, forever."

/obj/item/weapon/reagent_containers/food/snacks/checker/rook/red
piece_color ="red"

/obj/item/weapon.reagent_containers/food/snacks/checker/queen
name = "queen"
desc = "A queen of battle and pain. She dances across the battlefield."

/obj/item/weapon.reagent_containers/food/snacks/checker/queen/red
piece_color ="red"

/obj/item/weapon.reagent_containers/food/snacks/checker/king
name = "king"
desc = "Why does a chess game end when the king dies?"

/obj/item/weapon.reagent_containers/food/snacks/checker/king/red
piece_color ="red"
3 changes: 3 additions & 0 deletions code/modules/games/cards.dm
Expand Up @@ -248,6 +248,9 @@
else if(cards.len > 1)
name = "hand of cards"
desc = "Some playing cards."
else if(concealed)
name = "single playing card"
desc = "An unknown playing card, concealed."
else
var/datum/playingcard/P = cards[1]
name = "[P.name]"
Expand Down
Binary file modified icons/obj/pieces.dmi
Binary file not shown.
Binary file modified icons/obj/storage.dmi
Binary file not shown.

0 comments on commit 75b65cc

Please sign in to comment.