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)