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 9396c361ee..975586a8b6 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 3aaae030af..3b10b0f054 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 beed725d87..52b8cf9310 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 884d36768e..3490e61d84 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"