From bec20087c25be3f682eb995a5e7916c0ee19a36c Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 22 Dec 2017 08:57:02 -0800 Subject: [PATCH] [READY]Clownborgs - ADMIN SPAWN ONLY --- code/datums/action.dm | 13 ++++++ code/game/objects/items/cosmetics.dm | 6 --- code/game/objects/items/pneumaticCannon.dm | 25 ++++++++-- code/game/objects/items/robot/robot_items.dm | 3 ++ code/game/objects/items/signs.dm | 20 ++++++-- .../food_and_drinks/food/snacks_pie.dm | 8 +++- .../modules/mob/living/silicon/robot/robot.dm | 3 ++ .../mob/living/silicon/robot/robot_modules.dm | 31 ++++++++++++ .../chemistry/reagents/drink_reagents.dm | 16 +++++++ .../reagents/reagent_containers/borghydro.dm | 12 +++++ .../reagents/reagent_containers/spray.dm | 44 +++++++++++++++++- icons/mob/robots.dmi | Bin 93673 -> 97565 bytes 12 files changed, 161 insertions(+), 20 deletions(-) diff --git a/code/datums/action.dm b/code/datums/action.dm index f941a00a54..ede0fa75a2 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -344,6 +344,19 @@ /datum/action/item_action/change name = "Change" +/datum/action/item_action/nano_picket_sign + name = "Retext Nano Picket Sign" + var/obj/item/picket_sign/S + +/datum/action/item_action/nano_picket_sign/New(Target) + ..() + if(istype(Target, /obj/item/picket_sign)) + S = Target + +/datum/action/item_action/nano_picket_sign/Trigger() + if(istype(S)) + S.retext(owner) + /datum/action/item_action/adjust /datum/action/item_action/adjust/New(Target) diff --git a/code/game/objects/items/cosmetics.dm b/code/game/objects/items/cosmetics.dm index a3ad685406..0277ec5371 100644 --- a/code/game/objects/items/cosmetics.dm +++ b/code/game/objects/items/cosmetics.dm @@ -8,7 +8,6 @@ var/colour = "red" var/open = FALSE - /obj/item/lipstick/purple name = "purple lipstick" colour = "purple" @@ -22,7 +21,6 @@ name = "black lipstick" colour = "black" - /obj/item/lipstick/random name = "lipstick" icon_state = "random_lipstick" @@ -33,8 +31,6 @@ colour = pick("red","purple","lime","black","green","blue","white") name = "[colour] lipstick" - - /obj/item/lipstick/attack_self(mob/user) cut_overlays() to_chat(user, "You twist \the [src] [open ? "closed" : "open"].") @@ -103,7 +99,6 @@ else ..() - /obj/item/razor name = "electric razor" desc = "The latest and greatest power razor born from the science of shaving." @@ -112,7 +107,6 @@ flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_TINY - /obj/item/razor/proc/shave(mob/living/carbon/human/H, location = "mouth") if(location == "mouth") H.facial_hair_style = "Shaved" diff --git a/code/game/objects/items/pneumaticCannon.dm b/code/game/objects/items/pneumaticCannon.dm index 8baeee3550..2b3f8f42a0 100644 --- a/code/game/objects/items/pneumaticCannon.dm +++ b/code/game/objects/items/pneumaticCannon.dm @@ -125,14 +125,14 @@ loadedWeightClass += I.w_class return TRUE -/obj/item/pneumatic_cannon/afterattack(atom/target, mob/living/carbon/human/user, flag, params) +/obj/item/pneumatic_cannon/afterattack(atom/target, mob/living/user, flag, params) if(flag && user.a_intent == INTENT_HARM) //melee attack return if(!istype(user)) return Fire(user, target) -/obj/item/pneumatic_cannon/proc/Fire(mob/living/carbon/human/user, var/atom/target) +/obj/item/pneumatic_cannon/proc/Fire(mob/living/user, var/atom/target) if(!istype(user) && !target) return var/discharge = 0 @@ -147,9 +147,16 @@ if(tank && !tank.air_contents.remove(gasPerThrow * pressureSetting)) to_chat(user, "\The [src] lets out a weak hiss and doesn't react!") return +<<<<<<< HEAD if(user.disabilities & CLUMSY && prob(75) && clumsyCheck) user.visible_message("[user] loses their grip on [src], causing it to go off!", "[src] slips out of your hands and goes off!") user.dropItemToGround(src, TRUE) +======= + if(user.has_disability(CLUMSY) && prob(75) && clumsyCheck && iscarbon(user)) + var/mob/living/carbon/C = user + C.visible_message("[C] loses their grip on [src], causing it to go off!", "[src] slips out of your hands and goes off!") + C.dropItemToGround(src, TRUE) +>>>>>>> 6ce550d... Clownborgs (#33590) if(prob(10)) target = get_turf(user) else @@ -163,9 +170,10 @@ var/turf/T = get_target(target, get_turf(src)) playsound(src.loc, 'sound/weapons/sonic_jackhammer.ogg', 50, 1) fire_items(T, user) - if(pressureSetting >= 3 && user) - user.visible_message("[user] is thrown down by the force of the cannon!", "[src] slams into your shoulder, knocking you down!") - user.Knockdown(60) + if(pressureSetting >= 3 && iscarbon(user)) + var/mob/living/carbon/C = user + C.visible_message("[C] is thrown down by the force of the cannon!", "[src] slams into your shoulder, knocking you down!") + C.Knockdown(60) /obj/item/pneumatic_cannon/proc/fire_items(turf/target, mob/user) if(fire_mode == PCANNON_FIREALL) @@ -271,3 +279,10 @@ selfcharge = TRUE charge_type = /obj/item/reagent_containers/food/snacks/pie/cream maxWeightClass = 60 //20 pies. + +/obj/item/pneumatic_cannon/pie/selfcharge/cyborg + name = "low velocity pie cannon" + automatic = FALSE + charge_type = /obj/item/reagent_containers/food/snacks/pie/cream/nostun + maxWeightClass = 6 //2 pies + charge_ticks = 2 //4 second/pie diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index d2f1d2a31b..6c1cf93295 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -355,6 +355,9 @@ var/hitdamage = 0 var/emaggedhitdamage = 3 +/obj/item/borg/lollipop/clown + emaggedhitdamage = 0 + /obj/item/borg/lollipop/equipped() check_amount() diff --git a/code/game/objects/items/signs.dm b/code/game/objects/items/signs.dm index 350daa0fc3..65716f2f30 100644 --- a/code/game/objects/items/signs.dm +++ b/code/game/objects/items/signs.dm @@ -10,13 +10,23 @@ var/label = "" var/last_wave = 0 +/obj/item/picket_sign/cyborg + name = "metallic nano-sign" + desc = "A high tech picket sign used by silicons that can reprogram its surface at will. Probably hurts to get hit by, too." + force = 13 + resistance_flags = NONE + actions_types = list(/datum/action/item_action/nano_picket_sign) + +/obj/item/picket_sign/proc/retext(mob/user) + var/txt = stripped_input(user, "What would you like to write on the sign?", "Sign Label", null , 30) + if(txt && Adjacent(user)) + label = txt + name = "[label] sign" + desc = "It reads: [label]" + /obj/item/picket_sign/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/pen) || istype(W, /obj/item/toy/crayon)) - var/txt = stripped_input(user, "What would you like to write on the sign?", "Sign Label", null , 30) - if(txt) - label = txt - src.name = "[label] sign" - desc = "It reads: [label]" + retext(user) else return ..() diff --git a/code/modules/food_and_drinks/food/snacks_pie.dm b/code/modules/food_and_drinks/food/snacks_pie.dm index 977bd60da1..1ec5bb3499 100644 --- a/code/modules/food_and_drinks/food/snacks_pie.dm +++ b/code/modules/food_and_drinks/food/snacks_pie.dm @@ -27,6 +27,7 @@ list_reagents = list("nutriment" = 6, "banana" = 5, "vitamin" = 2) tastes = list("pie" = 1) foodtype = GRAIN | DAIRY | SUGAR + var/stunning = TRUE /obj/item/reagent_containers/food/snacks/pie/cream/throw_impact(atom/hit_atom) . = ..() @@ -46,15 +47,18 @@ creamoverlay.icon_state = "creampie_lizard" else creamoverlay.icon_state = "creampie_human" - H.Knockdown(20) //splat! + if(stunning) + H.Knockdown(20) //splat! H.adjust_blurriness(1) H.visible_message("[H] is creamed by [src]!", "You've been creamed by [src]!") playsound(H, "desceration", 50, TRUE) - if (!H.creamed) // one layer at a time + if(!H.creamed) // one layer at a time H.add_overlay(creamoverlay) H.creamed = TRUE qdel(src) +/obj/item/reagent_containers/food/snacks/pie/cream/nostun + stunning = FALSE /obj/item/reagent_containers/food/snacks/pie/berryclafoutis name = "berry clafoutis" diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index db10f4a81c..4f4c364fe8 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -827,6 +827,9 @@ /mob/living/silicon/robot/modules/security set_module = /obj/item/robot_module/security +/mob/living/silicon/robot/modules/clown + set_module = /obj/item/robot_module/clown + /mob/living/silicon/robot/modules/peacekeeper set_module = /obj/item/robot_module/peacekeeper diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 26e455106b..2f1eb7d378 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -513,6 +513,37 @@ if(CL) CL.reagents.add_reagent("lube", 2 * coeff) +/obj/item/robot_module/clown + name = "Clown" + basic_modules = list( + /obj/item/device/assembly/flash/cyborg, + /obj/item/toy/crayon/rainbow, + /obj/item/device/instrument/bikehorn, + /obj/item/stamp/clown, + /obj/item/bikehorn, + /obj/item/bikehorn/airhorn, + /obj/item/paint/anycolor, + /obj/item/soap/nanotrasen, + /obj/item/pneumatic_cannon/pie/selfcharge/cyborg, + /obj/item/razor, //killbait material + /obj/item/lipstick/purple, + /obj/item/reagent_containers/spray/waterflower/cyborg, + /obj/item/borg/cyborghug/peacekeeper, + /obj/item/borg/lollipop/clown, + /obj/item/picket_sign/cyborg, + /obj/item/reagent_containers/borghypo/clown, + /obj/item/extinguisher/mini) + emag_modules = list( + /obj/item/reagent_containers/borghypo/clown/hacked, + /obj/item/reagent_containers/spray/waterflower/cyborg/hacked) + ratvar_modules = list( + /obj/item/clockwork/slab/cyborg, + /obj/item/clockwork/weapon/ratvarian_spear, + /obj/item/clockwork/replica_fabricator/cyborg) + moduleselect_icon = "service" + cyborg_base_icon = "clown" + hat_offset = -2 + /obj/item/robot_module/butler name = "Service" basic_modules = list( diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index b62afb80c0..e3de96e0b4 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -172,6 +172,22 @@ M.emote("laugh") ..() +/datum/reagent/consumable/superlaughter + name = "Super Laughter" + id = "superlaughter" + description = "Funny until you're the one laughing." + metabolization_rate = 1.5 * REAGENTS_METABOLISM + color = "#FF4DD2" + taste_description = "laughter" + +/datum/reagent/consumable/superlaughter/on_mob_life(mob/living/carbon/M) + if(!iscarbon(M)) + return + if(prob(30)) + M.visible_message("[M] bursts out into a fit of uncontrollable laughter!", "You burst out in a fit of uncontrollable laughter!") + M.Stun(5) + ..() + /datum/reagent/consumable/potato_juice name = "Potato Juice" id = "potato" diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index 0a99d9da6e..e736c344db 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -130,6 +130,18 @@ Borg Hypospray reagent_ids = list ("facid", "mutetoxin", "cyanide", "sodium_thiopental", "heparin", "lexorin") accepts_reagent_upgrades = FALSE +/obj/item/reagent_containers/borghypo/clown + name = "laughter injector" + desc = "Keeps the crew happy and productive!" + reagent_ids = list("laughter") + accepts_reagent_upgrades = FALSE + +/obj/item/reagent_containers/borghypo/clown/hacked + name = "laughter injector" + desc = "Keeps the crew so happy they don't work!" + reagent_ids = list("superlaughter") + accepts_reagent_upgrades = FALSE + /obj/item/reagent_containers/borghypo/syndicate name = "syndicate cyborg hypospray" desc = "An experimental piece of Syndicate technology used to produce powerful restorative nanites used to very quickly restore injuries of all types. Also metabolizes potassium iodide, for radiation poisoning, and morphine, for offense." diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 2e34e39f8f..f79418eee5 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -18,16 +18,16 @@ var/spray_range = 3 //the range of tiles the sprayer will reach when in spray mode. var/stream_range = 1 //the range of tiles the sprayer will reach when in stream mode. var/stream_amount = 10 //the amount of reagents transfered when in stream mode. + var/can_fill_from_container = TRUE amount_per_transfer_from_this = 5 volume = 250 possible_transfer_amounts = list(5,10,15,20,25,30,50,100) - /obj/item/reagent_containers/spray/afterattack(atom/A, mob/user) if(istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart) || istype(A, /obj/machinery/hydroponics)) return - if((A.is_drainable() && !A.is_refillable()) && get_dist(src,A) <= 1) + if((A.is_drainable() && !A.is_refillable()) && get_dist(src,A) <= 1 && can_fill_from_container) if(!A.reagents.total_volume) to_chat(user, "[A] is empty.") return @@ -205,6 +205,46 @@ /obj/item/reagent_containers/spray/waterflower/attack_self(mob/user) //Don't allow changing how much the flower sprays return +/obj/item/reagent_containers/spray/waterflower/cyborg + container_type = NONE + volume = 100 + list_reagents = list("water" = 100) + var/generate_amount = 5 + var/generate_type = "water" + var/last_generate = 0 + var/generate_delay = 10 //deciseconds + can_fill_from_container = FALSE + +/obj/item/reagent_containers/spray/waterflower/cyborg/hacked + name = "nova flower" + desc = "This doesn't look safe at all..." + list_reagents = list("clf3" = 3) + volume = 3 + generate_type = "clf3" + generate_amount = 1 + generate_delay = 40 //deciseconds + +/obj/item/reagent_containers/spray/waterflower/cyborg/Initialize() + . = ..() + START_PROCESSING(SSfastprocess, src) + +/obj/item/reagent_containers/spray/waterflower/cyborg/Destroy() + STOP_PROCESSING(SSfastprocess, src) + return ..() + +/obj/item/reagent_containers/spray/waterflower/cyborg/process() + if(world.time > last_generate + generate_delay) + return + last_generate = world.time + generate_reagents() + +/obj/item/reagent_containers/spray/waterflower/cyborg/empty() + to_chat(usr, "You can not empty this!") + return + +/obj/item/reagent_containers/spray/waterflower/cyborg/proc/generate_reagents() + reagents.add_reagent(generate_type, generate_amount) + //chemsprayer /obj/item/reagent_containers/spray/chemsprayer name = "chem sprayer" diff --git a/icons/mob/robots.dmi b/icons/mob/robots.dmi index 5d8bfa629b1a585450433994df3855acc1b50306..fd145092a75380611ccc075a701e0fd75f78971d 100644 GIT binary patch delta 13323 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 NR1`GiOXbW%{}+PLHH!cM delta 9401 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 JOwJ_ue*i%{$+!Rj