mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-25 09:31:13 +00:00
@@ -133,6 +133,7 @@
|
||||
|
||||
|
||||
|
||||
/*
|
||||
//Griff
|
||||
/datum/job/clown
|
||||
title = "Clown"
|
||||
@@ -189,6 +190,7 @@
|
||||
H.mind.special_verbs += /client/proc/mimewall
|
||||
H.miming = 1
|
||||
return 1
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -72,15 +72,6 @@
|
||||
/obj/item/mecha_parts/part/durand_right_leg,
|
||||
/obj/item/mecha_parts/part/durand_armour
|
||||
),
|
||||
"H.O.N.K"=list(
|
||||
/obj/item/mecha_parts/chassis/honker,
|
||||
/obj/item/mecha_parts/part/honker_torso,
|
||||
/obj/item/mecha_parts/part/honker_head,
|
||||
/obj/item/mecha_parts/part/honker_left_arm,
|
||||
/obj/item/mecha_parts/part/honker_right_arm,
|
||||
/obj/item/mecha_parts/part/honker_left_leg,
|
||||
/obj/item/mecha_parts/part/honker_right_leg
|
||||
),
|
||||
"Exosuit Equipment"=list(
|
||||
/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,
|
||||
/obj/item/mecha_parts/mecha_equipment/tool/drill,
|
||||
|
||||
@@ -1,33 +1,50 @@
|
||||
/atom/var/list/labels
|
||||
|
||||
//how to place label:
|
||||
//1: set label in labeller
|
||||
//2: pick up label object
|
||||
//3: click on label with the hand the label is in
|
||||
//4: place label on something
|
||||
//how to remove label
|
||||
//1: use labeller on item
|
||||
//2: select label to remove (if there is >1 label anyway, if there is only one it will just remove that one)
|
||||
/obj/item/weapon/hand_labeler
|
||||
icon = 'items.dmi'
|
||||
icon_state = "labeler"
|
||||
item_state = "flight"
|
||||
name = "Hand labeler"
|
||||
var/label = null
|
||||
var/labels_left = 30
|
||||
|
||||
/obj/item/weapon/hand_labeler/afterattack(atom/A, mob/user as mob)
|
||||
if(A==loc) // if placing the labeller into something (e.g. backpack)
|
||||
return // don't set a label
|
||||
if(A==loc) // if placing the labeller into something (e.g. backpack)
|
||||
return // don't remove any labels
|
||||
if(A.labels.len == 1)
|
||||
var/t = A.labels[1]
|
||||
A.name = copytext(A.name,1,lentext(A.name) - (lentext(t) + 2))
|
||||
A.labels -= t
|
||||
return
|
||||
if(A.labels.len > 1)
|
||||
var/t = input(user, "Which label do you want to remove?") as null|anything in A.labels
|
||||
var/i = 1
|
||||
for(, i <= labels.len, i++) //find the thing of the label to remove
|
||||
if(A.labels[i] == t)
|
||||
break
|
||||
if(i != A.labels.len) //if we arent removing the last label
|
||||
var/k = 0
|
||||
for(var/j = i+1, j <= A.labels.len, j++)
|
||||
k += lentext(A.labels[j]) + 3 // 3 = " (" + ")"
|
||||
var/labelend = lentext(A.name) - (k-1)
|
||||
var/labelstart = labelend - (lentext(t)+3)
|
||||
A.name = addtext(copytext(A.name,1,labelstart),copytext(A.name,labelend,0))
|
||||
A.labels -= t
|
||||
return
|
||||
if(i == A.labels.len) //if this is the last label we don't need to find the length of the stuff infront of it
|
||||
var/labelstart = lentext(A.name) - (lentext(t)+3)
|
||||
A.name = copytext(A.name,1,labelstart)
|
||||
A.labels -= t
|
||||
return
|
||||
user << "\red Something broke. Please report this (that you were trying to remove a label and what the full name of the item was) to an admin or something."
|
||||
|
||||
if(!labels_left)
|
||||
user << "\red No labels left."
|
||||
return
|
||||
if(!label || !length(label))
|
||||
user << "\red No text set."
|
||||
return
|
||||
if(length(A.name) + length(label) > 64)
|
||||
user << "\red Label too big."
|
||||
return
|
||||
if(ishuman(A))
|
||||
user << "\red You can't label humans."
|
||||
return
|
||||
|
||||
for(var/mob/M in viewers())
|
||||
M << "\blue [user] labels [A] as [label]."
|
||||
A.name = "[A.name] ([label])"
|
||||
|
||||
/obj/item/weapon/hand_labeler/attack_self()
|
||||
/obj/item/weapon/hand_labeler/attack_self(mob/user as mob)
|
||||
var/str = input(usr,"Label text?","Set label","")
|
||||
if(!str || !length(str))
|
||||
usr << "\red Invalid text."
|
||||
@@ -35,5 +52,44 @@
|
||||
if(length(str) > 64)
|
||||
usr << "\red Text too long."
|
||||
return
|
||||
label = str
|
||||
usr << "\blue You set the text to '[str]'."
|
||||
var/obj/item/weapon/label/A = new/obj/item/weapon/label
|
||||
A.label = str
|
||||
A.loc = user.loc
|
||||
A.name += " - '[str]'"
|
||||
|
||||
/obj/item/weapon/label
|
||||
icon = 'items.dmi'
|
||||
icon_state = "label"
|
||||
name = "Label"
|
||||
w_class = 2
|
||||
var/label = ""
|
||||
var/backing = 1 //now with added being able to be put on table-ness!
|
||||
|
||||
/obj/item/weapon/label/afterattack(atom/A, mob/user as mob)
|
||||
if(!backing)
|
||||
if(A==loc) // if placing the label into something (e.g. backpack)
|
||||
return // don't stick it on
|
||||
if(!label || !length(label))
|
||||
user << "\red This label doesn't have any text! How did this happen?!?"
|
||||
return
|
||||
if(length(A.name) + length(label) > 64) //this needs to be made bigger too. maybe number of labels instead of a fixed length
|
||||
user << "\red Label too big."
|
||||
return
|
||||
if(ishuman(A))
|
||||
user << "\red You can't label humans."
|
||||
return
|
||||
for(var/i = 1, i < A.labels.len, i++)
|
||||
if(label == A.labels[i])
|
||||
user << "\red [A] already has that label!"
|
||||
return
|
||||
|
||||
for(var/mob/M in viewers())
|
||||
M << "\blue [user] puts a label on [A]."
|
||||
A.name = "[A.name] ([label])"
|
||||
A.labels += label
|
||||
del(src)
|
||||
|
||||
/obj/item/weapon/label/attack_self(mob/user as mob) //here so you can put them on tables and stuff more easily to stop them from being all over the floor until you want to use them
|
||||
if(backing)
|
||||
backing = 0
|
||||
user << "\blue You remove the backing from the label." //now it will stick to things
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |
Reference in New Issue
Block a user