diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index f3657a9b..8a447806 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -23,7 +23,7 @@ "diamond"=0, "plasma"=0, "uranium"=0, - //"bananium"=0 No need to state what it can no longer hold + "bananium"=0 ) var/res_max_amount = 200000 var/datum/research/files @@ -90,7 +90,7 @@ /obj/item/mecha_parts/part/durand_right_leg, /obj/item/mecha_parts/part/durand_armour ), - /*"H.O.N.K"=list( + "H.O.N.K"=list( /obj/item/mecha_parts/chassis/honker, /obj/item/mecha_parts/part/honker_torso, /obj/item/mecha_parts/part/honker_head, @@ -98,7 +98,7 @@ /obj/item/mecha_parts/part/honker_right_arm, /obj/item/mecha_parts/part/honker_left_leg, /obj/item/mecha_parts/part/honker_right_leg - ), No need for HONK stuff*/ + ), "Exosuit Equipment"=list( /obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp, /obj/item/mecha_parts/mecha_equipment/tool/drill, @@ -112,9 +112,9 @@ ///obj/item/mecha_parts/mecha_equipment/jetpack, //TODO MECHA JETPACK SPRITE MISSING /obj/item/mecha_parts/mecha_equipment/weapon/energy/taser, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg, - ///obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/banana_mortar/mousetrap_mortar, HONK-related mech part - ///obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/banana_mortar, Also HONK-related - ///obj/item/mecha_parts/mecha_equipment/weapon/honker Thirdly HONK-related + /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/banana_mortar/mousetrap_mortar + /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/banana_mortar + /obj/item/mecha_parts/mecha_equipment/weapon/honker ), "Robotic Upgrade Modules" = list( @@ -681,8 +681,8 @@ type = /obj/item/stack/sheet/mineral/plasma if("uranium") type = /obj/item/stack/sheet/mineral/uranium - /*if("bananium") - type = /obj/item/stack/sheet/mineral/clown Sorry, but no more clown mechs, even if you do manage to get to the clown planet.*/ + if("bananium") + type = /obj/item/stack/sheet/mineral/clown else return 0 var/result = 0 @@ -740,9 +740,9 @@ if(src.resources["diamond"] >= 2000) var/obj/item/stack/sheet/mineral/diamond/G = new /obj/item/stack/sheet/mineral/diamond(src.loc) G.amount = round(src.resources["diamond"] / G.perunit) - /*if(src.resources["bananium"] >= 2000) + if(src.resources["bananium"] >= 2000) var/obj/item/stack/sheet/mineral/clown/G = new /obj/item/stack/sheet/mineral/clown(src.loc) - G.amount = round(src.resources["bananium"] / G.perunit) Sorry, but no bananium allowed*/ + G.amount = round(src.resources["bananium"] / G.perunit) del(src) return 1 else @@ -766,8 +766,8 @@ material = "metal" if(/obj/item/stack/sheet/glass) material = "glass" - /*if(/obj/item/stack/sheet/mineral/clown) - material = "bananium"*/ + if(/obj/item/stack/sheet/mineral/clown) + material = "bananium" if(/obj/item/stack/sheet/mineral/uranium) material = "uranium" else diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 51c57b19..a2c6b7c1 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -201,4 +201,53 @@ user.visible_message("[user] activates the flare.", "You pull the cord on the flare, activating it!") src.force = on_damage src.damtype = "fire" - processing_objects += src \ No newline at end of file + processing_objects += src + + + +/obj/item/device/flashlight/emp +origin_tech = "magnets=4;syndicate=5" + +var/emp_max_charges = 4 +var/emp_cur_charges = 4 +var/charge_tick = 0 + + +/obj/item/device/flashlight/emp/New() + ..() + processing_objects.Add(src) + +/obj/item/device/flashlight/emp/Del() + processing_objects.Remove(src) + ..() + +/obj/item/device/flashlight/emp/process() + charge_tick++ + if(charge_tick < 10) return 0 + charge_tick = 0 + emp_cur_charges = min(emp_cur_charges+1, emp_max_charges) + return 1 + +/obj/item/device/flashlight/emp/examine() + ..() + return + +/obj/item/device/flashlight/emp/attack(mob/living/M as mob, mob/living/user as mob) + if(on && user.zone_sel.selecting == "eyes") // call original attack proc only if aiming at the eyes + ..() + return + +/obj/item/device/flashlight/emp/afterattack(atom/A as mob|obj, mob/user, proximity) + if(!proximity) return + if (emp_cur_charges > 0) + emp_cur_charges -= 1 + A.visible_message("[user] blinks \the [src] at \the [A].", \ + "[user] blinks \the [src] at \the [A].") + if(ismob(A)) + var/mob/M = A + add_logs(user, M, "attacked", object="EMP-light") + user << "\The [src] now has [emp_cur_charges] charge\s." + A.emp_act(1) + else + user << "\The [src] needs time to recharge!" + return diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm index ad9c0e08..0e0b35f8 100644 --- a/code/game/objects/items/weapons/implants/implantcase.dm +++ b/code/game/objects/items/weapons/implants/implantcase.dm @@ -128,3 +128,14 @@ src.imp = new /obj/item/weapon/implant/death_alarm( src ) ..() return + +/obj/item/weapon/implantcase/freedom + name = "Glass Case- 'Freedom'" + desc = "A case containing a freedom implant." + icon = 'icons/obj/items.dmi' + icon_state = "implantcase-b" + + New() + src.imp = new /obj/item/weapon/implant/freedom( src ) + ..() + return diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index dcdb6539..f9c87c25 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -160,7 +160,7 @@ new /obj/item/weapon/grenade/empgrenade(src) new /obj/item/weapon/grenade/empgrenade(src) new /obj/item/weapon/grenade/empgrenade(src) - new /obj/item/weapon/grenade/empgrenade(src) + new /obj/item/device/flashlight/emp/(src)(src) /obj/item/weapon/storage/box/trackimp @@ -476,4 +476,4 @@ for(var/i = 0; i < 14; i++) new /obj/item/weapon/light/tube(src) for(var/i = 0; i < 7; i++) - new /obj/item/weapon/light/bulb(src) \ No newline at end of file + new /obj/item/weapon/light/bulb(src) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 67b9cb37..1f3517f2 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1366,7 +1366,7 @@ datum/design/implant_loyal req_tech = list("materials" = 2, "biotech" = 3) build_type = PROTOLATHE materials = list("$metal" = 7000, "$glass" = 7000) - build_path = "/obj/item/weapon/implant/loyalty" + build_path = "/obj/item/weapon/implantcase/loyalty" datum/design/implant_chem name = "chemical implant" @@ -1375,7 +1375,7 @@ datum/design/implant_chem req_tech = list("materials" = 2, "biotech" = 3) build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) - build_path = "/obj/item/weapon/implant/chem" + build_path = "/obj/item/weapon/implantcase/chem" datum/design/implant_free name = "freedom implant" @@ -1384,7 +1384,16 @@ datum/design/implant_free req_tech = list("syndicate" = 2, "biotech" = 3) build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) - build_path = "/obj/item/weapon/implant/freedom" + build_path = "/obj/item/weapon/implantcase/freedom" + +datum/design/implant_death_alarm + name = "death alarm implant" + desc = "Alerts others to your death." + id = "implant_death_alarm" + req_tech = list("materials" = 2, "biotech" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/implantcase/death_alarm" datum/design/chameleon name = "Chameleon Jumpsuit" @@ -1479,7 +1488,7 @@ datum/design/rapidsyringe build_type = PROTOLATHE materials = list("$metal" = 5000, "$glass" = 1000) build_path = "/obj/item/weapon/gun/syringe/rapidsyringe" -/* + datum/design/largecrossbow name = "Energy Crossbow" desc = "A weapon favoured by syndicate infiltration teams." @@ -1488,7 +1497,7 @@ datum/design/largecrossbow build_type = PROTOLATHE materials = list("$metal" = 5000, "$glass" = 1000, "$uranium" = 1000, "$silver" = 1000) build_path = "/obj/item/weapon/gun/energy/crossbow/largecrossbow" -*/ + datum/design/temp_gun name = "Temperature Gun" desc = "A gun that shoots temperature bullet energythings to change temperature."//Change it if you want @@ -1719,7 +1728,7 @@ datum/design/borg_syndicate_module /////////////PDA and Radio stuff///////// ///////////////////////////////////////// datum/design/binaryencrypt - name = "Binary Encrpytion Key" + name = "Binary Encryption Key" desc = "An encyption key for a radio headset. Contains cypherkeys." id = "binaryencrypt" req_tech = list("syndicate" = 2)