mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Merge branch 'master' of https://github.com/PolarisSS13/Polaris into boots
# Conflicts: # maps/northern_star/polaris-1.dmm # maps/northern_star/polaris-2.dmm
This commit is contained in:
@@ -48,7 +48,7 @@
|
||||
var/area/A = get_area()
|
||||
var/text = {"<HTML><head><title>[src]</title></head><BODY>
|
||||
<h2>[station_name()] blueprints</h2>
|
||||
<small>Property of [company_name]. For heads of staff only. Store in high-secure storage.</small><hr>
|
||||
<small>Property of [using_map.company_name]. For heads of staff only. Store in high-secure storage.</small><hr>
|
||||
"}
|
||||
switch (get_area_type())
|
||||
if (AREA_SPACE)
|
||||
|
||||
@@ -35,7 +35,7 @@ AI MODULES
|
||||
return
|
||||
|
||||
if(ticker && ticker.mode && ticker.mode.name == "blob")
|
||||
usr << "Law uploads have been disabled by [company_name]!"
|
||||
usr << "Law uploads have been disabled by [using_map.company_name]!"
|
||||
return
|
||||
|
||||
if (comp.current.stat == 2 || comp.current.control_disabled == 1)
|
||||
|
||||
@@ -85,10 +85,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
body_parts_covered = 0
|
||||
var/lit = 0
|
||||
var/icon_on
|
||||
var/icon_off
|
||||
var/type_butt = null
|
||||
var/chem_volume = 0
|
||||
var/smoketime = 0
|
||||
var/is_pipe = 0 //Prevents a runtime with pipes
|
||||
var/matchmes = "USER lights NAME with FLAME"
|
||||
var/lightermes = "USER lights NAME with FLAME"
|
||||
var/zippomes = "USER lights NAME with FLAME"
|
||||
@@ -106,6 +106,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
smoketime--
|
||||
if(smoketime < 1)
|
||||
die()
|
||||
if(ishuman(loc))
|
||||
var/mob/living/carbon/human/C = loc
|
||||
to_chat(C, "<span class='notice'>Your [name] goes out.</span>")
|
||||
return
|
||||
if(location)
|
||||
location.hotspot_expose(700, 5)
|
||||
@@ -119,19 +122,20 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
|
||||
/obj/item/clothing/mask/smokable/examine(mob/user)
|
||||
..()
|
||||
if(lit == 1)
|
||||
var/smoke_percent = round((smoketime / initial(smoketime)) * 100)
|
||||
switch(smoke_percent)
|
||||
if(90 to INFINITY)
|
||||
user << "[src] has just begun to burn."
|
||||
if(60 to 90)
|
||||
user << "[src] has a good amount of burn time remaining."
|
||||
if(30 to 60)
|
||||
user << "[src] is about half finished."
|
||||
if(10 to 30)
|
||||
user << "[src] is starting to burn low."
|
||||
else
|
||||
user << "[src] is nearly burnt out!"
|
||||
if(is_pipe)
|
||||
return
|
||||
var/smoke_percent = round((smoketime / initial(smoketime)) * 100)
|
||||
switch(smoke_percent)
|
||||
if(90 to INFINITY)
|
||||
user << "[src] is still fresh."
|
||||
if(60 to 90)
|
||||
user << "[src] has a good amount of burn time remaining."
|
||||
if(30 to 60)
|
||||
user << "[src] is about half finished."
|
||||
if(10 to 30)
|
||||
user << "[src] is starting to burn low."
|
||||
else
|
||||
user << "[src] is nearly burnt out!"
|
||||
|
||||
|
||||
/obj/item/clothing/mask/smokable/proc/light(var/flavor_text = "[usr] lights the [name].")
|
||||
@@ -167,6 +171,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
/obj/item/clothing/mask/smokable/proc/die(var/nomessage = 0)
|
||||
var/turf/T = get_turf(src)
|
||||
set_light(0)
|
||||
processing_objects.Remove(src)
|
||||
if (type_butt)
|
||||
var/obj/item/butt = new type_butt(T)
|
||||
transfer_fingerprints_to(butt)
|
||||
@@ -175,12 +180,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
if(ismob(loc))
|
||||
var/mob/living/M = loc
|
||||
if (!nomessage)
|
||||
M << "<span class='notice'>Your [name] goes out.</span>"
|
||||
to_chat(M, "<span class='notice'>Your [name] goes out.</span>")
|
||||
M.remove_from_mob(src) //un-equip it so the overlays can update
|
||||
M.update_inv_wear_mask(0)
|
||||
M.update_inv_l_hand(0)
|
||||
M.update_inv_r_hand(1)
|
||||
processing_objects.Remove(src)
|
||||
qdel(src)
|
||||
else
|
||||
new /obj/effect/decal/cleanable/ash(T)
|
||||
@@ -189,12 +193,26 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
if (!nomessage)
|
||||
M << "<span class='notice'>Your [name] goes out, and you empty the ash.</span>"
|
||||
lit = 0
|
||||
icon_state = icon_off
|
||||
item_state = icon_off
|
||||
icon_state = initial(icon_state)
|
||||
item_state = initial(item_state)
|
||||
M.update_inv_wear_mask(0)
|
||||
M.update_inv_l_hand(0)
|
||||
M.update_inv_r_hand(1)
|
||||
processing_objects.Remove(src)
|
||||
smoketime = 0
|
||||
reagents.clear_reagents()
|
||||
name = "empty [initial(name)]"
|
||||
|
||||
/obj/item/clothing/mask/smokable/proc/quench()
|
||||
lit = 0
|
||||
processing_objects.Remove(src)
|
||||
icon_state = initial(icon_state)
|
||||
item_state = initial(item_state)
|
||||
|
||||
if(ismob(loc))
|
||||
var/mob/living/M = loc
|
||||
M.update_inv_wear_mask(0)
|
||||
M.update_inv_l_hand(0)
|
||||
M.update_inv_r_hand(1)
|
||||
|
||||
/obj/item/clothing/mask/smokable/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
@@ -223,6 +241,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/mask/smokable/water_act(amount)
|
||||
if(amount >= 5)
|
||||
quench()
|
||||
|
||||
/obj/item/clothing/mask/smokable/cigarette
|
||||
name = "cigarette"
|
||||
desc = "A roll of tobacco and nicotine."
|
||||
@@ -233,7 +255,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
slot_flags = SLOT_EARS | SLOT_MASK
|
||||
attack_verb = list("burnt", "singed")
|
||||
icon_on = "cigon" //Note - these are in masks.dmi not in cigarette.dmi
|
||||
icon_off = "cigoff"
|
||||
type_butt = /obj/item/weapon/cigbutt
|
||||
chem_volume = 15
|
||||
smoketime = 300
|
||||
@@ -269,8 +290,12 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
|
||||
/obj/item/clothing/mask/smokable/cigarette/attack_self(mob/user as mob)
|
||||
if(lit == 1)
|
||||
user.visible_message("<span class='notice'>[user] calmly drops and treads on the lit [src], putting it out instantly.</span>")
|
||||
die(1)
|
||||
if(user.a_intent == I_HURT)
|
||||
user.visible_message("<span class='notice'>[user] drops and treads on the lit [src], putting it out instantly.</span>")
|
||||
die(1)
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] puts out \the [src].</span>")
|
||||
quench()
|
||||
return ..()
|
||||
|
||||
////////////
|
||||
@@ -281,7 +306,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
desc = "A brown roll of tobacco and... well, you're not quite sure. This thing's huge!"
|
||||
icon_state = "cigar2off"
|
||||
icon_on = "cigar2on"
|
||||
icon_off = "cigar2off"
|
||||
type_butt = /obj/item/weapon/cigbutt/cigarbutt
|
||||
throw_speed = 0.5
|
||||
item_state = "cigaroff"
|
||||
@@ -298,14 +322,12 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
desc = "There's little more you could want from a cigar."
|
||||
icon_state = "cigar2off"
|
||||
icon_on = "cigar2on"
|
||||
icon_off = "cigar2off"
|
||||
|
||||
/obj/item/clothing/mask/smokable/cigarette/cigar/havana
|
||||
name = "premium Havanian cigar"
|
||||
desc = "A cigar fit for only the best of the best."
|
||||
icon_state = "cigar2off"
|
||||
icon_on = "cigar2on"
|
||||
icon_off = "cigar2off"
|
||||
smoketime = 7200
|
||||
chem_volume = 30
|
||||
|
||||
@@ -345,7 +367,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
icon_state = "pipeoff"
|
||||
item_state = "pipeoff"
|
||||
icon_on = "pipeon" //Note - these are in masks.dmi
|
||||
icon_off = "pipeoff"
|
||||
smoketime = 0
|
||||
chem_volume = 50
|
||||
matchmes = "<span class='notice'>USER lights their NAME with their FLAME.</span>"
|
||||
@@ -353,6 +374,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
zippomes = "<span class='rose'>With much care, USER lights their NAME with their FLAME.</span>"
|
||||
weldermes = "<span class='notice'>USER recklessly lights NAME with FLAME.</span>"
|
||||
ignitermes = "<span class='notice'>USER fiddles with FLAME, and manages to light their NAME with the power of science.</span>"
|
||||
is_pipe = 1
|
||||
|
||||
/obj/item/clothing/mask/smokable/pipe/New()
|
||||
..()
|
||||
@@ -375,18 +397,12 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
|
||||
/obj/item/clothing/mask/smokable/pipe/attack_self(mob/user as mob)
|
||||
if(lit == 1)
|
||||
user.visible_message("<span class='notice'>[user] puts out [src].</span>", "<span class='notice'>You put out [src].</span>")
|
||||
lit = 0
|
||||
icon_state = icon_off
|
||||
item_state = icon_off
|
||||
processing_objects.Remove(src)
|
||||
else if (smoketime)
|
||||
var/turf/location = get_turf(user)
|
||||
user.visible_message("<span class='notice'>[user] empties out [src].</span>", "<span class='notice'>You empty out [src].</span>")
|
||||
new /obj/effect/decal/cleanable/ash(location)
|
||||
smoketime = 0
|
||||
reagents.clear_reagents()
|
||||
name = "empty [initial(name)]"
|
||||
if(user.a_intent == I_HURT)
|
||||
user.visible_message("<span class='notice'>[user] empties the lit [src] on the floor!.</span>")
|
||||
die(1)
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] puts out \the [src].</span>")
|
||||
quench()
|
||||
|
||||
/obj/item/clothing/mask/smokable/pipe/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/melee/energy/sword))
|
||||
@@ -431,7 +447,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
icon_state = "cobpipeoff"
|
||||
item_state = "cobpipeoff"
|
||||
icon_on = "cobpipeon" //Note - these are in masks.dmi
|
||||
icon_off = "cobpipeoff"
|
||||
chem_volume = 35
|
||||
|
||||
/////////
|
||||
|
||||
@@ -35,3 +35,22 @@
|
||||
if(istype(M, build_path))
|
||||
return 1
|
||||
return 0
|
||||
|
||||
//Should be called from the constructor of any machine to automatically populate the default parts
|
||||
/obj/item/weapon/circuitboard/proc/apply_default_parts(var/obj/machinery/M)
|
||||
if(!istype(M))
|
||||
return
|
||||
if(!req_components)
|
||||
return
|
||||
M.component_parts = list()
|
||||
for(var/comp_path in req_components)
|
||||
var/comp_amt = req_components[comp_path]
|
||||
if(!comp_amt)
|
||||
continue
|
||||
|
||||
if(ispath(comp_path, /obj/item/stack))
|
||||
M.component_parts += new comp_path(contain_parts ? M : null, comp_amt)
|
||||
else
|
||||
for(var/i in 1 to comp_amt)
|
||||
M.component_parts += new comp_path(contain_parts ? M : null)
|
||||
return
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
/obj/item/weapon/circuitboard/security/New()
|
||||
..()
|
||||
network = station_networks
|
||||
network = using_map.station_networks
|
||||
|
||||
/obj/item/weapon/circuitboard/security/engineering
|
||||
name = T_BOARD("engineering camera monitor")
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
#ifndef T_BOARD
|
||||
#error T_BOARD macro is not defined but we need it!
|
||||
#endif
|
||||
|
||||
/obj/item/weapon/circuitboard/papershredder
|
||||
name = T_BOARD("papershredder")
|
||||
build_path = /obj/machinery/papershredder
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/motor = 1,
|
||||
/obj/item/weapon/stock_parts/gear = 2,
|
||||
/obj/item/weapon/stock_parts/micro_laser = 1)
|
||||
@@ -333,7 +333,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
/obj/item/weapon/implant/loyalty/get_data()
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> [company_name] Employee Management Implant<BR>
|
||||
<b>Name:</b> [using_map.company_name] Employee Management Implant<BR>
|
||||
<b>Life:</b> Ten years.<BR>
|
||||
<b>Important Notes:</b> Personnel injected with this device tend to be much more loyal to the company.<BR>
|
||||
<HR>
|
||||
@@ -349,11 +349,11 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/datum/antagonist/antag_data = get_antag_data(H.mind.special_role)
|
||||
if(antag_data && (antag_data.flags & ANTAG_IMPLANT_IMMUNE))
|
||||
H.visible_message("[H] seems to resist the implant!", "You feel the corporate tendrils of [company_name] try to invade your mind!")
|
||||
H.visible_message("[H] seems to resist the implant!", "You feel the corporate tendrils of [using_map.company_name] try to invade your mind!")
|
||||
return 0
|
||||
else
|
||||
clear_antag_roles(H.mind, 1)
|
||||
H << "<span class='notice'>You feel a surge of loyalty towards [company_name].</span>"
|
||||
H << "<span class='notice'>You feel a surge of loyalty towards [using_map.company_name].</span>"
|
||||
return 1
|
||||
|
||||
|
||||
@@ -403,7 +403,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
/obj/item/weapon/implant/death_alarm/get_data()
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> [company_name] \"Profit Margin\" Class Employee Lifesign Sensor<BR>
|
||||
<b>Name:</b> [using_map.company_name] \"Profit Margin\" Class Employee Lifesign Sensor<BR>
|
||||
<b>Life:</b> Activates upon death.<BR>
|
||||
<b>Important Notes:</b> Alerts crew to crewmember death.<BR>
|
||||
<HR>
|
||||
@@ -481,7 +481,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
/obj/item/weapon/implant/compressed/get_data()
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> [company_name] \"Profit Margin\" Class Employee Lifesign Sensor<BR>
|
||||
<b>Name:</b> [using_map.company_name] \"Profit Margin\" Class Employee Lifesign Sensor<BR>
|
||||
<b>Life:</b> Activates upon death.<BR>
|
||||
<b>Important Notes:</b> Alerts crew to crewmember death.<BR>
|
||||
<HR>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = ITEMSIZE_SMALL
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 1000)
|
||||
var/obj/item/weapon/implant/imp = null
|
||||
|
||||
/obj/item/weapon/implanter/attack_self(var/mob/user)
|
||||
|
||||
@@ -751,7 +751,7 @@
|
||||
<br>
|
||||
<h1>The Oath</h1>
|
||||
|
||||
<i>The Medical Oath sworn by recognised medical practitioners in the employ of [company_name]</i><br>
|
||||
<i>The Medical Oath sworn by recognised medical practitioners in the employ of [using_map.company_name]</i><br>
|
||||
|
||||
<ol>
|
||||
<li>Now, as a new doctor, I solemnly promise that I will, to the best of my ability, serve humanity-caring for the sick, promoting good health, and alleviating pain and suffering.</li>
|
||||
|
||||
@@ -285,4 +285,59 @@
|
||||
/obj/item/weapon/anobattery,
|
||||
/obj/item/device/ano_scanner,
|
||||
/obj/item/weapon/pickaxe/hand
|
||||
)
|
||||
)
|
||||
|
||||
/obj/item/weapon/storage/belt/fannypack
|
||||
name = "leather fannypack"
|
||||
desc = "A dorky fannypack for keeping small items in."
|
||||
icon_state = "fannypack_leather"
|
||||
item_state = "fannypack_leather"
|
||||
max_w_class = ITEMSIZE_SMALL
|
||||
storage_slots = null
|
||||
max_storage_space = ITEMSIZE_COST_NORMAL * 2
|
||||
|
||||
/obj/item/weapon/storage/belt/fannypack/black
|
||||
name = "black fannypack"
|
||||
icon_state = "fannypack_black"
|
||||
item_state = "fannypack_black"
|
||||
|
||||
/obj/item/weapon/storage/belt/fannypack/blue
|
||||
name = "blue fannypack"
|
||||
icon_state = "fannypack_blue"
|
||||
item_state = "fannypack_blue"
|
||||
|
||||
/obj/item/weapon/storage/belt/fannypack/cyan
|
||||
name = "cyan fannypack"
|
||||
icon_state = "fannypack_cyan"
|
||||
item_state = "fannypack_cyan"
|
||||
|
||||
/obj/item/weapon/storage/belt/fannypack/green
|
||||
name = "green fannypack"
|
||||
icon_state = "fannypack_green"
|
||||
item_state = "fannypack_green"
|
||||
|
||||
/obj/item/weapon/storage/belt/fannypack/orange
|
||||
name = "orange fannypack"
|
||||
icon_state = "fannypack_orange"
|
||||
item_state = "fannypack_orange"
|
||||
|
||||
/obj/item/weapon/storage/belt/fannypack/purple
|
||||
name = "purple fannypack"
|
||||
icon_state = "fannypack_purple"
|
||||
item_state = "fannypack_purple"
|
||||
|
||||
/obj/item/weapon/storage/belt/fannypack/red
|
||||
name = "red fannypack"
|
||||
icon_state = "fannypack_red"
|
||||
item_state = "fannypack_red"
|
||||
|
||||
/obj/item/weapon/storage/belt/fannypack/white
|
||||
name = "white fannypack"
|
||||
icon_state = "fannypack_white"
|
||||
item_state = "fannypack_white"
|
||||
|
||||
/obj/item/weapon/storage/belt/fannypack/yellow
|
||||
name = "yellow fannypack"
|
||||
icon_state = "fannypack_yellow"
|
||||
item_state = "fannypack_yellow"
|
||||
|
||||
|
||||
@@ -50,10 +50,10 @@
|
||||
if (!( user.restrained() ) && !( user.stat ))
|
||||
switch(over_object.name)
|
||||
if("r_hand")
|
||||
user.u_equip(master_item)
|
||||
user.unEquip(master_item)
|
||||
user.put_in_r_hand(master_item)
|
||||
if("l_hand")
|
||||
user.u_equip(master_item)
|
||||
user.unEquip(master_item)
|
||||
user.put_in_l_hand(master_item)
|
||||
master_item.add_fingerprint(user)
|
||||
return 0
|
||||
|
||||
@@ -77,10 +77,10 @@
|
||||
|
||||
switch(over_object.name)
|
||||
if("r_hand")
|
||||
usr.u_equip(src)
|
||||
usr.unEquip(src)
|
||||
usr.put_in_r_hand(src)
|
||||
if("l_hand")
|
||||
usr.u_equip(src)
|
||||
usr.unEquip(src)
|
||||
usr.put_in_l_hand(src)
|
||||
src.add_fingerprint(usr)
|
||||
|
||||
|
||||
@@ -150,12 +150,14 @@
|
||||
//misc, formerly from code/defines/weapons.dm
|
||||
/obj/item/weapon/surgical/bonegel
|
||||
name = "bone gel"
|
||||
desc = "For fixing bones."
|
||||
icon_state = "bone-gel"
|
||||
force = 0
|
||||
throwforce = 1.0
|
||||
|
||||
/obj/item/weapon/surgical/FixOVein
|
||||
name = "FixOVein"
|
||||
desc = "Like bone gel. For veins."
|
||||
icon_state = "fixovein"
|
||||
force = 0
|
||||
throwforce = 1.0
|
||||
@@ -164,6 +166,7 @@
|
||||
|
||||
/obj/item/weapon/surgical/bonesetter
|
||||
name = "bone setter"
|
||||
desc = "Put them in their place."
|
||||
icon_state = "bone setter"
|
||||
force = 8.0
|
||||
throwforce = 9.0
|
||||
|
||||
@@ -32,6 +32,19 @@
|
||||
..()
|
||||
icon_state = "tree_[rand(1, 6)]"
|
||||
|
||||
/obj/structure/flora/tree/sif
|
||||
name = "glowing tree"
|
||||
desc = "It's a tree, except this one seems quite alien. It glows a deep blue."
|
||||
icon = 'icons/obj/flora/deadtrees.dmi'
|
||||
icon_state = "tree_sif"
|
||||
|
||||
/obj/structure/flora/tree/sif/New()
|
||||
update_icon()
|
||||
|
||||
/obj/structure/flora/tree/sif/update_icon()
|
||||
set_light(5, 1, "#33ccff")
|
||||
overlays.Cut()
|
||||
overlays.Add(image(icon = 'icons/obj/flora/deadtrees.dmi', icon_state = "[icon_state]_glow", layer = LIGHTING_LAYER + 0.1))
|
||||
|
||||
//grass
|
||||
/obj/structure/flora/grass
|
||||
|
||||
@@ -18,8 +18,9 @@
|
||||
|
||||
/obj/structure/toilet/attack_hand(mob/living/user as mob)
|
||||
if(swirlie)
|
||||
usr.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
usr.visible_message("<span class='danger'>[user] slams the toilet seat onto [swirlie.name]'s head!</span>", "<span class='notice'>You slam the toilet seat onto [swirlie.name]'s head!</span>", "You hear reverberating porcelain.")
|
||||
swirlie.adjustBruteLoss(8)
|
||||
swirlie.adjustBruteLoss(5)
|
||||
return
|
||||
|
||||
if(cistern && !open)
|
||||
@@ -53,6 +54,7 @@
|
||||
return
|
||||
|
||||
if(istype(I, /obj/item/weapon/grab))
|
||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
var/obj/item/weapon/grab/G = I
|
||||
|
||||
if(isliving(G.affecting))
|
||||
@@ -65,14 +67,14 @@
|
||||
if(open && !swirlie)
|
||||
user.visible_message("<span class='danger'>[user] starts to give [GM.name] a swirlie!</span>", "<span class='notice'>You start to give [GM.name] a swirlie!</span>")
|
||||
swirlie = GM
|
||||
if(do_after(user, 30, 5, 0))
|
||||
if(do_after(user, 30, GM))
|
||||
user.visible_message("<span class='danger'>[user] gives [GM.name] a swirlie!</span>", "<span class='notice'>You give [GM.name] a swirlie!</span>", "You hear a toilet flushing.")
|
||||
if(!GM.internal)
|
||||
GM.adjustOxyLoss(5)
|
||||
swirlie = null
|
||||
else
|
||||
user.visible_message("<span class='danger'>[user] slams [GM.name] into the [src]!</span>", "<span class='notice'>You slam [GM.name] into the [src]!</span>")
|
||||
GM.adjustBruteLoss(8)
|
||||
GM.adjustBruteLoss(5)
|
||||
else
|
||||
user << "<span class='notice'>You need a tighter grip.</span>"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user