diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_corporate_rejects.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_corporate_rejects.dmm index d518df47dc6e..770f31d68493 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_surface_corporate_rejects.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_surface_corporate_rejects.dmm @@ -448,13 +448,12 @@ "lj" = ( /obj/structure/mecha_wreckage/ripley/mkii, /obj/machinery/light/directional/east, -/turf/open/floor/mech_bay_recharge_floor, +/turf/open/floor/mech_bay_recharge_floor,q /area/ruin/unpowered/corprejectengineering) "lk" = ( /turf/closed/mineral/snowmountain/icemoon, /area/ruin/unpowered/corprejectrooms) "lF" = ( -/obj/structure/mecha_wreckage/honker/dark, /obj/machinery/light/directional/east, /turf/open/floor/mech_bay_recharge_floor, /area/ruin/unpowered/corprejectengineering) @@ -1238,7 +1237,6 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove, /obj/item/mmi/posibrain, /obj/item/mmi, -/obj/item/circuitboard/mecha/honker/main, /turf/open/floor/plasteel/tech, /area/ruin/unpowered/corprejectengineering) "CS" = ( @@ -1613,7 +1611,6 @@ /area/ruin/unpowered/corprejectengineering) "Kk" = ( /obj/structure/bed, -/obj/effect/mob_spawn/human/clown/corpse, /turf/open/floor/mineral/plastitanium/red, /area/ruin/unpowered/corprejectrooms) "Kn" = ( diff --git a/_maps/RandomRuins/JungleRuins/jungle_surface_roommates.dmm b/_maps/RandomRuins/JungleRuins/jungle_surface_roommates.dmm index 86e44d0d8480..a6dc99c5954b 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_surface_roommates.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_surface_roommates.dmm @@ -24,9 +24,6 @@ /obj/item/toy/plush/hornet/gay, /obj/item/lipstick/random, /obj/item/lipstick/random, -/obj/item/clothing/mask/gas/clown_hat, -/obj/item/clothing/under/rank/civilian/clown/orange, -/obj/item/clothing/under/rank/civilian/clown/rainbow, /obj/effect/turf_decal/corner/opaque/solgovgold, /obj/effect/turf_decal/corner/opaque/lime{ dir = 8 @@ -37,7 +34,6 @@ /obj/effect/turf_decal/corner/opaque/bottlegreen{ dir = 4 }, -/obj/item/clothing/under/rank/civilian/clown/orange, /obj/item/clothing/neck/tie/lesbian, /obj/item/bikehorn, /obj/effect/decal/cleanable/confetti, @@ -236,9 +232,6 @@ /obj/structure/bed{ pixel_y = 14 }, -/obj/item/bedsheet/clown{ - pixel_y = 15 - }, /obj/effect/turf_decal/corner/opaque/white{ dir = 6 }, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_dwarffortress.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_dwarffortress.dmm index 52a302920d24..9f666d73d007 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_dwarffortress.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_dwarffortress.dmm @@ -194,10 +194,6 @@ pixel_x = 5; pixel_y = 6 }, -/obj/item/toy/figure/clown{ - pixel_x = -7; - pixel_y = 1 - }, /obj/structure/table/wood/fancy/purple, /turf/open/floor/plating/asteroid/basalt, /area/overmap_encounter/planetoid/cave/explored) diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm index 379e35a7d2f9..2ce2793f0c65 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm @@ -1029,7 +1029,6 @@ pixel_x = -17 }, /obj/effect/decal/remains/human, -/obj/item/clothing/mask/gas/clown_hat, /obj/effect/decal/cleanable/blood/old, /obj/item/ammo_casing/a357{ pixel_x = 9; diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_conveniencestore.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_conveniencestore.dmm index 9d32745de146..c09d02abf150 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_conveniencestore.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_conveniencestore.dmm @@ -248,10 +248,6 @@ /area/ruin/unpowered) "LZ" = ( /obj/structure/rack, -/obj/item/clothing/mask/gas/clown_hat{ - pixel_y = 6 - }, -/obj/item/clothing/mask/gas/clown_hat, /turf/open/floor/plasteel/white, /area/ruin/unpowered) "Mu" = ( @@ -314,7 +310,6 @@ /turf/open/floor/plasteel/white, /area/ruin/unpowered) "Wp" = ( -/obj/structure/sign/poster/contraband/clown, /turf/closed/wall, /area/ruin/unpowered) "Wr" = ( diff --git a/_maps/RandomRuins/SpaceRuins/Fast_Food.dmm b/_maps/RandomRuins/SpaceRuins/Fast_Food.dmm index 559f4987deec..a9fe9ef94fc0 100644 --- a/_maps/RandomRuins/SpaceRuins/Fast_Food.dmm +++ b/_maps/RandomRuins/SpaceRuins/Fast_Food.dmm @@ -608,7 +608,6 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/powered/macspace) "bj" = ( -/obj/item/toy/figure/clown, /obj/effect/decal/cleanable/food/tomato_smudge, /obj/structure/chair/wood/wings{ dir = 4; diff --git a/_maps/RandomRuins/SpaceRuins/astraeus.dmm b/_maps/RandomRuins/SpaceRuins/astraeus.dmm index bafc48460b64..62e7dc210b78 100644 --- a/_maps/RandomRuins/SpaceRuins/astraeus.dmm +++ b/_maps/RandomRuins/SpaceRuins/astraeus.dmm @@ -1716,10 +1716,6 @@ /turf/closed/wall/r_wall, /area/ruin/space/has_grav/astraeus/munitions) "TS" = ( -/obj/item/clothing/shoes/clown_shoes{ - pixel_x = -3; - pixel_y = 12 - }, /obj/machinery/airalarm/directional/south, /obj/item/storage/crayons{ pixel_y = -6 diff --git a/_maps/RandomRuins/SpaceRuins/spacemall.dmm b/_maps/RandomRuins/SpaceRuins/spacemall.dmm index 276292022795..d49ca5490f08 100644 --- a/_maps/RandomRuins/SpaceRuins/spacemall.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacemall.dmm @@ -11009,11 +11009,6 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/dorms) "Pj" = ( -/obj/item/clothing/mask/gas/clown_hat{ - pixel_y = 2; - pixel_x = 1; - name = "tainted clown wig and mask" - }, /obj/effect/decal/remains/human, /obj/machinery/light/small/directional/west, /turf/open/floor/wood, diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_clowncrash.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_clowncrash.dmm index ae2434a3ca45..a93216150e19 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_clowncrash.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_clowncrash.dmm @@ -109,7 +109,6 @@ /turf/open/floor/noslip, /area/overmap_encounter/planetoid/cave/explored) "u" = ( -/obj/structure/mecha_wreckage/honker, /obj/effect/decal/cleanable/greenglow, /turf/open/floor/plating/asteroid/wasteplanet, /area/overmap_encounter/planetoid/cave/explored) diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_fortress_of_solitide.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_fortress_of_solitide.dmm index e931e0091d26..f862ad319744 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_fortress_of_solitide.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_fortress_of_solitide.dmm @@ -1507,7 +1507,6 @@ "nJ" = ( /obj/structure/rack, /obj/item/pneumatic_cannon/pie, -/obj/item/reagent_containers/spray/waterflower/lube, /obj/machinery/light/small/directional/east, /turf/open/floor/mineral/bananium, /area/ruin/powered) @@ -3908,9 +3907,6 @@ pixel_x = -7; pixel_y = 7 }, -/obj/item/clothing/shoes/clown_shoes/banana_shoes/combat{ - pixel_y = 5 - }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/rust, /area/ruin/powered) @@ -4342,7 +4338,6 @@ /area/ruin/powered) "Ow" = ( /obj/structure/table/wood/fancy/orange, -/obj/item/clothing/under/rank/civilian/clown/rainbow, /turf/open/floor/mineral/bananium, /area/ruin/powered) "Ox" = ( diff --git a/_maps/outpost/nanotrasen_asteroid.dmm b/_maps/outpost/nanotrasen_asteroid.dmm index d5ccb5e0af68..b3682a91a37c 100644 --- a/_maps/outpost/nanotrasen_asteroid.dmm +++ b/_maps/outpost/nanotrasen_asteroid.dmm @@ -7821,9 +7821,6 @@ /obj/item/toy/figure/botanist{ pixel_x = 2 }, -/obj/item/toy/figure/clown{ - pixel_x = 10 - }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/aft) diff --git a/_maps/shuttles/independent/independent_lagoon.dmm b/_maps/shuttles/independent/independent_lagoon.dmm index c015f0c262a1..8dd2cf1a8b2e 100644 --- a/_maps/shuttles/independent/independent_lagoon.dmm +++ b/_maps/shuttles/independent/independent_lagoon.dmm @@ -1186,10 +1186,6 @@ /area/ship/hallway/fore) "hT" = ( /obj/structure/table/wood, -/obj/item/clothing/mask/gas/clown_hat, -/obj/item/bikehorn, -/obj/item/clothing/shoes/clown_shoes, -/obj/item/megaphone/clown, /obj/item/reagent_containers/food/drinks/soda_cans/canned_laughter, /obj/item/radio/intercom/directional/south, /turf/open/floor/carpet/nanoweave/purple, diff --git a/code/__DEFINES/cinematics.dm b/code/__DEFINES/cinematics.dm index f994dc82a4b3..c77abb35f655 100644 --- a/code/__DEFINES/cinematics.dm +++ b/code/__DEFINES/cinematics.dm @@ -9,6 +9,5 @@ #define CINEMATIC_NUKE_FAKE 9 #define CINEMATIC_NUKE_NO_CORE 10 #define CINEMATIC_NUKE_FAR 11 -#define CINEMATIC_NUKE_CLOWNOP 12 -#define CINEMATIC_CULT_NUKE 13 -#define CINEMATIC_CULT_FAIL 14 +#define CINEMATIC_CULT_NUKE 12 +#define CINEMATIC_CULT_FAIL 13 diff --git a/code/datums/cinematic.dm b/code/datums/cinematic.dm index c36fb3961664..11aaef54f313 100644 --- a/code/datums/cinematic.dm +++ b/code/datums/cinematic.dm @@ -265,17 +265,6 @@ cinematic_sound(sound('sound/effects/explosion_distant.ogg')) special() -/datum/cinematic/clownop - id = CINEMATIC_NUKE_CLOWNOP - cleanup_time = 100 - -/datum/cinematic/clownop/content() - flick("intro_nuke",screen) - sleep(35) - cinematic_sound(sound('sound/items/airhorn.ogg')) - flick("summary_selfdes",screen) //??? - special() - /* Intended usage. Nuke.Explosion() -> Cinematic(NUKE_BOOM,world) diff --git a/code/datums/components/fantasy/suffixes.dm b/code/datums/components/fantasy/suffixes.dm index ec1ee58735f9..54bdf42fccdc 100644 --- a/code/datums/components/fantasy/suffixes.dm +++ b/code/datums/components/fantasy/suffixes.dm @@ -128,7 +128,6 @@ /obj/projectile/meteor = 1, /obj/projectile/energy/nuclear_particle = 1, /obj/projectile/beam/pulse = 1, - /obj/projectile/bullet/honker = 15, /obj/projectile/temp = 15, /obj/projectile/ion = 15, /obj/projectile/magic/door = 15, diff --git a/code/datums/diseases/pierrot_throat.dm b/code/datums/diseases/pierrot_throat.dm deleted file mode 100644 index 21a780b93665..000000000000 --- a/code/datums/diseases/pierrot_throat.dm +++ /dev/null @@ -1,59 +0,0 @@ -/datum/disease/pierrot_throat - name = "Pierrot's Throat" - max_stages = 4 - spread_text = "Airborne" - cure_text = "Banana products, especially banana bread." - cures = list(/datum/reagent/consumable/banana) - cure_chance = 75 - agent = "H0NI<42 Virus" - viable_mobtypes = list(/mob/living/carbon/human) - permeability_mod = 0.75 - desc = "If left untreated the subject will probably drive others to insanity." - severity = DISEASE_SEVERITY_MEDIUM - -/datum/disease/pierrot_throat/stage_act() - ..() - switch(stage) - if(1) - if(prob(10)) - to_chat(affected_mob, "You feel a little silly.") - if(2) - if(prob(10)) - to_chat(affected_mob, "You start seeing rainbows.") - if(3) - if(prob(10)) - to_chat(affected_mob, "Your thoughts are interrupted by a loud HONK!") - if(4) - if(prob(5)) - affected_mob.say( pick( list("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk...") ) , forced = "pierrot's throat") - -/datum/disease/pierrot_throat/after_add() - RegisterSignal(affected_mob, COMSIG_MOB_SAY, PROC_REF(handle_speech)) - - -/datum/disease/pierrot_throat/proc/handle_speech(datum/source, list/speech_args) - SIGNAL_HANDLER - - var/message = speech_args[SPEECH_MESSAGE] - var/list/split_message = splittext(message, " ") //List each word in the message - var/applied = 0 - for (var/i in 1 to length(split_message)) - if(prob(3 * stage)) //Stage 1: 3% Stage 2: 6% Stage 3: 9% Stage 4: 12% - if(findtext(split_message[i], "*") || findtext(split_message[i], ";") || findtext(split_message[i], ":")) - continue - split_message[i] = "HONK" - if (applied++ > stage) - break - if (applied) - speech_args[SPEECH_SPANS] |= SPAN_CLOWN // a little bonus - message = jointext(split_message, " ") - speech_args[SPEECH_MESSAGE] = message - - -/datum/disease/pierrot_throat/Destroy() - UnregisterSignal(affected_mob, COMSIG_MOB_SAY) - return ..() - -/datum/disease/pierrot_throat/remove_disease() - UnregisterSignal(affected_mob, COMSIG_MOB_SAY) - return ..() diff --git a/code/game/gamemodes/clown_ops/bananium_bomb.dm b/code/game/gamemodes/clown_ops/bananium_bomb.dm deleted file mode 100644 index 01c270895360..000000000000 --- a/code/game/gamemodes/clown_ops/bananium_bomb.dm +++ /dev/null @@ -1,57 +0,0 @@ -/obj/machinery/nuclearbomb/syndicate/bananium - name = "bananium fission explosive" - desc = "You probably shouldn't stick around to see if this is armed." - icon = 'icons/obj/machines/nuke.dmi' - icon_state = "bananiumbomb_base" - base_icon_state = "bananiumbomb" - -/obj/machinery/nuclearbomb/syndicate/bananium/update_icon_state() - if(deconstruction_state != NUKESTATE_INTACT) - icon_state = "[base_icon_state]_base" - return ..() - - switch(get_nuke_state()) - if(NUKE_OFF_LOCKED, NUKE_OFF_UNLOCKED) - icon_state = "[base_icon_state]_base" - if(NUKE_ON_TIMING) - icon_state = "[base_icon_state]_timing" - if(NUKE_ON_EXPLODING) - icon_state = "[base_icon_state]_exploding" - return ..() - -/obj/machinery/nuclearbomb/syndicate/bananium/get_cinematic_type(off_station) - switch(off_station) - if(0) - return CINEMATIC_NUKE_CLOWNOP - if(1) - return CINEMATIC_NUKE_MISS - if(2) - return CINEMATIC_NUKE_FAKE //it is farther away, so just a bikehorn instead of an airhorn - return CINEMATIC_NUKE_FAKE - -/obj/machinery/nuclearbomb/syndicate/bananium/really_actually_explode(off_station) - Cinematic(get_cinematic_type(off_station), world) - for(var/i in GLOB.human_list) - var/mob/living/carbon/human/H = i - var/turf/T = get_turf(H) - if(!T || T.virtual_z() != virtual_z()) - continue - H.Stun(10) - var/obj/item/clothing/C - if(!H.w_uniform || H.dropItemToGround(H.w_uniform)) - C = new /obj/item/clothing/under/rank/civilian/clown(H) - ADD_TRAIT(C, TRAIT_NODROP, CLOWN_NUKE_TRAIT) - H.equip_to_slot_or_del(C, ITEM_SLOT_ICLOTHING) - - if(!H.shoes || H.dropItemToGround(H.shoes)) - C = new /obj/item/clothing/shoes/clown_shoes(H) - ADD_TRAIT(C, TRAIT_NODROP, CLOWN_NUKE_TRAIT) - H.equip_to_slot_or_del(C, ITEM_SLOT_FEET) - - if(!H.wear_mask || H.dropItemToGround(H.wear_mask)) - C = new /obj/item/clothing/mask/gas/clown_hat(H) - ADD_TRAIT(C, TRAIT_NODROP, CLOWN_NUKE_TRAIT) - H.equip_to_slot_or_del(C, ITEM_SLOT_MASK) - - H.dna.add_mutation(CLOWNMUT) - H.gain_trauma(/datum/brain_trauma/mild/phobia/clowns, TRAUMA_RESILIENCE_LOBOTOMY) //MWA HA HA diff --git a/code/game/gamemodes/clown_ops/clown_ops.dm b/code/game/gamemodes/clown_ops/clown_ops.dm deleted file mode 100644 index 9025f6ec2dcb..000000000000 --- a/code/game/gamemodes/clown_ops/clown_ops.dm +++ /dev/null @@ -1,57 +0,0 @@ -/datum/game_mode/nuclear/clown_ops - name = "clown ops" - config_tag = "clownops" - - announce_span = "danger" - announce_text = "Clown empire forces are approaching the station in an attempt to HONK it!\n\ - Operatives: Secure the nuclear authentication disk and use your bananium fission explosive to HONK the station.\n\ - Crew: Defend the nuclear authentication disk and ensure that it leaves with you on the emergency shuttle." - - operative_antag_datum_type = /datum/antagonist/nukeop/clownop - leader_antag_datum_type = /datum/antagonist/nukeop/leader/clownop - -//////////////////////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////////////////////// - -/datum/game_mode/nuclear/clown_ops/pre_setup() - . = ..() - if(.) - for(var/obj/machinery/nuclearbomb/syndicate/S in GLOB.nuke_list) - var/turf/T = get_turf(S) - if(T) - qdel(S) - new /obj/machinery/nuclearbomb/syndicate/bananium(T) - for(var/V in pre_nukeops) - var/datum/mind/the_op = V - the_op.assigned_role = "Clown Operative" - the_op.special_role = "Clown Operative" - -/datum/outfit/syndicate/clownop - name = "Clown Operative - Basic" - uniform = /obj/item/clothing/under/syndicate - shoes = /obj/item/clothing/shoes/clown_shoes/combat - mask = /obj/item/clothing/mask/gas/clown_hat - gloves = /obj/item/clothing/gloves/combat - back = /obj/item/storage/backpack/clown - ears = /obj/item/radio/headset/syndicate/alt - l_pocket = /obj/item/pinpointer/nuke/syndicate - r_pocket = /obj/item/bikehorn - id = /obj/item/card/id/syndicate - backpack_contents = list(/obj/item/storage/box/survival/syndie=1,\ - /obj/item/kitchen/knife/combat/survival, - /obj/item/dnainjector/clumsymut, //in case you want to be clumsy for the memes - /obj/item/storage/box/syndie_kit/clownpins, //for any guns that you get your grubby little clown op mitts on - /obj/item/reagent_containers/spray/waterflower/lube) - implants = list(/obj/item/implant/sad_trombone) - - uplink_type = /obj/item/uplink/clownop - -/datum/outfit/syndicate/clownop/no_crystals - name = "Clown Operative - No Crystals" - tc = 0 - -/datum/outfit/syndicate/clownop/leader - name = "Clown Operative Leader - Basic" - id = /obj/item/card/id/syndicate/nuke_leader - gloves = /obj/item/clothing/gloves/krav_maga/combatglovesplus - command_radio = TRUE diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm deleted file mode 100644 index fe95ea3c5988..000000000000 --- a/code/game/gamemodes/clown_ops/clown_weapons.dm +++ /dev/null @@ -1,292 +0,0 @@ -/obj/item/reagent_containers/spray/waterflower/lube - name = "water flower" - desc = "A seemingly innocent sunflower...with a twist. A slippery twist." - icon = 'icons/obj/hydroponics/harvest.dmi' - icon_state = "sunflower" - item_state = "sunflower" - amount_per_transfer_from_this = 3 - spray_range = 1 - stream_range = 1 - volume = 30 - list_reagents = list(/datum/reagent/lube = 30) - -//COMBAT CLOWN SHOES -//Clown shoes with combat stats and noslip. Of course they still squeak. -/obj/item/clothing/shoes/clown_shoes/combat - name = "combat clown shoes" - desc = "advanced clown shoes that protect the wearer and render them nearly immune to slipping on their own peels. They also squeak at 100% capacity." - clothing_flags = NOSLIP - slowdown = SHOES_SLOWDOWN - armor = list("melee" = 25, "bullet" = 25, "laser" = 25, "energy" = 25, "bomb" = 50, "bio" = 10, "rad" = 0, "fire" = 70, "acid" = 50) - strip_delay = 70 - resistance_flags = NONE - permeability_coefficient = 0.05 - pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes - -//The super annoying version -/obj/item/clothing/shoes/clown_shoes/banana_shoes/combat - name = "mk-honk combat shoes" - desc = "The culmination of years of clown combat research, these shoes leave a trail of chaos in their wake. They will slowly recharge themselves over time, or can be manually charged with bananium." - slowdown = SHOES_SLOWDOWN - armor = list("melee" = 25, "bullet" = 25, "laser" = 25, "energy" = 25, "bomb" = 50, "bio" = 10, "rad" = 0, "fire" = 70, "acid" = 50) - strip_delay = 70 - resistance_flags = NONE - permeability_coefficient = 0.05 - pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes - always_noslip = TRUE - var/max_recharge = 3000 //30 peels worth - var/recharge_rate = 34 //about 1/3 of a peel per tick - -/obj/item/clothing/shoes/clown_shoes/banana_shoes/combat/Initialize() - . = ..() - var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) - bananium.insert_amount_mat(max_recharge, /datum/material/bananium) - START_PROCESSING(SSobj, src) - -/obj/item/clothing/shoes/clown_shoes/banana_shoes/combat/process() - var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) - var/bananium_amount = bananium.get_material_amount(/datum/material/bananium) - if(bananium_amount < max_recharge) - bananium.insert_amount_mat(min(recharge_rate, max_recharge - bananium_amount), /datum/material/bananium) - -/obj/item/clothing/shoes/clown_shoes/banana_shoes/combat/attack_self(mob/user) - ui_action_click(user) - -//BANANIUM SWORD - -/obj/item/melee/transforming/energy/sword/bananium - name = "bananium sword" - desc = "An elegant weapon, for a more civilized age." - force = 0 - throwforce = 0 - force_on = 0 - throwforce_on = 0 - hitsound = null - attack_verb_on = list("slipped") - clumsy_check = FALSE - sharpness = IS_BLUNT - sword_color = "yellow" - heat = 0 - light_color = COLOR_YELLOW - var/next_trombone_allowed = 0 - -/obj/item/melee/transforming/energy/sword/bananium/Initialize() - . = ..() - adjust_slipperiness() - -/* Adds or removes a slippery component, depending on whether the sword - * is active or not. - */ -/obj/item/melee/transforming/energy/sword/proc/adjust_slipperiness() - if(active) - AddComponent(/datum/component/slippery, 60, GALOSHES_DONT_HELP) - else - qdel(GetComponent(/datum/component/slippery)) - -/obj/item/melee/transforming/energy/sword/bananium/attack(mob/living/M, mob/living/user) - ..() - if(active) - var/datum/component/slippery/slipper = GetComponent(/datum/component/slippery) - slipper.Slip(src, M) - -/obj/item/melee/transforming/energy/sword/bananium/throw_impact(atom/hit_atom, throwingdatum) - . = ..() - if(active) - var/datum/component/slippery/slipper = GetComponent(/datum/component/slippery) - slipper.Slip(src, hit_atom) - -/obj/item/melee/transforming/energy/sword/bananium/attackby(obj/item/I, mob/living/user, params) - if((world.time > next_trombone_allowed) && istype(I, /obj/item/melee/transforming/energy/sword/bananium)) - next_trombone_allowed = world.time + 50 - to_chat(user, "You slap the two swords together. Sadly, they do not seem to fit!") - playsound(src, 'sound/misc/sadtrombone.ogg', 50) - return TRUE - return ..() - -/obj/item/melee/transforming/energy/sword/bananium/transform_weapon(mob/living/user, supress_message_text) - . = ..() - adjust_slipperiness() - -/obj/item/melee/transforming/energy/sword/bananium/ignition_effect(atom/A, mob/user) - return "" - -//BANANIUM SHIELD - -/obj/item/shield/energy/bananium - name = "bananium energy shield" - desc = "A shield that stops most melee attacks, protects user from almost all energy projectiles, and can be thrown to slip opponents." - throw_speed = 1 - clumsy_check = 0 - base_icon_state = "bananaeshield" - force = 0 - throwforce = 0 - throw_range = 5 - on_force = 0 - on_throwforce = 0 - on_throw_speed = 1 - -/obj/item/shield/energy/bananium/Initialize() - . = ..() - adjust_slipperiness() - -/* Adds or removes a slippery component, depending on whether the shield - * is active or not. - */ -/obj/item/shield/energy/bananium/proc/adjust_slipperiness() - if(active) - AddComponent(/datum/component/slippery, 60, GALOSHES_DONT_HELP) - else - qdel(GetComponent(/datum/component/slippery)) - -/obj/item/shield/energy/bananium/attack_self(mob/living/carbon/human/user) - . = ..() - adjust_slipperiness() - -/obj/item/shield/energy/bananium/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback, force, gentle = FALSE, quickstart = TRUE) - if(active) - if(iscarbon(thrower)) - var/mob/living/carbon/C = thrower - C.throw_mode_on(THROW_MODE_TOGGLE) //so they can catch it on the return. - return ..() - -/obj/item/shield/energy/bananium/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - if(active) - var/caught = hit_atom.hitby(src, FALSE, FALSE, throwingdatum=throwingdatum) - if(iscarbon(hit_atom) && !caught)//if they are a carbon and they didn't catch it - var/datum/component/slippery/slipper = GetComponent(/datum/component/slippery) - slipper.Slip(src, hit_atom) - var/mob/thrown_by = thrownby?.resolve() - if(thrown_by && !caught) - addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/movable, throw_at), thrown_by, throw_range+2, throw_speed, null, TRUE), 1) - else - return ..() - - -//BOMBANANA - -/obj/item/reagent_containers/food/snacks/grown/banana/bombanana - trash = /obj/item/grown/bananapeel/bombanana - bitesize = 1 - customfoodfilling = FALSE - seed = null - tastes = list("explosives" = 10) - list_reagents = list(/datum/reagent/consumable/nutriment/vitamin = 1) - -/obj/item/grown/bananapeel/bombanana - desc = "A peel from a banana. Why is it beeping?" - seed = null - var/det_time = 50 - var/obj/item/grenade/syndieminibomb/bomb - -/obj/item/grown/bananapeel/bombanana/Initialize() - . = ..() - bomb = new /obj/item/grenade/syndieminibomb(src) - bomb.det_time = det_time - if(iscarbon(loc)) - to_chat(loc, "[src] begins to beep.") - bomb.preprime(loc, null, FALSE) - -/obj/item/grown/bananapeel/bombanana/ComponentInitialize() - . = ..() - AddComponent(/datum/component/slippery, det_time) - -/obj/item/grown/bananapeel/bombanana/Destroy() - . = ..() - QDEL_NULL(bomb) - -//TEARSTACHE GRENADE - -/obj/item/grenade/chem_grenade/teargas/moustache - name = "tear-stache grenade" - desc = "A handsomely-attired teargas grenade." - icon_state = "moustacheg" - clumsy_check = GRENADE_NONCLUMSY_FUMBLE - -/obj/item/grenade/chem_grenade/teargas/moustache/prime() - var/myloc = get_turf(src) - . = ..() - for(var/mob/living/carbon/M in view(6, myloc)) - if(!istype(M.wear_mask, /obj/item/clothing/mask/gas/clown_hat) && !istype(M.wear_mask, /obj/item/clothing/mask/gas/mime)) - if(!M.wear_mask || M.dropItemToGround(M.wear_mask)) - var/obj/item/clothing/mask/fakemoustache/sticky/the_stash = new /obj/item/clothing/mask/fakemoustache/sticky() - M.equip_to_slot_or_del(the_stash, ITEM_SLOT_MASK, TRUE, TRUE, TRUE, TRUE) - -/obj/item/clothing/mask/fakemoustache/sticky - var/unstick_time = 600 - -/obj/item/clothing/mask/fakemoustache/sticky/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, STICKY_MOUSTACHE_TRAIT) - addtimer(CALLBACK(src, PROC_REF(unstick)), unstick_time) - -/obj/item/clothing/mask/fakemoustache/sticky/proc/unstick() - REMOVE_TRAIT(src, TRAIT_NODROP, STICKY_MOUSTACHE_TRAIT) - -//DARK H.O.N.K. AND CLOWN MECH WEAPONS - -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/banana_mortar/bombanana - name = "bombanana mortar" - desc = "Equipment for clown exosuits. Launches exploding banana peels." - icon_state = "mecha_bananamrtr" - projectile = /obj/item/grown/bananapeel/bombanana - projectiles = 8 - projectile_energy_cost = 1000 - -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/banana_mortar/bombanana/can_attach(obj/mecha/combat/honker/M) - if(..()) - if(istype(M)) - return TRUE - return FALSE - -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/tearstache - name = "\improper HONKeR-6 grenade launcher" - desc = "A weapon for combat exosuits. Launches primed tear-stache grenades." - icon_state = "mecha_grenadelnchr" - projectile = /obj/item/grenade/chem_grenade/teargas/moustache - fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg' - projectiles = 6 - missile_speed = 1.5 - projectile_energy_cost = 800 - equip_cooldown = 60 - det_time = 20 - -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/tearstache/can_attach(obj/mecha/combat/honker/M) - if(..()) - if(istype(M)) - return TRUE - return FALSE - -/obj/mecha/combat/honker/dark - desc = "Produced by \"Tyranny of Honk, INC\", this exosuit is designed as heavy clown-support. This one has been painted black for maximum fun. HONK!" - name = "\improper Dark H.O.N.K" - icon_state = "darkhonker" - max_integrity = 300 - deflect_chance = 15 - armor = list("melee" = 40, "bullet" = 40, "laser" = 50, "energy" = 35, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) - max_temperature = 35000 - operation_req_access = list(ACCESS_SYNDICATE) - internals_req_access = list(ACCESS_SYNDICATE) - wreckage = /obj/structure/mecha_wreckage/honker/dark - max_equip = 4 - -/obj/mecha/combat/honker/dark/add_cell(obj/item/stock_parts/cell/C) - if(C) - C.forceMove(src) - cell = C - return - cell = new /obj/item/stock_parts/cell/hyper(src) - -/obj/mecha/combat/honker/dark/loaded/Initialize() - . = ..() - var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/thrusters/ion(src) - ME.attach(src) - ME = new /obj/item/mecha_parts/mecha_equipment/weapon/honker() - ME.attach(src) - ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/banana_mortar/bombanana()//Needed more offensive weapons. - ME.attach(src) - ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/tearstache()//The mousetrap mortar was not up-to-snuff. - ME.attach(src) - -/obj/structure/mecha_wreckage/honker/dark - name = "\improper Dark H.O.N.K wreckage" - icon_state = "darkhonker-broken" diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm index 8c8fe19d0a97..7f131c663831 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm @@ -358,31 +358,6 @@ mode.threat_log += "[game_timestamp()]: Extended ruleset set threat to 0." return TRUE -////////////////////////////////////////////// -// // -// CLOWN OPS // -// // -////////////////////////////////////////////// - -/datum/dynamic_ruleset/roundstart/nuclear/clown_ops - name = "Clown Ops" - antag_datum = /datum/antagonist/nukeop/clownop - antag_leader_datum = /datum/antagonist/nukeop/leader/clownop - requirements = list(101,101,101,101,101,101,101,101,101,101) - high_population_requirement = 101 - -/datum/dynamic_ruleset/roundstart/nuclear/clown_ops/pre_execute() - . = ..() - if(.) - for(var/obj/machinery/nuclearbomb/syndicate/S in GLOB.nuke_list) - var/turf/T = get_turf(S) - if(T) - qdel(S) - new /obj/machinery/nuclearbomb/syndicate/bananium(T) - for(var/datum/mind/V in assigned) - V.assigned_role = "Clown Operative" - V.special_role = "Clown Operative" - ////////////////////////////////////////////// // // // DEVIL // diff --git a/code/game/mecha/combat/honker.dm b/code/game/mecha/combat/honker.dm deleted file mode 100644 index c905216ad574..000000000000 --- a/code/game/mecha/combat/honker.dm +++ /dev/null @@ -1,168 +0,0 @@ -/obj/mecha/combat/honker - desc = "Produced by \"Tyranny of Honk, INC\", this exosuit is designed as heavy clown-support. Used to spread the fun and joy of life. HONK!" - name = "\improper H.O.N.K" - icon_state = "honker" - step_in = 3 - max_integrity = 140 - deflect_chance = 60 - internal_damage_threshold = 60 - armor = list("melee" = -20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) - max_temperature = 25000 - infra_luminosity = 5 - operation_req_access = list(ACCESS_THEATRE) - internals_req_access = list(ACCESS_MECH_SCIENCE, ACCESS_THEATRE) - wreckage = /obj/structure/mecha_wreckage/honker - add_req_access = 0 - max_equip = 3 - var/squeak = TRUE - -/obj/mecha/combat/honker/get_stats_part() - var/integrity = obj_integrity/max_integrity*100 - var/cell_charge = get_charge() - var/datum/gas_mixture/int_tank_air = internal_tank.return_air() - var/tank_pressure = internal_tank ? round(int_tank_air.return_pressure(),0.01) : "None" - var/tank_temperature = internal_tank ? int_tank_air.return_temperature() : "Unknown" - var/cabin_pressure = round(return_pressure(),0.01) - var/output = {"[report_internal_damage()] - [integrity<30?"DAMAGE LEVEL CRITICAL
":null] - [internal_damage&MECHA_INT_TEMP_CONTROL?"CLOWN SUPPORT SYSTEM MALFUNCTION
":null] - [internal_damage&MECHA_INT_TANK_BREACH?"GAS TANK HONK
":null] - [internal_damage&MECHA_INT_CONTROL_LOST?"HONK-A-DOODLE - Recalibrate
":null] - IntegriHONK: [integrity]%
- PowerHONK charge: [isnull(cell_charge)?"No powercell installed":"[cell.percent()]%"]
- Air source: [use_internal_tank?"Internal Airtank":"Environment"]
- AirHONK pressure: [tank_pressure]kPa
- AirHONK temperature: [tank_temperature]°K|[tank_temperature - T0C]°C
- HONK pressure: [cabin_pressure>WARNING_HIGH_PRESSURE ? "[cabin_pressure]": cabin_pressure]kPa
- HONK temperature: [return_temperature()]°K|[return_temperature() - T0C]°C
- Lights: [lights?"on":"off"]
- [dna_lock?"DNA-locked:
[dna_lock] \[Reset\]
":null] - "} - return output - -/obj/mecha/combat/honker/get_stats_html() - var/output = {" - - - [src.name] data - - - - -
- [src.get_stats_part()] -
-
- [src.get_equipment_list()] -
-
-
- [src.get_commands()] -
- - - "} - return output - -/obj/mecha/combat/honker/get_commands() - var/output = {"
-
Sounds of HONK:
- -
- "} - output += ..() - return output - - -/obj/mecha/combat/honker/get_equipment_list() - if(!equipment.len) - return - var/output = "Honk-ON-Systems:
" - for(var/obj/item/mecha_parts/mecha_equipment/MT in equipment) - output += "
[MT.get_equip_info()]
" - output += "
" - return output - -/obj/mecha/combat/honker/play_stepsound() - if(squeak) - playsound(src, "clownstep", 70, 1) - squeak = !squeak - -/obj/mecha/combat/honker/Topic(href, href_list) - ..() - if (href_list["play_sound"]) - switch(href_list["play_sound"]) - if("sadtrombone") - playsound(src, 'sound/misc/sadtrombone.ogg', 50) - if("bikehorn") - playsound(src, 'sound/items/bikehorn.ogg', 50) - if("airhorn2") - playsound(src, 'sound/items/airhorn2.ogg', 40) //soundfile has higher than average volume - if("carhorn") - playsound(src, 'sound/items/carhorn.ogg', 80) //soundfile has lower than average volume - if("party_horn") - playsound(src, 'sound/items/party_horn.ogg', 50) - if("reee") - playsound(src, 'sound/effects/reee.ogg', 50) - if("weeoo1") - playsound(src, 'sound/items/weeoo1.ogg', 50) - if("hiss1") - playsound(src, 'sound/voice/hiss1.ogg', 50) - if("armbomb") - playsound(src, 'sound/weapons/armbomb.ogg', 50) - if("saberon") - playsound(src, 'sound/weapons/saberon.ogg', 50) - if("airlock_alien_prying") - playsound(src, 'sound/machines/creaking.ogg', 50) - if("lightningbolt") - playsound(src, 'sound/magic/lightningbolt.ogg', 50) - if("explosionfar") - playsound(src, 'sound/effects/explosionfar.ogg', 50) - return diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 4a16a6f9b249..87e5c1abad52 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -179,53 +179,6 @@ projectile = /obj/projectile/energy/electrode fire_sound = 'sound/weapons/taser.ogg' - -/obj/item/mecha_parts/mecha_equipment/weapon/honker - name = "\improper HoNkER BlAsT 5000" - desc = "Equipment for clown exosuits. Spreads fun and joy to everyone around. Honk!" - icon_state = "mecha_honker" - energy_drain = 200 - equip_cooldown = 150 - range = MECHA_MELEE|MECHA_RANGED - kickback = FALSE - -/obj/item/mecha_parts/mecha_equipment/weapon/honker/can_attach(obj/mecha/combat/honker/M) - if(..()) - if(istype(M)) - return 1 - return 0 - -/obj/item/mecha_parts/mecha_equipment/weapon/honker/action(target, params) - if(!action_checks(target)) - return - playsound(chassis, 'sound/items/airhorn.ogg', 100, TRUE) - chassis.occupant_message("HONK") - for(var/mob/living/carbon/M in ohearers(6, chassis)) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(istype(H.ears, /obj/item/clothing/ears/earmuffs)) - continue - var/turf/turf_check = get_turf(M) - if(isspaceturf(turf_check) && !turf_check.Adjacent(src)) //in space nobody can hear you honk. - continue - to_chat(M, "HONK") - M.SetSleeping(0) - M.stuttering += 20 - M.adjustEarDamage(0, 30) - M.Paralyze(60) - if(prob(30)) - M.Stun(200) - M.Unconscious(80) - else - M.Jitter(500) - - log_message("Honked from [src.name]. HONK!", LOG_MECHA) - var/turf/T = get_turf(src) - message_admins("[ADMIN_LOOKUPFLW(chassis.occupant)] used a Mecha Honker in [ADMIN_VERBOSEJMP(T)]") - log_game("[key_name(chassis.occupant)] used a Mecha Honker in [AREACOORD(T)]") - return 1 - - //Base ballistic weapon type /obj/item/mecha_parts/mecha_equipment/weapon/ballistic name = "general ballistic weapon" @@ -451,86 +404,3 @@ projectile = /obj/item/grenade/clusterbuster equip_cooldown = 90 ammo_type = "clusterbang" - -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/banana_mortar - name = "banana mortar" - desc = "Equipment for clown exosuits. Launches banana peels." - icon_state = "mecha_bananamrtr" - projectile = /obj/item/grown/bananapeel - fire_sound = 'sound/items/bikehorn.ogg' - projectiles = 15 - missile_speed = 1.5 - projectile_energy_cost = 100 - equip_cooldown = 20 - -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/banana_mortar/can_attach(obj/mecha/combat/honker/M) - if(..()) - if(istype(M)) - return 1 - return 0 - -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/mousetrap_mortar - name = "mousetrap mortar" - desc = "Equipment for clown exosuits. Launches armed mousetraps." - icon_state = "mecha_mousetrapmrtr" - projectile = /obj/item/assembly/mousetrap/armed - fire_sound = 'sound/items/bikehorn.ogg' - projectiles = 15 - missile_speed = 1.5 - projectile_energy_cost = 100 - equip_cooldown = 10 - -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/mousetrap_mortar/can_attach(obj/mecha/combat/honker/M) - if(..()) - if(istype(M)) - return 1 - return 0 - -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/mousetrap_mortar/proj_init(obj/item/assembly/mousetrap/armed/M) - M.secured = 1 - - -//Classic extending punching glove, but weaponised! -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove - name = "\improper Oingo Boingo Punch-face" - desc = "Equipment for clown exosuits. Delivers fun right to your face!" - icon_state = "mecha_punching_glove" - energy_drain = 250 - equip_cooldown = 20 - range = MECHA_MELEE|MECHA_RANGED - missile_range = 5 - projectile = /obj/item/punching_glove - fire_sound = 'sound/items/bikehorn.ogg' - projectiles = 10 - projectile_energy_cost = 500 - diags_first = TRUE - -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove/can_attach(obj/mecha/combat/honker/M) - if(..()) - if(istype(M)) - return 1 - return 0 - -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove/action(target) - . = ..() - if(.) - chassis.occupant_message("HONK") - -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove/proj_init(obj/item/punching_glove/PG) - if(!istype(PG)) - return - //has to be low sleep or it looks weird, the beam doesn't exist for very long so it's a non-issue - chassis.Beam(PG, icon_state = "chain", time = missile_range * 20, maxdistance = missile_range + 2) - -/obj/item/punching_glove - name = "punching glove" - desc = "INCOMING HONKS" - throwforce = 35 - icon_state = "punching_glove" - -/obj/item/punching_glove/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - if(!..()) - if(ismovable(hit_atom)) - var/atom/movable/AM = hit_atom - AM.safe_throw_at(get_edge_target_turf(AM,get_dir(src, AM)), 7, 2) - qdel(src) diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 5172619ba022..2948dc5e8be5 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -694,120 +694,6 @@ user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.") return TRUE -/datum/component/construction/unordered/mecha_chassis/honker - result = /datum/component/construction/mecha/honker - steps = list( - /obj/item/mecha_parts/part/honker_torso, - /obj/item/mecha_parts/part/honker_left_arm, - /obj/item/mecha_parts/part/honker_right_arm, - /obj/item/mecha_parts/part/honker_left_leg, - /obj/item/mecha_parts/part/honker_right_leg, - /obj/item/mecha_parts/part/honker_head - ) - -/datum/component/construction/mecha/honker - result = /obj/mecha/combat/honker - steps = list( - list( - "key" = /obj/item/bikehorn - ), - list( - "key" = /obj/item/circuitboard/mecha/honker/main, - "action" = ITEM_DELETE - ), - list( - "key" = /obj/item/bikehorn - ), - list( - "key" = /obj/item/circuitboard/mecha/honker/peripherals, - "action" = ITEM_DELETE - ), - list( - "key" = /obj/item/bikehorn - ), - list( - "key" = /obj/item/circuitboard/mecha/honker/targeting, - "action" = ITEM_DELETE - ), - list( - "key" = /obj/item/bikehorn - ), - list( - "key" = /obj/item/stock_parts/scanning_module, - "action" = ITEM_MOVE_INSIDE - ), - list( - "key" = /obj/item/bikehorn - ), - list( - "key" = /obj/item/stock_parts/capacitor, - "action" = ITEM_MOVE_INSIDE - ), - list( - "key" = /obj/item/bikehorn - ), - list( - "key" = /obj/item/stock_parts/cell, - "action" = ITEM_MOVE_INSIDE - ), - list( - "key" = /obj/item/bikehorn - ), - list( - "key" = /obj/item/clothing/mask/gas/clown_hat, - "action" = ITEM_DELETE - ), - list( - "key" = /obj/item/bikehorn - ), - list( - "key" = /obj/item/clothing/shoes/clown_shoes, - "action" = ITEM_DELETE - ), - list( - "key" = /obj/item/bikehorn - ), - ) - -/datum/component/construction/mecha/honker/get_steps() - return steps - -// HONK doesn't have any construction step icons, so we just set an icon once. -/datum/component/construction/mecha/honker/update_parent(step_index) - if(step_index == 1) - var/atom/parent_atom = parent - parent_atom.icon = 'icons/mecha/mech_construct.dmi' - parent_atom.icon_state = "honker_chassis" - ..() - -/datum/component/construction/mecha/honker/custom_action(obj/item/I, mob/living/user, diff) - if(!..()) - return FALSE - - if(istype(I, /obj/item/bikehorn)) - playsound(parent, 'sound/items/bikehorn.ogg', 50, TRUE) - user.visible_message("HONK!") - - //TODO: better messages. - switch(index) - if(2) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") - if(4) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") - if(6) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") - if(8) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") - if(10) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") - if(12) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") - if(14) - user.visible_message("[user] puts [I] on [parent].", "You put [I] on [parent].") - if(16) - user.visible_message("[user] puts [I] on [parent].", "You put [I] on [parent].") - return TRUE - /datum/component/construction/unordered/mecha_chassis/durand result = /datum/component/construction/mecha/durand steps = list( diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm index 55d477f1817c..1d4d711e8cab 100644 --- a/code/game/mecha/mecha_parts.dm +++ b/code/game/mecha/mecha_parts.dm @@ -188,44 +188,6 @@ name = "\improper Firefighter chassis" construct_type = /datum/component/construction/unordered/mecha_chassis/firefighter - -////////// HONK - -/obj/item/mecha_parts/chassis/honker - name = "\improper H.O.N.K chassis" - construct_type = /datum/component/construction/unordered/mecha_chassis/honker - -/obj/item/mecha_parts/part/honker_torso - name = "\improper H.O.N.K torso" - desc = "A torso part of H.O.N.K. Contains chuckle unit, bananium core and honk support systems." - icon_state = "honker_harness" - -/obj/item/mecha_parts/part/honker_head - name = "\improper H.O.N.K head" - desc = "A H.O.N.K head. Appears to lack a face plate." - icon_state = "honker_head" - -/obj/item/mecha_parts/part/honker_left_arm - name = "\improper H.O.N.K left arm" - desc = "A H.O.N.K left arm. With unique sockets that accept odd weaponry designed by clown scientists." - icon_state = "honker_l_arm" - -/obj/item/mecha_parts/part/honker_right_arm - name = "\improper H.O.N.K right arm" - desc = "A H.O.N.K right arm. With unique sockets that accept odd weaponry designed by clown scientists." - icon_state = "honker_r_arm" - -/obj/item/mecha_parts/part/honker_left_leg - name = "\improper H.O.N.K left leg" - desc = "A H.O.N.K left leg. The foot appears just large enough to fully accommodate a clown shoe." - icon_state = "honker_l_leg" - -/obj/item/mecha_parts/part/honker_right_leg - name = "\improper H.O.N.K right leg" - desc = "A H.O.N.K right leg. The foot appears just large enough to fully accommodate a clown shoe." - icon_state = "honker_r_leg" - - ////////// Phazon /obj/item/mecha_parts/chassis/phazon @@ -317,18 +279,6 @@ name = "Durand Central Control module (Exosuit Board)" icon_state = "mainboard" -/obj/item/circuitboard/mecha/honker/peripherals - name = "H.O.N.K Peripherals Control module (Exosuit Board)" - icon_state = "mcontroller" - -/obj/item/circuitboard/mecha/honker/targeting - name = "H.O.N.K Weapon Control and Targeting module (Exosuit Board)" - icon_state = "mcontroller" - -/obj/item/circuitboard/mecha/honker/main - name = "H.O.N.K Central Control module (Exosuit Board)" - icon_state = "mainboard" - /obj/item/circuitboard/mecha/odysseus/peripherals name = "Odysseus Peripherals Control module (Exosuit Board)" icon_state = "mcontroller" diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm index bf11c24b0d88..f1b238836a87 100644 --- a/code/game/mecha/mecha_wreckage.dm +++ b/code/game/mecha/mecha_wreckage.dm @@ -176,19 +176,6 @@ icon_state = "deathripley-broken" parts = null -/obj/structure/mecha_wreckage/honker - name = "\improper H.O.N.K wreckage" - icon_state = "honker-broken" - desc = "All is right in the universe." - parts = list( - /obj/item/mecha_parts/chassis/honker, - /obj/item/mecha_parts/part/honker_torso, - /obj/item/mecha_parts/part/honker_head, - /obj/item/mecha_parts/part/honker_left_arm, - /obj/item/mecha_parts/part/honker_right_arm, - /obj/item/mecha_parts/part/honker_left_leg, - /obj/item/mecha_parts/part/honker_right_leg) - /obj/structure/mecha_wreckage/durand name = "\improper Durand wreckage" icon_state = "durand-broken" diff --git a/code/game/objects/structures/icemoon/cave_entrance.dm b/code/game/objects/structures/icemoon/cave_entrance.dm index a20702886c24..a6f28b3f576d 100644 --- a/code/game/objects/structures/icemoon/cave_entrance.dm +++ b/code/game/objects/structures/icemoon/cave_entrance.dm @@ -220,7 +220,6 @@ GLOBAL_LIST_INIT(ore_probability, list( new /mob/living/simple_animal/hostile/clown/clownhulk(loc) new /mob/living/simple_animal/hostile/clown/longface(loc) new /mob/living/simple_animal/hostile/clown/clownhulk/chlown(loc) - new /obj/item/shield/energy/bananium(loc) if(prob(35)) new /mob/living/simple_animal/hostile/clown/banana(loc) if(prob(35)) @@ -248,7 +247,6 @@ GLOBAL_LIST_INIT(ore_probability, list( new /obj/item/megaphone/clown(loc) new /mob/living/simple_animal/hostile/clown/stacked(loc) if(prob(25)) - new /obj/item/reagent_containers/spray/waterflower/lube(loc) new /mob/living/simple_animal/hostile/clown/fleshclown(loc) new /mob/living/simple_animal/hostile/clown/fleshclown(loc) if(prob(35)) @@ -257,7 +255,6 @@ GLOBAL_LIST_INIT(ore_probability, list( if(prob(35)) new /mob/living/simple_animal/hostile/clown/fleshclown(loc) if(prob(25)) - new /obj/item/clothing/shoes/clown_shoes/banana_shoes/combat(loc) new /mob/living/simple_animal/hostile/clown/fleshclown(loc) if(prob(25))//you lost new /obj/item/circlegame(loc) diff --git a/code/game/objects/structures/salvaging.dm b/code/game/objects/structures/salvaging.dm index 4f3bee0cff60..ae355d806586 100644 --- a/code/game/objects/structures/salvaging.dm +++ b/code/game/objects/structures/salvaging.dm @@ -642,8 +642,6 @@ loot = list( /obj/item/circuitboard/mecha/ripley/main = 100, /obj/item/circuitboard/mecha/ripley/peripherals = 100, - /obj/item/circuitboard/mecha/honker/main = 5, - /obj/item/circuitboard/mecha/honker/peripherals = 5, /obj/item/circuitboard/mecha/odysseus/main = 5, /obj/item/circuitboard/mecha/odysseus/peripherals = 5, /obj/item/circuitboard/mecha/gygax/main = 1, diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index 537afd8d4ff5..79ee48228c21 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -147,26 +147,6 @@ M.mind.add_antag_datum(new_op,creator_op.nuke_team) M.mind.special_role = "Nuclear Operative" -//////CLOWN OP -/obj/item/antag_spawner/nuke_ops/clown - name = "clown operative teleporter" - desc = "A single-use teleporter designed to quickly reinforce clown operatives in the field." - -/obj/item/antag_spawner/nuke_ops/clown/spawn_antag(client/C, turf/T, kind, datum/mind/user) - var/mob/living/carbon/human/M = new/mob/living/carbon/human(T) - C.prefs.copy_to(M) - M.key = C.key - - var/datum/antagonist/nukeop/clownop/new_op = new /datum/antagonist/nukeop/clownop() - new_op.send_to_spawnpoint = FALSE - new_op.nukeop_outfit = /datum/outfit/syndicate/clownop/no_crystals - - var/datum/antagonist/nukeop/creator_op = user.has_antag_datum(/datum/antagonist/nukeop/clownop,TRUE) - if(creator_op) - M.mind.add_antag_datum(new_op, creator_op.nuke_team) - M.mind.special_role = "Clown Operative" - - //////SYNDICATE BORG /obj/item/antag_spawner/nuke_ops/borg_tele name = "syndicate cyborg teleporter" diff --git a/code/modules/antagonists/nukeop/clownop.dm b/code/modules/antagonists/nukeop/clownop.dm deleted file mode 100644 index 7d48e3f4d892..000000000000 --- a/code/modules/antagonists/nukeop/clownop.dm +++ /dev/null @@ -1,26 +0,0 @@ - -/datum/antagonist/nukeop/clownop - name = "Clown Operative" - roundend_category = "clown operatives" - antagpanel_category = "ClownOp" - nukeop_outfit = /datum/outfit/syndicate/clownop - -/datum/antagonist/nukeop/leader/clownop - name = "Clown Operative Leader" - roundend_category = "clown operatives" - antagpanel_category = "ClownOp" - nukeop_outfit = /datum/outfit/syndicate/clownop/leader - challengeitem = /obj/item/nuclear_challenge/clownops - -/datum/antagonist/nukeop/leader/clownop/give_alias() - title = pick("Head Honker", "Slipmaster", "Clown King", "Honkbearer") - if(nuke_team && nuke_team.syndicate_name) - owner.current.real_name = "[nuke_team.syndicate_name] [title]" - else - owner.current.real_name = "Syndicate [title]" - -/datum/antagonist/nukeop/clownop/admin_add(datum/mind/new_owner,mob/admin) - new_owner.assigned_role = "Clown Operative" - new_owner.add_antag_datum(src) - message_admins("[key_name_admin(admin)] has clown op'ed [key_name_admin(new_owner)].") - log_admin("[key_name(admin)] has clown op'ed [key_name(new_owner)].") diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm index 4fcceb227a77..cae29368ef7b 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm @@ -107,9 +107,6 @@ return FALSE return TRUE -/obj/item/nuclear_challenge/clownops - uplink_type = /obj/item/uplink/clownop - #undef CHALLENGE_TELECRYSTALS #undef CHALLENGE_TIME_LIMIT #undef CHALLENGE_MIN_PLAYERS diff --git a/code/modules/mining/abandoned_crates.dm b/code/modules/mining/abandoned_crates.dm index 140b87c1707f..fbf8f7419df7 100644 --- a/code/modules/mining/abandoned_crates.dm +++ b/code/modules/mining/abandoned_crates.dm @@ -204,7 +204,7 @@ if(88) new /obj/item/reagent_containers/food/drinks/bottle/lizardwine(src) if(89) - new /obj/item/melee/transforming/energy/sword/bananium(src) + new /obj/item/melee/transforming/energy/sword(src) if(90) new /obj/item/dnainjector/wackymut(src) if(91) diff --git a/code/modules/mob/living/carbon/hologram/em_holopads.dm b/code/modules/mob/living/carbon/hologram/em_holopads.dm index 5e0462d6f3cc..860644ba14fc 100644 --- a/code/modules/mob/living/carbon/hologram/em_holopads.dm +++ b/code/modules/mob/living/carbon/hologram/em_holopads.dm @@ -173,11 +173,6 @@ em_name = "logistics" em_spawn_type = /mob/living/simple_animal/hologram/cargo -/obj/machinery/holopad/emergency/clown - name = "advanced comedy holopad" - em_name = "comedy" - em_spawn_type = /mob/living/simple_animal/hologram/clown - /obj/machinery/holopad/emergency/detective name = "advanced forensics holopad" em_name = "forensics" diff --git a/code/modules/mob/living/carbon/hologram/hologram.dm b/code/modules/mob/living/carbon/hologram/hologram.dm index 4283e2304fed..d85572facb16 100644 --- a/code/modules/mob/living/carbon/hologram/hologram.dm +++ b/code/modules/mob/living/carbon/hologram/hologram.dm @@ -313,10 +313,6 @@ job_type = new /datum/job/qm dex_item = /obj/item/export_scanner -/mob/living/simple_animal/hologram/clown - job_type = new /datum/job/clown - dex_item = /obj/item/reagent_containers/spray/waterflower/lube - /mob/living/simple_animal/hologram/detective job_type = new /datum/job/detective dex_item = /obj/item/detective_scanner diff --git a/code/modules/projectiles/ammunition/special/magic.dm b/code/modules/projectiles/ammunition/special/magic.dm index e38df896bed1..77471f7dc10e 100644 --- a/code/modules/projectiles/ammunition/special/magic.dm +++ b/code/modules/projectiles/ammunition/special/magic.dm @@ -42,9 +42,6 @@ /obj/item/ammo_casing/magic/arcane_barrage projectile_type = /obj/projectile/magic/arcane_barrage -/obj/item/ammo_casing/magic/honk - projectile_type = /obj/projectile/bullet/honker - /obj/item/ammo_casing/magic/locker projectile_type = /obj/projectile/magic/locker diff --git a/code/modules/projectiles/pins.dm b/code/modules/projectiles/pins.dm index 23093e5d8d51..7a2a9a16c337 100644 --- a/code/modules/projectiles/pins.dm +++ b/code/modules/projectiles/pins.dm @@ -147,10 +147,6 @@ if(user.mind) if(user.mind.assigned_role == "Clown") //traitor clowns can use this, even though they're technically not clumsy return TRUE - if(user.mind.has_antag_datum(/datum/antagonist/nukeop/clownop)) //clown ops aren't clumsy by default and technically don't have an assigned role of "Clown", but come on, they're basically clowns - return TRUE - if(user.mind.has_antag_datum(/datum/antagonist/nukeop/leader/clownop)) //Wanna hear a funny joke? - return TRUE //The clown op leader antag datum isn't a subtype of the normal clown op antag datum. return FALSE /obj/item/firing_pin/clown/ultra/gun_insert(mob/living/user, obj/item/gun/G) diff --git a/code/modules/projectiles/projectile/bullets/special.dm b/code/modules/projectiles/projectile/bullets/special.dm index d3c1b3a72b1a..e2f2ddc13ee8 100644 --- a/code/modules/projectiles/projectile/bullets/special.dm +++ b/code/modules/projectiles/projectile/bullets/special.dm @@ -1,26 +1,3 @@ -// Honker - -/obj/projectile/bullet/honker - name = "banana" - damage = 0 - movement_type = FLYING - projectile_piercing = ALL - nodamage = TRUE - hitsound = 'sound/items/bikehorn.ogg' - icon = 'icons/obj/hydroponics/harvest.dmi' - icon_state = "banana" - range = 200 - -/obj/projectile/bullet/honker/Initialize() - . = ..() - SpinAnimation() - -/obj/projectile/bullet/honker/on_hit(atom/target, blocked = FALSE) - . = ..() - var/mob/M = target - if(istype(M)) - M.slip(100, M.loc, GALOSHES_DONT_HELP|SLIDE, 0, FALSE) - // Mime /obj/projectile/bullet/mime diff --git a/code/modules/reagents/reagent_containers/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm index 3710a25f3aab..36bfed7524b6 100644 --- a/code/modules/reagents/reagent_containers/bottle.dm +++ b/code/modules/reagents/reagent_containers/bottle.dm @@ -204,11 +204,6 @@ desc = "A small bottle. Contains an untested viral culture in synthblood medium." spawned_disease = /datum/disease/advance/random -/obj/item/reagent_containers/glass/bottle/pierrot_throat - name = "Pierrot's Throat culture bottle" - desc = "A small bottle. Contains H0NI<42 virion culture in synthblood medium." - spawned_disease = /datum/disease/pierrot_throat - /obj/item/reagent_containers/glass/bottle/cold name = "Rhinovirus culture bottle" desc = "A small bottle. Contains XY-rhinovirus culture in synthblood medium." diff --git a/code/modules/research/designs/mecha_designs.dm b/code/modules/research/designs/mecha_designs.dm index 61fb07e77502..6afde5aaf20d 100644 --- a/code/modules/research/designs/mecha_designs.dm +++ b/code/modules/research/designs/mecha_designs.dm @@ -80,27 +80,6 @@ category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SECURITY -/datum/design/board/honker_main - name = "\"H.O.N.K\" Central Control module" - desc = "Allows for the construction of a \"H.O.N.K\" Central Control module." - id = "honker_main" - build_path = /obj/item/circuitboard/mecha/honker/main - category = list("Exosuit Modules") - -/datum/design/board/honker_peri - name = "\"H.O.N.K\" Peripherals Control module" - desc = "Allows for the construction of a \"H.O.N.K\" Peripheral Control module." - id = "honker_peri" - build_path = /obj/item/circuitboard/mecha/honker/peripherals - category = list("Exosuit Modules") - -/datum/design/board/honker_targ - name = "\"H.O.N.K\" Weapons & Targeting Control module" - desc = "Allows for the construction of a \"H.O.N.K\" Weapons & Targeting Control module." - id = "honker_targ" - build_path = /obj/item/circuitboard/mecha/honker/targeting - category = list("Exosuit Modules") - /datum/design/board/phazon_main name = "\"Phazon\" Central Control module" desc = "Allows for the construction of a \"Phazon\" Central Control module." diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index bd801e60995e..3c742c417d54 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -430,71 +430,6 @@ construction_time = 600 category = list("Durand") -//H.O.N.K -/datum/design/honk_chassis - name = "Exosuit Chassis (\"H.O.N.K\")" - id = "honk_chassis" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/chassis/honker - materials = list(/datum/material/iron=20000) - construction_time = 100 - category = list("H.O.N.K") - -/datum/design/honk_torso - name = "Exosuit Torso (\"H.O.N.K\")" - id = "honk_torso" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/part/honker_torso - materials = list(/datum/material/iron=20000,/datum/material/glass = 10000,/datum/material/bananium=10000) - construction_time = 300 - category = list("H.O.N.K") - -/datum/design/honk_head - name = "Exosuit Head (\"H.O.N.K\")" - id = "honk_head" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/part/honker_head - materials = list(/datum/material/iron=10000,/datum/material/glass = 5000,/datum/material/bananium=5000) - construction_time = 200 - category = list("H.O.N.K") - -/datum/design/honk_left_arm - name = "Exosuit Left Arm (\"H.O.N.K\")" - id = "honk_left_arm" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/part/honker_left_arm - materials = list(/datum/material/iron=15000,/datum/material/bananium=5000) - construction_time = 200 - category = list("H.O.N.K") - -/datum/design/honk_right_arm - name = "Exosuit Right Arm (\"H.O.N.K\")" - id = "honk_right_arm" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/part/honker_right_arm - materials = list(/datum/material/iron=15000,/datum/material/bananium=5000) - construction_time = 200 - category = list("H.O.N.K") - -/datum/design/honk_left_leg - name = "Exosuit Left Leg (\"H.O.N.K\")" - id = "honk_left_leg" - build_type = MECHFAB - build_path =/obj/item/mecha_parts/part/honker_left_leg - materials = list(/datum/material/iron=20000,/datum/material/bananium=5000) - construction_time = 200 - category = list("H.O.N.K") - -/datum/design/honk_right_leg - name = "Exosuit Right Leg (\"H.O.N.K\")" - id = "honk_right_leg" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/part/honker_right_leg - materials = list(/datum/material/iron=20000,/datum/material/bananium=5000) - construction_time = 200 - category = list("H.O.N.K") - - //Phazon /datum/design/phazon_chassis name = "Exosuit Chassis (\"Phazon\")" @@ -632,7 +567,6 @@ construction_time = 100 category = list("Exosuit Equipment") -//WS Edit Begin - Smartwire Revert - Donut TG Marge this /datum/design/mech_cable_layer name = "Exosuit Engineering Equipment (Cable Layer)" id = "mech_cable_layer" @@ -641,7 +575,6 @@ materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") -//WS Edit End - Smartwire Revert - Donut TG Marge this /datum/design/mech_generator name = "Exosuit Equipment (Plasma Generator)" @@ -652,42 +585,6 @@ construction_time = 100 category = list("Exosuit Equipment") -/datum/design/mech_mousetrap_mortar - name = "H.O.N.K Mousetrap Mortar" - id = "mech_mousetrap_mortar" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/mousetrap_mortar - materials = list(/datum/material/iron=20000,/datum/material/bananium=5000) - construction_time = 300 - category = list("Exosuit Equipment") - -/datum/design/mech_banana_mortar - name = "H.O.N.K Banana Mortar" - id = "mech_banana_mortar" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/banana_mortar - materials = list(/datum/material/iron=20000,/datum/material/bananium=5000) - construction_time = 300 - category = list("Exosuit Equipment") - -/datum/design/mech_honker - name = "HoNkER BlAsT 5000" - id = "mech_honker" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/mecha_equipment/weapon/honker - materials = list(/datum/material/iron=20000,/datum/material/bananium=10000) - construction_time = 500 - category = list("Exosuit Equipment") - -/datum/design/mech_punching_glove - name = "Oingo Boingo Punch-face" - id = "mech_punching_face" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove - materials = list(/datum/material/iron=20000,/datum/material/bananium=7500) - construction_time = 400 - category = list("Exosuit Equipment") - ///////////////////////////////////////// //////////////Borg Upgrades////////////// ///////////////////////////////////////// diff --git a/code/modules/unit_tests/create_and_destroy.dm b/code/modules/unit_tests/create_and_destroy.dm index 017356d9152a..d953cae67a6f 100644 --- a/code/modules/unit_tests/create_and_destroy.dm +++ b/code/modules/unit_tests/create_and_destroy.dm @@ -47,7 +47,6 @@ /obj/item/bodypart/r_arm, /obj/item/bodypart/leg, //fucking explodes when created - /obj/item/grown/bananapeel/bombanana, ) //This turf existing is an error in and of itself ignore += typesof(/turf/baseturf_skipover) diff --git a/code/modules/uplink/uplink_devices.dm b/code/modules/uplink/uplink_devices.dm index ef1a324a8e48..e059a8cac9bd 100644 --- a/code/modules/uplink/uplink_devices.dm +++ b/code/modules/uplink/uplink_devices.dm @@ -53,11 +53,6 @@ hidden_uplink.allow_restricted = FALSE hidden_uplink.set_gamemode(/datum/game_mode/nuclear) -/obj/item/uplink/clownop/Initialize() - . = ..() - var/datum/component/uplink/hidden_uplink = GetComponent(/datum/component/uplink) - hidden_uplink.set_gamemode(/datum/game_mode/nuclear/clown_ops) - /obj/item/uplink/old name = "dusty radio" desc = "A dusty looking radio." diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 48c79382444e..2454eafe33cc 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -212,7 +212,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/storage/box/syndicate/contract_kit cost = 20 player_minimum = 20 - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + exclude_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/bundles_TC/bundle_A name = "Syndi-kit Tactical" @@ -221,7 +221,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) you will receive. May contain discontinued and/or exotic items." item = /obj/item/storage/box/syndicate/bundle_A cost = 20 - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + exclude_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/bundles_TC/bundle_B name = "Syndi-kit Special" @@ -229,7 +229,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) In Syndi-kit Special, you will recieve items used by famous syndicate agents of the past. Collectively worth more than 20 telecrystals, the syndicate loves a good throwback." item = /obj/item/storage/box/syndicate/bundle_B cost = 20 - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + exclude_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/bundles_TC/surplus name = "Syndicate Surplus Crate" @@ -238,7 +238,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/structure/closet/crate cost = 20 player_minimum = 25 - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + exclude_modes = list(/datum/game_mode/nuclear) var/starting_crate_value = 50 /datum/uplink_item/bundles_TC/surplus/super @@ -338,49 +338,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) surplus = 30 include_modes = list(/datum/game_mode/nuclear) -/datum/uplink_item/dangerous/pie_cannon - name = "Banana Cream Pie Cannon" - desc = "A special pie cannon for a special clown, this gadget can hold up to 20 pies and automatically fabricates one every two seconds!" - cost = 10 - item = /obj/item/pneumatic_cannon/pie/selfcharge - surplus = 0 - include_modes = list(/datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/dangerous/bananashield - name = "Bananium Energy Shield" - desc = "A clown's most powerful defensive weapon, this personal shield provides near immunity to ranged energy attacks \ - by bouncing them back at the ones who fired them. It can also be thrown to bounce off of people, slipping them, \ - and returning to you even if you miss. WARNING: DO NOT ATTEMPT TO STAND ON SHIELD WHILE DEPLOYED, EVEN IF WEARING ANTI-SLIP SHOES." - item = /obj/item/shield/energy/bananium - cost = 16 - surplus = 0 - include_modes = list(/datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/dangerous/clownsword - name = "Bananium Energy Sword" - desc = "An energy sword that deals no damage, but will slip anyone it contacts, be it by melee attack, thrown \ - impact, or just stepping on it. Beware friendly fire, as even anti-slip shoes will not protect against it." - item = /obj/item/melee/transforming/energy/sword/bananium - cost = 3 - surplus = 0 - include_modes = list(/datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/dangerous/clownoppin - name = "Ultra Hilarious Firing Pin" - desc = "A firing pin that, when inserted into a gun, makes that gun only useable by clowns and clumsy people and makes that gun honk whenever anyone tries to fire it." - cost = 1 //much cheaper for clown ops than for clowns - item = /obj/item/firing_pin/clown/ultra - include_modes = list(/datum/game_mode/nuclear/clown_ops) - illegal_tech = FALSE - -/datum/uplink_item/dangerous/clownopsuperpin - name = "Super Ultra Hilarious Firing Pin" - desc = "Like the ultra hilarious firing pin, except the gun you insert this pin into explodes when someone who isn't clumsy or a clown tries to fire it." - cost = 4 //much cheaper for clown ops than for clowns - item = /obj/item/firing_pin/clown/ultra/selfdestruct - include_modes = list(/datum/game_mode/nuclear/clown_ops) - illegal_tech = FALSE - /datum/uplink_item/dangerous/bioterror name = "Biohazardous Chemical Sprayer" desc = "A handheld chemical sprayer that allows a wide dispersal of selected chemicals. Especially tailored by the Tiger \ @@ -389,7 +346,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/reagent_containers/spray/chemsprayer/bioterror cost = 20 surplus = 0 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/dangerous/throwingweapons name = "Box of Throwing Weapons" @@ -424,7 +381,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/dualsaber player_minimum = 25 cost = 16 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) /datum/uplink_item/dangerous/doublesword/get_discount() return pick(4;0.8,2;0.65,1;0.5) @@ -435,7 +391,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) pocketed when inactive. Activating it produces a loud, distinctive noise." item = /obj/item/melee/transforming/energy/sword/saber cost = 8 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) /datum/uplink_item/dangerous/shield name = "Energy Shield" @@ -468,7 +423,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/storage/box/syndie_kit/guardian cost = 18 surplus = 0 - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + exclude_modes = list(/datum/game_mode/nuclear) restricted = TRUE /datum/uplink_item/dangerous/machinegun @@ -512,7 +467,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) with suppressors." item = /obj/item/gun/ballistic/automatic/pistol cost = 7 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) /datum/uplink_item/dangerous/bolt_action name = "Surplus Rifle" @@ -527,7 +481,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/gun/ballistic/revolver cost = 13 surplus = 50 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) /datum/uplink_item/dangerous/foamsmg name = "Toy Submachine Gun" @@ -535,7 +488,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/gun/ballistic/automatic/smg/c20r/toy cost = 5 surplus = 0 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/dangerous/foammachinegun name = "Toy Machine Gun" @@ -544,7 +497,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/gun/ballistic/automatic/hmg/l6_saw/toy cost = 10 surplus = 0 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/dangerous/foampistol name = "Toy Pistol with Riot Darts" @@ -606,14 +559,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) to teach the martial art of krav maga to the wearer." item = /obj/item/clothing/gloves/krav_maga/combatglovesplus cost = 5 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) surplus = 0 /datum/uplink_item/stealthy_weapons/cqc name = "CQC Manual" desc = "A manual that teaches a single user tactical Close-Quarters Combat before self-destructing." item = /obj/item/book/granter/martial/cqc - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) cost = 13 surplus = 0 @@ -646,7 +599,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) player_minimum = 20 cost = 17 surplus = 0 - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + exclude_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/stealthy_weapons/crossbow name = "Miniature Energy Crossbow" @@ -659,7 +612,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/gun/energy/kinetic_accelerator/crossbow cost = 10 surplus = 50 - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + exclude_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/stealthy_weapons/origami_kit name = "Boxed Origami Kit" @@ -668,7 +621,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/storage/box/syndie_kit/origami_bundle cost = 14 surplus = 0 - exclude_modes = list(/datum/game_mode/nuclear) //clown ops intentionally left in, because that seems like some s-tier shenanigans. + exclude_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/stealthy_weapons/traitor_chem_bottle name = "Poison Kit" @@ -694,7 +647,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) falls asleep, they will be able to move and act." item = /obj/item/pen/sleepy cost = 4 - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + exclude_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/stealthy_weapons/suppressor name = "Suppressor" @@ -702,7 +655,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/suppressor cost = 3 surplus = 10 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) /datum/uplink_item/stealthy_weapons/holster name = "Syndicate Holster" @@ -744,7 +696,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) desc = "An additional 8-round 10mm magazine; compatible with the Stechkin Pistol." item = /obj/item/ammo_box/magazine/m10mm cost = 1 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) /datum/uplink_item/ammo/pistolap name = "10mm Armour Piercing Magazine" @@ -752,7 +703,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) These rounds are less effective at injuring the target but penetrate protective gear." item = /obj/item/ammo_box/magazine/m10mm/ap cost = 2 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) /datum/uplink_item/ammo/pistolhp name = "10mm Hollow Point Magazine" @@ -760,7 +710,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) These rounds are more damaging but ineffective against armour." item = /obj/item/ammo_box/magazine/m10mm/hp cost = 3 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) /datum/uplink_item/ammo/pistolfire name = "10mm Incendiary Magazine" @@ -768,7 +717,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) Loaded with incendiary rounds which inflict little damage, but ignite the target." item = /obj/item/ammo_box/magazine/m10mm/inc cost = 2 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) /datum/uplink_item/ammo/shotgun cost = 2 @@ -814,7 +762,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) For when you really need a lot of things dead." item = /obj/item/ammo_box/a357 cost = 4 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) illegal_tech = FALSE /datum/uplink_item/ammo/a40mm @@ -943,7 +890,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) and broca systems, making it impossible for them to move or speak for some time." item = /obj/item/storage/box/syndie_kit/bioterror cost = 6 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/ammo/bolt_action name = "Surplus Rifle Clip" @@ -971,7 +918,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) desc = "An additional 20 round 9mm magazine for the TEC9." item = /obj/item/ammo_box/magazine/tec9 cost = 3 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) /datum/uplink_item/ammo/ebr name = "M2514 EBR Magazine" @@ -992,16 +938,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/grenade/chem_grenade/bioterrorfoam cost = 5 surplus = 35 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/explosives/bombanana - name = "Bombanana" - desc = "A banana with an explosive taste! discard the peel quickly, as it will explode with the force of a Syndicate minibomb \ - a few seconds after the banana is eaten." - item = /obj/item/reagent_containers/food/snacks/grown/banana/bombanana - cost = 4 //it is a bit cheaper than a minibomb because you have to take off your helmet to eat it, which is how you arm it - surplus = 0 - include_modes = list(/datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/explosives/buzzkill name = "Buzzkill Grenade Box" @@ -1010,7 +947,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/storage/box/syndie_kit/bee_grenades cost = 15 surplus = 35 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/explosives/c4 name = "Composition C-4" @@ -1036,18 +973,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 4 // cant_discount = TRUE -/datum/uplink_item/explosives/clown_bomb_clownops - name = "Clown Bomb" - desc = "The Clown bomb is a hilarious device capable of massive pranks. It has an adjustable timer, \ - with a minimum of 60 seconds, and can be bolted to the floor with a wrench to prevent \ - movement. The bomb is bulky and cannot be moved; upon ordering this item, a smaller beacon will be \ - transported to you that will teleport the actual bomb to it upon activation. Note that this bomb can \ - be defused, and some crew may attempt to do so." - item = /obj/item/sbeacondrop/clownbomb - cost = 15 - surplus = 0 - include_modes = list(/datum/game_mode/nuclear/clown_ops) - /datum/uplink_item/explosives/detomatix name = "Detomatix PDA Cartridge" desc = "When inserted into a personal digital assistant, this cartridge gives you four opportunities to \ @@ -1072,7 +997,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/storage/box/syndie_kit/tuberculosisgrenade cost = 12 surplus = 35 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) restricted = TRUE /datum/uplink_item/explosives/grenadier @@ -1116,7 +1041,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) the blast radius before using the detonator." item = /obj/item/syndicatedetonator cost = 3 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/explosives/syndicate_minibomb name = "Syndicate Minibomb" @@ -1124,16 +1049,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) in addition to dealing high amounts of damage to nearby personnel." item = /obj/item/grenade/syndieminibomb cost = 6 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/explosives/tearstache - name = "Teachstache Grenade" - desc = "A teargas grenade that launches sticky moustaches onto the face of anyone not wearing a clown or mime mask. The moustaches will \ - remain attached to the face of all targets for one minute, preventing the use of breath masks and other such devices." - item = /obj/item/grenade/chem_grenade/teargas/moustache - cost = 3 - surplus = 0 - include_modes = list(/datum/game_mode/nuclear/clown_ops) /datum/uplink_item/explosives/viscerators name = "Viscerator Delivery Grenade" @@ -1142,7 +1057,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/grenade/spawnergrenade/manhacks cost = 5 surplus = 35 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) //Support and Mechs /datum/uplink_item/support @@ -1150,14 +1065,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) surplus = 0 include_modes = list(/datum/game_mode/nuclear) -/datum/uplink_item/support/clown_reinforcement - name = "Clown Reinforcements" - desc = "Call in an additional clown to share the fun, equipped with full starting gear, but no telecrystals." - item = /obj/item/antag_spawner/nuke_ops/clown - cost = 20 - include_modes = list(/datum/game_mode/nuclear/clown_ops) - restricted = TRUE - /datum/uplink_item/support/reinforcement name = "Reinforcements" desc = "Call in an additional team member. They won't come with any gear, so you'll have to save some telecrystals \ @@ -1204,13 +1111,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/mecha/combat/gygax/dark/loaded cost = 80 -/datum/uplink_item/support/honker - name = "Dark H.O.N.K." - desc = "A clown combat mech equipped with bombanana peel and tearstache grenade launchers, as well as the ubiquitous HoNkER BlAsT 5000." - item = /obj/mecha/combat/honker/dark/loaded - cost = 80 - include_modes = list(/datum/game_mode/nuclear/clown_ops) - /datum/uplink_item/support/mauler name = "Mauler Exosuit" desc = "A massive and incredibly deadly military-grade exosuit. Features long-range targeting, thrust vectoring \ @@ -1247,7 +1147,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) Due to budget cuts, the shoes don't provide protection against slipping." item = /obj/item/storage/box/syndie_kit/chameleon cost = 2 - exclude_modes = list(/datum/game_mode/nuclear) //clown ops are allowed to buy this kit, since it's basically a costume + exclude_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/stealthy_tools/chameleon_proj name = "Chameleon Projector" @@ -1263,16 +1163,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/codespeak_manual/unlimited cost = 3 -/datum/uplink_item/stealthy_tools/combatbananashoes - name = "Combat Banana Shoes" - desc = "While making the wearer immune to most slipping attacks like regular combat clown shoes, these shoes \ - can generate a large number of synthetic banana peels as the wearer walks, slipping up would-be pursuers. They also \ - squeak significantly louder." - item = /obj/item/clothing/shoes/clown_shoes/banana_shoes/combat - cost = 6 - surplus = 0 - include_modes = list(/datum/game_mode/nuclear/clown_ops) - /datum/uplink_item/stealthy_tools/emplight name = "EMP Flashlight" desc = "A small, self-recharging, short-ranged EMP device disguised as a working flashlight. \ @@ -1289,7 +1179,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/reagent_containers/syringe/mulligan cost = 4 surplus = 30 - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + exclude_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/stealthy_tools/syndigaloshes name = "No-Slip Chameleon Shoes" @@ -1297,7 +1187,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) They do not work on heavily lubricated surfaces." item = /obj/item/clothing/shoes/chameleon/noslip cost = 2 - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + exclude_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/stealthy_tools/syndigaloshes/nuke item = /obj/item/clothing/shoes/chameleon/noslip @@ -1332,7 +1222,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/storage/toolbox/infiltrator cost = 6 limited_stock = 1 //you only get one so you don't end up with too many gun cases - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + exclude_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/suits/space_suit name = "Syndicate Space Suit" @@ -1351,7 +1241,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) Nanotrasen crew who spot these suits are known to panic." item = /obj/item/clothing/suit/space/hardsuit/syndi cost = 8 - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) //you can't buy it in nuke, because the elite hardsuit costs the same while being better + exclude_modes = list(/datum/game_mode/nuclear) //you can't buy it in nuke, because the elite hardsuit costs the same while being better /datum/uplink_item/suits/hardsuit/elite name = "Elite Syndicate Hardsuit" @@ -1359,7 +1249,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) provides the user with superior armor and mobility compared to the standard Syndicate hardsuit." item = /obj/item/clothing/suit/space/hardsuit/syndi/elite cost = 8 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) exclude_modes = list() /datum/uplink_item/suits/hardsuit/shielded @@ -1368,7 +1258,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) The shields can handle up to three impacts within a short duration and will rapidly recharge while not under fire." item = /obj/item/clothing/suit/space/hardsuit/shielded/syndi cost = 30 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) exclude_modes = list() // Devices and Tools @@ -1400,7 +1290,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) 'Advanced Magboots' slow you down in simulated-gravity environments much like the standard issue variety." item = /obj/item/clothing/shoes/magboots/syndie cost = 2 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/device_tools/briefcase_launchpad name = "Briefcase Launchpad" @@ -1457,7 +1347,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 1 surplus = 0 restricted = TRUE - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + exclude_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/device_tools/failsafe/spawn_item(spawn_path, mob/user, datum/component/uplink/U) if(!U) @@ -1501,7 +1391,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) operatives in the fight, even while under fire. Don't cross the streams!" item = /obj/item/gun/medbeam cost = 15 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/device_tools/singularity_beacon name = "Power Beacon" @@ -1545,7 +1435,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) and other supplies helpful for a field medic." item = /obj/item/storage/firstaid/tactical cost = 4 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/device_tools/soap name = "Syndicate Soap" @@ -1595,14 +1485,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) desc = "A potion recovered at great risk by undercover Syndicate operatives and then subsequently modified with Syndicate technology. \ Using it will make any animal sentient, and bound to serve you, as well as implanting an internal radio for communication and an internal ID card for opening doors." cost = 4 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) restricted = TRUE /datum/uplink_item/device_tools/guerillagloves name = "Guerilla Gloves" desc = "A pair of highly robust combat gripper gloves that excels at performing takedowns at close range, with an added lining of insulation. Careful not to hit a wall!" item = /obj/item/clothing/gloves/tackler/combat/insulated - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) cost = 2 /datum/uplink_item/device_tools/telecrystal/bonemedipen @@ -1717,16 +1607,16 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) //Race-specific items /datum/uplink_item/race_restricted category = "Species-Restricted" - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + exclude_modes = list(/datum/game_mode/nuclear) surplus = 0 -/datum/uplink_item/race_restricted/syndilamp //WS edit - LepiCorp stuff +/datum/uplink_item/race_restricted/syndilamp name = "Extra-Bright Lantern" desc = "We heard that moths such as yourself really like lamps, so we decided to grant you early access to a prototype \ LepiCorp-brand \"Extra-Bright Lantern™\". Enjoy." cost = 1 item = /obj/item/flashlight/lantern/syndicate - restricted_species = list("moth") //End WS edit + restricted_species = list("moth") /datum/uplink_item/race_restricted/syndigenetics name = "Fire Breath" @@ -1759,7 +1649,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) // Role-specific items /datum/uplink_item/role_restricted category = "Role-Restricted" - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + exclude_modes = list(/datum/game_mode/nuclear) surplus = 0 /datum/uplink_item/role_restricted/ancient_jumpsuit @@ -1778,14 +1668,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) restricted_roles = list("Assistant") surplus = 0 -/datum/uplink_item/role_restricted/pie_cannon - name = "Banana Cream Pie Cannon" - desc = "A special pie cannon for a special clown, this gadget can hold up to 20 pies and automatically fabricates one every two seconds!" - cost = 10 - item = /obj/item/pneumatic_cannon/pie/selfcharge - restricted_roles = list("Clown") - surplus = 0 //No fun unless you're the clown! - /datum/uplink_item/role_restricted/blastcannon name = "Blast Cannon" desc = "A highly specialized weapon, the Blast Cannon is actually relatively simple. It contains an attachment for a tank transfer valve mounted to an angled pipe specially constructed \ @@ -1812,25 +1694,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) restricted_roles = list("Medical Doctor", "Chief Medical Officer", "Roboticist") cost = 5 -/datum/uplink_item/role_restricted/clown_bomb - name = "Clown Bomb" - desc = "The Clown bomb is a hilarious device capable of massive pranks. It has an adjustable timer, \ - with a minimum of 60 seconds, and can be bolted to the floor with a wrench to prevent \ - movement. The bomb is bulky and cannot be moved; upon ordering this item, a smaller beacon will be \ - transported to you that will teleport the actual bomb to it upon activation. Note that this bomb can \ - be defused, and some crew may attempt to do so." - item = /obj/item/sbeacondrop/clownbomb - cost = 15 - restricted_roles = list("Clown") - -/datum/uplink_item/role_restricted/clumsinessinjector //clown ops can buy this too, but it's in the pointless badassery section for them - name = "Clumsiness Injector" - desc = "Inject yourself with this to become as clumsy as a clown... or inject someone ELSE with it to make THEM as clumsy as a clown. Useful for clowns who wish to reconnect with their former clownish nature or for clowns who wish to torment and play with their prey before killing them." - item = /obj/item/dnainjector/clumsymut - cost = 1 - restricted_roles = list("Clown") - illegal_tech = FALSE - /datum/uplink_item/role_restricted/spider_injector name = "Australicus Slime Mutator" desc = "Crikey mate, it's been a wild travel from the Australicus sector but we've managed to get \ @@ -1841,18 +1704,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 10 restricted_roles = list("Research Director", "Scientist", "Roboticist") -/datum/uplink_item/role_restricted/clowncar - name = "Clown Car" - desc = "The Clown Car is the ultimate transportation method for any worthy clown! \ - Simply insert your bikehorn and get in, and get ready to have the funniest ride of your life! \ - You can ram any spacemen you come across and stuff them into your car, kidnapping them and locking them inside until \ - someone saves them or they manage to crawl out. Be sure not to ram into any walls or vending machines, as the springloaded seats \ - are very sensitive. Now with our included lube defense mechanism which will protect you against any angry shitcurity! \ - Premium features can be unlocked with a cryptographic sequencer!" - item = /obj/vehicle/sealed/car/clowncar - cost = 20 - restricted_roles = list("Clown") - /datum/uplink_item/role_restricted/concealed_weapon_bay name = "Concealed Weapon Bay" desc = "A modification for non-combat mechas that allows them to equip one piece of equipment designed for combat mechs. \ @@ -1892,7 +1743,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/hot_potato/syndicate cost = 4 surplus = 0 - restricted_roles = list("Cook", "Botanist", "Clown", "Mime") + restricted_roles = list("Cook", "Botanist") /datum/uplink_item/role_restricted/ez_clean_bundle name = "EZ Clean Grenade Bundle" @@ -1943,39 +1794,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 12 restricted_roles = list("Chemist", "Chief Medical Officer") -/datum/uplink_item/role_restricted/reverse_bear_trap - name = "Reverse Bear Trap" - desc = "An ingenious execution device worn on (or forced onto) the head. Arming it starts a 1-minute kitchen timer mounted on the bear trap. When it goes off, the trap's jaws will \ - violently open, instantly killing anyone wearing it by tearing their jaws in half. To arm, attack someone with it while they're not wearing headgear, and you will force it onto their \ - head after three seconds uninterrupted." - cost = 5 - item = /obj/item/reverse_bear_trap - restricted_roles = list("Clown") - -/datum/uplink_item/role_restricted/reverse_revolver - name = "Reverse Revolver" - desc = "A revolver that always fires at its user. \"Accidentally\" drop your weapon, then watch as the greedy corporate pigs blow their own brains all over the wall. \ - The revolver itself is actually real. Only clumsy people, and clowns, can fire it normally. Comes in a box of hugs. Honk." - cost = 14 - item = /obj/item/storage/box/hug/reverse_revolver - restricted_roles = list("Clown") - -/datum/uplink_item/role_restricted/clownpin - name = "Ultra Hilarious Firing Pin" - desc = "A firing pin that, when inserted into a gun, makes that gun only usable by clowns and clumsy people and makes that gun honk whenever anyone tries to fire it." - cost = 4 - item = /obj/item/firing_pin/clown/ultra - restricted_roles = list("Clown") - illegal_tech = FALSE - -/datum/uplink_item/role_restricted/clownsuperpin - name = "Super Ultra Hilarious Firing Pin" - desc = "Like the ultra hilarious firing pin, except the gun you insert this pin into explodes when someone who isn't clumsy or a clown tries to fire it." - cost = 7 - item = /obj/item/firing_pin/clown/ultra/selfdestruct - restricted_roles = list("Clown") - illegal_tech = FALSE - /datum/uplink_item/role_restricted/laser_arm name = "Laser Arm Implant" desc = "An implant that grants you a recharging laser gun inside your arm. Weak to EMPs. Comes with a syndicate autosurgeon for immediate self-application." @@ -2003,7 +1821,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/badass/costumes surplus = 0 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + include_modes = list(/datum/game_mode/nuclear) cost = 4 cant_discount = TRUE @@ -2013,11 +1831,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) Radio headset does not include encryption key. No gun included." item = /obj/item/storage/box/syndie_kit/centcom_costume -/datum/uplink_item/badass/costumes/clown - name = "Clown Costume" - desc = "Nothing is more terrifying than clowns with fully automatic weaponry." - item = /obj/item/storage/backpack/duffelbag/clown/syndie - /datum/uplink_item/badass/balloon name = "Syndicate Balloon" desc = "For showing that you are THE BOSS: A useless red balloon with the Syndicate logo on it. \ @@ -2044,7 +1857,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/toy/cards/deck/syndicate cost = 1 surplus = 40 - surplus_nullcrates = 0 //WS Edit - NULLcrates + surplus_nullcrates = 0 /datum/uplink_item/badass/syndiecigs name = "Syndicate Smokes" @@ -2053,14 +1866,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 2 illegal_tech = FALSE -/datum/uplink_item/badass/clownopclumsinessinjector //clowns can buy this too, but it's in the role-restricted items section for them - name = "Clumsiness Injector" - desc = "Inject yourself with this to become as clumsy as a clown... or inject someone ELSE with it to make THEM as clumsy as a clown. Useful for clown operatives who wish to reconnect with their former clownish nature or for clown operatives who wish to torment and play with their prey before killing them." - item = /obj/item/dnainjector/clumsymut - cost = 1 - include_modes = list(/datum/game_mode/nuclear/clown_ops) - illegal_tech = FALSE - /datum/uplink_item/badass/tactical_naptime name = "Sleepy Time Pajama Bundle" desc = "Even soldiers need to get a good nights rest. Comes with blood-red pajamas, a blankie, a hot mug of cocoa and a fuzzy friend." diff --git a/icons/mecha/mecha.dmi b/icons/mecha/mecha.dmi index a7d4e75a77dd..e37953a1ade7 100644 Binary files a/icons/mecha/mecha.dmi and b/icons/mecha/mecha.dmi differ diff --git a/icons/mecha/mecha_equipment.dmi b/icons/mecha/mecha_equipment.dmi index 324ea7dac8a1..e241d1dec485 100644 Binary files a/icons/mecha/mecha_equipment.dmi and b/icons/mecha/mecha_equipment.dmi differ diff --git a/icons/obj/machines/nuke.dmi b/icons/obj/machines/nuke.dmi index c98e4c1cf69e..ceace5c25004 100644 Binary files a/icons/obj/machines/nuke.dmi and b/icons/obj/machines/nuke.dmi differ diff --git a/shiptest.dme b/shiptest.dme index 9840f4d4cc9c..845d854bb0fc 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -574,7 +574,6 @@ #include "code\datums\diseases\magnitis.dm" #include "code\datums\diseases\parasitic_infection.dm" #include "code\datums\diseases\parrotpossession.dm" -#include "code\datums\diseases\pierrot_throat.dm" #include "code\datums\diseases\retrovirus.dm" #include "code\datums\diseases\rhumba_beat.dm" #include "code\datums\diseases\transformation.dm" @@ -811,9 +810,6 @@ #include "code\game\gamemodes\brother\traitor_bro.dm" #include "code\game\gamemodes\changeling\changeling.dm" #include "code\game\gamemodes\changeling\traitor_chan.dm" -#include "code\game\gamemodes\clown_ops\bananium_bomb.dm" -#include "code\game\gamemodes\clown_ops\clown_ops.dm" -#include "code\game\gamemodes\clown_ops\clown_weapons.dm" #include "code\game\gamemodes\cult\cult.dm" #include "code\game\gamemodes\devil\devil_game_mode.dm" #include "code\game\gamemodes\devil\game_mode.dm" @@ -989,7 +985,6 @@ #include "code\game\mecha\combat\durand.dm" #include "code\game\mecha\combat\five_stars.dm" #include "code\game\mecha\combat\gygax.dm" -#include "code\game\mecha\combat\honker.dm" #include "code\game\mecha\combat\marauder.dm" #include "code\game\mecha\combat\phazon.dm" #include "code\game\mecha\combat\reticence.dm" @@ -1677,7 +1672,6 @@ #include "code\modules\antagonists\morph\morph_antag.dm" #include "code\modules\antagonists\nightmare\nightmare.dm" #include "code\modules\antagonists\ninja\ninja.dm" -#include "code\modules\antagonists\nukeop\clownop.dm" #include "code\modules\antagonists\nukeop\nukeop.dm" #include "code\modules\antagonists\nukeop\equipment\borgchameleon.dm" #include "code\modules\antagonists\nukeop\equipment\nuclear_challenge.dm"