From 67ee2fd661d413f7b6b99acf54d74564fc9b30f0 Mon Sep 17 00:00:00 2001 From: Incoming Date: Thu, 11 Jul 2013 17:31:59 -0400 Subject: [PATCH] tweaks to the dice: *the dice now all have different colors, to make them easy to tell the difference between them at a glance. *the d2 has been swapped out for a d00, though you can still create a d2 if someone demands it. *the generic pill bottle full of dice has been replaced with a proper dice bag. *actually throwing a die will now cause it to roll until the throw ends, at which point it will state the result of the throw. The old method still works as well. *most new dice have had their sprites edited to be smaller. *minor grammer corrections. --- code/game/objects/items/weapons/dice.dm | 24 +++++++++++++++--- .../objects/items/weapons/storage/firstaid.dm | 8 +++--- icons/obj/dice.dmi | Bin 6245 -> 2819 bytes 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/weapons/dice.dm b/code/game/objects/items/weapons/dice.dm index 02f9bf45dd3..d6733dce656 100644 --- a/code/game/objects/items/weapons/dice.dm +++ b/code/game/objects/items/weapons/dice.dm @@ -33,6 +33,12 @@ icon_state = "d10" sides = 10 +/obj/item/weapon/dice/d00 + name = "d00" + desc = "A die with ten sides. Works better for d100 rolls than a golfball." + icon_state = "d00" + sides = 10 + /obj/item/weapon/dice/d12 name = "d12" desc = "A die with twelve sides. There's an air of neglect about it." @@ -46,6 +52,13 @@ sides = 20 /obj/item/weapon/dice/attack_self(mob/user as mob) + diceroll(user) + +/obj/item/weapon/dice/throw_at(atom/target, range, speed, mob/user as mob) + ..() + diceroll(user) + +/obj/item/weapon/dice/proc/diceroll(mob/user as mob) var/result = rand(1, sides) var/comment = "" if(sides == 20 && result == 20) @@ -53,6 +66,11 @@ else if(sides == 20 && result == 1) comment = "Ouch, bad luck." icon_state = "[initial(icon_state)][result]" - user.visible_message("[user] has thrown [src]. It lands on [result]. [comment]", \ - "You throw [src]. It lands on a [result]. [comment]", \ - "You hear [src] landing on a [result]. [comment]") \ No newline at end of file + if(initial(icon_state) == "d00") + result = (result - 1)*10 + if(user != null) //Dice was rolled in someone's hand + user.visible_message("[user] has thrown [src]. It lands on [result]. [comment]", \ + "You throw [src]. It lands on [result]. [comment]", \ + "You hear [src] landing on [result]. [comment]") + else if(src.throwing == 0) //Dice was thrown and is coming to rest + src.loc.visible_message("[src] rolls to a stop, landing on [result]. [comment]") \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm index 6b74eaaff0d..e51deddd3ce 100644 --- a/code/game/objects/items/weapons/storage/firstaid.dm +++ b/code/game/objects/items/weapons/storage/firstaid.dm @@ -174,16 +174,18 @@ /obj/item/weapon/storage/pill_bottle/dice - name = "pack of dice" - desc = "It's a small container with dice inside." + name = "bag of dice" + desc = "Contains all the luck you'll ever need." + icon = 'icons/obj/dice.dmi' + icon_state = "dicebag" New() ..() - new /obj/item/weapon/dice/d2( src ) new /obj/item/weapon/dice/d4( src ) new /obj/item/weapon/dice( src ) new /obj/item/weapon/dice/d8( src ) new /obj/item/weapon/dice/d10( src ) + new /obj/item/weapon/dice/d00( src ) new /obj/item/weapon/dice/d12( src ) new /obj/item/weapon/dice/d20( src ) diff --git a/icons/obj/dice.dmi b/icons/obj/dice.dmi index fda6ab2550ca32746dbf3171565de146eca8edfe..f4562b6d972d06fbd9884a0644a13b850d3ba82d 100644 GIT binary patch literal 2819 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