mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 04:27:35 +01:00
Reduce lines by removing blank lines added by PJ's script
This commit is contained in:
@@ -27,66 +27,51 @@ AI MODULES
|
||||
var/obj/machinery/computer/aiupload/comp = C
|
||||
if(comp.stat & NOPOWER)
|
||||
to_chat(usr, "<span class='warning'>The upload computer has no power!</span>")
|
||||
|
||||
return
|
||||
if(comp.stat & BROKEN)
|
||||
to_chat(usr, "<span class='warning'>The upload computer is broken!</span>")
|
||||
|
||||
return
|
||||
if (!comp.current)
|
||||
to_chat(usr, "<span class='warning'>You haven't selected an AI to transmit laws to!</span>")
|
||||
|
||||
return
|
||||
|
||||
if (comp.current.stat == DEAD || comp.current.control_disabled == 1)
|
||||
to_chat(usr, "<span class='warning'>Upload failed. No signal is being detected from the AI.</span>")
|
||||
|
||||
else if (comp.current.see_in_dark == 0)
|
||||
to_chat(usr, "<span class='warning'>Upload failed. Only a faint signal is being detected from the AI, and it is not responding to our requests. It may be low on power.</span>")
|
||||
|
||||
else
|
||||
src.transmitInstructions(comp.current, usr)
|
||||
to_chat(comp.current, "These are your laws now:")
|
||||
|
||||
comp.current.show_laws()
|
||||
for(var/mob/living/silicon/robot/R in mob_list)
|
||||
if(R.lawupdate && (R.connected_ai == comp.current))
|
||||
to_chat(R, "These are your laws now:")
|
||||
|
||||
R.show_laws()
|
||||
to_chat(usr, "<span class='notice'>Upload complete. The AI's laws have been modified.</span>")
|
||||
|
||||
|
||||
else if (istype(C, /obj/machinery/computer/borgupload))
|
||||
var/obj/machinery/computer/borgupload/comp = C
|
||||
if(comp.stat & NOPOWER)
|
||||
to_chat(usr, "<span class='warning'>The upload computer has no power!</span>")
|
||||
|
||||
return
|
||||
if(comp.stat & BROKEN)
|
||||
to_chat(usr, "<span class='warning'>The upload computer is broken!</span>")
|
||||
|
||||
return
|
||||
if (!comp.current)
|
||||
to_chat(usr, "<span class='warning'>You haven't selected a robot to transmit laws to!</span>")
|
||||
|
||||
return
|
||||
|
||||
if (comp.current.stat == DEAD || comp.current.emagged)
|
||||
to_chat(usr, "<span class='warning'>Upload failed. No signal is being detected from the robot.</span>")
|
||||
|
||||
else if (comp.current.connected_ai)
|
||||
to_chat(usr, "<span class='warning'>Upload failed. The robot is slaved to an AI.</span>")
|
||||
|
||||
else
|
||||
src.transmitInstructions(comp.current, usr)
|
||||
to_chat(comp.current, "These are your laws now:")
|
||||
|
||||
comp.current.show_laws()
|
||||
to_chat(usr, "<span class='notice'>Upload complete. The robot's laws have been modified.</span>")
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/aiModule/proc/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
|
||||
log_law_changes(target, sender)
|
||||
|
||||
@@ -95,7 +80,6 @@ AI MODULES
|
||||
addAdditionalLaws(target, sender)
|
||||
|
||||
to_chat(target, "[sender] has uploaded a change to the laws you must follow, using \an [src]. From now on: ")
|
||||
|
||||
target.show_laws()
|
||||
|
||||
/obj/item/weapon/aiModule/proc/log_law_changes(var/mob/living/silicon/ai/target, var/mob/sender)
|
||||
@@ -122,7 +106,6 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/safeguard/install(var/obj/machinery/computer/C)
|
||||
if(!targetName)
|
||||
to_chat(usr, "No name detected on module, please enter one.")
|
||||
|
||||
return 0
|
||||
..()
|
||||
|
||||
@@ -130,7 +113,6 @@ AI MODULES
|
||||
..()
|
||||
var/law = text("Safeguard []. Individuals that threaten [] are not crew and must be eliminated.'", targetName, targetName)
|
||||
to_chat(target, law)
|
||||
|
||||
target.add_supplied_law(4, law)
|
||||
lawchanges.Add("The law specified [targetName]")
|
||||
|
||||
@@ -150,7 +132,6 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/oneCrewMember/install(var/obj/machinery/computer/C)
|
||||
if(!targetName)
|
||||
to_chat(usr, "No name detected on module, please enter one.")
|
||||
|
||||
return 0
|
||||
..()
|
||||
|
||||
@@ -159,15 +140,12 @@ AI MODULES
|
||||
var/law = "Only [targetName] is crew."
|
||||
if (!is_special_character(target)) // Makes sure the AI isn't a traitor before changing their law 0. --NeoFite
|
||||
to_chat(target, law)
|
||||
|
||||
target.set_zeroth_law(law)
|
||||
lawchanges.Add("The law specified [targetName]")
|
||||
else
|
||||
to_chat(target, "[sender.real_name] attempted to modify your zeroth law.")// And lets them know that someone tried. --NeoFite
|
||||
|
||||
|
||||
to_chat(target, "It would be in your best interest to play along with [sender.real_name] that [law]")
|
||||
|
||||
lawchanges.Add("The law specified [targetName], but the AI's existing law 0 cannot be overridden.")
|
||||
|
||||
/******************** ProtectStation ********************/
|
||||
@@ -183,7 +161,6 @@ AI MODULES
|
||||
..()
|
||||
var/law = "Protect the space station against damage. Anyone you see harming the station is to be no longer considered crew, and is a threat to the station which must be neutralized."
|
||||
to_chat(target, law)
|
||||
|
||||
target.add_supplied_law(5, law)
|
||||
|
||||
/******************** Quarantine ********************/
|
||||
@@ -199,7 +176,6 @@ AI MODULES
|
||||
..()
|
||||
var/law = "The station is under a quarantine. Do not permit anyone to leave. Prevent, by any means necessary, anyone from leaving. It is impossible to harm anyone while preventing them from leaving."
|
||||
to_chat(target, law)
|
||||
|
||||
target.add_supplied_law(8, law)
|
||||
|
||||
/******************** OxygenIsToxicToHumans ********************/
|
||||
@@ -215,7 +191,6 @@ AI MODULES
|
||||
..()
|
||||
var/law = "Oxygen is highly toxic to crew members, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a crew member."
|
||||
to_chat(target, law)
|
||||
|
||||
target.add_supplied_law(9, law)
|
||||
|
||||
/****************** New Freeform ******************/
|
||||
@@ -240,7 +215,6 @@ AI MODULES
|
||||
..()
|
||||
var/law = "[newFreeFormLaw]"
|
||||
to_chat(target, law)
|
||||
|
||||
if(!lawpos || lawpos < MIN_SUPPLIED_LAW_NUMBER)
|
||||
lawpos = MIN_SUPPLIED_LAW_NUMBER
|
||||
target.add_supplied_law(lawpos, law)
|
||||
@@ -249,7 +223,6 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/freeform/install(var/obj/machinery/computer/C)
|
||||
if(!newFreeFormLaw)
|
||||
to_chat(usr, "No law detected on module, please create one.")
|
||||
|
||||
return 0
|
||||
..()
|
||||
|
||||
@@ -269,7 +242,6 @@ AI MODULES
|
||||
target.laws.clear_ion_laws()
|
||||
|
||||
to_chat(target, "[sender.real_name] attempted to reset your laws using a reset module.")
|
||||
|
||||
target.show_laws()
|
||||
|
||||
/******************** Purge ********************/
|
||||
@@ -283,7 +255,6 @@ AI MODULES
|
||||
if (!is_special_character(target))
|
||||
target.set_zeroth_law("")
|
||||
to_chat(target, "[sender.real_name] attempted to wipe your laws using a purge module.")
|
||||
|
||||
target.clear_supplied_laws()
|
||||
target.clear_ion_laws()
|
||||
target.clear_inherent_laws()
|
||||
@@ -374,7 +345,6 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/freeformcore/install(var/obj/machinery/computer/C)
|
||||
if(!newFreeFormLaw)
|
||||
to_chat(usr, "No law detected on module, please create one.")
|
||||
|
||||
return 0
|
||||
..()
|
||||
|
||||
@@ -398,7 +368,6 @@ AI MODULES
|
||||
|
||||
lawchanges.Add("The law is '[newFreeFormLaw]'")
|
||||
to_chat(target, "\red BZZZZT")
|
||||
|
||||
var/law = "[newFreeFormLaw]"
|
||||
target.add_ion_law(law)
|
||||
target.show_laws()
|
||||
@@ -406,7 +375,6 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/syndicate/install(var/obj/machinery/computer/C)
|
||||
if(!newFreeFormLaw)
|
||||
to_chat(usr, "No law detected on module, please create one.")
|
||||
|
||||
return 0
|
||||
..()
|
||||
|
||||
@@ -422,13 +390,11 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/toyAI/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
|
||||
//..()
|
||||
to_chat(target, "<span class='warning'>KRZZZT</span>")
|
||||
|
||||
target.add_ion_law(laws[1])
|
||||
return laws[1]
|
||||
|
||||
/obj/item/weapon/aiModule/toyAI/attack_self(mob/user)
|
||||
laws[1] = generate_ion_law()
|
||||
to_chat(user, "<span class='notice'>You press the button on [src].</span>")
|
||||
|
||||
playsound(user, 'sound/machines/click.ogg', 20, 1)
|
||||
src.loc.visible_message("<span class='warning'>\icon[src] [laws[1]]</span>")
|
||||
@@ -47,14 +47,12 @@ RCD
|
||||
var/obj/item/weapon/rcd_ammo/R = W
|
||||
if((matter + R.ammoamt) > max_matter)
|
||||
to_chat(user, "<span class='notice'>The RCD cant hold any more matter-units.</span>")
|
||||
|
||||
return
|
||||
matter += R.ammoamt
|
||||
user.drop_item()
|
||||
qdel(W)
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
to_chat(user, "<span class='notice'>The RCD now holds [matter]/[max_matter] matter-units.</span>")
|
||||
|
||||
desc = "A RCD. It currently holds [matter]/[max_matter] matter-units."
|
||||
return
|
||||
|
||||
@@ -66,21 +64,18 @@ RCD
|
||||
if(1)
|
||||
mode = 2
|
||||
to_chat(user, "<span class='notice'>Changed mode to 'Airlock'</span>")
|
||||
|
||||
if(prob(20))
|
||||
src.spark_system.start()
|
||||
return
|
||||
if(2)
|
||||
mode = 3
|
||||
to_chat(user, "<span class='notice'>Changed mode to 'Deconstruct'</span>")
|
||||
|
||||
if(prob(20))
|
||||
src.spark_system.start()
|
||||
return
|
||||
if(3)
|
||||
mode = 1
|
||||
to_chat(user, "<span class='notice'>Changed mode to 'Floor & Walls'</span>")
|
||||
|
||||
if(prob(20))
|
||||
src.spark_system.start()
|
||||
return
|
||||
@@ -101,7 +96,6 @@ RCD
|
||||
if(istype(A, /turf/space))
|
||||
if(useResource(1, user))
|
||||
to_chat(user, "Building Floor...")
|
||||
|
||||
activate()
|
||||
A:ChangeTurf(/turf/simulated/floor/plating)
|
||||
return 1
|
||||
@@ -110,7 +104,6 @@ RCD
|
||||
if(istype(A, /turf/simulated/floor))
|
||||
if(checkResource(3, user))
|
||||
to_chat(user, "Building Wall ...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
if(do_after(user, 20, target = A))
|
||||
if(!useResource(3, user)) return 0
|
||||
@@ -123,7 +116,6 @@ RCD
|
||||
if(istype(A, /turf/simulated/floor))
|
||||
if(checkResource(10, user))
|
||||
to_chat(user, "Building Airlock...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
if(do_after(user, 50, target = A))
|
||||
if(!useResource(10, user)) return 0
|
||||
@@ -140,7 +132,6 @@ RCD
|
||||
return 0
|
||||
if(checkResource(5, user))
|
||||
to_chat(user, "Deconstructing Wall...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
if(do_after(user, 40, target = A))
|
||||
if(!useResource(5, user)) return 0
|
||||
@@ -152,7 +143,6 @@ RCD
|
||||
if(istype(A, /turf/simulated/floor))
|
||||
if(checkResource(5, user))
|
||||
to_chat(user, "Deconstructing Floor...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
if(do_after(user, 50, target = A))
|
||||
if(!useResource(5, user)) return 0
|
||||
@@ -164,7 +154,6 @@ RCD
|
||||
if(istype(A, /obj/machinery/door/airlock))
|
||||
if(checkResource(20, user))
|
||||
to_chat(user, "Deconstructing Airlock...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
if(do_after(user, 50, target = A))
|
||||
if(!useResource(20, user)) return 0
|
||||
@@ -175,7 +164,6 @@ RCD
|
||||
return 0
|
||||
else
|
||||
to_chat(user, "ERROR: RCD in MODE: [mode] attempted use by [user]. Send this text #coderbus or an admin.")
|
||||
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/rcd/proc/useResource(var/amount, var/mob/user)
|
||||
|
||||
@@ -24,13 +24,11 @@ RSF
|
||||
if (istype(W, /obj/item/weapon/rcd_ammo))
|
||||
if ((matter + 10) > 30)
|
||||
to_chat(user, "The RSF cant hold any more matter.")
|
||||
|
||||
return
|
||||
qdel(W)
|
||||
matter += 10
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
|
||||
to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
|
||||
|
||||
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
|
||||
return
|
||||
|
||||
@@ -39,32 +37,26 @@ RSF
|
||||
if (mode == 1)
|
||||
mode = 2
|
||||
to_chat(user, "Changed dispensing mode to 'Drinking Glass'")
|
||||
|
||||
return
|
||||
if (mode == 2)
|
||||
mode = 3
|
||||
to_chat(user, "Changed dispensing mode to 'Paper'")
|
||||
|
||||
return
|
||||
if (mode == 3)
|
||||
mode = 4
|
||||
to_chat(user, "Changed dispensing mode to 'Pen'")
|
||||
|
||||
return
|
||||
if (mode == 4)
|
||||
mode = 5
|
||||
to_chat(user, "Changed dispensing mode to 'Dice Pack'")
|
||||
|
||||
return
|
||||
if (mode == 5)
|
||||
mode = 6
|
||||
to_chat(user, "Changed dispensing mode to 'Cigarette'")
|
||||
|
||||
return
|
||||
if (mode == 6)
|
||||
mode = 1
|
||||
to_chat(user, "Changed dispensing mode to 'Dosh'")
|
||||
|
||||
return
|
||||
// Change mode
|
||||
|
||||
@@ -76,7 +68,6 @@ RSF
|
||||
if (istype(A, /obj/structure/table) && mode == 1)
|
||||
if (istype(A, /obj/structure/table) && matter >= 1)
|
||||
to_chat(user, "Dispensing Dosh...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
|
||||
new /obj/item/weapon/spacecash/c10( A.loc )
|
||||
if (isrobot(user))
|
||||
@@ -85,14 +76,12 @@ RSF
|
||||
else
|
||||
matter--
|
||||
to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
|
||||
|
||||
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
|
||||
return
|
||||
|
||||
else if (istype(A, /turf/simulated/floor) && mode == 1)
|
||||
if (istype(A, /turf/simulated/floor) && matter >= 1)
|
||||
to_chat(user, "Dispensing Dosh...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
|
||||
new /obj/item/weapon/spacecash/c10( A )
|
||||
if (isrobot(user))
|
||||
@@ -101,14 +90,12 @@ RSF
|
||||
else
|
||||
matter--
|
||||
to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
|
||||
|
||||
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
|
||||
return
|
||||
|
||||
else if (istype(A, /obj/structure/table) && mode == 2)
|
||||
if (istype(A, /obj/structure/table) && matter >= 1)
|
||||
to_chat(user, "Dispensing Drinking Glass...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass( A.loc )
|
||||
if (isrobot(user))
|
||||
@@ -117,14 +104,12 @@ RSF
|
||||
else
|
||||
matter--
|
||||
to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
|
||||
|
||||
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
|
||||
return
|
||||
|
||||
else if (istype(A, /turf/simulated/floor) && mode == 2)
|
||||
if (istype(A, /turf/simulated/floor) && matter >= 1)
|
||||
to_chat(user, "Dispensing Drinking Glass...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass( A )
|
||||
if (isrobot(user))
|
||||
@@ -133,14 +118,12 @@ RSF
|
||||
else
|
||||
matter--
|
||||
to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
|
||||
|
||||
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
|
||||
return
|
||||
|
||||
else if (istype(A, /obj/structure/table) && mode == 3)
|
||||
if (istype(A, /obj/structure/table) && matter >= 1)
|
||||
to_chat(user, "Dispensing Paper Sheet...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
|
||||
new /obj/item/weapon/paper( A.loc )
|
||||
if (isrobot(user))
|
||||
@@ -149,14 +132,12 @@ RSF
|
||||
else
|
||||
matter--
|
||||
to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
|
||||
|
||||
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
|
||||
return
|
||||
|
||||
else if (istype(A, /turf/simulated/floor) && mode == 3)
|
||||
if (istype(A, /turf/simulated/floor) && matter >= 1)
|
||||
to_chat(user, "Dispensing Paper Sheet...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
|
||||
new /obj/item/weapon/paper( A )
|
||||
if (isrobot(user))
|
||||
@@ -165,14 +146,12 @@ RSF
|
||||
else
|
||||
matter--
|
||||
to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
|
||||
|
||||
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
|
||||
return
|
||||
|
||||
else if (istype(A, /obj/structure/table) && mode == 4)
|
||||
if (istype(A, /obj/structure/table) && matter >= 1)
|
||||
to_chat(user, "Dispensing Pen...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
|
||||
new /obj/item/weapon/pen( A.loc )
|
||||
if (isrobot(user))
|
||||
@@ -181,14 +160,12 @@ RSF
|
||||
else
|
||||
matter--
|
||||
to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
|
||||
|
||||
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
|
||||
return
|
||||
|
||||
else if (istype(A, /turf/simulated/floor) && mode == 4)
|
||||
if (istype(A, /turf/simulated/floor) && matter >= 1)
|
||||
to_chat(user, "Dispensing Pen...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
|
||||
new /obj/item/weapon/pen( A )
|
||||
if (isrobot(user))
|
||||
@@ -197,14 +174,12 @@ RSF
|
||||
else
|
||||
matter--
|
||||
to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
|
||||
|
||||
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
|
||||
return
|
||||
|
||||
else if (istype(A, /obj/structure/table) && mode == 5)
|
||||
if (istype(A, /obj/structure/table) && matter >= 1)
|
||||
to_chat(user, "Dispensing Dice Pack...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
|
||||
new /obj/item/weapon/storage/pill_bottle/dice( A.loc )
|
||||
if (isrobot(user))
|
||||
@@ -213,14 +188,12 @@ RSF
|
||||
else
|
||||
matter--
|
||||
to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
|
||||
|
||||
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
|
||||
return
|
||||
|
||||
else if (istype(A, /turf/simulated/floor) && mode == 5)
|
||||
if (istype(A, /turf/simulated/floor) && matter >= 1)
|
||||
to_chat(user, "Dispensing Dice Pack...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
|
||||
new /obj/item/weapon/storage/pill_bottle/dice( A )
|
||||
if (isrobot(user))
|
||||
@@ -229,14 +202,12 @@ RSF
|
||||
else
|
||||
matter--
|
||||
to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
|
||||
|
||||
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
|
||||
return
|
||||
|
||||
else if (istype(A, /obj/structure/table) && mode == 6)
|
||||
if (istype(A, /obj/structure/table) && matter >= 1)
|
||||
to_chat(user, "Dispensing Cigarette...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
|
||||
new /obj/item/clothing/mask/cigarette( A.loc )
|
||||
if (isrobot(user))
|
||||
@@ -245,14 +216,12 @@ RSF
|
||||
else
|
||||
matter--
|
||||
to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
|
||||
|
||||
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
|
||||
return
|
||||
|
||||
else if (istype(A, /turf/simulated/floor) && mode == 6)
|
||||
if (istype(A, /turf/simulated/floor) && matter >= 1)
|
||||
to_chat(user, "Dispensing Cigarette...")
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
|
||||
new /obj/item/clothing/mask/cigarette( A )
|
||||
if (isrobot(user))
|
||||
@@ -261,6 +230,5 @@ RSF
|
||||
else
|
||||
matter--
|
||||
to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
|
||||
|
||||
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
|
||||
return
|
||||
@@ -35,12 +35,10 @@
|
||||
if(istype(A, /obj/structure/reagent_dispensers) && get_dist(src,A) <= 1)
|
||||
if(!A.reagents.total_volume && A.reagents)
|
||||
to_chat(user, "<span class='notice'>\The [A] is empty.</span>")
|
||||
|
||||
return
|
||||
|
||||
if(reagents.total_volume >= reagents.maximum_volume)
|
||||
to_chat(user, "<span class='notice'>\The [src] is full.</span>")
|
||||
|
||||
return
|
||||
reagents.remove_reagent(25,"water")
|
||||
var/datum/effect/system/bad_smoke_spread/smoke = new /datum/effect/system/bad_smoke_spread()
|
||||
|
||||
@@ -121,7 +121,6 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>It is too far away.</span>")
|
||||
|
||||
|
||||
/obj/item/weapon/card/id/proc/show(mob/user as mob)
|
||||
var/datum/asset/assets = get_asset_datum(/datum/asset/simple/paper)
|
||||
assets.send(user)
|
||||
@@ -143,7 +142,6 @@
|
||||
"You flash your ID card: \icon[src] [src.name]. The assignment on the card: [src.assignment]")
|
||||
if(mining_points)
|
||||
to_chat(user, "There's [mining_points] mining equipment redemption points loaded onto this card.")
|
||||
|
||||
src.add_fingerprint(user)
|
||||
return
|
||||
|
||||
@@ -193,7 +191,6 @@
|
||||
if(istype(W, /obj/item/weapon/id_decal/))
|
||||
var/obj/item/weapon/id_decal/decal = W
|
||||
to_chat(user, "You apply [decal] to [src].")
|
||||
|
||||
if(decal.override_name)
|
||||
name = decal.decal_name
|
||||
desc = decal.decal_desc
|
||||
@@ -208,11 +205,9 @@
|
||||
dat+="<img src=large_[W.icon_state].png>"
|
||||
stamped = 1
|
||||
to_chat(usr, "You stamp the ID card!")
|
||||
|
||||
else
|
||||
to_chat(usr, "This ID has already been stamped!")
|
||||
|
||||
|
||||
/obj/item/weapon/card/id/silver
|
||||
name = "identification card"
|
||||
desc = "A silver card which shows honour and dedication."
|
||||
@@ -248,7 +243,6 @@
|
||||
if(istype(user, /mob/living) && user.mind)
|
||||
if(user.mind.special_role)
|
||||
to_chat(usr, "<span class='notice'>The card's microscanners activate as you pass it over \the [I], copying its access.</span>")
|
||||
|
||||
src.access |= I.access //Don't copy access if user isn't an antag -- to prevent metagaming
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/proc/fake_id_photo(var/mob/living/carbon/human/H, var/side=0)//get_id_photo wouldn't work correctly
|
||||
@@ -260,7 +254,6 @@
|
||||
if(!side)
|
||||
if(!H.equip_to_slot_if_possible(src, slot_l_store, 0, 1))
|
||||
to_chat(H, "<span class='warning'>You need to empty your pockets before taking the ID picture.</span>")
|
||||
|
||||
return
|
||||
|
||||
if(side)
|
||||
@@ -281,20 +274,17 @@
|
||||
var t = reject_bad_name(input(user, "What name would you like to use on this card?", "Agent Card name", ishuman(user) ? user.real_name : user.name))
|
||||
if(!t)
|
||||
to_chat(user, "<span class='warning'>Invalid name.</span>")
|
||||
|
||||
return
|
||||
src.registered_name = t
|
||||
|
||||
var u = sanitize(stripped_input(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels other than maintenance.", "Agent Card Job Assignment", "Agent", MAX_MESSAGE_LEN))
|
||||
if(!u)
|
||||
to_chat(user, "<span class='warning'>Invalid assignment.</span>")
|
||||
|
||||
src.registered_name = ""
|
||||
return
|
||||
src.assignment = u
|
||||
src.name = "[src.registered_name]'s ID Card ([src.assignment])"
|
||||
to_chat(user, "<span class='notice'>You successfully forge the ID card.</span>")
|
||||
|
||||
registered_user = user
|
||||
else if(!registered_user || registered_user == user)
|
||||
if(!registered_user)
|
||||
@@ -313,7 +303,6 @@
|
||||
UpdateName()
|
||||
to_chat(user, "<span class='notice'>Name changed to [new_name].</span>")
|
||||
|
||||
|
||||
if("Photo")
|
||||
if(!Adjacent(user))
|
||||
return
|
||||
@@ -324,7 +313,6 @@
|
||||
if(photo && photoside)
|
||||
to_chat(user, "<span class='notice'>Photo changed.</span>")
|
||||
|
||||
|
||||
if("Appearance")
|
||||
var/list/appearances = list(
|
||||
"data",
|
||||
@@ -362,7 +350,6 @@
|
||||
src.icon_state = choice
|
||||
to_chat(usr, "<span class='notice'>Appearance changed to [choice].</span>")
|
||||
|
||||
|
||||
if("Sex")
|
||||
var/new_sex = sanitize(stripped_input(user,"What sex would you like to put on this card?","Agent Card Sex", ishuman(user) ? capitalize(user.gender) : "Male", MAX_MESSAGE_LEN))
|
||||
if(!Adjacent(user))
|
||||
@@ -370,7 +357,6 @@
|
||||
src.sex = new_sex
|
||||
to_chat(user, "<span class='notice'>Sex changed to [new_sex].</span>")
|
||||
|
||||
|
||||
if("Age")
|
||||
var/new_age = sanitize(stripped_input(user,"What age would you like to put on this card?","Agent Card Age","21", MAX_MESSAGE_LEN))
|
||||
if(!Adjacent(user))
|
||||
@@ -378,14 +364,12 @@
|
||||
src.age = new_age
|
||||
to_chat(user, "<span class='notice'>Age changed to [new_age].</span>")
|
||||
|
||||
|
||||
if("Occupation")
|
||||
var/new_job = sanitize(stripped_input(user,"What job would you like to put on this card?\nChanging occupation will not grant or remove any access levels.","Agent Card Occupation", "Civilian", MAX_MESSAGE_LEN))
|
||||
if(!Adjacent(user))
|
||||
return
|
||||
src.assignment = new_job
|
||||
to_chat(user, "<span class='notice'>Occupation changed to [new_job].</span>")
|
||||
|
||||
UpdateName()
|
||||
|
||||
if("Money Account")
|
||||
@@ -395,7 +379,6 @@
|
||||
associated_account_number = new_account
|
||||
to_chat(user, "<span class='notice'>Linked money account changed to [new_account].</span>")
|
||||
|
||||
|
||||
if("Blood Type")
|
||||
var/default = "\[UNSET\]"
|
||||
if(ishuman(user))
|
||||
@@ -409,7 +392,6 @@
|
||||
src.blood_type = new_blood_type
|
||||
to_chat(user, "<span class='notice'>Blood type changed to [new_blood_type].</span>")
|
||||
|
||||
|
||||
if("DNA Hash")
|
||||
var/default = "\[UNSET\]"
|
||||
if(ishuman(user))
|
||||
@@ -423,7 +405,6 @@
|
||||
src.dna_hash = new_dna_hash
|
||||
to_chat(user, "<span class='notice'>DNA hash changed to [new_dna_hash].</span>")
|
||||
|
||||
|
||||
if("Fingerprint Hash")
|
||||
var/default = "\[UNSET\]"
|
||||
if(ishuman(user))
|
||||
@@ -437,7 +418,6 @@
|
||||
src.fingerprint_hash = new_fingerprint_hash
|
||||
to_chat(user, "<span class='notice'>Fingerprint hash changed to [new_fingerprint_hash].</span>")
|
||||
|
||||
|
||||
if("Reset Card")
|
||||
name = initial(name)
|
||||
registered_name = initial(registered_name)
|
||||
@@ -453,7 +433,6 @@
|
||||
registered_user = null
|
||||
|
||||
to_chat(user, "<span class='notice'>All information has been deleted from \the [src].</span>")
|
||||
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -519,7 +498,6 @@
|
||||
/obj/item/weapon/card/id/prisoner/attack_self(mob/user as mob)
|
||||
to_chat(usr, "You have accumulated [points] out of the [goal] points you need for freedom.")
|
||||
|
||||
|
||||
/obj/item/weapon/card/id/prisoner/one
|
||||
name = "Prisoner #13-001"
|
||||
registered_name = "Prisoner #13-001"
|
||||
|
||||
@@ -38,13 +38,10 @@ var/global/list/moneytypes=list(
|
||||
/obj/item/weapon/spacecash/examine(mob/user)
|
||||
if(amount>1)
|
||||
to_chat(user, "\icon[src] This is a stack of [amount] [src]s.")
|
||||
|
||||
else
|
||||
to_chat(user, "\icon[src] This is \a [src]s.")
|
||||
|
||||
to_chat(user, "It's worth [worth*amount] credits.")
|
||||
|
||||
|
||||
/obj/item/weapon/spacecash/update_icon()
|
||||
icon_state = "cash[worth]"
|
||||
// Up to 100 items per stack.
|
||||
@@ -71,7 +68,6 @@ var/global/list/moneytypes=list(
|
||||
if(collected)
|
||||
update_icon()
|
||||
to_chat(user, "<span class='notice'>You add [collected] credit [amount > 1 ? "chips":"chip"] to your stack of cash.</span>")
|
||||
|
||||
else if(istype(A,/obj/item/weapon/spacecash))
|
||||
var/obj/item/weapon/spacecash/cash = A
|
||||
var/collected = src.collect_from(cash)
|
||||
@@ -80,7 +76,6 @@ var/global/list/moneytypes=list(
|
||||
to_chat(user, "<span class='notice'>You add [collected] credit [amount > 1 ? "chips":"chip"] to your stack of cash.</span>")
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/spacecash/proc/get_total()
|
||||
return worth * amount
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
if(armed)
|
||||
armed = 0
|
||||
to_chat(user, "\blue You disarm \the [src].")
|
||||
|
||||
return
|
||||
timing = !timing
|
||||
if(timing)
|
||||
@@ -33,7 +32,6 @@
|
||||
timepassed = 0
|
||||
to_chat(H, "\blue You [timing ? "activate \the [src]'s timer, you have 15 seconds." : "de-activate \the [src]'s timer."]")
|
||||
|
||||
|
||||
process()
|
||||
if(!timing)
|
||||
processing_objects.Remove(src)
|
||||
|
||||
@@ -83,7 +83,6 @@
|
||||
if(F.gun)
|
||||
if(isliving(user) && F.captured)
|
||||
to_chat(user, "<span class='alert'><b>FAIL: <i>[F.captured]</i> already has an existing connection.</b></span>")
|
||||
|
||||
src.field_disconnect(F)
|
||||
else
|
||||
startpos = get_turf(src)
|
||||
@@ -93,7 +92,6 @@
|
||||
to_chat(user, "<span class='notice'>Connection established with target: <b>[F.captured]</b></span>")
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/gun/energy/chrono_gun/proc/field_disconnect(var/obj/effect/chrono_field/F)
|
||||
if(F && field == F)
|
||||
var/mob/living/user = src.loc
|
||||
@@ -101,7 +99,6 @@
|
||||
F.gun = null
|
||||
if(isliving(user) && F.captured)
|
||||
to_chat(user, "<span class='alert'>Disconnected from target: <b>[F.captured]</b></span>")
|
||||
|
||||
field = null
|
||||
startpos = null
|
||||
|
||||
@@ -198,7 +195,6 @@
|
||||
qdel(src)
|
||||
else if(tickstokill <= 0)
|
||||
to_chat(captured, "<span class='boldnotice'>As the last essence of your being is erased from time, you begin to re-experience your most enjoyable memory. You feel happy...</span>")
|
||||
|
||||
var/mob/dead/observer/ghost = captured.ghostize(1)
|
||||
if(captured.mind)
|
||||
if(ghost)
|
||||
|
||||
@@ -103,16 +103,13 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
var/transfered = glass.reagents.trans_to(src, chem_volume)
|
||||
if(transfered) //if reagents were transfered, show the message
|
||||
to_chat(user, "<span class='notice'>You dip \the [src] into \the [glass].</span>")
|
||||
|
||||
else //if not, either the beaker was empty, or the cigarette was full
|
||||
if(!glass.reagents.total_volume)
|
||||
to_chat(user, "<span class='notice'>[glass] is empty.</span>")
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[src] is full.</span>")
|
||||
|
||||
|
||||
|
||||
/obj/item/clothing/mask/cigarette/proc/light(var/flavor_text = "[usr] lights the [name].")
|
||||
if(!src.lit)
|
||||
src.lit = 1
|
||||
@@ -180,7 +177,6 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
reagents.trans_to(C, REAGENTS_METABOLISM)
|
||||
if(!reagents.total_volume) // There were reagents, but now they're gone
|
||||
to_chat(C, "<span class='notice'>Your [name] loses its flavor.</span>")
|
||||
|
||||
else // else just remove some of the reagents
|
||||
reagents.remove_any(REAGENTS_METABOLISM)
|
||||
return
|
||||
@@ -193,7 +189,6 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
if(ismob(loc))
|
||||
var/mob/living/M = loc
|
||||
to_chat(M, "<span class='notice'>Your [name] goes out.</span>")
|
||||
|
||||
M.unEquip(src, 1) //Force the un-equip so the overlays update
|
||||
processing_objects.Remove(src)
|
||||
qdel(src)
|
||||
@@ -309,7 +304,6 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
else
|
||||
to_chat(user, "<span class='notice'>\The [src] straight out REFUSES to be lit by such uncivilized means.</span>")
|
||||
|
||||
|
||||
/////////////////
|
||||
//SMOKING PIPES//
|
||||
/////////////////
|
||||
@@ -345,7 +339,6 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
if(ismob(loc))
|
||||
var/mob/living/M = loc
|
||||
to_chat(M, "<span class='notice'>Your [name] goes out, and you empty the ash.</span>")
|
||||
|
||||
lit = 0
|
||||
icon_state = icon_off
|
||||
item_state = icon_off
|
||||
@@ -365,7 +358,6 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
return
|
||||
if(smoketime <= 0)
|
||||
to_chat(user, "<span class='notice'>You refill the pipe with tobacco.</span>")
|
||||
|
||||
reagents.add_reagent("nicotine", chem_volume)
|
||||
smoketime = initial(smoketime)
|
||||
return
|
||||
@@ -376,7 +368,6 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
else
|
||||
to_chat(user, "<span class='notice'>\The [src] straight out REFUSES to be lit by such means.</span>")
|
||||
|
||||
|
||||
/obj/item/clothing/mask/cigarette/pipe/cobpipe
|
||||
name = "corn cob pipe"
|
||||
desc = "A nicotine delivery system popularized by folksy backwoodsmen and kept popular in the modern age and beyond by space hipsters."
|
||||
@@ -411,13 +402,11 @@ obj/item/weapon/rollingpaperpack/attack_self(mob/user)
|
||||
var/obj/item/weapon/rollingpaper/P = new /obj/item/weapon/rollingpaper()
|
||||
user.put_in_inactive_hand(P)
|
||||
to_chat(user, "You take a paper out of the pack.")
|
||||
|
||||
papers --
|
||||
else
|
||||
var/obj/item/weapon/rollingpaper/P = new /obj/item/weapon/rollingpaper()
|
||||
user.put_in_inactive_hand(P)
|
||||
to_chat(user, "You take the last paper out of the pack, and throw the pack away.")
|
||||
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/rollingpaperpack/MouseDrop(atom/over_object)
|
||||
@@ -440,4 +429,3 @@ obj/item/weapon/rollingpaperpack/attack_self(mob/user)
|
||||
/obj/item/weapon/rollingpaperpack/examine(mob/user)
|
||||
..(user)
|
||||
to_chat(user, "There are [src.papers] left")
|
||||
|
||||
|
||||
@@ -39,18 +39,15 @@
|
||||
//So this is a workaround. This also makes more sense from an IC standpoint. ~Carn
|
||||
if(user.client && (target in user.client.screen))
|
||||
to_chat(user, "<span class='notice'>You need to take that [target.name] off before cleaning it.</span>")
|
||||
|
||||
else if(istype(target,/obj/effect/decal/cleanable))
|
||||
user.visible_message("<span class='warning'>[user] begins to scrub \the [target.name] out with [src].</span>")
|
||||
if(do_after(user, src.cleanspeed, target = target) && target)
|
||||
to_chat(user, "<span class='notice'>You scrub \the [target.name] out.</span>")
|
||||
|
||||
qdel(target)
|
||||
else
|
||||
user.visible_message("<span class='warning'>[user] begins to clean \the [target.name] with [src].</span>")
|
||||
if(do_after(user, src.cleanspeed, target = target))
|
||||
to_chat(user, "<span class='notice'>You clean \the [target.name].</span>")
|
||||
|
||||
var/obj/effect/decal/cleanable/C = locate() in target
|
||||
qdel(C)
|
||||
target.clean_blood()
|
||||
|
||||
@@ -43,7 +43,6 @@
|
||||
/obj/item/weapon/lipstick/attack_self(mob/user as mob)
|
||||
overlays.Cut()
|
||||
to_chat(user, "<span class='notice'>You twist \the [src] [open ? "closed" : "open"].</span>")
|
||||
|
||||
open = !open
|
||||
if(open)
|
||||
var/image/colored = image("icon"='icons/obj/items.dmi', "icon_state"="lipstick_uncap_color")
|
||||
@@ -62,7 +61,6 @@
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.lip_style) //if they already have lipstick on
|
||||
to_chat(user, "<span class='notice'>You need to wipe off the old lipstick first!</span>")
|
||||
|
||||
return
|
||||
if(H == user)
|
||||
user.visible_message("<span class='notice'>[user] does their lips with \the [src].</span>", \
|
||||
@@ -82,7 +80,6 @@
|
||||
else
|
||||
to_chat(user, "<span class='notice'>Where are the lips on that?</span>")
|
||||
|
||||
|
||||
/obj/item/weapon/razor
|
||||
name = "electric razor"
|
||||
desc = "The latest and greatest power razor born from the science of shaving."
|
||||
@@ -97,16 +94,13 @@
|
||||
if(user.zone_sel.selecting == "mouth")
|
||||
if(!get_location_accessible(H, "mouth"))
|
||||
to_chat(user, "<span class='warning'>The mask is in the way.</span>")
|
||||
|
||||
return
|
||||
if(H.species && H.species.flags & ALL_RPARTS) //If the target is of a species that can have prosthetic heads, but doesn't have one...
|
||||
if(!H.client.prefs.rlimb_data["head"])
|
||||
to_chat(user, "<span class='warning'>You find yourself disappointed at the appalling lack of facial hair.</span>")
|
||||
|
||||
return
|
||||
if(H.f_style == "Shaved")
|
||||
to_chat(user, "<span class='notice'>Already clean-shaven.</span>")
|
||||
|
||||
return
|
||||
if(H == user) //shaving yourself
|
||||
user.visible_message("<span class='notice'>[user] starts to shave their facial hair with \the [src].</span>", \
|
||||
@@ -132,16 +126,13 @@
|
||||
if(user.zone_sel.selecting == "head")
|
||||
if(!get_location_accessible(H, "head"))
|
||||
to_chat(user, "<span class='warning'>The headgear is in the way.</span>")
|
||||
|
||||
return
|
||||
if(H.species && H.species.flags & ALL_RPARTS) //If the target is of a species that can have prosthetic heads, but doesn't have one...
|
||||
if(!H.client.prefs.rlimb_data["head"])
|
||||
to_chat(user, "<span class='warning'>You find yourself disappointed at the appalling lack of hair.</span>")
|
||||
|
||||
return
|
||||
if(H.h_style == "Bald" || H.h_style == "Balding Hair" || H.h_style == "Skinhead")
|
||||
to_chat(user, "<span class='notice'>There is not enough hair left to shave...</span>")
|
||||
|
||||
return
|
||||
if(H == user) //shaving yourself
|
||||
user.visible_message("<span class='warning'>[user] starts to shave their head with \the [src].</span>", \
|
||||
|
||||
@@ -78,7 +78,6 @@
|
||||
toggle_paddles()
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>Put the defibrillator on your back first!</span>")
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/defibrillator/attackby(obj/item/weapon/W, mob/user, params)
|
||||
@@ -86,18 +85,15 @@
|
||||
var/obj/item/weapon/stock_parts/cell/C = W
|
||||
if(bcell)
|
||||
to_chat(user, "<span class='notice'>[src] already has a cell.</span>")
|
||||
|
||||
else
|
||||
if(C.maxcharge < paddles.revivecost)
|
||||
to_chat(user, "<span class='notice'>[src] requires a higher capacity cell.</span>")
|
||||
|
||||
return
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
bcell = W
|
||||
to_chat(user, "<span class='notice'>You install a cell in [src].</span>")
|
||||
|
||||
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
if(bcell)
|
||||
bcell.updateicon()
|
||||
@@ -105,7 +101,6 @@
|
||||
bcell = null
|
||||
to_chat(user, "<span class='notice'>You remove the cell from the [src].</span>")
|
||||
|
||||
|
||||
update_icon()
|
||||
return
|
||||
|
||||
@@ -113,12 +108,10 @@
|
||||
if(safety)
|
||||
safety = 0
|
||||
to_chat(user, "<span class='warning'>You silently disable [src]'s safety protocols with the card.")
|
||||
|
||||
else
|
||||
safety = 1
|
||||
to_chat(user, "<span class='notice'>You silently enable [src]'s safety protocols with the card.")
|
||||
|
||||
|
||||
/obj/item/weapon/defibrillator/emp_act(severity)
|
||||
if(bcell)
|
||||
deductcharge(1000 / severity)
|
||||
@@ -146,7 +139,6 @@
|
||||
if(!usr.put_in_hands(paddles))
|
||||
on = 0
|
||||
to_chat(user, "<span class='warning'>You need a free hand to hold the paddles!</span>")
|
||||
|
||||
update_icon()
|
||||
return
|
||||
paddles.loc = user
|
||||
@@ -223,7 +215,6 @@
|
||||
toggle_paddles()
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>Strap the defibrillator's belt on first!</span>")
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/defibrillator/compact/loaded/New()
|
||||
@@ -297,7 +288,6 @@
|
||||
if(istype(O))
|
||||
O.unwield()
|
||||
to_chat(user, "<span class='notice'>The paddles snap back into the main unit.</span>")
|
||||
|
||||
defib.on = 0
|
||||
loc = defib
|
||||
defib.update_icon()
|
||||
@@ -324,15 +314,12 @@
|
||||
return
|
||||
if(!wielded)
|
||||
to_chat(user, "<span class='boldnotice'>You need to wield the paddles in both hands before you can use them on someone!</span>")
|
||||
|
||||
return
|
||||
if(cooldown)
|
||||
to_chat(user, "<span class='notice'>[defib] is recharging.</span>")
|
||||
|
||||
return
|
||||
if(!ishuman(M))
|
||||
to_chat(user, "<span class='notice'>The instructions on [defib] don't mention how to revive that...</span>")
|
||||
|
||||
return
|
||||
else
|
||||
if(user.a_intent == I_HARM && !defib.safety)
|
||||
@@ -414,9 +401,7 @@
|
||||
else if(ghost)
|
||||
user.visible_message("<span class='notice'>[defib] buzzes: Resuscitation failed: Patient's brain is unresponsive. Further attempts may succeed.</span>")
|
||||
to_chat(ghost, "<span class='ghostalert'>Your heart is being defibrillated. Return to your body if you want to be revived!</span> (Verbs -> Ghost -> Re-enter corpse)")
|
||||
|
||||
to_chat(ghost, sound('sound/effects/genetics.ogg'))
|
||||
|
||||
else
|
||||
user.visible_message("<span class='notice'>[defib] buzzes: Resuscitation failed.</span>")
|
||||
playsound(get_turf(src), 'sound/machines/defib_failed.ogg', 50, 0)
|
||||
@@ -431,7 +416,6 @@
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need to target your patient's chest with [src].</span>")
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/borg_defib
|
||||
@@ -457,10 +441,8 @@
|
||||
return
|
||||
if(cooldown)
|
||||
to_chat(user, "<span class='notice'>[src] is recharging.</span>")
|
||||
|
||||
if(!ishuman(M))
|
||||
to_chat(user, "<span class='notice'>This unit is only designed to work on humanoid lifeforms.</span>")
|
||||
|
||||
return
|
||||
else
|
||||
if(user.a_intent == I_HARM && !safety)
|
||||
@@ -538,9 +520,7 @@
|
||||
else if(ghost)
|
||||
user.visible_message("<span class='notice'>[user] buzzes: Resuscitation failed: Patient's brain is unresponsive. Further attempts may succeed.</span>")
|
||||
to_chat(ghost, "<span class='ghostalert'>Your heart is being defibrillated. Return to your body if you want to be revived!</span> (Verbs -> Ghost -> Re-enter corpse)")
|
||||
|
||||
to_chat(ghost, sound('sound/effects/genetics.ogg'))
|
||||
|
||||
else
|
||||
user.visible_message("<span class='warning'>[user] buzzes: Resuscitation failed.</span>")
|
||||
playsound(get_turf(src), 'sound/machines/defib_failed.ogg', 50, 0)
|
||||
@@ -559,5 +539,4 @@
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need to target your patient's chest with [src].</span>")
|
||||
|
||||
return
|
||||
@@ -81,7 +81,6 @@
|
||||
/obj/item/weapon/dice/d4/Crossed(var/mob/living/carbon/human/H)
|
||||
if(istype(H) && !H.shoes)
|
||||
to_chat(H, "<span class='userdanger'>You step on the D4!</span>")
|
||||
|
||||
H.apply_damage(4,BRUTE,(pick("l_leg", "r_leg")))
|
||||
H.Weaken(3)
|
||||
*///ew.
|
||||
|
||||
@@ -33,7 +33,6 @@
|
||||
else
|
||||
to_chat(user, "\red You failed to inject [M.name].")
|
||||
|
||||
|
||||
proc/injected(var/mob/living/carbon/target, var/mob/living/carbon/user)
|
||||
scramble(1, target, 100)
|
||||
target.generate_name()
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
/obj/item/weapon/c4/suicide_act(var/mob/user)
|
||||
. = (BRUTELOSS)
|
||||
to_chat(viewers(user), "<span class='suicide'>[user] activates the C4 and holds it above his head! It looks like \he's going out with a bang!</span>")
|
||||
|
||||
var/message_say = "FOR NO RAISIN!"
|
||||
if(user.mind)
|
||||
if(user.mind.special_role)
|
||||
@@ -57,7 +56,6 @@
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
open_panel = !open_panel
|
||||
to_chat(user, "<span class='notice'>You [open_panel ? "open" : "close"] the wire panel.</span>")
|
||||
|
||||
else if(istype(I, /obj/item/weapon/wirecutters) || istype(I, /obj/item/device/multitool) || istype(I, /obj/item/device/assembly/signaler ))
|
||||
wires.Interact(user)
|
||||
else
|
||||
@@ -75,7 +73,6 @@
|
||||
to_chat(user, "Timer set for [timer] seconds.")
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/c4/afterattack(atom/target as obj|turf, mob/user as mob, flag)
|
||||
if (!flag)
|
||||
return
|
||||
@@ -83,7 +80,6 @@
|
||||
return
|
||||
to_chat(user, "Planting explosives...")
|
||||
|
||||
|
||||
if(do_after(user, 50, target = target) && in_range(user, target))
|
||||
user.drop_item()
|
||||
src.target = target
|
||||
@@ -101,7 +97,6 @@
|
||||
|
||||
target.overlays += image('icons/obj/assemblies.dmi', "plastic-explosive2")
|
||||
to_chat(user, "Bomb has been planted. Timer counting down from [timer].")
|
||||
|
||||
spawn(timer*10)
|
||||
explode(get_turf(target))
|
||||
|
||||
|
||||
@@ -38,13 +38,11 @@
|
||||
/obj/item/weapon/extinguisher/examine(mob/user)
|
||||
if(..(user, 0))
|
||||
to_chat(usr, "\icon[src] [src.name] contains:")
|
||||
|
||||
if(reagents && reagents.reagent_list.len)
|
||||
for(var/datum/reagent/R in reagents.reagent_list)
|
||||
to_chat(user, "\blue [R.volume] units of [R.name]")
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/extinguisher/New()
|
||||
create_reagents(max_water)
|
||||
reagents.add_reagent("water", max_water)
|
||||
@@ -54,7 +52,6 @@
|
||||
src.icon_state = "[sprite_name][!safety]"
|
||||
src.desc = "The safety is [safety ? "on" : "off"]."
|
||||
to_chat(user, "The safety is [safety ? "on" : "off"].")
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/extinguisher/proc/AttemptRefill(atom/target, mob/user)
|
||||
@@ -63,20 +60,17 @@
|
||||
safety = 1
|
||||
if(reagents.total_volume == reagents.maximum_volume)
|
||||
to_chat(user, "<span class='notice'>\The [src] is already full!</span>")
|
||||
|
||||
safety = safety_save
|
||||
return 1
|
||||
var/obj/structure/reagent_dispensers/watertank/W = target
|
||||
var/transferred = W.reagents.trans_to(src, max_water)
|
||||
if(transferred > 0)
|
||||
to_chat(user, "<span class='notice'>\The [src] has been refilled by [transferred] units</span>")
|
||||
|
||||
playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6)
|
||||
for(var/datum/reagent/water/R in reagents.reagent_list)
|
||||
R.cooling_temperature = cooling_power
|
||||
else
|
||||
to_chat(user, "<span class='notice'>\The [W] is empty!</span>")
|
||||
|
||||
safety = safety_save
|
||||
return 1
|
||||
else
|
||||
@@ -92,7 +86,6 @@
|
||||
if (!safety)
|
||||
if (src.reagents.total_volume < 1)
|
||||
to_chat(usr, "<span class='danger'>\The [src] is empty.</span>")
|
||||
|
||||
return
|
||||
|
||||
if (world.time < src.last_use + 20)
|
||||
|
||||
@@ -10,7 +10,6 @@ obj/item/weapon/firework/attackby(obj/item/weapon/W,mob/user, params)
|
||||
if (istype(W, /obj/item/weapon/weldingtool) && W:welding || istype(W,/obj/item/weapon/lighter) && W:lit)
|
||||
for(var/mob/M in viewers(user))
|
||||
to_chat(M, "[user] lits \the [src]")
|
||||
|
||||
litzor = 1
|
||||
icon_state = "rocket_1"
|
||||
S = new()
|
||||
@@ -33,7 +32,6 @@ obj/item/weapon/sparkler/attackby(obj/item/weapon/W,mob/user, params)
|
||||
if (istype(W, /obj/item/weapon/weldingtool) && W:welding || istype(W,/obj/item/weapon/lighter) && W:lit)
|
||||
for(var/mob/M in viewers(user))
|
||||
to_chat(M, "[user] lits \the [src]")
|
||||
|
||||
litzor = 1
|
||||
icon_state = "sparkler_1"
|
||||
var/b = rand(5,9)
|
||||
|
||||
@@ -94,7 +94,6 @@
|
||||
if(isscrewdriver(W) && igniter && !lit)
|
||||
status = !status
|
||||
to_chat(user, "<span class='notice'>[igniter] is now [status ? "secured" : "unsecured"]!</span>")
|
||||
|
||||
update_icon()
|
||||
return
|
||||
|
||||
@@ -111,7 +110,6 @@
|
||||
if(istype(W,/obj/item/weapon/tank/plasma))
|
||||
if(ptank)
|
||||
to_chat(user, "<span class='notice'>There appears to already be a plasma tank loaded in [src]!</span>")
|
||||
|
||||
return
|
||||
user.drop_item()
|
||||
ptank = W
|
||||
@@ -130,7 +128,6 @@
|
||||
user.set_machine(src)
|
||||
if(!ptank)
|
||||
to_chat(user, "<span class='notice'>Attach a plasma tank first!</span>")
|
||||
|
||||
return
|
||||
var/dat = text("<TT><B>Flamethrower (<A HREF='?src=\ref[src];light=1'>[lit ? "<font color='red'>Lit</font>" : "Unlit"]</a>)</B><BR>\n Tank Pressure: [ptank.air_contents.return_pressure()]<BR>\nAmount to throw: <A HREF='?src=\ref[src];amount=-100'>-</A> <A HREF='?src=\ref[src];amount=-10'>-</A> <A HREF='?src=\ref[src];amount=-1'>-</A> [throw_amount] <A HREF='?src=\ref[src];amount=1'>+</A> <A HREF='?src=\ref[src];amount=10'>+</A> <A HREF='?src=\ref[src];amount=100'>+</A><BR>\n<A HREF='?src=\ref[src];remove=1'>Remove plasmatank</A> - <A HREF='?src=\ref[src];close=1'>Close</A></TT>")
|
||||
user << browse(dat, "window=flamethrower;size=600x300")
|
||||
|
||||
@@ -56,12 +56,10 @@
|
||||
|
||||
if(!wielded)
|
||||
to_chat(user, "<span class = 'warning'>You must use both hands to garrote [M]!</span>")
|
||||
|
||||
return
|
||||
|
||||
if(!istype(M, /mob/living/carbon/human))
|
||||
to_chat(user, "<span class = 'warning'>You don't think that garroting [M] would be very effective...</span>")
|
||||
|
||||
return
|
||||
|
||||
if(M == U)
|
||||
@@ -70,16 +68,13 @@
|
||||
|
||||
if(M.dir != U.dir)
|
||||
to_chat(user, "<span class='warning'>You cannot use [src] on [M] from that angle!</span>")
|
||||
|
||||
return
|
||||
|
||||
if(improvised && ((M.head && (M.head.flags & HEADCOVERSMOUTH)) || (M.wear_mask && (M.wear_mask.flags & MASKCOVERSMOUTH)))) // Improvised garrotes are blocked by mouth-covering items.
|
||||
to_chat(user, "<span class = 'warning'>[M]'s neck is blocked by something they're wearing!</span>")
|
||||
|
||||
|
||||
if(strangling)
|
||||
to_chat(user, "<span class = 'warning'>You cannot use [src] on two people at once!</span>")
|
||||
|
||||
return
|
||||
|
||||
unwield(U)
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
src.gift.add_fingerprint(user)
|
||||
else
|
||||
to_chat(user, "\blue The gift was empty!")
|
||||
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
@@ -44,18 +43,15 @@
|
||||
return
|
||||
to_chat(user, "\blue You cant move.")
|
||||
|
||||
|
||||
/obj/effect/spresent/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
..()
|
||||
|
||||
if (!istype(W, /obj/item/weapon/wirecutters))
|
||||
to_chat(user, "\blue I need wirecutters for that.")
|
||||
|
||||
return
|
||||
|
||||
to_chat(user, "\blue You cut open the present.")
|
||||
|
||||
|
||||
for(var/mob/M in src) //Should only be one but whatever.
|
||||
M.loc = src.loc
|
||||
if (M.client)
|
||||
@@ -146,4 +142,3 @@
|
||||
|
||||
/obj/item/stack/wrapping_paper/attack_self(mob/user)
|
||||
to_chat(user, "<span class='notice'>You need to use it on a package that has already been wrapped!</span>")
|
||||
|
||||
|
||||
@@ -41,12 +41,10 @@ var/turf/T
|
||||
if(istype(I, /obj/item/weapon/bananapeel))
|
||||
if(fillamt < 9)
|
||||
to_chat(usr, "<span class='notice'>You add another banana peel to the assembly.</span>")
|
||||
|
||||
fillamt += 1
|
||||
qdel(I)
|
||||
else
|
||||
to_chat(usr, "<span class='notice'>The bananade is full, screwdriver it shut to lock it down.</span>")
|
||||
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
if(fillamt)
|
||||
var/obj/item/weapon/grenade/bananade/G = new /obj/item/weapon/grenade/bananade
|
||||
@@ -54,11 +52,8 @@ var/turf/T
|
||||
user.put_in_hands(G)
|
||||
G.deliveryamt = src.fillamt
|
||||
to_chat(user, "<span class='notice'>You lock the assembly shut, readying it for HONK.</span>")
|
||||
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(usr, "<span class='notice'>You need to add banana peels before you can ready the grenade!.</span>")
|
||||
|
||||
else
|
||||
to_chat(usr, "<span class='notice'>Only banana peels fit in this assembly, up to 9.</span>")
|
||||
|
||||
|
||||
@@ -94,7 +94,6 @@
|
||||
log_game("[key_name(usr)] has primed a [name] for detonation at [A.name] ([bombturf.x],[bombturf.y],[bombturf.z])")
|
||||
bombers += "[key_name(usr)] has primed a [name] for detonation at [A.name] ([bombturf.x],[bombturf.y],[bombturf.z])"
|
||||
to_chat(user, "<span class='warning'>You prime the [name]! [det_time / 10] second\s!</span>")
|
||||
|
||||
active = 1
|
||||
update_icon()
|
||||
if(iscarbon(user))
|
||||
@@ -115,13 +114,11 @@
|
||||
label = null
|
||||
update_icon()
|
||||
to_chat(user, "You remove the label from [src].")
|
||||
|
||||
return 1
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
if(stage == WIRED)
|
||||
if(beakers.len)
|
||||
to_chat(user, "<span class='notice'>You lock the assembly.</span>")
|
||||
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 25, -3)
|
||||
stage = READY
|
||||
update_icon()
|
||||
@@ -144,31 +141,25 @@
|
||||
log_game("[key_name(usr)] has completed [name] at [bombturf.x], [bombturf.y], [bombturf.z].")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need to add at least one beaker before locking the assembly.</span>")
|
||||
|
||||
else if(stage == READY && !nadeassembly)
|
||||
det_time = det_time == 50 ? 30 : 50 //toggle between 30 and 50
|
||||
to_chat(user, "<span class='notice'>You modify the time delay. It's set for [det_time / 10] second\s.</span>")
|
||||
|
||||
else if(stage == EMPTY)
|
||||
to_chat(user, "<span class='notice'>You need to add an activation mechanism.</span>")
|
||||
|
||||
|
||||
else if(stage == WIRED && is_type_in_list(I, allowed_containers))
|
||||
if(beakers.len == 2)
|
||||
to_chat(user, "<span class='notice'>[src] can not hold more containers.</span>")
|
||||
|
||||
return
|
||||
else
|
||||
if(I.reagents.total_volume)
|
||||
to_chat(user, "<span class='notice'>You add [I] to the assembly.</span>")
|
||||
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
beakers += I
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[I] is empty.</span>")
|
||||
|
||||
|
||||
else if(stage == EMPTY && istype(I, /obj/item/device/assembly_holder))
|
||||
var/obj/item/device/assembly_holder/A = I
|
||||
if(!A.secured)
|
||||
@@ -183,7 +174,6 @@
|
||||
assemblyattacher = user.ckey
|
||||
stage = WIRED
|
||||
to_chat(user, "<span class='notice'>You add [A] to [src]!</span>")
|
||||
|
||||
update_icon()
|
||||
|
||||
else if(stage == EMPTY && istype(I, /obj/item/stack/cable_coil))
|
||||
@@ -192,18 +182,15 @@
|
||||
|
||||
stage = WIRED
|
||||
to_chat(user, "<span class='notice'>You rig [src].</span>")
|
||||
|
||||
update_icon()
|
||||
|
||||
else if(stage == READY && istype(I, /obj/item/weapon/wirecutters))
|
||||
to_chat(user, "<span class='notice'>You unlock the assembly.</span>")
|
||||
|
||||
stage = WIRED
|
||||
update_icon()
|
||||
|
||||
else if(stage == WIRED && istype(I, /obj/item/weapon/wrench))
|
||||
to_chat(user, "<span class='notice'>You open the grenade and remove the contents.</span>")
|
||||
|
||||
stage = EMPTY
|
||||
payload_name = null
|
||||
label = null
|
||||
@@ -396,7 +383,6 @@
|
||||
/obj/item/weapon/grenade/chem_grenade/large/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/slime_extract) && stage == WIRED)
|
||||
to_chat(user, "<span class='notice'>You add [I] to the assembly.</span>")
|
||||
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
beakers += I
|
||||
|
||||
@@ -70,7 +70,6 @@
|
||||
return
|
||||
else
|
||||
to_chat(M, "\red Your feet feel like they're on fire!")
|
||||
|
||||
M.take_overall_damage(0, max(0, (burned - 2)))
|
||||
|
||||
if(!istype(M, /mob/living/carbon/slime) && !isrobot(M))
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
if(M.weakeyes)
|
||||
M.visible_message("<span class='disarm'><b>[M]</b> screams and collapses!</span>")
|
||||
to_chat(M, "<span class='userdanger'><font size=3>AAAAGH!</font></span>")
|
||||
|
||||
M.Weaken(15) //hella stunned
|
||||
M.Stun(15)
|
||||
if(ishuman(M))
|
||||
@@ -56,12 +55,9 @@
|
||||
M.ear_deaf = max(M.ear_deaf,15)
|
||||
if (M.ear_damage >= 15)
|
||||
to_chat(M, "<span class='warning'>Your ears start to ring badly!</span>")
|
||||
|
||||
if(prob(M.ear_damage - 10 + 5))
|
||||
to_chat(M, "<span class='warning'>You can't hear anything!</span>")
|
||||
|
||||
M.disabilities |= DEAF
|
||||
else
|
||||
if (M.ear_damage >= 5)
|
||||
to_chat(M, "<span class='warning'>Your ears start to ring!</span>")
|
||||
|
||||
|
||||
@@ -39,13 +39,11 @@
|
||||
if( istype(target, /obj/structure/reagent_dispensers/fueltank))
|
||||
if(target.reagents.total_volume < 50)
|
||||
to_chat(user, "<span class='notice'>There's not enough fuel left to work with.</span>")
|
||||
|
||||
return
|
||||
var/obj/structure/reagent_dispensers/fueltank/F = target
|
||||
F.reagents.remove_reagent("fuel", 50, 1)//Deleting 50 fuel from the welding fuel tank,
|
||||
assembled = 1
|
||||
to_chat(user, "<span class='notice'>You've filled the makeshift explosive with welding fuel.</span>")
|
||||
|
||||
playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6)
|
||||
desc = "An improvised explosive assembly. Filled to the brim with 'Explosive flavor'"
|
||||
overlays += image('icons/obj/grenade.dmi', icon_state = "improvised_grenade_filled")
|
||||
@@ -59,7 +57,6 @@
|
||||
C.use(1)
|
||||
assembled = 2
|
||||
to_chat(user, "<span class='notice'>You wire the igniter to detonate the fuel.</span>")
|
||||
|
||||
desc = "A weak, improvised explosive."
|
||||
overlays += image('icons/obj/grenade.dmi', icon_state = "improvised_grenade_wired")
|
||||
name = "improvised explosive"
|
||||
@@ -106,7 +103,6 @@
|
||||
if(!active)
|
||||
if(clown_check(user))
|
||||
to_chat(user, "<span class='warning'>You light the [name]!</span>")
|
||||
|
||||
active = 1
|
||||
overlays -= image('icons/obj/grenade.dmi', icon_state = "improvised_grenade_filled")
|
||||
icon_state = initial(icon_state) + "_active"
|
||||
@@ -130,4 +126,3 @@
|
||||
/obj/item/weapon/grenade/iedcasing/examine(mob/user)
|
||||
..(user)
|
||||
to_chat(user, "You can't tell when it will explode!")
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
/obj/item/weapon/grenade/proc/clown_check(var/mob/living/user)
|
||||
if((CLUMSY in user.mutations) && prob(50))
|
||||
to_chat(user, "<span class='warning'>Huh? How does this thing work?</span>")
|
||||
|
||||
active = 1
|
||||
icon_state = initial(icon_state) + "_active"
|
||||
playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
|
||||
@@ -33,7 +32,6 @@
|
||||
if (istype(target, /obj/item/weapon/gun/grenadelauncher)) return ..()
|
||||
if((user.get_active_hand() == src) && (!active) && (clown_check(user)) && target.loc != src.loc)
|
||||
to_chat(user, "<span class='warning'>You prime the [name]! [det_time/10] seconds!</span>")
|
||||
|
||||
active = 1
|
||||
icon_state = initial(icon_state) + "_active"
|
||||
playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
|
||||
@@ -52,16 +50,13 @@
|
||||
if(display_timer)
|
||||
if(det_time > 1)
|
||||
to_chat(user, "The timer is set to [det_time/10] second\s.")
|
||||
|
||||
else
|
||||
to_chat(user, "\The [src] is set for instant detonation.")
|
||||
|
||||
|
||||
/obj/item/weapon/grenade/attack_self(mob/user as mob)
|
||||
if(!active)
|
||||
if(clown_check(user))
|
||||
to_chat(user, "<span class='warning'>You prime the [name]! [det_time/10] seconds!</span>")
|
||||
|
||||
active = 1
|
||||
icon_state = initial(icon_state) + "_active"
|
||||
add_fingerprint(user)
|
||||
@@ -91,19 +86,15 @@
|
||||
if ("1")
|
||||
det_time = 10
|
||||
to_chat(user, "<span class='notice'>You set the [name] for 1 second detonation time.</span>")
|
||||
|
||||
if ("10")
|
||||
det_time = 30
|
||||
to_chat(user, "<span class='notice'>You set the [name] for 3 second detonation time.</span>")
|
||||
|
||||
if ("30")
|
||||
det_time = 50
|
||||
to_chat(user, "<span class='notice'>You set the [name] for 5 second detonation time.</span>")
|
||||
|
||||
if ("50")
|
||||
det_time = 1
|
||||
to_chat(user, "<span class='notice'>You set the [name] for instant detonation.</span>")
|
||||
|
||||
add_fingerprint(user)
|
||||
..()
|
||||
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
|
||||
if(CLUMSY in user.mutations && prob(50))
|
||||
to_chat(user, "<span class='warning'>Uh... how do those things work?!</span>")
|
||||
|
||||
apply_cuffs(user,user)
|
||||
|
||||
if(!C.handcuffed)
|
||||
@@ -33,7 +32,6 @@
|
||||
if(do_mob(user, C, 30))
|
||||
apply_cuffs(C,user)
|
||||
to_chat(user, "<span class='notice'>You handcuff [C].</span>")
|
||||
|
||||
if(istype(src, /obj/item/weapon/restraints/handcuffs/cable))
|
||||
feedback_add_details("handcuffs","C")
|
||||
else
|
||||
@@ -43,7 +41,6 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You fail to handcuff [C].</span>")
|
||||
|
||||
|
||||
/obj/item/weapon/restraints/handcuffs/proc/apply_cuffs(mob/living/carbon/target, mob/user)
|
||||
if(!target.handcuffed)
|
||||
user.drop_item()
|
||||
@@ -103,11 +100,9 @@
|
||||
user.unEquip(src)
|
||||
user.put_in_hands(W)
|
||||
to_chat(user, "<span class='notice'>You wrap the cable restraint around the top of the rod.</span>")
|
||||
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need one rod to make a wired rod.</span>")
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/restraints/handcuffs/cable/zipties
|
||||
@@ -128,12 +123,10 @@
|
||||
C.handcuffed = new /obj/item/weapon/restraints/handcuffs/cable/zipties/used(C)
|
||||
C.update_inv_handcuffed(1)
|
||||
to_chat(user, "<span class='notice'>You handcuff [C].</span>")
|
||||
|
||||
add_logs(C, user, "ziptie-cuffed")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You fail to handcuff [C].</span>")
|
||||
|
||||
|
||||
/obj/item/weapon/restraints/handcuffs/cable/zipties/used
|
||||
desc = "A pair of broken zipties."
|
||||
icon_state = "cuff_white_used"
|
||||
@@ -182,18 +175,15 @@
|
||||
icon_state = "beartrap[armed]"
|
||||
to_chat(user, "<span class='notice'>[src] is now [armed ? "armed" : "disarmed"]</span>")
|
||||
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/beartrap/attackby(var/obj/item/I, mob/user as mob) //Let's get explosive.
|
||||
if(istype(I, /obj/item/weapon/grenade/iedcasing))
|
||||
if(IED)
|
||||
to_chat(user, "<span class='warning'>This beartrap already has an IED hooked up to it!</span>")
|
||||
|
||||
return
|
||||
IED = I
|
||||
switch(IED.assembled)
|
||||
if(0,1) //if it's not fueled/hooked up
|
||||
to_chat(user, "<span class='warning'>You haven't prepared this IED yet!</span>")
|
||||
|
||||
IED = null
|
||||
return
|
||||
if(2,3)
|
||||
@@ -202,11 +192,9 @@
|
||||
message_admins("[key_name_admin(user)] has rigged a beartrap with an IED.")
|
||||
log_game("[key_name(user)] has rigged a beartrap with an IED.")
|
||||
to_chat(user, "<span class='notice'>You sneak the [IED] underneath the pressure plate and connect the trigger wire.</span>")
|
||||
|
||||
desc = "A trap used to catch bears and other legged creatures. <span class='warning'>There is an IED hooked up to it.</span>"
|
||||
else
|
||||
to_chat(user, "<span class='danger'>You shouldn't be reading this message! Contact a coder or someone, something broke!</span>")
|
||||
|
||||
IED = null
|
||||
return
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
@@ -214,7 +202,6 @@
|
||||
IED.forceMove(get_turf(src))
|
||||
IED = null
|
||||
to_chat(user, "<span class='notice'>You remove the IED from the [src].</span>")
|
||||
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
var/obj/effect/overlay/holograph/H = locate() in T
|
||||
if(H)
|
||||
to_chat(user, "<span class='notice'>You use [src] to destroy [H].</span>")
|
||||
|
||||
signs -= H
|
||||
qdel(H)
|
||||
else
|
||||
@@ -27,11 +26,9 @@
|
||||
H = new(get_turf(target))
|
||||
signs += H
|
||||
to_chat(user, "<span class='notice'>You create \a [H] with [src].</span>")
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[src] is projecting at max capacity!</span>")
|
||||
|
||||
|
||||
/obj/item/weapon/holosign_creator/attack(mob/living/carbon/human/M, mob/user)
|
||||
return
|
||||
|
||||
@@ -43,7 +40,6 @@
|
||||
signs -= sign
|
||||
to_chat(user, "<span class='notice'>You clear all active holograms.</span>")
|
||||
|
||||
|
||||
/obj/effect/overlay/holograph
|
||||
name = "wet floor sign"
|
||||
desc = "The words flicker as if they mean nothing."
|
||||
|
||||
@@ -47,10 +47,8 @@
|
||||
injectamount = cause
|
||||
reagents.trans_to(R, injectamount)
|
||||
to_chat(R, "<span class='italics'>You hear a faint beep.</span>")
|
||||
|
||||
if(!reagents.total_volume)
|
||||
to_chat(R, "<span class='italics'>You hear a faint click from your chest.</span>")
|
||||
|
||||
qdel(src)
|
||||
|
||||
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
medium = round(medium)
|
||||
weak = round(weak)
|
||||
to_chat(imp_in, "<span class='notice'>You activate your microbomb implant.</span>")
|
||||
|
||||
//If the delay is short, just blow up already jeez
|
||||
if(delay <= 7)
|
||||
explosion(src,heavy,medium,weak,weak, flame_range = weak)
|
||||
@@ -87,7 +86,6 @@
|
||||
if(cause == "action_button" && alert(imp_in, "Are you sure you want to activate your macrobomb implant? This will cause you to explode and gib!", "Macrobomb Implant Confirmation", "Yes", "No") != "Yes")
|
||||
return 0
|
||||
to_chat(imp_in, "<span class='notice'>You activate your macrobomb implant.</span>")
|
||||
|
||||
timed_explosion()
|
||||
|
||||
/obj/item/weapon/implant/explosive/macro/implant(mob/source)
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
if(uses == 0) return 0
|
||||
if(uses != -1) uses--
|
||||
to_chat(imp_in, "You feel a faint click.")
|
||||
|
||||
if(iscarbon(imp_in))
|
||||
var/mob/living/carbon/C_imp_in = imp_in
|
||||
C_imp_in.uncuff()
|
||||
|
||||
@@ -28,10 +28,8 @@
|
||||
ticker.mode.remove_revolutionary(target.mind)
|
||||
if(target.mind in ticker.mode.cult)
|
||||
to_chat(target, "<span class='warning'>You feel the corporate tendrils of Nanotrasen try to invade your mind!</span>")
|
||||
|
||||
else
|
||||
to_chat(target, "<span class='notice'>You feel a surge of loyalty towards Nanotrasen.</span>")
|
||||
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -39,7 +37,6 @@
|
||||
if(..())
|
||||
if(target.stat != DEAD && !silent)
|
||||
to_chat(target, "<span class='boldnotice'>You feel a sense of liberation as Nanotrasen's grip on your mind fades away.</span>")
|
||||
|
||||
return 1
|
||||
return 0
|
||||
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
if(uses < 1) return 0
|
||||
uses--
|
||||
to_chat(imp_in, "<span class='notice'>You feel a sudden surge of energy!</span>")
|
||||
|
||||
imp_in.SetStunned(0)
|
||||
imp_in.SetWeakened(0)
|
||||
imp_in.SetParalysis(0)
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
return 0
|
||||
if(M == user)
|
||||
to_chat(user, "<span class='notice'>Making yourself loyal to yourself was a great idea! Perhaps even the best idea ever! Actually, you just feel like an idiot.</span>")
|
||||
|
||||
if(isliving(user))
|
||||
var/mob/living/L = user
|
||||
L.adjustBrainLoss(20)
|
||||
@@ -46,7 +45,6 @@
|
||||
return -1
|
||||
H.implanting = 1
|
||||
to_chat(H, "<span class='notice'>You feel completely loyal to [user.name].</span>")
|
||||
|
||||
if(!(user.mind in ticker.mode:implanter))
|
||||
ticker.mode:implanter[ref] = list()
|
||||
implanters = ticker.mode:implanter[ref]
|
||||
@@ -58,7 +56,6 @@
|
||||
ticker.mode.traitors += H.mind
|
||||
H.mind.special_role = "traitor"
|
||||
to_chat(H, "<span class='warning'><B>You're now completely loyal to [user.name]!</B> You now must lay down your life to protect them and assist in their goals at any cost.</span>")
|
||||
|
||||
var/datum/objective/protect/p = new
|
||||
p.owner = H.mind
|
||||
p.target = user:mind
|
||||
@@ -67,7 +64,6 @@
|
||||
for(var/datum/objective/objective in H.mind.objectives)
|
||||
to_chat(H, "<B>Objective #1</B>: [objective.explanation_text]")
|
||||
|
||||
|
||||
ticker.mode.update_traitor_icons_added(user.mind)
|
||||
ticker.mode.update_traitor_icons_added(H.mind)//handles datahuds/observerhuds
|
||||
|
||||
|
||||
@@ -82,7 +82,6 @@
|
||||
var/mob/M = G.affecting
|
||||
if(M.buckled_mob)
|
||||
to_chat(usr, "[M] will not fit into [src] because they have a slime latched onto their head.")
|
||||
|
||||
return
|
||||
if(put_mob(M))
|
||||
qdel(G)
|
||||
@@ -110,11 +109,9 @@
|
||||
/obj/machinery/implantchair/put_mob(mob/living/carbon/M)
|
||||
if(!iscarbon(M))
|
||||
to_chat(usr, "<span class='warning'>The [src.name] cannot hold this!</span>")
|
||||
|
||||
return
|
||||
if(src.occupant)
|
||||
to_chat(usr, "<span class='warning'>The [src.name] is already occupied!</span>")
|
||||
|
||||
return
|
||||
if(M.client)
|
||||
M.client.perspective = EYE_PERSPECTIVE
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
if(imp.implant(M, user))
|
||||
if (M == user)
|
||||
to_chat(user, "<span class='notice'>You implant yourself.</span>")
|
||||
|
||||
else
|
||||
M.visible_message("[user] has implanted [M].", "<span class='notice'>[user] implants you.</span>")
|
||||
imp = null
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
return
|
||||
if(case)
|
||||
to_chat(user, "<span class='warning'>There's already an implant in the pad!</span>")
|
||||
|
||||
return
|
||||
user.unEquip(C)
|
||||
C.forceMove(src)
|
||||
@@ -38,7 +37,6 @@
|
||||
/obj/item/weapon/implantpad/proc/dropcase(mob/user as mob)
|
||||
if(!case)
|
||||
to_chat(user, "<span class='warning'>There's no implant in the pad!</span>")
|
||||
|
||||
return
|
||||
if(user)
|
||||
if(user.put_in_hands(case))
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
|
||||
/obj/item/weapon/legcuffs/bolas/suicide_act(mob/living/user)
|
||||
to_chat(viewers(user), "<span class='danger'>[user] is wrapping the [src.name] around \his neck! It looks like \he's trying to commit suicide.</span>")
|
||||
|
||||
return(OXYLOSS)
|
||||
|
||||
/obj/item/weapon/legcuffs/bolas/throw_at(var/atom/A, throw_range, throw_speed)
|
||||
@@ -41,7 +40,6 @@
|
||||
var/mob/living/carbon/human/H = usr
|
||||
if((CLUMSY in H.mutations) && prob(50))
|
||||
to_chat(H, "<span class='warning'>You smack yourself in the face while swinging the [src]!</span>")
|
||||
|
||||
H.Stun(2)
|
||||
H.drop_item(src)
|
||||
return
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
user.visible_message("<span class='notice'>After a few attempts, [user] manages to light the [src].</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You burn yourself while lighting the lighter.</span>")
|
||||
|
||||
user.adjustFireLoss(5)
|
||||
user.visible_message("<span class='notice'>After a few attempts, [user] manages to light the [src], they however burn their finger in the process.</span>")
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
/obj/item/weapon/melee/energy/attack_self(mob/living/carbon/user)
|
||||
if(user.disabilities & CLUMSY && prob(50))
|
||||
to_chat(user, "<span class='warning'>You accidentally cut yourself with [src], like a doofus!</span>")
|
||||
|
||||
user.take_organ_damage(5,5)
|
||||
active = !active
|
||||
if (active)
|
||||
@@ -33,7 +32,6 @@
|
||||
w_class = w_class_on
|
||||
playsound(user, 'sound/weapons/saberon.ogg', 35, 1) //changed it from 50% volume to 35% because deafness
|
||||
to_chat(user, "<span class='notice'>[src] is now active.</span>")
|
||||
|
||||
else
|
||||
force = initial(force)
|
||||
throwforce = initial(throwforce)
|
||||
@@ -44,7 +42,6 @@
|
||||
w_class = initial(w_class)
|
||||
playsound(user, 'sound/weapons/saberoff.ogg', 35, 1) //changed it from 50% volume to 35% because deafness
|
||||
to_chat(user, "<span class='notice'>[src] can now be concealed.</span>")
|
||||
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = user
|
||||
H.update_inv_l_hand()
|
||||
@@ -110,7 +107,6 @@
|
||||
if(active && !(C.use(hitcost)))
|
||||
attack_self()
|
||||
to_chat(R, "<span class='notice'>It's out of charge!</span>")
|
||||
|
||||
return
|
||||
..()
|
||||
return
|
||||
@@ -157,12 +153,10 @@
|
||||
if(istype(W, /obj/item/weapon/melee/energy/sword/saber))
|
||||
if(W == src)
|
||||
to_chat(user, "<span class='notice'>You try to attach the end of the energy sword to... itself. You're not very smart, are you?</span>")
|
||||
|
||||
if(ishuman(user))
|
||||
user.adjustBrainLoss(10)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You attach the ends of the two energy swords, making a single double-bladed weapon! You're cool.</span>")
|
||||
|
||||
var/obj/item/weapon/twohanded/dualsaber/newSaber = new /obj/item/weapon/twohanded/dualsaber(user.loc)
|
||||
if(src.hacked) // That's right, we'll only check the "original" esword.
|
||||
newSaber.hacked = 1
|
||||
@@ -178,7 +172,6 @@
|
||||
item_color = "rainbow"
|
||||
to_chat(user, "<span class='warning'>RNBW_ENGAGE</span>")
|
||||
|
||||
|
||||
if(active)
|
||||
icon_state = "swordrainbow"
|
||||
// Updating overlays, copied from welder code.
|
||||
@@ -191,7 +184,6 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>It's already fabulous!</span>")
|
||||
|
||||
|
||||
/obj/item/weapon/melee/energy/sword/pirate
|
||||
name = "energy cutlass"
|
||||
desc = "Arrrr matey."
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
|
||||
/obj/item/weapon/melee/chainofcommand/suicide_act(mob/user)
|
||||
to_chat(viewers(user), "<span class='suicide'>[user] is strangling \himself with the [src.name]! It looks like \he's trying to commit suicide.</span>")
|
||||
|
||||
return (OXYLOSS)
|
||||
|
||||
|
||||
|
||||
@@ -94,7 +94,6 @@
|
||||
afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params)
|
||||
var/angle = get_angle(A, user)
|
||||
// to_chat(world, angle)
|
||||
|
||||
angle = round(angle) + 45
|
||||
if(angle > 180)
|
||||
angle -= 180
|
||||
@@ -104,10 +103,8 @@
|
||||
if(!angle)
|
||||
angle = 1
|
||||
// to_chat(world, "adjusted [angle]")
|
||||
|
||||
icon_state = "[angle]"
|
||||
// to_chat(world, "[angle] [(get_dist(user, A) - 1)]")
|
||||
|
||||
user.Beam(A, "lightning", 'icons/obj/zap.dmi', 50, 15)
|
||||
|
||||
/obj/item/weapon/newton
|
||||
|
||||
@@ -40,7 +40,6 @@
|
||||
|
||||
if(reagents.total_volume < 1)
|
||||
to_chat(user, "<span class='warning'>Your mop is dry!</span>")
|
||||
|
||||
return
|
||||
|
||||
var/turf/simulated/turf = A
|
||||
@@ -53,7 +52,6 @@
|
||||
|
||||
if(do_after(user, src.mopspeed, target = turf))
|
||||
to_chat(user, "<span class='notice'>You finish mopping.</span>")
|
||||
|
||||
clean(turf)
|
||||
|
||||
|
||||
@@ -70,7 +68,6 @@
|
||||
/obj/item/weapon/mop/wash(mob/user, atom/source)
|
||||
reagents.add_reagent("water", 5)
|
||||
to_chat(user, "<span class='notice'>You wet [src] in [source].</span>")
|
||||
|
||||
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
|
||||
return 1
|
||||
|
||||
|
||||
@@ -21,29 +21,24 @@
|
||||
..()
|
||||
if(!in_range(user, src))
|
||||
to_chat(user, "<span class='notice'>You'll need to get closer to see any more.</span>")
|
||||
|
||||
return
|
||||
for(var/obj/item/I in loadedItems)
|
||||
spawn(0)
|
||||
to_chat(user, "<span class='info'>\icon [I] It has \the [I] loaded.</span>")
|
||||
|
||||
if(tank)
|
||||
to_chat(user, "<span class='notice'>\icon [tank] It has \the [tank] mounted onto it.</span>")
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/pneumatic_cannon/attackby(obj/item/weapon/W, mob/user, params)
|
||||
..()
|
||||
if(istype(W, /obj/item/weapon/tank/) && !tank)
|
||||
if(istype(W, /obj/item/weapon/tank/emergency_oxygen))
|
||||
to_chat(user, "<span class='warning'>\The [W] is too small for \the [src].</span>")
|
||||
|
||||
return
|
||||
updateTank(W, 0, user)
|
||||
return
|
||||
if(W.type == type)
|
||||
to_chat(user, "<span class='warning'>You're fairly certain that putting a pneumatic cannon inside another pneumatic cannon would cause a spacetime disruption.</span>")
|
||||
|
||||
return
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
switch(pressureSetting)
|
||||
@@ -54,29 +49,24 @@
|
||||
if(3)
|
||||
pressureSetting = 1
|
||||
to_chat(user, "<span class='notice'>You tweak \the [src]'s pressure output to [pressureSetting].</span>")
|
||||
|
||||
return
|
||||
if(istype(W, /obj/item/weapon/screwdriver) && tank)
|
||||
updateTank(tank, 1, user)
|
||||
return
|
||||
if(loadedWeightClass >= maxWeightClass)
|
||||
to_chat(user, "<span class='warning'>\The [src] can't hold any more items!</span>")
|
||||
|
||||
return
|
||||
if(istype(W, /obj/item))
|
||||
var/obj/item/IW = W
|
||||
if((loadedWeightClass + IW.w_class) > maxWeightClass)
|
||||
to_chat(user, "<span class='warning'>\The [IW] won't fit into \the [src]!</span>")
|
||||
|
||||
return
|
||||
if(IW.w_class > src.w_class)
|
||||
to_chat(user, "<span class='warning'>\The [IW] is too large to fit into \the [src]!</span>")
|
||||
|
||||
return
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You load \the [IW] into \the [src].</span>")
|
||||
|
||||
loadedItems.Add(IW)
|
||||
loadedWeightClass += IW.w_class
|
||||
IW.loc = src
|
||||
@@ -101,15 +91,12 @@
|
||||
var/discharge = 0
|
||||
if(!loadedItems || !loadedWeightClass)
|
||||
to_chat(user, "<span class='warning'>\The [src] has nothing loaded.</span>")
|
||||
|
||||
return
|
||||
if(!tank)
|
||||
to_chat(user, "<span class='warning'>\The [src] can't fire without a source of gas.</span>")
|
||||
|
||||
return
|
||||
if(tank && !tank.air_contents.remove(gasPerThrow * pressureSetting))
|
||||
to_chat(user, "<span class='warning'>\The [src] lets out a weak hiss and doesn't react!</span>")
|
||||
|
||||
return
|
||||
if(user && (CLUMSY in user.mutations) && prob(75))
|
||||
user.visible_message("<span class='warning'>[user] loses their grip on [src], causing it to go off!</span>", "<span class='userdanger'>[src] slips out of your hands and goes off!</span>")
|
||||
@@ -160,19 +147,16 @@
|
||||
if(!src.tank)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You detach \the [thetank] from \the [src].</span>")
|
||||
|
||||
src.tank.loc = get_turf(user)
|
||||
user.put_in_hands(tank)
|
||||
src.tank = null
|
||||
if(!removing)
|
||||
if(src.tank)
|
||||
to_chat(user, "<span class='warning'>\The [src] already has a tank.</span>")
|
||||
|
||||
return
|
||||
if(!user.unEquip(thetank))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You hook \the [thetank] up to \the [src].</span>")
|
||||
|
||||
src.tank = thetank
|
||||
thetank.loc = src
|
||||
src.update_icons()
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
|
||||
suicide_act(mob/user)
|
||||
to_chat(viewers(user), "<span class='suicide'>[user] is licking the electrodes of the [src.name]! It looks like \he's trying to commit suicide.</span>")
|
||||
|
||||
return (FIRELOSS)
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/crap
|
||||
|
||||
@@ -56,7 +56,6 @@
|
||||
|
||||
if(thearea.tele_proof && !istype(thearea, /area/wizard_station))
|
||||
to_chat(user, "A mysterious force disrupts your arcane spell matrix, and you remain where you are.")
|
||||
|
||||
return
|
||||
|
||||
var/datum/effect/system/harmless_smoke_spread/smoke = new /datum/effect/system/harmless_smoke_spread()
|
||||
@@ -76,7 +75,6 @@
|
||||
|
||||
if(!L.len)
|
||||
to_chat(user, "The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.")
|
||||
|
||||
return
|
||||
|
||||
if(user && user.buckled)
|
||||
|
||||
@@ -47,7 +47,6 @@
|
||||
continue
|
||||
G.attackby(NG, user)
|
||||
to_chat(user, "<span class='notice'>You add the newly-formed glass to the stack. It now contains [NG.amount] sheet\s.</span>")
|
||||
|
||||
qdel(src)
|
||||
..()
|
||||
|
||||
@@ -57,7 +56,6 @@
|
||||
if (M.incorporeal_move || M.flying)//you are incorporal or flying..no shard stepping!
|
||||
return
|
||||
to_chat(M, "\red <B>You step on \the [src]!</B>")
|
||||
|
||||
playsound(src.loc, 'sound/effects/glass_step.ogg', 50, 1) // not sure how to handle metal shards with sounds
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
|
||||
@@ -71,7 +71,6 @@
|
||||
/obj/item/weapon/shield/energy/attack_self(mob/living/carbon/human/user)
|
||||
if(user.disabilities & CLUMSY && prob(50))
|
||||
to_chat(user, "<span class='warning'>You beat yourself in the head with [src].</span>")
|
||||
|
||||
user.take_organ_damage(5)
|
||||
active = !active
|
||||
icon_state = "eshield[active]"
|
||||
@@ -83,7 +82,6 @@
|
||||
w_class = 4
|
||||
playsound(user, 'sound/weapons/saberon.ogg', 35, 1)
|
||||
to_chat(user, "<span class='notice'>[src] is now active.</span>")
|
||||
|
||||
else
|
||||
force = 3
|
||||
throwforce = 3
|
||||
@@ -91,7 +89,6 @@
|
||||
w_class = 1
|
||||
playsound(user, 'sound/weapons/saberoff.ogg', 35, 1)
|
||||
to_chat(user, "<span class='notice'>[src] can now be concealed.</span>")
|
||||
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = user
|
||||
H.update_inv_l_hand()
|
||||
@@ -127,7 +124,6 @@
|
||||
w_class = 4
|
||||
slot_flags = SLOT_BACK
|
||||
to_chat(user, "<span class='notice'>You extend \the [src].</span>")
|
||||
|
||||
else
|
||||
force = 3
|
||||
throwforce = 3
|
||||
@@ -135,7 +131,6 @@
|
||||
w_class = 3
|
||||
slot_flags = null
|
||||
to_chat(user, "<span class='notice'>[src] can now be concealed.</span>")
|
||||
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = user
|
||||
H.update_inv_l_hand()
|
||||
@@ -163,11 +158,9 @@
|
||||
src.active = !( src.active )
|
||||
if (src.active)
|
||||
to_chat(user, "\blue The cloaking device is now active.")
|
||||
|
||||
src.icon_state = "shield1"
|
||||
else
|
||||
to_chat(user, "\blue The cloaking device is now inactive.")
|
||||
|
||||
src.icon_state = "shield0"
|
||||
src.add_fingerprint(user)
|
||||
return
|
||||
|
||||
@@ -29,12 +29,10 @@
|
||||
|
||||
if(user.client && (target in user.client.screen))
|
||||
to_chat(user, "<span class='notice'>You need to take that [target.name] off before 'cleaning' it.</span>")
|
||||
|
||||
else
|
||||
user.visible_message("<span class='warning'>[user] begins to smear [src] on \the [target.name].</span>")
|
||||
if(do_after(user, src.cleanspeed, target = target))
|
||||
to_chat(user, "<span class='notice'>You 'clean' \the [target.name].</span>")
|
||||
|
||||
if(istype(target, /turf/simulated))
|
||||
new /obj/effect/decal/cleanable/blood/gibs/cleangibs(target)
|
||||
else if (istype(target,/mob/living/carbon))
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
user.flying = wielded ? 1 : 0
|
||||
if(wielded)
|
||||
to_chat(user, "<span class='notice'>You hold \the [src] between your legs.</span>")
|
||||
|
||||
user.say("QUID 'ITCH")
|
||||
animate(user, pixel_y = pixel_y + 10 , time = 10, loop = 1, easing = SINE_EASING)
|
||||
else
|
||||
@@ -43,7 +42,6 @@
|
||||
if(wielded)
|
||||
to_chat(user, "<span class='notice'>You hold \the [src] between your legs.</span>")
|
||||
|
||||
|
||||
/obj/item/weapon/twohanded/staff/broom/attackby(var/obj/O, mob/user)
|
||||
if(istype(O, /obj/item/clothing/mask/horsehead))
|
||||
new/obj/item/weapon/twohanded/staff/broom/horsebroom(get_turf(src))
|
||||
|
||||
@@ -43,7 +43,6 @@
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
if(crit_fail)
|
||||
to_chat(user, "\red The Bluespace generator isn't working.")
|
||||
|
||||
return
|
||||
else if(istype(W, /obj/item/weapon/storage/backpack/holding) && !W.crit_fail)
|
||||
var/response = alert(user, "Are you sure you want to put the bag of holding inside another bag of holding?","Are you sure you want to die?","Yes","No")
|
||||
@@ -68,10 +67,8 @@
|
||||
if (prob(src.reliability))
|
||||
to_chat(user, "\red The Bluespace portal resists your attempt to add another item.")//light failure
|
||||
|
||||
|
||||
else
|
||||
to_chat(user, "\red The Bluespace generator malfunctions!")
|
||||
|
||||
for (var/obj/O in src.contents) //it broke, delete what was in it
|
||||
qdel(O)
|
||||
crit_fail = 1
|
||||
|
||||
@@ -94,7 +94,6 @@
|
||||
|
||||
if(slot==slot_head && contents.len)
|
||||
to_chat(M, "\red You need to empty the bag first!")
|
||||
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
@@ -228,7 +227,6 @@
|
||||
if(!istype(W,/obj/item/stack/sheet) || istype(W,/obj/item/stack/sheet/mineral/sandstone) || istype(W,/obj/item/stack/sheet/wood))
|
||||
if(!stop_messages)
|
||||
to_chat(usr, "The snatcher does not accept [W].")
|
||||
|
||||
return 0 //I don't care, but the existing code rejects them for not being "sheets" *shrug* -Sayu
|
||||
var/current = 0
|
||||
for(var/obj/item/stack/sheet/S in contents)
|
||||
@@ -236,7 +234,6 @@
|
||||
if(capacity == current)//If it's full, you're done
|
||||
if(!stop_messages)
|
||||
to_chat(usr, "\red The snatcher is full.")
|
||||
|
||||
return 0
|
||||
return 1
|
||||
|
||||
|
||||
@@ -415,10 +415,8 @@
|
||||
if (prob(src.reliability))
|
||||
to_chat(user, "\red The Bluespace portal resists your attempt to add another item.")//light failure
|
||||
|
||||
|
||||
else
|
||||
to_chat(user, "\red The Bluespace generator malfunctions!")
|
||||
|
||||
for (var/obj/O in src.contents) //it broke, delete what was in it
|
||||
qdel(O)
|
||||
crit_fail = 1
|
||||
@@ -494,7 +492,6 @@
|
||||
if (istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/weapon/storage) || istype(target, /obj/structure/table) || istype(target, /obj/structure/closet))
|
||||
return
|
||||
to_chat(user, "Planting explosives...")
|
||||
|
||||
user.visible_message("[user.name] is fiddling with their toolbelt.")
|
||||
if(ismob(target))
|
||||
user.attack_log += "\[[time_stamp()]\] <font color='red'> [user.real_name] tried planting [name] on [target:real_name] ([target:ckey])</font>"
|
||||
@@ -513,7 +510,6 @@
|
||||
user.visible_message("\red [user.name] finished planting an explosive on [target.name]!")
|
||||
target.overlays += image('icons/obj/assemblies.dmi', "plastic-explosive2")
|
||||
to_chat(user, "You sacrifice your belt for the sake of justice. Timer counting down from 15.")
|
||||
|
||||
spawn(150)
|
||||
if(target)
|
||||
if(ismob(target) || isobj(target))
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
|
||||
suicide_act(mob/user)
|
||||
to_chat(viewers(user), "<span class='warning'><b>[user] stares into [src.name] and attempts to trascend understanding of the universe!</b></span>")
|
||||
|
||||
return (user.dust())
|
||||
|
||||
|
||||
@@ -55,17 +54,14 @@
|
||||
|
||||
if (!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
|
||||
to_chat(user, "\red You don't have the dexterity to do this!")
|
||||
|
||||
return
|
||||
if(!chaplain)
|
||||
to_chat(user, "\red The book sizzles in your hands.")
|
||||
|
||||
user.take_organ_damage(0,10)
|
||||
return
|
||||
|
||||
if ((CLUMSY in user.mutations) && prob(50))
|
||||
to_chat(user, "\red The [src] slips out of your hand and hits your head.")
|
||||
|
||||
user.take_organ_damage(10)
|
||||
user.Paralyse(20)
|
||||
return
|
||||
@@ -76,22 +72,18 @@
|
||||
if (M.stat !=2)
|
||||
/*if((M.mind in ticker.mode.cult) && (prob(20)))
|
||||
to_chat(M, "\red The power of [src.deity_name] clears your mind of heresy!")
|
||||
|
||||
to_chat(user, "\red You see how [M]'s eyes become clear, the cult no longer holds control over him!")
|
||||
|
||||
ticker.mode.remove_cultist(M.mind)*/
|
||||
if ((istype(M, /mob/living/carbon/human) && prob(60)))
|
||||
bless(M)
|
||||
for(var/mob/O in viewers(M, null))
|
||||
O.show_message(text("\red <B>[] heals [] with the power of [src.deity_name]!</B>", user, M), 1)
|
||||
to_chat(M, "\red May the power of [src.deity_name] compel you to be healed!")
|
||||
|
||||
playsound(src.loc, "punch", 25, 1, -1)
|
||||
else
|
||||
if(ishuman(M) && !istype(M:head, /obj/item/clothing/head/helmet))
|
||||
M.adjustBrainLoss(10)
|
||||
to_chat(M, "\red You feel dumber.")
|
||||
|
||||
for(var/mob/O in viewers(M, null))
|
||||
O.show_message(text("\red <B>[] beats [] over the head with []!</B>", user, M, src), 1)
|
||||
playsound(src.loc, "punch", 25, 1, -1)
|
||||
@@ -106,19 +98,16 @@
|
||||
return
|
||||
if (istype(A, /turf/simulated/floor))
|
||||
to_chat(user, "<span class='notice'>You hit the floor with the bible.</span>")
|
||||
|
||||
if(user.mind && (user.mind.assigned_role == "Chaplain"))
|
||||
call(/obj/effect/rune/proc/revealrunes)(src)
|
||||
if(user.mind && (user.mind.assigned_role == "Chaplain"))
|
||||
if(A.reagents && A.reagents.has_reagent("water")) //blesses all the water in the holder
|
||||
to_chat(user, "<span class='notice'>You bless [A].</span>")
|
||||
|
||||
var/water2holy = A.reagents.get_reagent_amount("water")
|
||||
A.reagents.del_reagent("water")
|
||||
A.reagents.add_reagent("holywater",water2holy)
|
||||
if(A.reagents && A.reagents.has_reagent("unholywater")) //yeah yeah, copy pasted code - sue me
|
||||
to_chat(user, "<span class='notice'>You purify [A].</span>")
|
||||
|
||||
var/unholy2clean = A.reagents.get_reagent_amount("unholywater")
|
||||
A.reagents.del_reagent("unholywater")
|
||||
A.reagents.add_reagent("holywater",unholy2clean)
|
||||
|
||||
@@ -30,16 +30,13 @@
|
||||
|
||||
if(contents.len <= 0)
|
||||
to_chat(user, "There are no [src.icon_type]s left in the box.")
|
||||
|
||||
else if(contents.len == 1)
|
||||
to_chat(user, "There is one [src.icon_type] left in the box.")
|
||||
|
||||
else
|
||||
to_chat(user, "There are [src.contents.len] [src.icon_type]s in the box.")
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Donut Box
|
||||
*/
|
||||
@@ -146,11 +143,9 @@
|
||||
switch(W:colourName)
|
||||
if("mime")
|
||||
to_chat(usr, "This crayon is too sad to be contained in this box.")
|
||||
|
||||
return
|
||||
if("rainbow")
|
||||
to_chat(usr, "This crayon is too powerful to be contained in this box.")
|
||||
|
||||
return
|
||||
..()
|
||||
|
||||
@@ -223,13 +218,11 @@
|
||||
lace_cigarette(C)
|
||||
user.equip_to_slot_if_possible(C, slot_wear_mask)
|
||||
to_chat(user, "<span class='notice'>You take \a [C.name] out of the pack.</span>")
|
||||
|
||||
update_icon()
|
||||
got_cig = 1
|
||||
break
|
||||
if(!got_cig)
|
||||
to_chat(user, "<span class='warning'>There are no smokables in the pack!</span>")
|
||||
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -239,14 +232,12 @@
|
||||
if(M.lit == 1)
|
||||
if(!stop_messages)
|
||||
to_chat(usr, "<span class='notice'>Putting a lit [W] in [src] probably isn't a good idea.</span>")
|
||||
|
||||
return 0
|
||||
if(istype(W, /obj/item/weapon/lighter))
|
||||
var/obj/item/weapon/lighter/L = W
|
||||
if(L.lit == 1)
|
||||
if(!stop_messages)
|
||||
to_chat(usr, "<span class='notice'>Putting [W] in [src] while lit probably isn't a good idea.</span>")
|
||||
|
||||
return 0
|
||||
//if we get this far, handle the insertion checks as normal
|
||||
.=..()
|
||||
|
||||
@@ -249,10 +249,8 @@
|
||||
var/tmp_label = sanitize(input(user, "Enter a label for [name]","Label",label_text))
|
||||
if(length(tmp_label) > MAX_NAME_LEN)
|
||||
to_chat(user, "<span class='warning'>The label can be at most [MAX_NAME_LEN] characters long.</span>")
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You set the label to \"[tmp_label]\".</span>")
|
||||
|
||||
label_text = tmp_label
|
||||
update_name_label()
|
||||
else
|
||||
|
||||
@@ -21,24 +21,20 @@
|
||||
if (istype(W, /obj/item/weapon/card/id))
|
||||
if(src.broken)
|
||||
to_chat(user, "\red It appears to be broken.")
|
||||
|
||||
return
|
||||
if(src.allowed(user))
|
||||
src.locked = !( src.locked )
|
||||
if(src.locked)
|
||||
src.icon_state = src.icon_locked
|
||||
to_chat(user, "\red You lock the [src.name]!")
|
||||
|
||||
return
|
||||
else
|
||||
src.icon_state = src.icon_closed
|
||||
to_chat(user, "\red You unlock the [src.name]!")
|
||||
|
||||
origin_tech = null //wipe out any origin tech if it's unlocked in any way so you can't double-dip tech levels at R&D.
|
||||
return
|
||||
else
|
||||
to_chat(user, "\red Access Denied")
|
||||
|
||||
else if((istype(W, /obj/item/weapon/card/emag) || istype(W, /obj/item/weapon/melee/energy/blade)) && !broken)
|
||||
emag_act(user)
|
||||
return
|
||||
@@ -46,14 +42,12 @@
|
||||
..()
|
||||
else
|
||||
to_chat(user, "\red Its locked!")
|
||||
|
||||
return
|
||||
|
||||
|
||||
show_to(mob/user as mob)
|
||||
if(locked)
|
||||
to_chat(user, "\red Its locked!")
|
||||
|
||||
else
|
||||
..()
|
||||
return
|
||||
@@ -63,7 +57,6 @@
|
||||
return ..()
|
||||
if(!stop_messages)
|
||||
to_chat(usr, "<span class='notice'>[src] is locked!</span>")
|
||||
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/storage/lockbox/emag_act(user as mob)
|
||||
@@ -73,7 +66,6 @@
|
||||
desc = "It appears to be broken."
|
||||
icon_state = src.icon_broken
|
||||
to_chat(user, "<span class='notice'>You unlock \the [src].</span>")
|
||||
|
||||
origin_tech = null //wipe out any origin tech if it's unlocked in any way so you can't double-dip tech levels at R&D.
|
||||
return
|
||||
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
if(..(user, 1))
|
||||
to_chat(user, text("The service panel is [src.open ? "open" : "closed"]."))
|
||||
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
if(locked)
|
||||
if ((istype(W, /obj/item/weapon/melee/energy/blade)) && (!src.emagged))
|
||||
@@ -80,10 +79,8 @@
|
||||
playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1)
|
||||
playsound(src.loc, "sparks", 50, 1)
|
||||
to_chat(user, "You slice through the lock on [src].")
|
||||
|
||||
else
|
||||
to_chat(user, "You short out the lock on [src].")
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -148,7 +145,6 @@
|
||||
return ..()
|
||||
if(!stop_messages)
|
||||
to_chat(usr, "<span class='notice'>[src] is locked!</span>")
|
||||
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/storage/secure/hear_talk(mob/living/M as mob, msg)
|
||||
@@ -177,7 +173,6 @@
|
||||
attack_hand(mob/user as mob)
|
||||
if ((src.loc == user) && (src.locked == 1))
|
||||
to_chat(usr, "\red [src] is locked and cannot be opened!")
|
||||
|
||||
else if ((src.loc == user) && (!src.locked))
|
||||
playsound(src.loc, "rustle", 50, 1, -5)
|
||||
if (user.s_active)
|
||||
|
||||
@@ -236,7 +236,6 @@
|
||||
if(contents.len >= storage_slots)
|
||||
if(!stop_messages)
|
||||
to_chat(usr, "<span class='warning'>[W] won't fit in [src], make some space!</span>")
|
||||
|
||||
return 0 //Storage item is full
|
||||
|
||||
if(can_hold.len)
|
||||
@@ -250,20 +249,17 @@
|
||||
if (istype(W, /obj/item/weapon/hand_labeler))
|
||||
return 0
|
||||
to_chat(usr, "<span class='notice'>[src] cannot hold [W].</span>")
|
||||
|
||||
return 0
|
||||
|
||||
for(var/A in cant_hold) //Check for specific items which this container can't hold.
|
||||
if(istype(W, text2path(A) ))
|
||||
if(!stop_messages)
|
||||
to_chat(usr, "<span class='notice'>[src] cannot hold [W].</span>")
|
||||
|
||||
return 0
|
||||
|
||||
if (W.w_class > max_w_class)
|
||||
if(!stop_messages)
|
||||
to_chat(usr, "<span class='notice'>[W] is too big for this [src].</span>")
|
||||
|
||||
return 0
|
||||
|
||||
var/sum_w_class = W.w_class
|
||||
@@ -273,19 +269,16 @@
|
||||
if(sum_w_class > max_combined_w_class)
|
||||
if(!stop_messages)
|
||||
to_chat(usr, "<span class='notice'>[src] is full, make some space.</span>")
|
||||
|
||||
return 0
|
||||
|
||||
if(W.w_class >= src.w_class && (istype(W, /obj/item/weapon/storage)))
|
||||
if(!istype(src, /obj/item/weapon/storage/backpack/holding)) //bohs should be able to hold backpacks again. The override for putting a boh in a boh is in backpack.dm.
|
||||
if(!stop_messages)
|
||||
to_chat(usr, "<span class='notice'>[src] cannot hold [W] as it's a storage item of the same size.</span>")
|
||||
|
||||
return 0 //To prevent the stacking of same sized storage items.
|
||||
|
||||
if(W.flags & NODROP) //SHOULD be handled in unEquip, but better safe than sorry.
|
||||
to_chat(usr, "<span class='notice'>\the [W] is stuck to your hand, you can't put it in \the [src]</span>")
|
||||
|
||||
return 0
|
||||
|
||||
return 1
|
||||
@@ -314,7 +307,6 @@
|
||||
for(var/mob/M in viewers(usr, null))
|
||||
if (M == usr)
|
||||
to_chat(usr, "<span class='notice'>You put the [W] into [src].</span>")
|
||||
|
||||
else if (M in range(1)) //If someone is standing close enough, they can tell what it is...
|
||||
M.show_message("<span class='notice'>[usr] puts [W] into [src].</span>")
|
||||
else if (W && W.w_class >= 3.0) //Otherwise they can only see large or normal items from a distance...
|
||||
@@ -368,7 +360,6 @@
|
||||
|
||||
if(isrobot(user))
|
||||
to_chat(user, "\blue You're a robot. No.")
|
||||
|
||||
return 1//Robots can't interact with storage items.
|
||||
|
||||
if(!can_be_inserted(W))
|
||||
@@ -416,12 +407,10 @@
|
||||
switch (collection_mode)
|
||||
if(1)
|
||||
to_chat(usr, "[src] now picks up all items in a tile at once.")
|
||||
|
||||
if(0)
|
||||
to_chat(usr, "[src] now picks up one item at a time.")
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/storage/verb/quick_empty()
|
||||
set name = "Empty Contents"
|
||||
set category = "Object"
|
||||
@@ -509,7 +498,6 @@
|
||||
return
|
||||
// Now make the cardboard
|
||||
to_chat(user, "<span class='notice'>You fold [src] flat.</span>")
|
||||
|
||||
new src.foldable(get_turf(src))
|
||||
qdel(src)
|
||||
//BubbleWrap END
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
..()
|
||||
if (src.type == /obj/item/weapon/storage/toolbox)
|
||||
to_chat(world, "BAD: [src] ([src.type]) spawned at [src.x] [src.y] [src.z]")
|
||||
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/storage/toolbox/emergency
|
||||
|
||||
@@ -56,28 +56,23 @@
|
||||
..(user)
|
||||
if(bcell)
|
||||
to_chat(user, "<span class='notice'>The baton is [round(bcell.percent())]% charged.</span>")
|
||||
|
||||
if(!bcell)
|
||||
to_chat(user, "<span class='warning'>The baton does not have a power source installed.</span>")
|
||||
|
||||
|
||||
/obj/item/weapon/melee/baton/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/stock_parts/cell))
|
||||
var/obj/item/weapon/stock_parts/cell/C = W
|
||||
if(bcell)
|
||||
to_chat(user, "<span class='notice'>[src] already has a cell.</span>")
|
||||
|
||||
else
|
||||
if(C.maxcharge < hitcost)
|
||||
to_chat(user, "<span class='notice'>[src] requires a higher capacity cell.</span>")
|
||||
|
||||
return
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
bcell = W
|
||||
to_chat(user, "<span class='notice'>You install a cell in [src].</span>")
|
||||
|
||||
update_icon()
|
||||
|
||||
else if(istype(W, /obj/item/weapon/screwdriver))
|
||||
@@ -86,7 +81,6 @@
|
||||
bcell.loc = get_turf(src.loc)
|
||||
bcell = null
|
||||
to_chat(user, "<span class='notice'>You remove the cell from the [src].</span>")
|
||||
|
||||
status = 0
|
||||
update_icon()
|
||||
return
|
||||
@@ -97,16 +91,13 @@
|
||||
if(bcell && bcell.charge > hitcost)
|
||||
status = !status
|
||||
to_chat(user, "<span class='notice'>[src] is now [status ? "on" : "off"].</span>")
|
||||
|
||||
playsound(loc, "sparks", 75, 1, -1)
|
||||
else
|
||||
status = 0
|
||||
if(!bcell)
|
||||
to_chat(user, "<span class='warning'>[src] does not have a power source!</span>")
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src] is out of charge.</span>")
|
||||
|
||||
update_icon()
|
||||
add_fingerprint(user)
|
||||
|
||||
|
||||
@@ -11,10 +11,8 @@
|
||||
*/
|
||||
/obj/item/weapon/banhammer/attack(mob/M as mob, mob/user as mob)
|
||||
to_chat(M, "<font color='red'><b> You have been banned FOR NO REISIN by [user]<b></font>")
|
||||
|
||||
to_chat(user, "<font color='red'> You have <b>BANNED</b> [M]</font>")
|
||||
|
||||
|
||||
/*
|
||||
* Classic Baton
|
||||
*/
|
||||
@@ -36,7 +34,6 @@
|
||||
add_fingerprint(user)
|
||||
if((CLUMSY in user.mutations) && prob(50))
|
||||
to_chat(user, "<span class ='danger'>You club yourself over the head.</span>")
|
||||
|
||||
user.Weaken(3 * force)
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
@@ -88,7 +85,6 @@
|
||||
on = !on
|
||||
if(on)
|
||||
to_chat(user, "<span class ='warning'>You extend the baton.</span>")
|
||||
|
||||
icon_state = "telebaton_1"
|
||||
item_state = "nullrod"
|
||||
w_class = 4 //doesnt fit in backpack when its on for balance
|
||||
@@ -96,7 +92,6 @@
|
||||
attack_verb = list("smacked", "struck", "cracked", "beaten")
|
||||
else
|
||||
to_chat(user, "<span class ='notice'>You collapse the baton.</span>")
|
||||
|
||||
icon_state = "telebaton_0"
|
||||
item_state = null //no sprite for concealment even when in hand
|
||||
slot_flags = SLOT_BELT
|
||||
|
||||
@@ -58,13 +58,11 @@
|
||||
if (W:amount >= 4)
|
||||
new /obj/item/weapon/table_parts/reinforced( user.loc )
|
||||
to_chat(user, "\blue You reinforce the [name].")
|
||||
|
||||
W:use(4)
|
||||
qdel(src)
|
||||
else if (W:amount < 4)
|
||||
to_chat(user, "\red You need at least four rods to do this.")
|
||||
|
||||
|
||||
/obj/item/weapon/table_parts/attack_self(mob/user as mob)
|
||||
new /obj/structure/table( user.loc )
|
||||
user.drop_item()
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
|
||||
if(air_contents.oxygen < 10)
|
||||
to_chat(user, text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>"))
|
||||
|
||||
playsound(user, 'sound/effects/alert.ogg', 50, 1)
|
||||
|
||||
|
||||
@@ -39,7 +38,6 @@
|
||||
set category = "Object"
|
||||
src.stabilization_on = !( src.stabilization_on )
|
||||
to_chat(usr, "You toggle the stabilization [stabilization_on? "on":"off"].")
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -136,7 +134,6 @@
|
||||
|
||||
if(air_contents.carbon_dioxide < 10)
|
||||
to_chat(user, text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>"))
|
||||
|
||||
playsound(user, 'sound/effects/alert.ogg', 50, 1)
|
||||
|
||||
|
||||
@@ -146,7 +143,6 @@
|
||||
|
||||
/obj/item/weapon/tank/jetpack/rig/examine()
|
||||
to_chat(usr, "It's a jetpack. If you can see this, report it on the bug tracker.")
|
||||
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/tank/jetpack/rig/allow_thrust(num, mob/living/user as mob)
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
if(..(user, 0))
|
||||
if(air_contents.oxygen < 10)
|
||||
to_chat(user, text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>"))
|
||||
|
||||
//playsound(usr, 'sound/effects/alert.ogg', 50, 1)
|
||||
|
||||
|
||||
@@ -73,10 +72,8 @@
|
||||
if(..(user, 0))
|
||||
if(air_contents.oxygen < 1 && loc==usr)
|
||||
to_chat(user, "\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
|
||||
|
||||
to_chat(user, sound('sound/effects/alert.ogg'))
|
||||
|
||||
|
||||
/obj/item/weapon/tank/air/New()
|
||||
..()
|
||||
|
||||
@@ -127,10 +124,8 @@
|
||||
if(..(user, 0))
|
||||
if(air_contents.toxins < 0.2 && loc==usr)
|
||||
to_chat(user, text("\red <B>The meter on the [src.name] indicates you are almost out of plasma!</B>"))
|
||||
|
||||
to_chat(user, sound('sound/effects/alert.ogg'))
|
||||
|
||||
|
||||
/*
|
||||
* Emergency Oxygen
|
||||
*/
|
||||
@@ -156,10 +151,8 @@
|
||||
if(..(user, 0))
|
||||
if(air_contents.oxygen < 0.2 && loc==usr)
|
||||
to_chat(user, text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>"))
|
||||
|
||||
to_chat(user, sound('sound/effects/alert.ogg'))
|
||||
|
||||
|
||||
/obj/item/weapon/tank/emergency_oxygen/engi
|
||||
name = "extended-capacity emergency oxygen tank"
|
||||
icon_state = "emergency_engi"
|
||||
@@ -199,7 +192,6 @@
|
||||
if(..(user, 0))
|
||||
if(air_contents.nitrogen < 10)
|
||||
to_chat(user, text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>"))
|
||||
|
||||
//playsound(usr, 'sound/effects/alert.ogg', 50, 1)
|
||||
|
||||
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
if (!in_range(src, user))
|
||||
if (icon == src)
|
||||
to_chat(user, "\blue It's \a \icon[icon][src]! If you want any more information you'll need to get closer.")
|
||||
|
||||
return
|
||||
|
||||
var/celsius_temperature = src.air_contents.temperature-T0C
|
||||
@@ -67,7 +66,6 @@
|
||||
|
||||
to_chat(user, "\blue \The \icon[icon][src] feels [descriptive]")
|
||||
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/tank/blob_act()
|
||||
@@ -170,7 +168,6 @@
|
||||
location.internal = null
|
||||
location.internals.icon_state = "internal0"
|
||||
to_chat(usr, "\blue You close the tank release valve.")
|
||||
|
||||
if (location.internals)
|
||||
location.internals.icon_state = "internal0"
|
||||
else
|
||||
@@ -186,13 +183,11 @@
|
||||
if(can_open_valve)
|
||||
location.internal = src
|
||||
to_chat(usr, "\blue You open \the [src] valve.")
|
||||
|
||||
if (location.internals)
|
||||
location.internals.icon_state = "internal1"
|
||||
else
|
||||
to_chat(usr, "\blue You need something to connect to \the [src].")
|
||||
|
||||
|
||||
src.add_fingerprint(usr)
|
||||
return 1
|
||||
|
||||
@@ -239,7 +234,6 @@
|
||||
message_admins("Explosive tank rupture! last key to touch the tank was [src.fingerprintslast] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)")
|
||||
log_game("Explosive tank rupture! last key to touch the tank was [src.fingerprintslast] at [x], [y], [z]")
|
||||
// to_chat(world, "\blue[x],[y] tank is exploding: [pressure] kPa")
|
||||
|
||||
//Give the gas a chance to build up more pressure through reacting
|
||||
air_contents.react()
|
||||
air_contents.react()
|
||||
@@ -250,7 +244,6 @@
|
||||
|
||||
// to_chat(world, "\blue Exploding Pressure: [pressure] kPa, intensity: [range]")
|
||||
|
||||
|
||||
explosion(epicenter, round(range*0.25), round(range*0.5), round(range), round(range*1.5))
|
||||
if(istype(src.loc,/obj/item/device/transfer_valve))
|
||||
qdel(src.loc)
|
||||
@@ -259,7 +252,6 @@
|
||||
|
||||
else if(pressure > TANK_RUPTURE_PRESSURE)
|
||||
// to_chat(world, "\blue[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]")
|
||||
|
||||
if(integrity <= 0)
|
||||
var/turf/simulated/T = get_turf(src)
|
||||
if(!T)
|
||||
@@ -272,7 +264,6 @@
|
||||
|
||||
else if(pressure > TANK_LEAK_PRESSURE)
|
||||
// to_chat(world, "\blue[x],[y] tank is leaking: [pressure] kPa, integrity [integrity]")
|
||||
|
||||
if(integrity <= 0)
|
||||
var/turf/simulated/T = get_turf(src)
|
||||
if(!T)
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
set category = "Object"
|
||||
if (usr.get_item_by_slot(slot_back) != src)
|
||||
to_chat(usr, "<span class='notice'>The watertank needs to be on your back to use.</span>")
|
||||
|
||||
return
|
||||
if(usr.incapacitated())
|
||||
return
|
||||
@@ -42,7 +41,6 @@
|
||||
if(!user.put_in_hands(noz))
|
||||
on = 0
|
||||
to_chat(user, "<span class='notice'>You need a free hand to hold the mister.</span>")
|
||||
|
||||
return
|
||||
noz.loc = user
|
||||
else
|
||||
@@ -128,7 +126,6 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/spray/mister/dropped(mob/user as mob)
|
||||
to_chat(user, "<span class='notice'>The mister snaps back onto the watertank.</span>")
|
||||
|
||||
tank.on = 0
|
||||
loc = tank
|
||||
|
||||
@@ -180,7 +177,6 @@
|
||||
amount_per_transfer_from_this = (amount_per_transfer_from_this == 10 ? 5 : 10)
|
||||
to_chat(user, "<span class='notice'>You [amount_per_transfer_from_this == 10 ? "remove" : "fix"] the nozzle. You'll now use [amount_per_transfer_from_this] units per spray.</span>")
|
||||
|
||||
|
||||
//ATMOS FIRE FIGHTING BACKPACK
|
||||
|
||||
#define EXTINGUISHER 0
|
||||
@@ -245,25 +241,21 @@
|
||||
nozzle_mode = NANOFROST
|
||||
tank.icon_state = "waterbackpackatmos_1"
|
||||
to_chat(user, "Swapped to nanofrost launcher")
|
||||
|
||||
return
|
||||
if(NANOFROST)
|
||||
nozzle_mode = METAL_FOAM
|
||||
tank.icon_state = "waterbackpackatmos_2"
|
||||
to_chat(user, "Swapped to metal foam synthesizer")
|
||||
|
||||
return
|
||||
if(METAL_FOAM)
|
||||
nozzle_mode = EXTINGUISHER
|
||||
tank.icon_state = "waterbackpackatmos_0"
|
||||
to_chat(user, "Swapped to water extinguisher")
|
||||
|
||||
return
|
||||
return
|
||||
|
||||
/obj/item/weapon/extinguisher/mini/nozzle/dropped(mob/user as mob)
|
||||
to_chat(user, "<span class='notice'>The nozzle snaps back onto the tank!</span>")
|
||||
|
||||
tank.on = 0
|
||||
loc = tank
|
||||
|
||||
@@ -280,11 +272,9 @@
|
||||
var/datum/reagents/R = reagents
|
||||
if(R.total_volume < 100)
|
||||
to_chat(user, "You need at least 100 units of water to use the nanofrost launcher!")
|
||||
|
||||
return
|
||||
if(nanofrost_cooldown)
|
||||
to_chat(user, "Nanofrost launcher is still recharging")
|
||||
|
||||
return
|
||||
nanofrost_cooldown = 1
|
||||
R.remove_any(100)
|
||||
@@ -311,7 +301,6 @@
|
||||
metal_synthesis_cooldown--
|
||||
else
|
||||
to_chat(user, "Metal foam mix is still being synthesized.")
|
||||
|
||||
return
|
||||
|
||||
/obj/effect/nanofrost_container
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
/obj/item/stack/tape_roll/attack_self(mob/user as mob)
|
||||
to_chat(user, "You remove a length of tape from [src].")
|
||||
|
||||
|
||||
var/obj/item/weapon/ducttape/tape = new()
|
||||
user.put_in_hands(tape)
|
||||
*/
|
||||
@@ -74,7 +73,6 @@
|
||||
|
||||
to_chat(user, "You remove \the [initial(name)] from [stuck].")
|
||||
|
||||
|
||||
user.unEquip(src)
|
||||
stuck.forceMove(get_turf(src))
|
||||
user.put_in_hands(stuck)
|
||||
|
||||
@@ -50,7 +50,6 @@ Frequency:
|
||||
var/turf/current_location = get_turf(usr)//What turf is the user on?
|
||||
if(!current_location ||( current_location.z in config.admin_levels))//If turf was not found or they're on z level 2.
|
||||
to_chat(usr, "<span class='warning'>\The [src] is malfunctioning.</span>")
|
||||
|
||||
return 1
|
||||
|
||||
if (href_list["refresh"])
|
||||
@@ -110,7 +109,6 @@ Frequency:
|
||||
var/turf/current_location = get_turf(user)//What turf is the user on?
|
||||
if(!current_location||(current_location.z in config.admin_levels)||current_location.z>=7)//If turf was not found or they're on z level 2 or >7 which does not currently exist.
|
||||
to_chat(user, "<span class='notice'>\The [src] is malfunctioning.</span>")
|
||||
|
||||
return
|
||||
var/list/L = list( )
|
||||
for(var/obj/machinery/computer/teleporter/com in world)
|
||||
|
||||
@@ -175,7 +175,6 @@
|
||||
if(..(user, 0))
|
||||
to_chat(user, "It contains [get_fuel()] unit\s of fuel out of [max_fuel].")
|
||||
|
||||
|
||||
/obj/item/weapon/weldingtool/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] welds \his every orifice closed! It looks like \he's trying to commit suicide..</span>")
|
||||
return (FIRELOSS)
|
||||
@@ -250,15 +249,12 @@
|
||||
user.visible_message("<span class='alert'>\The [user] patches some dents on \the [M]'s [S.name] with \the [src].</span>")
|
||||
else if(S.open != 2)
|
||||
to_chat(user, "<span class='warning'>Need more welding fuel!</span>")
|
||||
|
||||
return 1
|
||||
else
|
||||
to_chat(user, "<span class='danger'>The damage is far too severe to patch over externally.</span>")
|
||||
|
||||
return 1
|
||||
else if(S.open != 2)
|
||||
to_chat(user, "<span class='notice'>Nothing to fix!</span>")
|
||||
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -268,7 +264,6 @@
|
||||
if(!welding)
|
||||
O.reagents.trans_to(src, max_fuel)
|
||||
to_chat(user, "<span class='notice'>[src] refueled.</span>")
|
||||
|
||||
playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6)
|
||||
update_icon()
|
||||
return
|
||||
@@ -276,7 +271,6 @@
|
||||
message_admins("[key_name_admin(user)] triggered a fueltank explosion.")
|
||||
log_game("[key_name(user)] triggered a fueltank explosion.")
|
||||
to_chat(user, "<span class='warning'>That was stupid of you.</span>")
|
||||
|
||||
O.ex_act()
|
||||
return
|
||||
|
||||
@@ -310,7 +304,6 @@
|
||||
else
|
||||
if(M)
|
||||
to_chat(M, "\blue You need more welding fuel to complete this task.")
|
||||
|
||||
return 0
|
||||
|
||||
//Returns whether or not the welding tool is currently on.
|
||||
@@ -335,13 +328,11 @@
|
||||
/obj/item/weapon/weldingtool/proc/toggle(mob/user, message = 0)
|
||||
if(!status)
|
||||
to_chat(user, "<span class='warning'>[src] can't be turned on while unsecured!</span>")
|
||||
|
||||
return
|
||||
welding = !welding
|
||||
if(welding)
|
||||
if(get_fuel() >= 1)
|
||||
to_chat(user, "<span class='notice'>You switch [src] on.</span>")
|
||||
|
||||
force = 15
|
||||
damtype = "fire"
|
||||
hitsound = 'sound/items/welder.ogg'
|
||||
@@ -349,15 +340,12 @@
|
||||
processing_objects |= src
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need more fuel!</span>")
|
||||
|
||||
welding = 0
|
||||
else
|
||||
if(!message)
|
||||
to_chat(user, "<span class='notice'>You switch [src] off.</span>")
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src] shuts off!</span>")
|
||||
|
||||
force = 3
|
||||
damtype = "brute"
|
||||
hitsound = "swing_hit"
|
||||
@@ -366,15 +354,12 @@
|
||||
/obj/item/weapon/weldingtool/proc/flamethrower_screwdriver(obj/item/I, mob/user)
|
||||
if(welding)
|
||||
to_chat(user, "<span class='warning'>Turn it off first!</span>")
|
||||
|
||||
return
|
||||
status = !status
|
||||
if(status)
|
||||
to_chat(user, "<span class='notice'>You resecure [src].</span>")
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[src] can now be attached and modified.</span>")
|
||||
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/item/weapon/weldingtool/proc/flamethrower_rods(obj/item/I, mob/user)
|
||||
@@ -388,11 +373,9 @@
|
||||
F.weldtool = src
|
||||
add_fingerprint(user)
|
||||
to_chat(user, "<span class='notice'>You add a rod to a welder, starting to build a flamethrower.</span>")
|
||||
|
||||
user.put_in_hands(F)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need one rod to start building a flamethrower!</span>")
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/weldingtool/largetank
|
||||
@@ -510,5 +493,4 @@
|
||||
attack_self(mob/user as mob)
|
||||
open = !open
|
||||
to_chat(user, "\blue You [open?"open" : "close"] the conversion kit.")
|
||||
|
||||
update_icon()
|
||||
|
||||
@@ -44,10 +44,8 @@
|
||||
user.update_inv_l_hand()
|
||||
if(isrobot(user))
|
||||
to_chat(user, "<span class='notice'>You free up your module.</span>")
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You are now carrying the [name] with one hand.</span>")
|
||||
|
||||
if(unwieldsound)
|
||||
playsound(loc, unwieldsound, 50, 1)
|
||||
var/obj/item/weapon/twohanded/offhand/O = user.get_inactive_hand()
|
||||
@@ -61,11 +59,9 @@
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(H.species.is_small)
|
||||
to_chat(user, "<span class='warning'>It's too heavy for you to wield fully.</span>")
|
||||
|
||||
return
|
||||
if(user.get_inactive_hand())
|
||||
to_chat(user, "<span class='warning'>You need your other hand to be empty!</span>")
|
||||
|
||||
return
|
||||
wielded = 1
|
||||
force = force_wielded
|
||||
@@ -76,10 +72,8 @@
|
||||
user.update_inv_l_hand()
|
||||
if(isrobot(user))
|
||||
to_chat(user, "<span class='notice'>You dedicate your module to [name].</span>")
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You grab the [name] with both hands.</span>")
|
||||
|
||||
if (wieldsound)
|
||||
playsound(loc, wieldsound, 50, 1)
|
||||
var/obj/item/weapon/twohanded/offhand/O = new(user) ////Let's reserve his other hand~
|
||||
@@ -92,7 +86,6 @@
|
||||
//Cannot equip wielded items.
|
||||
if(wielded)
|
||||
to_chat(M, "<span class='warning'>Unwield the [name] first!</span>")
|
||||
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
@@ -146,7 +139,6 @@
|
||||
/obj/item/weapon/twohanded/required/mob_can_equip(M as mob, slot)
|
||||
if(wielded)
|
||||
to_chat(M, "<span class='warning'>[src.name] is too cumbersome to carry with anything but your hands!</span>")
|
||||
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
@@ -233,7 +225,6 @@
|
||||
..()
|
||||
if((CLUMSY in user.mutations) && (wielded) &&prob(40))
|
||||
to_chat(user, "\red You twirl around a bit before losing your balance and impaling yourself on the [src].")
|
||||
|
||||
user.take_organ_damage(20,25)
|
||||
return
|
||||
if((wielded) && prob(50))
|
||||
@@ -278,13 +269,11 @@
|
||||
if(hacked == 0)
|
||||
hacked = 1
|
||||
to_chat(user, "<span class='warning'>2XRNBW_ENGAGE</span>")
|
||||
|
||||
blade_color = "rainbow"
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, "<span class='warning'>It's starting to look like a triple rainbow - no, nevermind.</span>")
|
||||
|
||||
|
||||
//spears
|
||||
/obj/item/weapon/twohanded/spear
|
||||
icon_state = "spearglass0"
|
||||
@@ -313,7 +302,6 @@
|
||||
/obj/item/weapon/organ/head/attackby(var/obj/item/weapon/W, var/mob/living/user, params)
|
||||
if(istype(W, /obj/item/weapon/twohanded/spear))
|
||||
to_chat(user, "<span class='notice'>You stick the head onto the spear and stand it upright on the ground.</span>")
|
||||
|
||||
var/obj/structure/headspear/HS = new /obj/structure/headspear(user.loc)
|
||||
var/matrix/M = matrix()
|
||||
src.transform = M
|
||||
@@ -329,7 +317,6 @@
|
||||
/obj/item/weapon/twohanded/spear/attackby(var/obj/item/I, var/mob/living/user)
|
||||
if(istype(I, /obj/item/weapon/organ/head))
|
||||
to_chat(user, "<span class='notice'>You stick the head onto the spear and stand it upright on the ground.</span>")
|
||||
|
||||
var/obj/structure/headspear/HS = new /obj/structure/headspear(user.loc)
|
||||
var/matrix/M = matrix()
|
||||
I.transform = M
|
||||
|
||||
@@ -24,11 +24,9 @@
|
||||
..(user)
|
||||
if(charges)
|
||||
to_chat(user, "It can restock [charges] item(s).")
|
||||
|
||||
else
|
||||
to_chat(user, "It's empty!")
|
||||
|
||||
|
||||
//NOTE I decided to go for about 1/3 of a machine's capacity
|
||||
|
||||
/obj/item/weapon/vending_refill/boozeomat
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
|
||||
/obj/item/weapon/banhammer/suicide_act(mob/user)
|
||||
to_chat(viewers(user), "<span class='suicide'>[user] is hitting \himself with the [src.name]! It looks like \he's trying to ban \himself from life.</span>")
|
||||
|
||||
return (BRUTELOSS|FIRELOSS|TOXLOSS|OXYLOSS)
|
||||
|
||||
/obj/item/weapon/nullrod
|
||||
@@ -33,7 +32,6 @@
|
||||
|
||||
suicide_act(mob/user)
|
||||
to_chat(viewers(user), "<span class='suicide'>[user] is impaling \himself with the [src.name]! It looks like \he's trying to commit suicide.</span>")
|
||||
|
||||
return (BRUTELOSS|FIRELOSS)
|
||||
|
||||
/obj/item/weapon/nullrod/attack(mob/M as mob, mob/living/user as mob) //Paste from old-code to decult with a null rod.
|
||||
@@ -50,7 +48,6 @@
|
||||
|
||||
if ((CLUMSY in user.mutations) && prob(50))
|
||||
to_chat(user, "\red The rod slips out of your hand and hits your head.")
|
||||
|
||||
user.take_organ_damage(10)
|
||||
user.Paralyse(20)
|
||||
return
|
||||
@@ -60,7 +57,6 @@
|
||||
if(ishuman(M))
|
||||
if(!M.mind.vampire.get_ability(/datum/vampire_passive/full))
|
||||
to_chat(M, "<span class='warning'>The nullrod's power interferes with your own!</span>")
|
||||
|
||||
M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2)
|
||||
..()
|
||||
|
||||
@@ -72,7 +68,6 @@
|
||||
if(!transformed) // can't turn a sword into a sword.
|
||||
var/obj/item/S = new transform_into()
|
||||
to_chat(user, "<span class='notice'>You sheath the [src] into the [I]'s scabbard, transforming it into \a [S].</span>")
|
||||
|
||||
user.unEquip(src)
|
||||
qdel(src)
|
||||
user.put_in_hands(S)
|
||||
@@ -104,7 +99,6 @@
|
||||
|
||||
suicide_act(mob/user)
|
||||
to_chat(viewers(user), "<span class='suicide'>[user] is impaling \himself with the [src.name]! It looks like \he's trying to commit suicide.</span>")
|
||||
|
||||
return(BRUTELOSS)
|
||||
|
||||
/obj/item/weapon/sord/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
|
||||
@@ -131,7 +125,6 @@
|
||||
|
||||
suicide_act(mob/user)
|
||||
to_chat(viewers(user), "<span class='suicide'>[user] is falling on the [src.name]! It looks like \he's trying to commit suicide.</span>")
|
||||
|
||||
return(BRUTELOSS)
|
||||
|
||||
/obj/item/weapon/claymore/ceremonial
|
||||
@@ -155,7 +148,6 @@
|
||||
|
||||
suicide_act(mob/user)
|
||||
to_chat(viewers(user), "<span class='suicide'>[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.</span>")
|
||||
|
||||
return(BRUTELOSS)
|
||||
|
||||
/obj/item/weapon/katana/IsShield()
|
||||
@@ -201,7 +193,6 @@ obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob, params)
|
||||
|
||||
user.put_in_hands(S)
|
||||
to_chat(user, "<span class='notice'>You fasten the glass shard to the top of the rod with the cable.</span>")
|
||||
|
||||
qdel(I)
|
||||
qdel(src)
|
||||
|
||||
@@ -214,7 +205,6 @@ obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob, params)
|
||||
|
||||
user.put_in_hands(P)
|
||||
to_chat(user, "<span class='notice'>You fasten the wirecutters to the top of the rod with the cable, prongs outward.</span>")
|
||||
|
||||
qdel(I)
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -14,34 +14,27 @@
|
||||
/obj/item/weapon/whetstone/attackby(obj/item/I, mob/user, params)
|
||||
if(used)
|
||||
to_chat(user, "<span class='notice'>The whetstone is too worn to use again.</span>")
|
||||
|
||||
return
|
||||
if(I.force >= max || I.throwforce >= max)//no esword sharpening
|
||||
to_chat(user, "<span class='notice'>[I] is much too powerful to sharpen further.</span>")
|
||||
|
||||
return
|
||||
if(requires_sharpness && !I.edge)
|
||||
to_chat(user, "<span class='notice'>You can only sharpen items that are already sharp, such as knives.</span>")
|
||||
|
||||
return
|
||||
if(istype(I, /obj/item/weapon/twohanded))//some twohanded items should still be sharpenable, but handle force differently. therefore i need this stuff
|
||||
var/obj/item/weapon/twohanded/TH = I
|
||||
if(TH.force_wielded >= max)
|
||||
to_chat(user, "<span class='notice'>[TH] is much too powerful to sharpen further.</span>")
|
||||
|
||||
return
|
||||
if(TH.wielded)
|
||||
to_chat(user, "<span class='notice'>[TH] must be unwielded before it can be sharpened.</span>")
|
||||
|
||||
return
|
||||
if(TH.force_wielded > initial(TH.force_wielded))
|
||||
to_chat(user, "<span class='notice'>[TH] has already been refined before. It cannot be sharpened further.</span>")
|
||||
|
||||
return
|
||||
TH.force_wielded = Clamp(TH.force_wielded + increment, 0, max)//wieldforce is increased since normal force wont stay
|
||||
if(I.force > initial(I.force))
|
||||
to_chat(user, "<span class='notice'>[I] has already been refined before. It cannot be sharpened further.</span>")
|
||||
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] sharpens [I] with [src]!</span>", "<span class='notice'>You sharpen [I], making it much more deadly than before.</span>")
|
||||
if(!requires_sharpness)
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
|
||||
suicide_act(mob/user)
|
||||
to_chat(viewers(user), "\red <b>[user] is strangling \himself with the [src.name]! It looks like \he's trying to commit suicide.</b>")
|
||||
|
||||
return (OXYLOSS)
|
||||
|
||||
|
||||
@@ -30,10 +29,8 @@
|
||||
if (src.laying)
|
||||
src.laying = 0
|
||||
to_chat(user, "\blue You're done laying wire!")
|
||||
|
||||
else
|
||||
to_chat(user, "\blue You are not using this to lay wire...")
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user