From 167a3475260b0f93b870bd4e8ac124f523069719 Mon Sep 17 00:00:00 2001 From: uporotiy Date: Thu, 8 Sep 2011 12:24:32 +0000 Subject: [PATCH] Arcade machines now vend their contents (if they have any) before vending the standard prizes. Spinning toy added. Xbows now stun people instead of doing damage. (may be subject to change) Fixed a changeling bug. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2157 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/obj/toy.dm | 8 +++- .../gamemodes/changeling/changeling_powers.dm | 4 ++ code/game/machinery/computer/arcade.dm | 47 +++++++++++-------- code/game/objects/items/weapons/guns_new.dm | 10 ++-- 4 files changed, 41 insertions(+), 28 deletions(-) diff --git a/code/defines/obj/toy.dm b/code/defines/obj/toy.dm index 9396c361ee1..975586a8b66 100644 --- a/code/defines/obj/toy.dm +++ b/code/defines/obj/toy.dm @@ -16,13 +16,19 @@ item_state = "syndballoon" w_class = 4.0 -obj/item/toy/blink +/obj/item/toy/blink name = "electronic blink toy game" desc = "Blink. Blink. Blink. Ages 8 and up." icon = 'radio.dmi' icon_state = "beacon" item_state = "signaler" +/obj/item/toy/spinningtoy + name = "Gravitational Singularity" + desc = "\"Singulo\" brand spinning toy." + icon = 'singularity.dmi' + icon_state = "singularity_s1" + /obj/item/toy/ammo/gun name = "ammo-caps" desc = "There are 7 caps left! Make sure to recyle the box in an autolathe when it gets empty." diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm index 3aaae030af9..3b10b0f0546 100644 --- a/code/game/gamemodes/changeling/changeling_powers.dm +++ b/code/game/gamemodes/changeling/changeling_powers.dm @@ -79,6 +79,10 @@ usr << "\red This creature is not compatible with our biology." return + if (M.mutations & HUSK) + usr << "\red This creature has already been drained!" + return + if (!G.killing) usr << "\red We must have a tighter grip to absorb this creature." return diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index beed725d87d..52b8cf93108 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -101,26 +101,33 @@ if ((src.enemy_mp <= 0) || (src.enemy_hp <= 0)) src.gameover = 1 src.temp = "[src.enemy_name] has fallen! Rejoice!" - var/prizeselect = pick(1,2,3,4,5,6,7,8) - switch(prizeselect) - if(1) - new /obj/item/toy/snappopbox(src.loc) - if(2) - new /obj/item/toy/blink(src.loc) - if(3) - new /obj/item/clothing/under/syndicate/tacticool(src.loc) - if(4) - new /obj/item/toy/sword(src.loc) - if(5) - new /obj/item/toy/ammo/gun(src.loc) - new /obj/item/toy/gun(src.loc) - if(6) - new /obj/item/toy/crossbow(src.loc) - if(7) - new /obj/item/clothing/suit/syndicatefake(src.loc) - new /obj/item/clothing/head/syndicatefake(src.loc) - if(8) - new /obj/item/toy/crayonbox(loc) + + if(!contents.len) + var/prizeselect = pick(1,2,3,4,5,6,7,8,9) + switch(prizeselect) + if(1) + new /obj/item/toy/snappopbox(src.loc) + if(2) + new /obj/item/toy/blink(src.loc) + if(3) + new /obj/item/clothing/under/syndicate/tacticool(src.loc) + if(4) + new /obj/item/toy/sword(src.loc) + if(5) + new /obj/item/toy/ammo/gun(src.loc) + new /obj/item/toy/gun(src.loc) + if(6) + new /obj/item/toy/crossbow(src.loc) + if(7) + new /obj/item/clothing/suit/syndicatefake(src.loc) + new /obj/item/clothing/head/syndicatefake(src.loc) + if(8) + new /obj/item/toy/crayonbox(src.loc) + if(9) + new /obj/item/toy/spinningtoy(src.loc) + else + var/atom/movable/Prize = pick(contents) + Prize.loc = src.loc else if ((src.enemy_mp <= 5) && (prob(70))) diff --git a/code/game/objects/items/weapons/guns_new.dm b/code/game/objects/items/weapons/guns_new.dm index 884d36768e0..3490e61d845 100644 --- a/code/game/objects/items/weapons/guns_new.dm +++ b/code/game/objects/items/weapons/guns_new.dm @@ -195,17 +195,13 @@ bolt name = "bolt" icon_state = "cbbolt" - flag = "rad" + flag = "taser" damage = 0 nodamage = 1 New() ..() - effects["radiation"] = 30 - effectprob["radiation"] = 99 - effects["drowsyness"] = 5 - effectprob["drowsyness"] = 10 - effectmod["radiation"] = ADD - effectmod["drowsyness"] = SET + effects["weak"] = 10 + effects["stutter"] = 10 largebolt name = "largebolt"