diff --git a/code/defines/obj/clothing/gloves.dm b/code/defines/obj/clothing/gloves.dm index 37b17a219bc..29f8957f200 100644 --- a/code/defines/obj/clothing/gloves.dm +++ b/code/defines/obj/clothing/gloves.dm @@ -7,11 +7,14 @@ protective_temperature = 400 heat_transfer_coefficient = 0.25 siemens_coefficient = 0.50 - var/elecgen = 0 - var/uses = 0 +// var/elecgen = 0 //WHAT THE FUCK IS THIS SHIT OH GOD WHY ;-; +// var/uses = 0 //NOPE NOPE NOPE NOPE var/wired = 0 + var/obj/item/weapon/cell/cell = 0 body_parts_covered = HANDS +//(CAPS IS CRUISE CONTROL FOR COOL AS WE ALL KNOW) + /obj/item/clothing/gloves/white name = "White Gloves" desc = "These look pretty fancy." @@ -92,6 +95,8 @@ var/mindrain = 200 var/maxdrain = 400 +//BEEP BEEP IT'S THE COMMENT BRIGADE -Pete +/* /obj/item/clothing/gloves/stungloves/ name = "Stungloves" desc = "These gloves are electrically charged." @@ -100,6 +105,7 @@ siemens_coefficient = 0.30 elecgen = 1 uses = 10 +*/ /obj/item/clothing/gloves/yellow desc = "These gloves are electrically insulated." diff --git a/code/game/objects/items/weapons/stungloves.dm b/code/game/objects/items/weapons/stungloves.dm new file mode 100644 index 00000000000..5af387774a7 --- /dev/null +++ b/code/game/objects/items/weapons/stungloves.dm @@ -0,0 +1,47 @@ +/obj/item/clothing/gloves/attackby(obj/item/weapon/W, mob/user) + if(istype(W, /obj/item/weapon/cable_coil)) + var/obj/item/weapon/cable_coil/C = W + if(!wired) + if(C.amount >= 2) + C.amount -= 2 + wired = 1 + user << "You wrap some wires around [src]." + update_icon() + else + user << "There is not enough wire to cover [src]." + else + user << "[src] are already wired." + + else if(istype(W, /obj/item/weapon/cell)) + if(!wired) + user << "[src] need to be wired first." + else if(!cell) + user.drop_item() + W.loc = src + cell = W + user << "You attach a cell to [src]." + update_icon() + else + user << "[src] already have a cell." + + else if(istype(W, /obj/item/weapon/wirecutters)) + if(cell) + user << "You cut the cell away from [src]." + cell.loc = get_turf(src.loc) + cell = 0 + update_icon() + return + if(wired) //wires disappear into the void because fuck that shit + user << "You cut the wires away from [src]." + wired = 0 + update_icon() + ..() + return + +/obj/item/clothing/gloves/update_icon() //beep beep this'll probably break everything + ..() + overlays = null + if(wired) + overlays += "gloves_wire" + if(cell) + overlays += "gloves_cell" \ No newline at end of file diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 82c89cca204..c66230cf81e 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -571,18 +571,24 @@ ..() - if(M.gloves && M.gloves.elecgen == 1)//Stungloves. Any contact will stun the alien. - if(M.gloves.uses > 0) - M.gloves.uses-- - if (weakened < 5) - weakened = 5 - if (stuttering < 5) - stuttering = 5 - if (stunned < 5) - stunned = 5 - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message("\red [src] has been touched with the stun gloves by [M]!", 1, "\red You hear someone fall.", 2) + if(M.gloves) + if(M.gloves.cell) + if(M.a_intent == "hurt")//Stungloves. Any contact will stun the alien. + if(M.gloves.cell.charge >= 2500) + M.gloves.cell.charge -= 2500 + if (weakened < 5) + weakened = 5 + if (stuttering < 5) + stuttering = 5 + if (stunned < 5) + stunned = 5 + for(var/mob/O in viewers(src, null)) + if ((O.client && !( O.blinded ))) + O.show_message("\red [src] has been touched with the stun gloves by [M]!", 1, "\red You hear someone fall.", 2) + return + else + M << "\red Not enough charge! " + return switch(M.a_intent) diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 9a8797e9ca1..8a76b1f3caf 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -351,18 +351,24 @@ ..() - if(M.gloves && M.gloves.elecgen == 1)//Stungloves. Any contact will stun the alien. - if(M.gloves.uses > 0) - M.gloves.uses-- - if (weakened < 5) - weakened = 5 - if (stuttering < 5) - stuttering = 5 - if (stunned < 5) - stunned = 5 - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message("\red [src] has been touched with the stun gloves by [M]!", 1, "\red You hear someone fall.", 2) + if(M.gloves) + if(M.gloves.cell) + if(M.a_intent == "hurt")//Stungloves. Any contact will stun the alien. + if(M.gloves.cell.charge >= 2500) + M.gloves.cell.charge -= 2500 + if (weakened < 5) + weakened = 5 + if (stuttering < 5) + stuttering = 5 + if (stunned < 5) + stunned = 5 + for(var/mob/O in viewers(src, null)) + if ((O.client && !( O.blinded ))) + O.show_message("\red [src] has been touched with the stun gloves by [M]!", 1, "\red You hear someone fall.", 2) + return + else + M << "\red Not enough charge! " + return switch(M.a_intent) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index db1325159c2..4ed7847acb1 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -9,20 +9,21 @@ visible_message("\red [M] attempted to touch [src]!") return 0 - if((M.gloves && M.gloves.elecgen == 1)) - M.attack_log += text("\[[time_stamp()]\] Stungloved [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] Has been stungloved by [M.name] ([M.ckey])") - - if(M.gloves.uses <= 0) - M.gloves.elecgen = 0 - visible_message("\red [src] has been touched with the stun gloves by [M]!") - M << "\red Not enough charge! " - return - M.gloves.uses-- - var/armorblock = run_armor_check(M.zone_sel.selecting, "energy") - apply_effects(5,5,0,0,5,0,0,armorblock) - visible_message("\red [src] has been touched with the stun gloves by [M]!") - return 1 + if(M.gloves) + if(M.gloves.cell) + if(M.a_intent == "hurt") + if(M.gloves.cell.charge >= 2500) + M.gloves.cell.charge -= 2500 + visible_message("\red [src] has been touched with the stun gloves by [M]!") + M.attack_log += text("\[[time_stamp()]\] Stungloved [src.name] ([src.ckey])") + src.attack_log += text("\[[time_stamp()]\] Has been stungloved by [M.name] ([M.ckey])") + var/armorblock = run_armor_check(M.zone_sel.selecting, "energy") + apply_effects(5,5,0,0,5,0,0,armorblock) + return 1 + else + M << "\red Not enough charge! " + visible_message("\red [src] has been touched with the stun gloves by [M]!") + return switch(M.a_intent) if("help") diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index cc6462af4dc..52c73ce0f24 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -452,12 +452,18 @@ - if(M.gloves && M.gloves.elecgen == 1)//Stungloves. Any contact will stun the alien. - if(M.gloves.uses > 0) - M.gloves.uses-- - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message("\red [src] has been touched with the stun gloves by [M]!", 1, "\red You hear someone fall.", 2) + if(M.gloves) + if(M.gloves.cell) + if(M.a_intent == "hurt")//Stungloves. Any contact will stun the alien. + if(M.gloves.cell.charge >= 2500) + M.gloves.cell.charge -= 2500 + for(var/mob/O in viewers(src, null)) + if ((O.client && !( O.blinded ))) + O.show_message("\red [src] has been touched with the stun gloves by [M]!", 1, "\red You hear someone fall.", 2) + return + else + M << "\red Not enough charge! " + return switch(M.a_intent) diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index 960e9f91045..8df097ebc90 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -156,22 +156,24 @@ if (istype(loc, /turf) && istype(loc.loc, /area/start)) M << "No attacking people at spawn, you jackass." return - if ((M:gloves && M:gloves.elecgen == 1 && M.a_intent == "hurt") /*&& (!istype(src:wear_suit, /obj/item/clothing/suit/judgerobe))*/) - if(M:gloves.uses > 0) - M:gloves.uses-- - if (weakened < 5) - weakened = 5 - if (stuttering < 5) - stuttering = 5 - if (stunned < 5) - stunned = 5 - for(var/mob/O in viewers(src, null)) - if (O.client) - O.show_message("\red [src] has been touched with the stun gloves by [M]!", 1, "\red You hear someone fall", 2) - else - M:gloves.elecgen = 0 - M << "\red Not enough charge! " - return + if(M.gloves) + if(M.gloves.cell) + if(M.a_intent == "hurt") + if(M.gloves.cell.charge >= 2500) + M.gloves.cell.charge -= 2500 + if (weakened < 5) + weakened = 5 + if (stuttering < 5) + stuttering = 5 + if (stunned < 5) + stunned = 5 + for(var/mob/O in viewers(src, null)) + if (O.client) + O.show_message("\red [src] has been touched with the stun gloves by [M]!", 1, "\red You hear someone fall", 2) + return + else + M << "\red Not enough charge! " + return if (M.a_intent == "help") help_shake_act(M) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index db06a85fbec..e0f5acf4710 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -62,25 +62,6 @@ ..() return - -/obj/item/clothing/gloves/attackby(obj/item/weapon/W, mob/user) - if(istype(W, /obj/item/weapon/cable_coil)) - var/obj/item/weapon/cable_coil/C = W - if(!istype(src, /obj/item/clothing/gloves/yellow)) - if(!wired) - if(C.amount >= 2) - C.amount -= 2 - wired = 1 - user << "You wrap some wires around [src]." - else - user << "There is not enough wire to cover [src]." - else - user << "[src] is already wired." - - else - ..() - return - // the power cable object /obj/structure/cable/New() diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 1527fc4e053..8ef892942c7 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -77,6 +77,8 @@ //Just because someone gets you occasionally with stun gloves doesn't mean you can put in code to kill everyone who tries to make some. /obj/item/weapon/cell/attackby(obj/item/W, mob/user) ..() +//HONK HONK GLOVES NERF -Pete +/* var/obj/item/clothing/gloves/G = W if(istype(G)) // var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread @@ -98,8 +100,9 @@ use(G.uses*1000) updateicon() user << "\red These gloves are now electrically charged!" +*/ - else if(istype(W, /obj/item/weapon/reagent_containers/syringe)) + if(istype(W, /obj/item/weapon/reagent_containers/syringe)) var/obj/item/weapon/reagent_containers/syringe/S = W user << "You inject the solution into the power cell." diff --git a/html/changelog.html b/html/changelog.html index 712855e1ea4..a8ed9d445a6 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -39,7 +39,7 @@