mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 11:13:16 +00:00
Fixes #2431
This commit is contained in:
@@ -447,6 +447,31 @@
|
|||||||
state = 3
|
state = 3
|
||||||
if(frame_type.frame_class == "machine")
|
if(frame_type.frame_class == "machine")
|
||||||
user << desc
|
user << desc
|
||||||
|
else if(state == 3)
|
||||||
|
if(frame_type.frame_class == "machine")
|
||||||
|
for(var/I in req_components)
|
||||||
|
if(istype(P, I) && (req_components[I] > 0))
|
||||||
|
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||||
|
if(istype(P, /obj/item/stack/cable_coil))
|
||||||
|
var/obj/item/stack/cable_coil/CP = P
|
||||||
|
if(CP.get_amount() > 1)
|
||||||
|
var/camt = min(CP.amount, req_components[I]) // amount of cable to take, idealy amount required, but limited by amount provided
|
||||||
|
var/obj/item/stack/cable_coil/CC = new /obj/item/stack/cable_coil(src)
|
||||||
|
CC.amount = camt
|
||||||
|
CC.update_icon()
|
||||||
|
CP.use(camt)
|
||||||
|
components += CC
|
||||||
|
req_components[I] -= camt
|
||||||
|
update_desc()
|
||||||
|
break
|
||||||
|
|
||||||
|
user.drop_item()
|
||||||
|
P.forceMove(src)
|
||||||
|
components += P
|
||||||
|
req_components[I]--
|
||||||
|
update_desc()
|
||||||
|
break
|
||||||
|
user << desc
|
||||||
|
|
||||||
else if(istype(P, /obj/item/weapon/wirecutters))
|
else if(istype(P, /obj/item/weapon/wirecutters))
|
||||||
if(state == 3)
|
if(state == 3)
|
||||||
@@ -506,20 +531,7 @@
|
|||||||
for(var/I in req_components)
|
for(var/I in req_components)
|
||||||
if(istype(P, I) && (req_components[I] > 0))
|
if(istype(P, I) && (req_components[I] > 0))
|
||||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||||
if(istype(P, /obj/item/stack/cable_coil))
|
if(istype(P, /obj/item/stack/material/glass/reinforced))
|
||||||
var/obj/item/stack/cable_coil/CP = P
|
|
||||||
if(CP.get_amount() > 1)
|
|
||||||
var/camt = min(CP.amount, req_components[I]) // amount of cable to take, idealy amount required, but limited by amount provided
|
|
||||||
var/obj/item/stack/cable_coil/CC = new /obj/item/stack/cable_coil(src)
|
|
||||||
CC.amount = camt
|
|
||||||
CC.update_icon()
|
|
||||||
CP.use(camt)
|
|
||||||
components += CC
|
|
||||||
req_components[I] -= camt
|
|
||||||
update_desc()
|
|
||||||
break
|
|
||||||
|
|
||||||
else if(istype(P, /obj/item/stack/material/glass/reinforced))
|
|
||||||
var/obj/item/stack/material/glass/reinforced/CP = P
|
var/obj/item/stack/material/glass/reinforced/CP = P
|
||||||
if(CP.get_amount() > 1)
|
if(CP.get_amount() > 1)
|
||||||
var/camt = min(CP.amount, req_components[I]) // amount of glass to take, idealy amount required, but limited by amount provided
|
var/camt = min(CP.amount, req_components[I]) // amount of glass to take, idealy amount required, but limited by amount provided
|
||||||
@@ -539,8 +551,65 @@
|
|||||||
update_desc()
|
update_desc()
|
||||||
break
|
break
|
||||||
user << desc
|
user << desc
|
||||||
if(P && P.loc != src && !istype(P, /obj/item/stack/cable_coil) && !istype(P, /obj/item/stack/material))
|
if(P && P.loc != src && !istype(P, /obj/item/stack/material))
|
||||||
user << "<span class='warning'>You cannot add that component to the machine!</span>"
|
user << "<span class='warning'>You cannot add that component to the machine!</span>"
|
||||||
return
|
return
|
||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
|
/obj/structure/frame/verb/rotate()
|
||||||
|
set name = "Rotate Frame Counter-Clockwise"
|
||||||
|
set category = "Object"
|
||||||
|
set src in oview(1)
|
||||||
|
|
||||||
|
if(usr.incapacitated())
|
||||||
|
return 0
|
||||||
|
|
||||||
|
if(anchored)
|
||||||
|
usr << "It is fastened to the floor therefore you can't rotate it!"
|
||||||
|
return 0
|
||||||
|
|
||||||
|
set_dir(turn(dir, 90))
|
||||||
|
|
||||||
|
var/dir_text
|
||||||
|
if(dir == 1)
|
||||||
|
dir_text = "north"
|
||||||
|
else if(dir == 2)
|
||||||
|
dir_text = "south"
|
||||||
|
else if(dir == 4)
|
||||||
|
dir_text = "east"
|
||||||
|
else if(dir == 8)
|
||||||
|
dir_text = "west"
|
||||||
|
|
||||||
|
usr << "<span class='notice'>You rotate the [src] to face [dir_text]!</span>"
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
/obj/structure/frame/verb/revrotate()
|
||||||
|
set name = "Rotate Frame Clockwise"
|
||||||
|
set category = "Object"
|
||||||
|
set src in oview(1)
|
||||||
|
|
||||||
|
if(usr.incapacitated())
|
||||||
|
return 0
|
||||||
|
|
||||||
|
if(anchored)
|
||||||
|
usr << "It is fastened to the floor therefore you can't rotate it!"
|
||||||
|
return 0
|
||||||
|
|
||||||
|
set_dir(turn(dir, 270))
|
||||||
|
|
||||||
|
var/dir_text
|
||||||
|
if(dir == 1)
|
||||||
|
dir_text = "north"
|
||||||
|
else if(dir == 2)
|
||||||
|
dir_text = "south"
|
||||||
|
else if(dir == 4)
|
||||||
|
dir_text = "east"
|
||||||
|
else if(dir == 8)
|
||||||
|
dir_text = "west"
|
||||||
|
|
||||||
|
usr << "<span class='notice'>You rotate the [src] to face [dir_text]!</span>"
|
||||||
|
|
||||||
|
return
|
||||||
Reference in New Issue
Block a user