mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 12:41:09 +01:00
Resolved Conflicts:
code/game/gamemodes/gang/dominator.dm
This commit is contained in:
@@ -1300,17 +1300,7 @@ while True:
|
||||
print sender+" Has now joined"
|
||||
users.append(sender)
|
||||
#####
|
||||
if ".fi" in data[0] and sender.lower() == "skibiliano":
|
||||
operators.append(sender)
|
||||
if sender.lower() not in peopleheknows[0]:
|
||||
if data[0].split("!")[1] in peopleheknows[1]:
|
||||
appendion = "...you do seem familiar however"
|
||||
else:
|
||||
appendion = ""
|
||||
if data[1][1].lower() == channel or data[1][1].lower() == channel[1:]:
|
||||
conn.privmsg(data[1][1],CORE_DATA.greeting.replace("USER",sender)+" "+appendion)
|
||||
else:
|
||||
conn.privmsg(data[1][1],"Hello! Haven't seen you here before! Happy to meet you! %s" %(appendion))
|
||||
peopleheknows[0].append(sender.lower())
|
||||
peopleheknows[1].append(data[0].split("!")[1])
|
||||
with open("peopleheknows.cache","w") as peoplehecache:
|
||||
|
||||
@@ -134,7 +134,8 @@ var/list/wireColours = list("red", "blue", "green", "black", "orange", "brown",
|
||||
if(istype(I, /obj/item/device/assembly))
|
||||
var/obj/item/device/assembly/A = I;
|
||||
if(A.attachable)
|
||||
L.drop_item()
|
||||
if(!L.drop_item())
|
||||
return
|
||||
Attach(colour, A)
|
||||
else
|
||||
L << "<span class='warning'>You need a attachable assembly!</span>"
|
||||
|
||||
+2
-1
@@ -519,7 +519,8 @@
|
||||
/obj/machinery/computer/scan_consolenew/attackby(obj/item/I as obj, mob/user as mob, params)
|
||||
if (istype(I, /obj/item/weapon/disk/data)) //INSERT SOME DISKETTES
|
||||
if (!src.diskette)
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
src.diskette = I
|
||||
user << "<span class='notice'>You insert [I].</span>"
|
||||
|
||||
@@ -60,7 +60,8 @@
|
||||
|
||||
/obj/machinery/abductor/gland_dispenser/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/gland))
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
W.loc = src
|
||||
for(var/i=1,i<=gland_colors.len,i++)
|
||||
if(gland_types[i] == W.type)
|
||||
|
||||
@@ -77,16 +77,17 @@
|
||||
mode.A_timer = "OFFLINE"
|
||||
if(gang == "B")
|
||||
mode.B_timer = "OFFLINE"
|
||||
if(!isnum(mode.A_timer) && !isnum(mode.B_timer))
|
||||
SSshuttle.emergencyNoEscape = 0
|
||||
if(SSshuttle.emergency.mode == SHUTTLE_STRANDED)
|
||||
SSshuttle.emergency.mode = SHUTTLE_DOCKED
|
||||
SSshuttle.emergency.timer = world.time
|
||||
priority_announce("Hostile enviroment resolved. You have 3 minutes to board the Emergency Shuttle.", null, 'sound/AI/shuttledock.ogg', "Priority")
|
||||
else
|
||||
priority_announce("All hostile activity within station systems have ceased.","Network Alert")
|
||||
if(get_security_level() == "delta")
|
||||
set_security_level("red")
|
||||
if(gang)
|
||||
if(!isnum(mode.A_timer) && !isnum(mode.B_timer))
|
||||
SSshuttle.emergencyNoEscape = 0
|
||||
if(SSshuttle.emergency.mode == SHUTTLE_STRANDED)
|
||||
SSshuttle.emergency.mode = SHUTTLE_DOCKED
|
||||
SSshuttle.emergency.timer = world.time
|
||||
priority_announce("Hostile enviroment resolved. You have 3 minutes to board the Emergency Shuttle.", null, 'sound/AI/shuttledock.ogg', "Priority")
|
||||
else
|
||||
priority_announce("All hostile activity within station systems have ceased.","Network Alert")
|
||||
if(get_security_level() == "delta")
|
||||
set_security_level("red")
|
||||
ticker.mode.message_gangtools(((gang=="A") ? ticker.mode.A_tools : ticker.mode.B_tools),"Hostile takeover cancelled: Dominator is no longer operational.",1,1)
|
||||
SetLuminosity(0)
|
||||
icon_state = "dominator-broken"
|
||||
|
||||
@@ -273,7 +273,7 @@
|
||||
if(check && isloyal(gangster_mind.current)) //Check to see if the potential gangster is implanted
|
||||
return 0
|
||||
if(gangster_mind in (A_bosses | A_gang | B_bosses | B_gang))
|
||||
return 0
|
||||
return 1
|
||||
if(gang == "A")
|
||||
A_gang += gangster_mind
|
||||
else
|
||||
@@ -290,7 +290,7 @@
|
||||
gangster_mind.current.attack_log += "\[[time_stamp()]\] <font color='red'>Has been converted to the [gang=="A" ? "[gang_name("A")] Gang (A)" : "[gang_name("B")] Gang (B)"]!</font>"
|
||||
gangster_mind.special_role = "[gang=="A" ? "[gang_name("A")] Gang (A)" : "[gang_name("B")] Gang (B)"]"
|
||||
update_gang_icons_added(gangster_mind,gang)
|
||||
return 1
|
||||
return 2
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//Deals with players reverting to neutral (Not a gangster anymore)//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -78,18 +78,24 @@
|
||||
|
||||
dat += "(10 Influence) "
|
||||
if(points >= 10)
|
||||
dat += "<a href='?src=\ref[src];purchase=ammo'>10mm Ammo</a><br>"
|
||||
dat += "<a href='?src=\ref[src];purchase=10mmammo'>10mm Ammo</a><br>"
|
||||
else
|
||||
dat += "10mm Ammo<br>"
|
||||
|
||||
dat += "(50 Influence) "
|
||||
if(points >= 50)
|
||||
dat += "<a href='?src=\ref[src];purchase=SMG'>Thompson SMG</a><br>"
|
||||
dat += "(40 Influence) "
|
||||
if(points >= 40)
|
||||
dat += "<a href='?src=\ref[src];purchase=uzi'>Mini Uzi</a><br>"
|
||||
else
|
||||
dat += "Thompson SMG<br>"
|
||||
dat += "Mini Uzi<br>"
|
||||
|
||||
dat += "(25 Influence) "
|
||||
if(points >= 25)
|
||||
dat += "<a href='?src=\ref[src];purchase=9mmammo'>Uzi Ammo</a><br>"
|
||||
else
|
||||
dat += "Uzi Magazine<br>"
|
||||
|
||||
dat += "<br>"
|
||||
dat += "<B>Purchase Utilities:</B><br>"
|
||||
dat += "<B>Purchase Equipment:</B><br>"
|
||||
|
||||
dat += "(5 Influence) "
|
||||
if(points >= 5)
|
||||
@@ -163,14 +169,18 @@
|
||||
if(points >= 20)
|
||||
item_type = /obj/item/weapon/gun/projectile/automatic/pistol
|
||||
points = 20
|
||||
if("ammo")
|
||||
if("10mmammo")
|
||||
if(points >= 10)
|
||||
item_type = /obj/item/ammo_box/magazine/m10mm
|
||||
points = 10
|
||||
if("SMG")
|
||||
if(points >= 50)
|
||||
item_type = /obj/item/weapon/gun/projectile/automatic/tommygun
|
||||
points = 50
|
||||
if("uzi")
|
||||
if(points >= 40)
|
||||
item_type = /obj/item/weapon/gun/projectile/automatic/mini_uzi
|
||||
points = 40
|
||||
if("9mmammo")
|
||||
if(points >= 25)
|
||||
item_type = /obj/item/ammo_box/magazine/uzim9mm
|
||||
points = 25
|
||||
if("vest")
|
||||
if(points >= 10)
|
||||
item_type = /obj/item/clothing/suit/armor/bulletproof
|
||||
@@ -357,4 +367,4 @@
|
||||
|
||||
/obj/item/device/gangtool/lt
|
||||
boss = 0
|
||||
outfits = 1
|
||||
outfits = 1
|
||||
|
||||
@@ -85,7 +85,8 @@ Made by Xhuis
|
||||
if(config.protect_assistant_from_antagonist)
|
||||
restricted_jobs += "Assistant"
|
||||
|
||||
var/shadowlings = 2 //How many shadowlings there are; hardcoded to 2
|
||||
var/shadowlings = max(2, round(num_players()/10))
|
||||
|
||||
|
||||
while(shadowlings)
|
||||
var/datum/mind/shadow = pick(antag_candidates)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//In this file: Summon Magic/Summon Guns/Summon Events
|
||||
|
||||
/proc/rightandwrong(var/summon_type, var/mob/user, var/survivor_probability) //0 = Summon Guns, 1 = Summon Magic
|
||||
var/list/gunslist = list("taser","egun","laser","revolver","detective","c20r","nuclear","deagle","gyrojet","pulse","suppressed","cannon","doublebarrel","shotgun","combatshotgun","bulldog","mateba","sabr","crossbow","saw","car","boltaction","speargun","arg")
|
||||
var/list/gunslist = list("taser","egun","laser","revolver","detective","c20r","nuclear","deagle","gyrojet","pulse","suppressed","cannon","doublebarrel","shotgun","combatshotgun","bulldog","mateba","sabr","crossbow","saw","car","boltaction","speargun","arg","uzi")
|
||||
var/list/magiclist = list("fireball","smoke","blind","mindswap","forcewall","knock","horsemask","charge", "summonitem", "wandnothing", "wanddeath", "wandresurrection", "wandpolymorph", "wandteleport", "wanddoor", "wandfireball", "staffchange", "staffhealing", "armor", "scrying","staffdoor", "special")
|
||||
var/list/magicspeciallist = list("staffchange","staffanimation", "wandbelt", "contract", "staffchaos", "necromantic")
|
||||
|
||||
@@ -63,6 +63,8 @@
|
||||
new /obj/item/weapon/gun/projectile/shotgun/boltaction(get_turf(H))
|
||||
if("speargun")
|
||||
new /obj/item/weapon/gun/projectile/automatic/speargun(get_turf(H))
|
||||
if("uzi")
|
||||
new /obj/item/weapon/gun/projectile/automatic/mini_uzi(get_turf(H))
|
||||
if("cannon")
|
||||
var/obj/item/weapon/gun/energy/lasercannon/gat = new(get_turf(H))
|
||||
gat.pin = new /obj/item/device/firing_pin //no authentication pins for spawned guns. fun allowed.
|
||||
|
||||
@@ -48,7 +48,8 @@
|
||||
else
|
||||
var/obj/item/device/pda/P = usr.get_active_hand()
|
||||
if(istype(P))
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
storedpda = P
|
||||
P.loc = src
|
||||
P.add_fingerprint(usr)
|
||||
|
||||
@@ -735,11 +735,11 @@
|
||||
return
|
||||
if(0)
|
||||
if(istype(W, /obj/item/weapon/airalarm_electronics))
|
||||
user << "<span class='notice'>You insert the circuit.</span>"
|
||||
buildstage = 1
|
||||
update_icon()
|
||||
user.drop_item()
|
||||
qdel(W)
|
||||
if(user.unEquip(W))
|
||||
user << "<span class='notice'>You insert the circuit.</span>"
|
||||
buildstage = 1
|
||||
update_icon()
|
||||
qdel(W)
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
|
||||
@@ -67,8 +67,10 @@
|
||||
if ((istype(W, /obj/item/weapon/tank) && !( src.destroyed )))
|
||||
if (src.holding)
|
||||
return
|
||||
if(!user.drop_item())
|
||||
return
|
||||
|
||||
var/obj/item/weapon/tank/T = W
|
||||
user.drop_item()
|
||||
T.loc = src
|
||||
src.holding = T
|
||||
update_icon()
|
||||
|
||||
@@ -243,7 +243,8 @@ text("<A href='?src=\ref[src];power=1'>[on ? "On" : "Off"]</A>"))
|
||||
/obj/item/weapon/bucket_sensor/attackby(var/obj/item/W, mob/user as mob, params)
|
||||
..()
|
||||
if(istype(W, /obj/item/robot_parts/l_arm) || istype(W, /obj/item/robot_parts/r_arm))
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
qdel(W)
|
||||
var/turf/T = get_turf(loc)
|
||||
var/obj/machinery/bot/cleanbot/A = new /obj/machinery/bot/cleanbot(T)
|
||||
|
||||
@@ -554,7 +554,8 @@ Auto Patrol[]"},
|
||||
switch(build_step)
|
||||
if(0,1)
|
||||
if(istype(W, /obj/item/robot_parts/l_leg) || istype(W, /obj/item/robot_parts/r_leg))
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
qdel(W)
|
||||
build_step++
|
||||
user << "<span class='notice'>You add the robot leg to [src].</span>"
|
||||
@@ -567,12 +568,15 @@ Auto Patrol[]"},
|
||||
icon_state = "ed209_legs"
|
||||
|
||||
if(2)
|
||||
var/newcolor = ""
|
||||
if(istype(W, /obj/item/clothing/suit/redtag))
|
||||
lasercolor = "r"
|
||||
newcolor = "r"
|
||||
else if(istype(W, /obj/item/clothing/suit/bluetag))
|
||||
lasercolor = "b"
|
||||
if(lasercolor || istype(W, /obj/item/clothing/suit/armor/vest))
|
||||
user.drop_item()
|
||||
newcolor = "b"
|
||||
if(newcolor || istype(W, /obj/item/clothing/suit/armor/vest))
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
lasercolor = newcolor
|
||||
qdel(W)
|
||||
build_step++
|
||||
user << "<span class='notice'>You add the armor to [src].</span>"
|
||||
@@ -601,7 +605,8 @@ Auto Patrol[]"},
|
||||
if(!istype(W, /obj/item/clothing/head/helmet))
|
||||
return
|
||||
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
qdel(W)
|
||||
build_step++
|
||||
user << "<span class='notice'>You add the helmet to [src].</span>"
|
||||
@@ -611,7 +616,8 @@ Auto Patrol[]"},
|
||||
|
||||
if(5)
|
||||
if(isprox(W))
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
qdel(W)
|
||||
build_step++
|
||||
user << "<span class='notice'>You add the prox sensor to [src].</span>"
|
||||
@@ -634,26 +640,29 @@ Auto Patrol[]"},
|
||||
name = "wired ED-209 assembly"
|
||||
|
||||
if(7)
|
||||
var/newname = ""
|
||||
switch(lasercolor)
|
||||
if("b")
|
||||
if(!istype(W, /obj/item/weapon/gun/energy/laser/bluetag))
|
||||
return
|
||||
name = "bluetag ED-209 assembly"
|
||||
newname = "bluetag ED-209 assembly"
|
||||
if("r")
|
||||
if(!istype(W, /obj/item/weapon/gun/energy/laser/redtag))
|
||||
return
|
||||
name = "redtag ED-209 assembly"
|
||||
newname = "redtag ED-209 assembly"
|
||||
if("")
|
||||
if(!istype(W, /obj/item/weapon/gun/energy/gun/advtaser))
|
||||
return
|
||||
name = "taser ED-209 assembly"
|
||||
newname = "taser ED-209 assembly"
|
||||
else
|
||||
return
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
name = newname
|
||||
build_step++
|
||||
user << "<span class='notice'>You add [W] to [src].</span>"
|
||||
item_state = "[lasercolor]ed209_taser"
|
||||
icon_state = "[lasercolor]ed209_taser"
|
||||
user.drop_item()
|
||||
qdel(W)
|
||||
|
||||
if(8)
|
||||
@@ -669,11 +678,12 @@ Auto Patrol[]"},
|
||||
|
||||
if(9)
|
||||
if(istype(W, /obj/item/weapon/stock_parts/cell))
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
build_step++
|
||||
user << "<span class='notice'>You complete the ED-209.</span>"
|
||||
var/turf/T = get_turf(src)
|
||||
new /obj/machinery/bot/ed209(T,created_name,lasercolor)
|
||||
user.drop_item()
|
||||
qdel(W)
|
||||
user.unEquip(src, 1)
|
||||
qdel(src)
|
||||
|
||||
@@ -244,8 +244,9 @@
|
||||
if(!isnull(reagent_glass))
|
||||
user << "<span class='warning'>There is already a beaker loaded!</span>"
|
||||
return
|
||||
if(!user.drop_item())
|
||||
return
|
||||
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
reagent_glass = W
|
||||
user << "<span class='notice'>You insert [W].</span>"
|
||||
@@ -585,7 +586,8 @@
|
||||
switch(build_step)
|
||||
if(0)
|
||||
if(istype(W, /obj/item/device/healthanalyzer))
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
qdel(W)
|
||||
build_step++
|
||||
user << "<span class='notice'>You add the health sensor to [src].</span>"
|
||||
@@ -594,7 +596,8 @@
|
||||
|
||||
if(1)
|
||||
if(isprox(W))
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
qdel(W)
|
||||
build_step++
|
||||
user << "<span class='notice'>You complete the Medibot. Beep boop!</span>"
|
||||
|
||||
@@ -89,8 +89,9 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
user << "<span class='notice'>Controls [(locked ? "locked" : "unlocked")].</span>"
|
||||
|
||||
else if(istype(I,/obj/item/weapon/stock_parts/cell) && open && !cell)
|
||||
if(!user.drop_item())
|
||||
return
|
||||
var/obj/item/weapon/stock_parts/cell/C = I
|
||||
user.drop_item()
|
||||
C.loc = src
|
||||
cell = C
|
||||
updateDialog()
|
||||
@@ -288,7 +289,8 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
if(open && !cell)
|
||||
var/obj/item/weapon/stock_parts/cell/C = usr.get_active_hand()
|
||||
if(istype(C))
|
||||
usr.drop_item()
|
||||
if(!usr.drop_item())
|
||||
return
|
||||
cell = C
|
||||
C.loc = src
|
||||
C.add_fingerprint(usr)
|
||||
|
||||
@@ -429,7 +429,8 @@ Auto Patrol: []"},
|
||||
user << "<span class='notice'>You weld the hole in [src] shut!</span>"
|
||||
|
||||
else if(isprox(I) && (build_step == 1))
|
||||
user.drop_item()
|
||||
if(!user.unEquip(I))
|
||||
return
|
||||
build_step++
|
||||
user << "<span class='notice'>You add the prox sensor to [src]!</span>"
|
||||
overlays += "hs_eye"
|
||||
@@ -437,7 +438,8 @@ Auto Patrol: []"},
|
||||
qdel(I)
|
||||
|
||||
else if(((istype(I, /obj/item/robot_parts/l_arm)) || (istype(I, /obj/item/robot_parts/r_arm))) && (build_step == 2))
|
||||
user.drop_item()
|
||||
if(!user.unEquip(I))
|
||||
return
|
||||
build_step++
|
||||
user << "<span class='notice'>You add the robot arm to [src]!</span>"
|
||||
name = "helmet/signaler/prox sensor/robot arm assembly"
|
||||
@@ -445,7 +447,8 @@ Auto Patrol: []"},
|
||||
qdel(I)
|
||||
|
||||
else if((istype(I, /obj/item/weapon/melee/baton)) && (build_step >= 3))
|
||||
user.drop_item()
|
||||
if(!user.unEquip(I))
|
||||
return
|
||||
build_step++
|
||||
user << "<span class='notice'>You complete the Securitron! Beep boop.</span>"
|
||||
var/obj/machinery/bot/secbot/S = new /obj/machinery/bot/secbot
|
||||
|
||||
@@ -121,9 +121,10 @@
|
||||
|
||||
// Upgrades!
|
||||
if(is_type_in_list(W, possible_upgrades) && !is_type_in_list(W, upgrades)) // Is a possible upgrade and isn't in the camera already.
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
user << "<span class='notice'>You attach \the [W] into the assembly inner circuits.</span>"
|
||||
upgrades += W
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
return
|
||||
|
||||
|
||||
@@ -47,8 +47,9 @@
|
||||
if(a.power_equip == 0) // There's no APC in this area, don't try to cheat power!
|
||||
user << "<span class='warning'>The [name] blinks red as you try to insert the cell!</span>"
|
||||
return
|
||||
if(!user.drop_item())
|
||||
return
|
||||
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
charging = W
|
||||
user.visible_message("[user] inserts a cell into the charger.", "<span class='notice'>You insert a cell into the charger.</span>")
|
||||
|
||||
@@ -347,11 +347,12 @@
|
||||
if(istype(P, /obj/item/weapon/circuitboard) && !circuit)
|
||||
var/obj/item/weapon/circuitboard/B = P
|
||||
if(B.board_type == "computer")
|
||||
if(!user.drop_item())
|
||||
return
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
user << "<span class='notice'>You place the circuit board inside the frame.</span>"
|
||||
icon_state = "1"
|
||||
circuit = P
|
||||
user.drop_item()
|
||||
circuit.add_fingerprint(user)
|
||||
P.loc = null
|
||||
else
|
||||
|
||||
@@ -49,16 +49,19 @@ var/time_last_changed_position = 0
|
||||
var/obj/item/weapon/card/id/idcard = O
|
||||
if(check_access(idcard))
|
||||
if(!scan)
|
||||
usr.drop_item()
|
||||
if(!usr.drop_item())
|
||||
return
|
||||
idcard.loc = src
|
||||
scan = idcard
|
||||
else if(!modify)
|
||||
usr.drop_item()
|
||||
if(!usr.drop_item())
|
||||
return
|
||||
idcard.loc = src
|
||||
modify = idcard
|
||||
else
|
||||
if(!modify)
|
||||
usr.drop_item()
|
||||
if(!usr.drop_item())
|
||||
return
|
||||
idcard.loc = src
|
||||
modify = idcard
|
||||
else
|
||||
@@ -313,7 +316,8 @@ var/time_last_changed_position = 0
|
||||
else
|
||||
var/obj/item/I = usr.get_active_hand()
|
||||
if (istype(I, /obj/item/weapon/card/id))
|
||||
usr.drop_item()
|
||||
if(!usr.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
modify = I
|
||||
authenticated = 0
|
||||
@@ -326,7 +330,8 @@ var/time_last_changed_position = 0
|
||||
else
|
||||
var/obj/item/I = usr.get_active_hand()
|
||||
if (istype(I, /obj/item/weapon/card/id))
|
||||
usr.drop_item()
|
||||
if(!usr.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
scan = I
|
||||
authenticated = 0
|
||||
|
||||
@@ -76,7 +76,8 @@
|
||||
/obj/machinery/computer/cloning/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
if (istype(W, /obj/item/weapon/disk/data)) //INSERT SOME DISKETTES
|
||||
if (!src.diskette)
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return ..()
|
||||
W.loc = src
|
||||
src.diskette = W
|
||||
user << "<span class='notice'>You insert [W].</span>"
|
||||
|
||||
@@ -20,9 +20,10 @@
|
||||
var/sortBy = "name"
|
||||
var/order = 1 // -1 = Descending - 1 = Ascending
|
||||
|
||||
/obj/machinery/computer/med_data/attackby(obj/item/O as obj, user as mob, params)
|
||||
/obj/machinery/computer/med_data/attackby(obj/item/O as obj, mob/user as mob, params)
|
||||
if(istype(O, /obj/item/weapon/card/id) && !scan)
|
||||
usr.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
O.loc = src
|
||||
scan = O
|
||||
user << "<span class='notice'>You insert [O].</span>"
|
||||
@@ -215,7 +216,8 @@
|
||||
else
|
||||
var/obj/item/I = usr.get_active_hand()
|
||||
if(istype(I, /obj/item/weapon/card/id))
|
||||
usr.drop_item()
|
||||
if(!usr.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
src.scan = I
|
||||
else if(href_list["logout"])
|
||||
|
||||
@@ -92,7 +92,8 @@
|
||||
if(href_list["id"] =="insert" && !istype(inserted_id))
|
||||
var/obj/item/weapon/card/id/prisoner/I = usr.get_active_hand()
|
||||
if(istype(I))
|
||||
usr.drop_item()
|
||||
if(!usr.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
inserted_id = I
|
||||
else usr << "<span class='danger'>No valid ID.</span>"
|
||||
|
||||
@@ -24,9 +24,10 @@
|
||||
var/order = 1 // -1 = Descending - 1 = Ascending
|
||||
|
||||
|
||||
/obj/machinery/computer/secure_data/attackby(obj/item/O as obj, user as mob, params)
|
||||
/obj/machinery/computer/secure_data/attackby(obj/item/O as obj, mob/user as mob, params)
|
||||
if(istype(O, /obj/item/weapon/card/id) && !scan)
|
||||
usr.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
O.loc = src
|
||||
scan = O
|
||||
user << "<span class='notice'>You insert [O].</span>"
|
||||
@@ -299,7 +300,8 @@ What a mess.*/
|
||||
else
|
||||
var/obj/item/I = usr.get_active_hand()
|
||||
if(istype(I, /obj/item/weapon/card/id))
|
||||
usr.drop_item()
|
||||
if(!usr.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
scan = I
|
||||
|
||||
|
||||
@@ -39,7 +39,8 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
|
||||
|
||||
if(O.hidden_uplink)
|
||||
var/obj/item/P = user.get_active_hand()
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
uplinkholder = P
|
||||
P.loc = src
|
||||
P.add_fingerprint(user)
|
||||
|
||||
@@ -108,10 +108,11 @@
|
||||
return
|
||||
var/obj/item/weapon/circuitboard/B = P
|
||||
if(B.board_type == "machine")
|
||||
if(!user.drop_item())
|
||||
return
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
user << "<span class='notice'>You add the circuit board to the frame.</span>"
|
||||
circuit = P
|
||||
user.drop_item()
|
||||
P.loc = src
|
||||
icon_state = "box_2"
|
||||
state = 3
|
||||
@@ -199,6 +200,8 @@
|
||||
var/success
|
||||
for(var/I in req_components)
|
||||
if(istype(P, I) && (req_components[I] > 0))
|
||||
if(!user.drop_item())
|
||||
return
|
||||
success=1
|
||||
if(istype(P, /obj/item/stack/cable_coil))
|
||||
var/obj/item/stack/cable_coil/CP = P
|
||||
@@ -211,7 +214,6 @@
|
||||
req_components[I]--
|
||||
update_req_desc()
|
||||
break
|
||||
user.drop_item()
|
||||
P.loc = src
|
||||
components += P
|
||||
req_components[I]--
|
||||
|
||||
@@ -237,9 +237,10 @@
|
||||
if(beaker)
|
||||
user << "<span class='warning'>A beaker is already loaded into [src]!</span>"
|
||||
return
|
||||
if(!user.drop_item())
|
||||
return
|
||||
|
||||
beaker = I
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
user.visible_message("[user] places [I] in [src].", \
|
||||
"<span class='notice'>You place [I] in [src].</span>")
|
||||
|
||||
@@ -50,8 +50,9 @@
|
||||
|
||||
else if (istype(W, /obj/item/device/flash/handheld))
|
||||
if (!bulb)
|
||||
if(!user.drop_item())
|
||||
return
|
||||
user.visible_message("[user] installs [W] into [src].", "<span class='notice'>You install [W] into [src].</span>")
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
bulb = W
|
||||
power_change()
|
||||
|
||||
@@ -77,8 +77,9 @@
|
||||
if(!isnull(beaker))
|
||||
user << "<span class='warning'>There is already a reagent container loaded!</span>"
|
||||
return
|
||||
if(!user.drop_item())
|
||||
return
|
||||
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
beaker = W
|
||||
user << "<span class='notice'>You attach \the [W] to \the [src].</span>"
|
||||
|
||||
@@ -788,7 +788,8 @@ var/list/obj/machinery/newscaster/allCasters = list()
|
||||
photo = null
|
||||
if(istype(user.get_active_hand(), /obj/item/weapon/photo))
|
||||
photo = user.get_active_hand()
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
photo.loc = src
|
||||
if(istype(user,/mob/living/silicon))
|
||||
var/list/nametemp = list()
|
||||
|
||||
@@ -72,7 +72,8 @@
|
||||
add_fingerprint(user)
|
||||
if (istype(W, /obj/item/pipe) || istype(W, /obj/item/pipe_meter))
|
||||
usr << "<span class='notice'>You put [W] back into [src].</span>"
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
qdel(W)
|
||||
return
|
||||
else if (istype(W, /obj/item/weapon/wrench))
|
||||
|
||||
@@ -27,8 +27,9 @@
|
||||
if(!gun.can_charge)
|
||||
user << "<span class='notice'>Your gun has no external power connector.</span>"
|
||||
return
|
||||
if(!user.drop_item())
|
||||
return
|
||||
|
||||
user.drop_item()
|
||||
G.loc = src
|
||||
charging = G
|
||||
use_power = 2
|
||||
|
||||
@@ -77,7 +77,8 @@
|
||||
if(istype(I, /obj/item/weapon/coin))
|
||||
var/obj/item/weapon/coin/C = I
|
||||
if(prob(2))
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
C.loc = loc
|
||||
C.throw_at(user, 3, 10)
|
||||
if(prob(10))
|
||||
@@ -85,7 +86,8 @@
|
||||
user << "<span class='warning'>[src] spits your coin back out!</span>"
|
||||
|
||||
else
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
user << "<span class='notice'>You insert a [C.cmineral] coin into [src]'s slot!</span>"
|
||||
balance += C.value
|
||||
qdel(C)
|
||||
|
||||
@@ -54,7 +54,8 @@
|
||||
// insert cell
|
||||
var/obj/item/weapon/stock_parts/cell/C = usr.get_active_hand()
|
||||
if(istype(C))
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
cell = C
|
||||
C.loc = src
|
||||
C.add_fingerprint(usr)
|
||||
@@ -134,7 +135,8 @@
|
||||
if(open && !cell)
|
||||
var/obj/item/weapon/stock_parts/cell/C = usr.get_active_hand()
|
||||
if(istype(C))
|
||||
usr.drop_item()
|
||||
if(!usr.drop_item())
|
||||
return
|
||||
cell = C
|
||||
C.loc = src
|
||||
C.add_fingerprint(usr)
|
||||
|
||||
@@ -90,9 +90,10 @@
|
||||
user << "<span class='warning'>The cover is screwed on, it won't pry off!</span>"
|
||||
else if(istype(I, /obj/item/weapon/bombcore))
|
||||
if(!payload)
|
||||
if(!user.drop_item())
|
||||
return
|
||||
payload = I
|
||||
user << "<span class='notice'>You place [payload] into [src].</span>"
|
||||
user.drop_item()
|
||||
payload.loc = src
|
||||
else
|
||||
user << "<span class='warning'>[payload] is already loaded into [src]! You'll have to remove it first.</span>"
|
||||
|
||||
@@ -168,7 +168,8 @@
|
||||
var/obj/item/weapon/card/id/I = C.get_active_hand()
|
||||
if(istype(I))
|
||||
if(check_access(I))
|
||||
C.drop_item()
|
||||
if(!C.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
auth = I
|
||||
create_log("has logged in.", usr)
|
||||
|
||||
@@ -170,7 +170,8 @@
|
||||
return
|
||||
if(junk_check(W))
|
||||
if(!iscompartmentfull(user))
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
W.loc = src
|
||||
food_load(W)
|
||||
user << "<span class='notice'>You insert [W] into [src]'s chef compartment.</span>"
|
||||
@@ -250,7 +251,8 @@
|
||||
attack_hand(user)
|
||||
return
|
||||
else if(istype(W, /obj/item/weapon/coin) && premium.len > 0)
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
W.loc = src
|
||||
coin = W
|
||||
user << "<span class='notice'>You insert [W] into [src].</span>"
|
||||
|
||||
@@ -188,7 +188,8 @@
|
||||
if(istype(W,/obj/item/toy/crayon) ||istype(W,/obj/item/weapon/stamp))
|
||||
if( state in list( 1, 3, 6 ) )
|
||||
if(!crayon)
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
crayon = W
|
||||
crayon.loc = src
|
||||
else
|
||||
@@ -256,7 +257,8 @@
|
||||
|
||||
if(contents.len < 5)
|
||||
if ( state in list(1, 3) )
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
W.loc = src
|
||||
state = 3
|
||||
else
|
||||
|
||||
@@ -675,7 +675,8 @@
|
||||
var/obj/item/mecha_parts/mecha_equipment/E = W
|
||||
spawn()
|
||||
if(E.can_attach(src))
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
E.attach(src)
|
||||
user.visible_message("[user] attaches [W] to [src].", "<span class='notice'>You attach [W] to [src].</span>")
|
||||
else
|
||||
@@ -739,9 +740,10 @@
|
||||
else if(istype(W, /obj/item/weapon/stock_parts/cell))
|
||||
if(state==4)
|
||||
if(!src.cell)
|
||||
if(!user.drop_item())
|
||||
return
|
||||
var/obj/item/weapon/stock_parts/cell/C = W
|
||||
user << "<span class='notice'>You install the powercell.</span>"
|
||||
user.drop_item()
|
||||
C.forceMove(src)
|
||||
C.use(C.charge * 0.8)
|
||||
src.cell = C
|
||||
|
||||
@@ -379,8 +379,8 @@
|
||||
M << "<span class='danger'>Your eyes start to bleed profusely!</span>"
|
||||
if(prob(50))
|
||||
if(M.stat != 2)
|
||||
M << "<span class='danger'>You drop what you're holding and clutch at your eyes!</span>"
|
||||
M.drop_item()
|
||||
if(M.drop_item())
|
||||
M << "<span class='danger'>You drop what you're holding and clutch at your eyes!</span>"
|
||||
M.eye_blurry += 10
|
||||
M.Paralyse(1)
|
||||
M.Weaken(2)
|
||||
|
||||
@@ -349,8 +349,9 @@
|
||||
|
||||
for(var/entry in expandables)
|
||||
if(istype(W,entry))
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
bugtype = expandables[entry]
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
expansion = W
|
||||
user << "<span class='notice'>You add [W] to [src].</span>"
|
||||
|
||||
@@ -47,7 +47,8 @@
|
||||
/obj/item/device/laser_pointer/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/stock_parts/micro_laser))
|
||||
if(!diode)
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
diode = W
|
||||
user << "<span class='notice'>You install a [diode.name] in [src].</span>"
|
||||
|
||||
@@ -88,9 +88,10 @@
|
||||
var/obj/item/weapon/light/L = W
|
||||
if(L.status == 0) // LIGHT OKAY
|
||||
if(uses < max_uses)
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
AddUses(1)
|
||||
user << "<span class='notice'>You insert the [L.name] into the [src.name]. You have [uses] lights remaining.</span>"
|
||||
user.drop_item()
|
||||
qdel(L)
|
||||
return
|
||||
else
|
||||
|
||||
@@ -253,12 +253,14 @@
|
||||
return
|
||||
|
||||
if(!keyslot)
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
keyslot = W
|
||||
|
||||
else
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
keyslot2 = W
|
||||
|
||||
|
||||
@@ -608,7 +608,8 @@
|
||||
return
|
||||
|
||||
if(!keyslot)
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
keyslot = W
|
||||
|
||||
|
||||
@@ -33,7 +33,8 @@
|
||||
|
||||
/obj/item/device/taperecorder/attackby(obj/item/I, mob/user, params)
|
||||
if(!mytape && istype(I, /obj/item/device/tape))
|
||||
user.drop_item()
|
||||
if(!user.unEquip(I))
|
||||
return
|
||||
I.loc = src
|
||||
mytape = I
|
||||
user << "<span class='notice'>You insert [I] into [src].</span>"
|
||||
|
||||
@@ -20,15 +20,17 @@
|
||||
return
|
||||
|
||||
if(!tank_one)
|
||||
if(!user.unEquip(item))
|
||||
return
|
||||
tank_one = item
|
||||
user.drop_item()
|
||||
item.loc = src
|
||||
user << "<span class='notice'>You attach the tank to the transfer valve.</span>"
|
||||
if(item.w_class > w_class)
|
||||
w_class = item.w_class
|
||||
else if(!tank_two)
|
||||
if(!user.unEquip(item))
|
||||
return
|
||||
tank_two = item
|
||||
user.drop_item()
|
||||
item.loc = src
|
||||
user << "<span class='notice'>You attach the tank to the transfer valve.</span>"
|
||||
if(item.w_class > w_class)
|
||||
|
||||
@@ -102,28 +102,32 @@
|
||||
return
|
||||
if(istype(W, /obj/item/robot_parts/l_leg))
|
||||
if(src.l_leg) return
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
src.l_leg = W
|
||||
src.updateicon()
|
||||
|
||||
if(istype(W, /obj/item/robot_parts/r_leg))
|
||||
if(src.r_leg) return
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
src.r_leg = W
|
||||
src.updateicon()
|
||||
|
||||
if(istype(W, /obj/item/robot_parts/l_arm))
|
||||
if(src.l_arm) return
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
src.l_arm = W
|
||||
src.updateicon()
|
||||
|
||||
if(istype(W, /obj/item/robot_parts/r_arm))
|
||||
if(src.r_arm) return
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
src.r_arm = W
|
||||
src.updateicon()
|
||||
@@ -131,7 +135,8 @@
|
||||
if(istype(W, /obj/item/robot_parts/chest))
|
||||
if(src.chest) return
|
||||
if(W:wires && W:cell)
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
src.chest = W
|
||||
src.updateicon()
|
||||
@@ -143,7 +148,8 @@
|
||||
if(istype(W, /obj/item/robot_parts/head))
|
||||
if(src.head) return
|
||||
if(W:flash2 && W:flash1)
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
src.head = W
|
||||
src.updateicon()
|
||||
@@ -190,7 +196,8 @@
|
||||
var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(loc))
|
||||
if(!O) return
|
||||
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
|
||||
O.invisibility = 0
|
||||
//Transfer debug settings to new mob
|
||||
@@ -297,7 +304,8 @@
|
||||
user << "<span class='warning'>You have already inserted a cell!</span>"
|
||||
return
|
||||
else
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
src.cell = W
|
||||
user << "<span class='notice'>You insert the cell.</span>"
|
||||
@@ -324,7 +332,8 @@
|
||||
user << "<span class='warning'>You can't use a broken flash!</span>"
|
||||
return
|
||||
else
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
F.loc = src
|
||||
if(src.flash1)
|
||||
src.flash2 = F
|
||||
|
||||
@@ -112,7 +112,8 @@ RCD
|
||||
if((matter + R.ammoamt) > max_matter)
|
||||
user << "<span class='warning'>The RCD can't hold any more matter-units!</span>"
|
||||
return
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
qdel(W)
|
||||
matter += R.ammoamt
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
|
||||
@@ -63,7 +63,8 @@
|
||||
if(ink)
|
||||
user << "<span class='notice'>\the [name] already contains \a [ink].</span>"
|
||||
return
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
user << "<span class='notice'>You install \the [W] into \the [name].</span>"
|
||||
ink = W
|
||||
|
||||
@@ -112,7 +112,8 @@
|
||||
if(C.maxcharge < paddles.revivecost)
|
||||
user << "<span class='notice'>[src] requires a higher capacity cell.</span>"
|
||||
return
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
bcell = W
|
||||
user << "<span class='notice'>You install a cell in [src].</span>"
|
||||
|
||||
@@ -69,7 +69,8 @@
|
||||
user << "<span class='notice'>You start planting the bomb...</span>"
|
||||
|
||||
if(do_after(user, 50) && in_range(user, target))
|
||||
user.drop_item()
|
||||
if(!user.unEquip(target))
|
||||
return
|
||||
src.target = target
|
||||
loc = null
|
||||
|
||||
|
||||
@@ -94,7 +94,8 @@
|
||||
var/obj/item/device/assembly/igniter/I = W
|
||||
if(I.secured) return
|
||||
if(igniter) return
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
I.loc = src
|
||||
igniter = I
|
||||
update_icon()
|
||||
@@ -104,7 +105,8 @@
|
||||
if(ptank)
|
||||
user << "<span class='notice'>There appears to already be a plasma tank loaded in [src]!</span>"
|
||||
return
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
ptank = W
|
||||
W.loc = src
|
||||
update_icon()
|
||||
|
||||
@@ -68,8 +68,9 @@
|
||||
return
|
||||
else
|
||||
if(I.reagents.total_volume)
|
||||
if(!user.unEquip(I))
|
||||
return
|
||||
user << "<span class='notice'>You add [I] to the [initial(name)] assembly.</span>"
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
beakers += I
|
||||
else
|
||||
@@ -79,8 +80,9 @@
|
||||
var/obj/item/device/assembly_holder/A = I
|
||||
if(isigniter(A.a_left) == isigniter(A.a_right)) //Check if either part of the assembly has an igniter, but if both parts are igniters, then fuck it
|
||||
return
|
||||
if(!user.unEquip(I))
|
||||
return
|
||||
|
||||
user.drop_item()
|
||||
nadeassembly = A
|
||||
A.master = src
|
||||
A.loc = src
|
||||
@@ -263,8 +265,9 @@
|
||||
//make a special case you might as well do it explicitly. -Sayu
|
||||
/obj/item/weapon/grenade/chem_grenade/large/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/slime_extract) && stage == WIRED)
|
||||
if(!user.unEquip(I))
|
||||
return
|
||||
user << "<span class='notice'>You add [I] to the [initial(name)] assembly.</span>"
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
beakers += I
|
||||
else
|
||||
|
||||
@@ -49,7 +49,8 @@
|
||||
|
||||
/obj/item/weapon/restraints/handcuffs/proc/apply_cuffs(mob/living/carbon/target, mob/user)
|
||||
if(!target.handcuffed)
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
//target.throw_alert("handcuffed", src) // Can't do this because escaping cuffs isn't standardized. Also zipties.
|
||||
if(trashtype)
|
||||
target.handcuffed = new trashtype(target)
|
||||
|
||||
@@ -174,15 +174,15 @@
|
||||
|
||||
/obj/item/weapon/implant/loyalty/implanted(mob/target)
|
||||
..()
|
||||
if((target.mind in (ticker.mode.head_revolutionaries | ticker.mode.A_bosses | ticker.mode.B_bosses)) || is_shadow_or_thrall(target))
|
||||
if((target.mind in ticker.mode.head_revolutionaries) || is_shadow_or_thrall(target))
|
||||
target.visible_message("<span class='warning'>[target] seems to resist the implant!</span>", "<span class='warning'>You feel the corporate tendrils of Nanotrasen try to invade your mind!</span>")
|
||||
return 0
|
||||
if(target.mind in (ticker.mode.A_gang | ticker.mode.B_gang))
|
||||
ticker.mode.remove_gangster(target.mind, exclude_bosses=0)
|
||||
return 0
|
||||
if(target.mind in ticker.mode.revolutionaries)
|
||||
ticker.mode.remove_revolutionary(target.mind)
|
||||
target << "<span class='notice'>You feel a surge of loyalty towards Nanotrasen.</span>"
|
||||
if(target.mind in (ticker.mode.cult| ticker.mode.A_bosses | ticker.mode.B_bosses | ticker.mode.A_gang | ticker.mode.B_gang))
|
||||
target << "<span class='warning'>You feel the corporate tendrils of Nanotrasen try to invade your mind!</span>"
|
||||
else
|
||||
target << "<span class='notice'>You feel a surge of loyalty towards Nanotrasen.</span>"
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
@@ -36,7 +36,8 @@
|
||||
..()
|
||||
if(istype(C, /obj/item/weapon/implantcase))
|
||||
if(!case)
|
||||
user.drop_item()
|
||||
if(!user.unEquip(C))
|
||||
return
|
||||
C.loc = src
|
||||
case = C
|
||||
else
|
||||
|
||||
@@ -8,8 +8,9 @@
|
||||
|
||||
/obj/item/weapon/pai_cable/proc/plugin(obj/machinery/M as obj, mob/user as mob)
|
||||
if(istype(M, /obj/machinery/door) || istype(M, /obj/machinery/camera))
|
||||
if(!user.drop_item())
|
||||
return
|
||||
user.visible_message("[user] inserts [src] into a data port on [M].", "<span class='notice'>You insert [src] into a data port on [M].</span>", "<span class='italics'>You hear the satisfying click of a wire jack fastening into place.</span>")
|
||||
user.drop_item()
|
||||
src.loc = M
|
||||
src.machine = M
|
||||
else
|
||||
|
||||
@@ -61,8 +61,9 @@
|
||||
if(IW.w_class > src.w_class)
|
||||
user << "<span class='warning'>\The [IW] is too large to fit into \the [src]!</span>"
|
||||
return
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
user << "<span class='notice'>You load \the [IW] into \the [src].</span>"
|
||||
user.drop_item()
|
||||
loadedItems.Add(IW)
|
||||
loadedWeightClass += IW.w_class
|
||||
IW.loc = src
|
||||
@@ -127,9 +128,10 @@
|
||||
if(src.tank)
|
||||
user << "<span class='warning'>\The [src] already has a tank.</span>"
|
||||
return
|
||||
if(!user.unEquip(thetank))
|
||||
return
|
||||
user << "<span class='notice'>You hook \the [thetank] up to \the [src].</span>"
|
||||
src.tank = thetank
|
||||
user.drop_item()
|
||||
thetank.loc = src
|
||||
src.update_icons()
|
||||
|
||||
|
||||
@@ -71,7 +71,8 @@
|
||||
if(C.maxcharge < hitcost)
|
||||
user << "<span class='notice'>[src] requires a higher capacity cell.</span>"
|
||||
return
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
bcell = W
|
||||
user << "<span class='notice'>You install a cell in [src].</span>"
|
||||
|
||||
@@ -41,11 +41,12 @@
|
||||
anchored = 0
|
||||
state = 0
|
||||
if(istype(P, /obj/item/weapon/circuitboard/aicore) && !circuit)
|
||||
if(!user.drop_item())
|
||||
return
|
||||
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
user << "<span class='notice'>You place the circuit board inside the frame.</span>"
|
||||
icon_state = "1"
|
||||
circuit = P
|
||||
user.drop_item()
|
||||
P.loc = src
|
||||
if(istype(P, /obj/item/weapon/screwdriver) && circuit)
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
@@ -152,11 +153,13 @@
|
||||
user << "<span class='warning'>This MMI is mindless!</span>"
|
||||
return
|
||||
|
||||
if(!user.drop_item())
|
||||
return
|
||||
|
||||
ticker.mode.remove_cultist(M.brainmob.mind, 1)
|
||||
ticker.mode.remove_revolutionary(M.brainmob.mind, 1)
|
||||
ticker.mode.remove_gangster(M.brainmob.mind, 1)
|
||||
|
||||
user.drop_item()
|
||||
M.loc = src
|
||||
brain = M
|
||||
usr << "<span class='notice'>Added a brain.</span>"
|
||||
|
||||
@@ -194,7 +194,8 @@ LINEN BINS
|
||||
|
||||
/obj/structure/bedsheetbin/attackby(obj/item/I as obj, mob/user as mob, params)
|
||||
if(istype(I, /obj/item/weapon/bedsheet))
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
sheets.Add(I)
|
||||
amount++
|
||||
|
||||
@@ -84,8 +84,7 @@
|
||||
/obj/structure/closet/crate/bin/place(var/mob/user, var/obj/item/I)
|
||||
if(contents.len >= storage_capacity)
|
||||
return 1
|
||||
if(!opened)
|
||||
user.drop_item()
|
||||
if(!opened && user.drop_item())
|
||||
insert(I, 0, 1)
|
||||
return 1
|
||||
return 0
|
||||
@@ -58,8 +58,9 @@
|
||||
if(O:wielded)
|
||||
user << "<span class='warning'>Unwield the axe first.</span>"
|
||||
return
|
||||
if(!user.drop_item())
|
||||
return
|
||||
fireaxe = O
|
||||
user.drop_item()
|
||||
src.contents += O
|
||||
user << "<span class='caution'>You place the fire axe back in the [src.name].</span>"
|
||||
update_icon()
|
||||
|
||||
@@ -286,8 +286,9 @@
|
||||
return
|
||||
else if(istype(W, /obj/item/device/electropack))
|
||||
if(rigged)
|
||||
if(!user.drop_item())
|
||||
return
|
||||
user << "<span class='notice'>You attach [W] to [src].</span>"
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
return
|
||||
else if(istype(W, /obj/item/weapon/wirecutters))
|
||||
|
||||
@@ -532,8 +532,9 @@
|
||||
if(do_after(user, 40))
|
||||
if( src.state != 1 )
|
||||
return
|
||||
if(!user.drop_item())
|
||||
return
|
||||
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
user << "<span class='notice'>You install the airlock electronics.</span>"
|
||||
src.state = 2
|
||||
|
||||
@@ -29,7 +29,8 @@
|
||||
return
|
||||
if(istype(O, /obj/item/weapon/extinguisher))
|
||||
if(!has_extinguisher && opened)
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
contents += O
|
||||
has_extinguisher = O
|
||||
user << "<span class='notice'>You place [O] in [src].</span>"
|
||||
|
||||
@@ -201,7 +201,8 @@
|
||||
else if(istype(W, /obj/item/pipe))
|
||||
var/obj/item/pipe/P = W
|
||||
if (P.pipe_type in list(0, 1, 5)) //simple pipes, simple bends, and simple manifolds.
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
P.loc = src.loc
|
||||
user << "<span class='notice'>You fit the pipe into \the [src].</span>"
|
||||
else
|
||||
|
||||
@@ -39,7 +39,8 @@
|
||||
return
|
||||
if(istype(I, gun_category))
|
||||
if(contents.len < capacity && open)
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
contents += I
|
||||
user << "<span class='notice'>You place [I] in [src].</span>"
|
||||
update_icon()
|
||||
|
||||
@@ -29,7 +29,8 @@
|
||||
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
|
||||
|
||||
/obj/structure/janitorialcart/proc/put_in_cart(obj/item/I, mob/user)
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
updateUsrDialog()
|
||||
user << "<span class='notice'>You put [I] into [src].</span>"
|
||||
@@ -199,8 +200,9 @@
|
||||
user << "Hold [I] in one of your hands while you drive this [callme]."
|
||||
else if(istype(I, /obj/item/weapon/storage/bag/trash))
|
||||
if(keytype == /obj/item/key/janitor)
|
||||
if(!user.drop_item())
|
||||
return
|
||||
user << "<span class='notice'>You hook the trashbag onto the [callme].</span>"
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
mybag = I
|
||||
else if(istype(I, /obj/item/janiupgrade))
|
||||
|
||||
@@ -19,9 +19,10 @@
|
||||
/obj/structure/noticeboard/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob, params)
|
||||
if(istype(O, /obj/item/weapon/paper))
|
||||
if(notices < 5)
|
||||
if(!user.drop_item())
|
||||
return
|
||||
O.add_fingerprint(user)
|
||||
add_fingerprint(user)
|
||||
user.drop_item()
|
||||
O.loc = src
|
||||
notices++
|
||||
icon_state = "nboard0[notices]" //update sprite
|
||||
|
||||
@@ -17,8 +17,9 @@
|
||||
/obj/structure/stool/bed/chair/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
..()
|
||||
if(istype(W, /obj/item/assembly/shock_kit))
|
||||
if(!user.drop_item())
|
||||
return
|
||||
var/obj/item/assembly/shock_kit/SK = W
|
||||
user.drop_item()
|
||||
var/obj/structure/stool/bed/chair/e_chair/E = new /obj/structure/stool/bed/chair/e_chair(src.loc)
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
E.dir = dir
|
||||
|
||||
@@ -625,8 +625,9 @@
|
||||
/obj/item/weapon/rack_parts/attack_self(mob/user as mob)
|
||||
user << "<span class='notice'>You start constructing rack...</span>"
|
||||
if (do_after(user, 50))
|
||||
if(!user.drop_item())
|
||||
return
|
||||
var/obj/structure/rack/R = new /obj/structure/rack( user.loc )
|
||||
R.add_fingerprint(user)
|
||||
user.drop_item()
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
@@ -50,7 +50,8 @@
|
||||
/obj/structure/dispenser/attackby(obj/item/I as obj, mob/user as mob, params)
|
||||
if(istype(I, /obj/item/weapon/tank/internals/oxygen) || istype(I, /obj/item/weapon/tank/internals/air) || istype(I, /obj/item/weapon/tank/internals/anesthetic))
|
||||
if(oxygentanks < 10)
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
oxytanks.Add(I)
|
||||
oxygentanks++
|
||||
@@ -59,7 +60,8 @@
|
||||
user << "<span class='notice'>[src] is full.</span>"
|
||||
if(istype(I, /obj/item/weapon/tank/internals/plasma))
|
||||
if(plasmatanks < 10)
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
platanks.Add(I)
|
||||
plasmatanks++
|
||||
|
||||
@@ -23,11 +23,10 @@
|
||||
/obj/structure/target_stake/attackby(obj/item/target/T, mob/user)
|
||||
if(pinned_target)
|
||||
return
|
||||
if(istype(T))
|
||||
if(istype(T) && user.drop_item())
|
||||
pinned_target = T
|
||||
T.pinnedLoc = src
|
||||
T.density = 1
|
||||
user.drop_item()
|
||||
T.layer = OBJ_LAYER + 0.1
|
||||
T.loc = loc
|
||||
user << "<span class='notice'>You slide the target into the stake.</span>"
|
||||
|
||||
@@ -190,9 +190,10 @@
|
||||
|
||||
//Adding airlock electronics for access. Step 6 complete.
|
||||
else if(istype(W, /obj/item/weapon/airlock_electronics))
|
||||
if(!user.drop_item())
|
||||
return
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 100, 1)
|
||||
user.visible_message("[user] installs the electronics into the airlock assembly.", "<span class='notice'>You start to install electronics into the airlock assembly...</span>")
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
|
||||
if(do_after(user, 40))
|
||||
|
||||
@@ -63,8 +63,7 @@
|
||||
if(..())
|
||||
return
|
||||
if(istype(C,/obj/item/weapon/light/bulb)) //only for light tiles
|
||||
if(state)
|
||||
user.drop_item()
|
||||
if(state && user.drop_item())
|
||||
qdel(C)
|
||||
state = 0 //fixing it by bashing it with a light bulb, fun eh?
|
||||
update_icon()
|
||||
|
||||
@@ -89,10 +89,11 @@
|
||||
var/mob/M = user
|
||||
if(isigniter(S.a_left) == isigniter(S.a_right)) //Check if either part of the assembly has an igniter, but if both parts are igniters, then fuck it
|
||||
return
|
||||
if(!M.drop_item()) //Remove the assembly from your hands
|
||||
return
|
||||
|
||||
var/obj/item/device/onetankbomb/R = new /obj/item/device/onetankbomb(loc)
|
||||
|
||||
M.drop_item() //Remove the assembly from your hands
|
||||
M.remove_from_mob(src) //Remove the tank from your character,in case you were holding it
|
||||
M.put_in_hands(R) //Equips the bomb if possible, or puts it on the floor.
|
||||
|
||||
|
||||
@@ -235,7 +235,8 @@ BLIND // can't see anything
|
||||
return 0
|
||||
else
|
||||
if(user)
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
hastie = I
|
||||
I.loc = src
|
||||
if(user && notifyAttach)
|
||||
|
||||
@@ -196,7 +196,8 @@
|
||||
var/obj/item/device/flashlight/seclite/S = A
|
||||
if(can_flashlight)
|
||||
if(!F)
|
||||
user.drop_item()
|
||||
if(!user.unEquip(A))
|
||||
return
|
||||
user << "<span class='notice'>You click [S] into place on [src].</span>"
|
||||
if(S.on)
|
||||
SetLuminosity(0)
|
||||
@@ -228,7 +229,8 @@
|
||||
if(helmetCam)
|
||||
user << "<span class='notice'>[src] already has a mounted camera.</span>"
|
||||
return
|
||||
user.drop_item()
|
||||
if(!user.unEquip(A))
|
||||
return
|
||||
helmetCam = new /obj/machinery/camera/portable(src)
|
||||
helmetCam.assembly = A
|
||||
A.loc = helmetCam
|
||||
|
||||
@@ -44,7 +44,8 @@
|
||||
else if((ingredients.len >= ingMax) || (reagents.total_volume >= volume))
|
||||
user << "<span class='warning'>You can't add more ingredients to [src]!</span>"
|
||||
else
|
||||
user.drop_item()
|
||||
if(!user.unEquip(I))
|
||||
return
|
||||
if(S.trash)
|
||||
new S.trash(get_turf(user))
|
||||
S.trash = null //we remove the plate before adding the ingredient
|
||||
|
||||
@@ -63,7 +63,8 @@
|
||||
if(istype(O, /obj/item/weapon/reagent_containers/food/drinks/drinkingglass))
|
||||
var/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/DG = O
|
||||
if(!DG.reagents.total_volume) //glass is empty
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
qdel(DG)
|
||||
glasses++
|
||||
user << "<span class='notice'>The [src] accepts the drinking glass, sterilizing it.</span>"
|
||||
@@ -72,7 +73,8 @@
|
||||
user << "<span class='warning'>The [src] is at full capacity.</span>"
|
||||
else
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/S = O
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
S.loc = src
|
||||
if(stored_food[sanitize(S.name)])
|
||||
stored_food[sanitize(S.name)]++
|
||||
|
||||
@@ -60,7 +60,8 @@
|
||||
if(target.stat == 0)
|
||||
user << "<span class='danger'>The monkey is struggling far too much to put it in the recycler.</span>"
|
||||
else
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
qdel(target)
|
||||
user << "<span class='notice'>You stuff the monkey in the machine.</span>"
|
||||
playsound(src.loc, 'sound/machines/juicer.ogg', 50, 1)
|
||||
|
||||
@@ -897,7 +897,7 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/bluespace/attack_self(var/mob/user)
|
||||
squish(user)
|
||||
user.drop_item()
|
||||
user.unEquip(src)
|
||||
src.visible_message("[user] squashes the [src.name].","<span class='italics'>You hear a smack.</span>")
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -63,7 +63,8 @@
|
||||
|
||||
if(2)
|
||||
if(is_type_in_list(I, allowed_books))
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
update_icon()
|
||||
else if(istype(I, /obj/item/weapon/storage/bag/books))
|
||||
|
||||
@@ -447,7 +447,8 @@ var/global/list/datum/cachedbook/cachedbooks // List of our cached book datums
|
||||
|
||||
/obj/machinery/libraryscanner/attackby(var/obj/O as obj, var/mob/user as mob, params)
|
||||
if(istype(O, /obj/item/weapon/book))
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
O.loc = src
|
||||
|
||||
/obj/machinery/libraryscanner/attack_hand(var/mob/user as mob)
|
||||
@@ -505,7 +506,8 @@ var/global/list/datum/cachedbook/cachedbooks // List of our cached book datums
|
||||
if(busy)
|
||||
user << "<span class='warning'>The book binder is busy. Please wait for completion of previous operation.</span>"
|
||||
return
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
O.loc = src
|
||||
user.visible_message("[user] loads some paper into [src].", "You load some paper into [src].")
|
||||
src.visible_message("[src] begins to hum as it warms up its printing drums.")
|
||||
|
||||
@@ -89,7 +89,8 @@
|
||||
if(istype(W,/obj/item/weapon/card/id))
|
||||
var/obj/item/weapon/card/id/I = usr.get_active_hand()
|
||||
if(istype(I) && !istype(inserted_id))
|
||||
usr.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
inserted_id = I
|
||||
interact(user)
|
||||
@@ -184,7 +185,8 @@
|
||||
else if(href_list["choice"] == "insert")
|
||||
var/obj/item/weapon/card/id/I = usr.get_active_hand()
|
||||
if(istype(I))
|
||||
usr.drop_item()
|
||||
if(!usr.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
inserted_id = I
|
||||
else usr << "<span class='warning'>No valid ID.</span>"
|
||||
@@ -333,7 +335,8 @@
|
||||
else if(href_list["choice"] == "insert")
|
||||
var/obj/item/weapon/card/id/I = usr.get_active_hand()
|
||||
if(istype(I))
|
||||
usr.drop_item()
|
||||
if(!usr.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
inserted_id = I
|
||||
else usr << "<span class='danger'>No valid ID.</span>"
|
||||
@@ -356,7 +359,8 @@
|
||||
if(istype(I,/obj/item/weapon/card/id))
|
||||
var/obj/item/weapon/card/id/C = usr.get_active_hand()
|
||||
if(istype(C) && !istype(inserted_id))
|
||||
usr.drop_item()
|
||||
if(!usr.drop_item())
|
||||
return
|
||||
C.loc = src
|
||||
inserted_id = C
|
||||
interact(user)
|
||||
|
||||
@@ -86,7 +86,8 @@
|
||||
else if(href_list["choice"] == "insert")
|
||||
var/obj/item/weapon/card/id/prisoner/I = usr.get_active_hand()
|
||||
if(istype(I))
|
||||
usr.drop_item()
|
||||
if(!usr.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
inserted_id = I
|
||||
else usr << "<span class='warning'>Invalid ID.</span>"
|
||||
|
||||
@@ -60,8 +60,9 @@
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/coin))
|
||||
var/obj/item/weapon/coin/C = W
|
||||
if(!user.drop_item())
|
||||
return
|
||||
user << "<span class='notice'>You add the [C.name] into the bag.</span>"
|
||||
usr.drop_item()
|
||||
contents += C
|
||||
if (istype(W, /obj/item/weapon/moneybag))
|
||||
var/obj/item/weapon/moneybag/C = W
|
||||
|
||||
@@ -11,7 +11,8 @@
|
||||
|
||||
/obj/structure/ore_box/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
if (istype(W, /obj/item/weapon/ore))
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
W.loc = src
|
||||
if (istype(W, /obj/item/weapon/storage))
|
||||
var/obj/item/weapon/storage/S = W
|
||||
|
||||
@@ -41,6 +41,8 @@
|
||||
user << "<span class='warning'>You aren't sure where this brain came from, but you're pretty sure it's a useless brain!</span>"
|
||||
return
|
||||
|
||||
if(!user.unEquip(src))
|
||||
return
|
||||
var/mob/living/carbon/brain/B = newbrain.brainmob
|
||||
if(!B.key)
|
||||
var/mob/dead/observer/ghost = B.get_ghost()
|
||||
@@ -58,7 +60,6 @@
|
||||
dead_mob_list -= brainmob //Update dem lists
|
||||
living_mob_list += brainmob
|
||||
|
||||
user.drop_item()
|
||||
newbrain.loc = src //P-put your brain in it
|
||||
brain = newbrain
|
||||
|
||||
|
||||
@@ -450,7 +450,8 @@
|
||||
else if(cell)
|
||||
user << "<span class='warning'>There is a power cell already installed!</span>"
|
||||
else
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
W.loc = src
|
||||
cell = W
|
||||
user << "<span class='notice'>You insert the power cell.</span>"
|
||||
@@ -525,27 +526,29 @@
|
||||
else if(istype(W, /obj/item/borg/upgrade/))
|
||||
var/obj/item/borg/upgrade/U = W
|
||||
if(!opened)
|
||||
usr << "<span class='warning'>You must access the borgs internals!</span>"
|
||||
user << "<span class='warning'>You must access the borgs internals!</span>"
|
||||
else if(!src.module && U.require_module)
|
||||
usr << "<span class='warning'>The borg must choose a module before it can be upgraded!</span>"
|
||||
user << "<span class='warning'>The borg must choose a module before it can be upgraded!</span>"
|
||||
else if(U.locked)
|
||||
usr << "<span class='warning'>The upgrade is locked and cannot be used yet!</span>"
|
||||
user << "<span class='warning'>The upgrade is locked and cannot be used yet!</span>"
|
||||
else
|
||||
if(!user.drop_item())
|
||||
return
|
||||
if(U.action(src))
|
||||
usr << "<span class='notice'>You apply the upgrade to [src].</span>"
|
||||
usr.drop_item()
|
||||
user << "<span class='notice'>You apply the upgrade to [src].</span>"
|
||||
U.loc = src
|
||||
else
|
||||
usr << "<span class='danger'>Upgrade error.</span>"
|
||||
user << "<span class='danger'>Upgrade error.</span>"
|
||||
|
||||
else if(istype(W, /obj/item/device/toner))
|
||||
if(toner >= tonermax)
|
||||
usr << "<span class='warning'>The toner level of [src] is at it's highest level possible!</span>"
|
||||
user << "<span class='warning'>The toner level of [src] is at it's highest level possible!</span>"
|
||||
else
|
||||
if(!user.drop_item())
|
||||
return
|
||||
toner = 40
|
||||
usr.drop_item()
|
||||
qdel(W)
|
||||
usr << "<span class='notice'>You fill the toner level of [src] to its max capacity.</span>"
|
||||
user << "<span class='notice'>You fill the toner level of [src] to its max capacity.</span>"
|
||||
|
||||
else
|
||||
if(W.force && W.damtype != STAMINA) //only sparks if real damage is dealt.
|
||||
|
||||
@@ -28,7 +28,8 @@
|
||||
|
||||
/obj/item/weapon/clipboard/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/paper))
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
toppaper = W
|
||||
user << "<span class='notice'>You clip the paper onto \the [src].</span>"
|
||||
@@ -76,7 +77,8 @@
|
||||
if(!haspen)
|
||||
if(istype(usr.get_active_hand(), /obj/item/weapon/pen))
|
||||
var/obj/item/weapon/pen/W = usr.get_active_hand()
|
||||
usr.drop_item()
|
||||
if(!usr.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
haspen = W
|
||||
usr << "<span class='notice'>You slot [W] into [src].</span>"
|
||||
|
||||
@@ -43,8 +43,9 @@
|
||||
|
||||
/obj/structure/filingcabinet/attackby(obj/item/P, mob/user, params)
|
||||
if(istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/folder) || istype(P, /obj/item/weapon/photo) || istype(P, /obj/item/documents))
|
||||
if(!user.drop_item())
|
||||
return
|
||||
user << "<span class='notice'>You put [P] in [src].</span>"
|
||||
user.drop_item()
|
||||
P.loc = src
|
||||
icon_state = "[initial(icon_state)]-open"
|
||||
sleep(5)
|
||||
|
||||
@@ -31,7 +31,8 @@
|
||||
|
||||
/obj/item/weapon/folder/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/weapon/photo) || istype(W, /obj/item/documents))
|
||||
user.drop_item()
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
W.loc = src
|
||||
user << "<span class='notice'>You put [W] into [src].</span>"
|
||||
update_icon()
|
||||
|
||||
@@ -55,8 +55,9 @@
|
||||
/obj/item/weapon/hand_labeler/attackby(obj/item/I as obj, mob/user as mob, params)
|
||||
..()
|
||||
if(istype(I, /obj/item/hand_labeler_refill))
|
||||
if(!user.unEquip(I))
|
||||
return
|
||||
user << "<span class='notice'>You insert [I] into [src].</span>"
|
||||
user.drop_item()
|
||||
qdel(I)
|
||||
labels_left = initial(labels_left)
|
||||
return
|
||||
|
||||
@@ -71,7 +71,8 @@
|
||||
if(!istype(i))
|
||||
return ..()
|
||||
|
||||
user.drop_item()
|
||||
if(!user.unEquip(i))
|
||||
return
|
||||
i.loc = src
|
||||
user << "<span class='notice'>You put [i] in [src].</span>"
|
||||
papers.Add(i)
|
||||
|
||||
@@ -96,19 +96,25 @@
|
||||
if(M.client)
|
||||
M.mind_initialize() //give them a mind datum if they don't have one.
|
||||
if(user.mind in ticker.mode.A_bosses)
|
||||
if(ticker.mode.add_gangster(M.mind,"A"))
|
||||
M.Paralyse(5)
|
||||
cooldown(max(0,ticker.mode.B_gang.len - ticker.mode.A_gang.len))
|
||||
else
|
||||
user << "<span class='warning'>This mind is resistant to recruitment!</span>"
|
||||
var/recruitable = ticker.mode.add_gangster(M.mind,"A")
|
||||
switch(recruitable)
|
||||
if(2)
|
||||
M.Paralyse(5)
|
||||
cooldown(max(0,ticker.mode.B_gang.len - ticker.mode.A_gang.len))
|
||||
if(1)
|
||||
user << "<span class='warning'>This mind has already been recruited by another gang!</span>"
|
||||
else
|
||||
user << "<span class='warning'>This mind is resistant to recruitment!</span>"
|
||||
else if(user.mind in ticker.mode.B_bosses)
|
||||
if(ticker.mode.add_gangster(M.mind,"B"))
|
||||
M.Paralyse(5)
|
||||
cooldown(max(0,ticker.mode.A_gang.len - ticker.mode.B_gang.len))
|
||||
else
|
||||
user << "<span class='warning'>This mind is resistant to recruitment!</span>"
|
||||
else
|
||||
user << "<span class='warning'>This mind is so vacant that it is not susceptible to influence!</span>"
|
||||
var/recruitable = ticker.mode.add_gangster(M.mind,"B")
|
||||
switch(recruitable)
|
||||
if(2)
|
||||
M.Paralyse(5)
|
||||
cooldown(max(0,ticker.mode.A_gang.len - ticker.mode.B_gang.len))
|
||||
if(1)
|
||||
user << "<span class='warning'>This mind has already been recruited by another gang!</span>"
|
||||
else
|
||||
user << "<span class='warning'>This mind is resistant to recruitment!</span>"
|
||||
|
||||
/obj/item/weapon/pen/gang/proc/cooldown(modifier)
|
||||
cooldown = 1
|
||||
|
||||
@@ -223,7 +223,8 @@
|
||||
/obj/machinery/photocopier/attackby(obj/item/O, mob/user, params)
|
||||
if(istype(O, /obj/item/weapon/paper))
|
||||
if(copier_empty())
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
copy = O
|
||||
O.loc = src
|
||||
user << "<span class='notice'>You insert [O] into [src].</span>"
|
||||
@@ -234,7 +235,8 @@
|
||||
|
||||
else if(istype(O, /obj/item/weapon/photo))
|
||||
if(copier_empty())
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
photocopy = O
|
||||
O.loc = src
|
||||
user << "<span class='notice'>You insert [O] into [src].</span>"
|
||||
@@ -245,7 +247,8 @@
|
||||
|
||||
else if(istype(O, /obj/item/device/toner))
|
||||
if(toner <= 0)
|
||||
user.drop_item()
|
||||
if(!user.drop_item())
|
||||
return
|
||||
qdel(O)
|
||||
toner = 40
|
||||
user << "<span class='notice'>You insert [O] into [src].</span>"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user