Resolved Conflicts:

code/game/gamemodes/gang/dominator.dm
This commit is contained in:
Ikarrus
2015-06-18 23:05:51 -06:00
133 changed files with 501 additions and 311 deletions
+2 -1
View File
@@ -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.
+2 -1
View File
@@ -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)
+4 -2
View File
@@ -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)
+1 -1
View File
@@ -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)
+2 -1
View File
@@ -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))
+4 -2
View File
@@ -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.")
+8 -4
View File
@@ -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>"
+2 -1
View File
@@ -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
+2 -1
View File
@@ -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
+2 -1
View File
@@ -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
+13 -10
View File
@@ -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.
+4 -2
View File
@@ -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>"
+2 -1
View File
@@ -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)
+2 -1
View File
@@ -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()
+2 -1
View File
@@ -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
+2 -1
View File
@@ -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)
+18 -12
View File
@@ -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
+6 -3
View File
@@ -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>"
+2 -1
View File
@@ -140,8 +140,9 @@
if(pictures_left)
user << "<span class='notice'>[src] still has some film in it!</span>"
return
if(!user.unEquip(I))
return
user << "<span class='notice'>You insert [I] into [src].</span>"
user.drop_item()
qdel(I)
pictures_left = pictures_max
return
+2 -1
View File
@@ -413,7 +413,8 @@
if (stat & MAINT)
user << "<span class='warning'>There is no connector for your power cell!</span>"
return
user.drop_item()
if(!user.drop_item())
return
W.loc = src
cell = W
user.visible_message(\
+2 -1
View File
@@ -347,6 +347,8 @@
src.add_fingerprint(user)
var/obj/item/weapon/light/L = W
if(istype(L, light_type))
if(!user.drop_item())
return
status = L.status
user << "<span class='notice'>You insert the [L.name].</span>"
switchcount = L.switchcount
@@ -355,7 +357,6 @@
on = has_power()
update()
user.drop_item() //drop the item to update overlays and such
qdel(L)
if(on && rigged)
+2 -1
View File
@@ -64,7 +64,8 @@ var/global/list/rad_collectors = list()
if(src.P)
user << "<span class='warning'>There's already a plasma tank loaded!</span>"
return 1
user.drop_item()
if(!user.drop_item())
return 1
src.P = W
W.loc = src
update_icons()
+2 -1
View File
@@ -253,8 +253,9 @@
if(!tracker)
if(istype(W, /obj/item/weapon/tracker_electronics))
if(!user.drop_item())
return
tracker = 1
user.drop_item()
qdel(W)
user.visible_message("[user] inserts the electronics into the solar assembly.", "<span class='notice'>You insert the electronics into the solar assembly.</span>")
return 1
@@ -232,7 +232,8 @@
desc = "Its nerf or nothing! ... Although, this one doesn't look too safe."
user << "<span class='notice'>You pop the safety cap off of [src].</span>"
else if ((istype(A, /obj/item/weapon/pen)) && modified && !BB.contents.len)
user.drop_item()
if(!user.unEquip(A))
return
A.loc = BB
BB.damage = 5
BB.nodamage = 0
@@ -134,6 +134,17 @@
..()
icon_state = "45-[ammo_count() ? "8" : "0"]"
/obj/item/ammo_box/magazine/uzim9mm
name = "uzi magazine (9mm)"
icon_state = "uzi9mm-32"
ammo_type = /obj/item/ammo_casing/c9mm
caliber = "9mm"
max_ammo = 32
/obj/item/ammo_box/magazine/uzim9mm/update_icon()
..()
icon_state = "uzi9mm-[round(ammo_count(),4)]"
/obj/item/ammo_box/magazine/smgm9mm
name = "SMG magazine (9mm)"
icon_state = "smg9mm-20"
@@ -157,11 +168,11 @@
..()
icon_state = "c20r45-[round(ammo_count(),2)]"
obj/item/ammo_box/magazine/tommygunm9mm
name = "drum magazine (9mm)"
obj/item/ammo_box/magazine/tommygunm45
name = "drum magazine (.45)"
icon_state = "drum45"
ammo_type = /obj/item/ammo_casing/c9mm
caliber = "9mm"
ammo_type = /obj/item/ammo_casing/c45
caliber = ".45"
max_ammo = 50
/obj/item/ammo_box/magazine/m50
+4 -3
View File
@@ -98,8 +98,8 @@
if(heavy_weapon)
if(user.get_inactive_hand())
if(prob(15))
user.visible_message("<span class='danger'>[src] flies out of [user]'s hands!</span>", "<span class='userdanger'>[src] kicks out of your grip!</span>")
user.drop_item()
if(user.drop_item())
user.visible_message("<span class='danger'>[src] flies out of [user]'s hands!</span>", "<span class='userdanger'>[src] kicks out of your grip!</span>")
/obj/item/weapon/gun/emp_act(severity)
for(var/obj/O in contents)
@@ -235,7 +235,8 @@
if(user.l_hand != src && user.r_hand != src)
user << "<span class='warning'>You'll need [src] in your hands to do that!</span>"
return
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)
@@ -20,7 +20,8 @@
if((istype(I, /obj/item/weapon/grenade)))
if(grenades.len < max_grenades)
user.drop_item()
if(!user.unEquip(I))
return
I.loc = src
grenades += I
user << "<span class='notice'>You put the grenade in the grenade launcher.</span>"
+2 -1
View File
@@ -68,7 +68,8 @@
if(user.l_hand != src && user.r_hand != src)
user << "<span class='notice'>You'll need [src] in your hands to do that.</span>"
return
user.drop_item()
if(!user.unEquip(A))
return
user << "<span class='notice'>You screw [S] onto [src].</span>"
suppressed = A
S.oldsound = fire_sound
@@ -106,7 +106,13 @@
icon_state = "c20r[magazine ? "-[Ceiling(get_ammo(0)/4)*4]" : ""][chambered ? "" : "-e"][suppressed ? "-suppressed" : ""]"
return
/obj/item/weapon/gun/projectile/automatic/mini_uzi
name = "uzi"
desc = "A lightweight, burst-fire submachine gun, for when you really want someone dead. Uses 9mm rounds."
icon_state = "mini-uzi"
origin_tech = "combat=5;materials=2;syndicate=8"
mag_type = /obj/item/ammo_box/magazine/uzim9mm
burst_size = 2
/obj/item/weapon/gun/projectile/automatic/l6_saw
name = "syndicate LMG"
@@ -237,7 +243,7 @@
w_class = 5
slot_flags = 0
origin_tech = "combat=5;materials=1;syndicate=2"
mag_type = /obj/item/ammo_box/magazine/tommygunm9mm
mag_type = /obj/item/ammo_box/magazine/tommygunm45
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
can_suppress = 0
burst_size = 4
@@ -79,7 +79,7 @@
playsound(user, fire_sound, 50, 1)
user << "<span class='userdanger'>[src] blows up in your face!</span>"
user.take_organ_damage(0,20)
user.drop_item()
user.unEquip(src)
qdel(src)
return 0
..()
+2 -1
View File
@@ -63,7 +63,8 @@
/obj/item/weapon/gun/syringe/attackby(var/obj/item/A as obj, mob/user as mob, params, var/show_msg = 1)
if(istype(A, /obj/item/weapon/reagent_containers/syringe))
if(syringes.len < max_syringes)
user.drop_item()
if(!user.unEquip(A))
return
user << "<span class='notice'>You load [A] into \the [src].</span>"
syringes.Add(A)
A.loc = src
+2 -1
View File
@@ -30,7 +30,8 @@
user << "<span class ='notice'>You remove [G]'s old pin.</span>"
if(!G.pin)
user.drop_item()
if(!user.unEquip(src))
return
gun_insert(user, G)
user << "<span class ='notice'>You insert [src] into [G].</span>"
else
+20 -8
View File
@@ -155,9 +155,10 @@
if(src.beaker)
user << "<span class='warning'>A beaker is already loaded into the machine!</span>"
return
if(!user.drop_item())
return
src.beaker = B
user.drop_item()
B.loc = src
user << "<span class='notice'>You add the beaker to the machine.</span>"
SSnano.update_uis(src) // update all UIs attached to src
@@ -290,8 +291,10 @@
if(src.beaker)
user << "<span class='warning'>A beaker is already loaded into the machine!</span>"
return
if(!user.drop_item())
return
src.beaker = B
user.drop_item()
B.loc = src
user << "<span class='notice'>You add the beaker to the machine.</span>"
src.updateUsrDialog()
@@ -301,8 +304,10 @@
if(src.loaded_pill_bottle)
user << "<span class='warning'>A pill bottle is already loaded into the machine!</span>"
return
if(!user.drop_item())
return
src.loaded_pill_bottle = B
user.drop_item()
B.loc = src
user << "<span class='notice'>You add the pill bottle into the dispenser slot.</span>"
src.updateUsrDialog()
@@ -619,8 +624,10 @@
if(src.beaker)
user << "<span class='warning'>A beaker is already loaded into the machine!</span>"
return
if(!user.drop_item())
return
src.beaker = B
user.drop_item()
B.loc = src
user << "<span class='notice'>You add the beaker to the machine.</span>"
src.updateUsrDialog()
@@ -630,8 +637,10 @@
if(src.loaded_pill_bottle)
user << "<span class='warning'>A pill bottle is already loaded into the machine!</span>"
return
if(!user.drop_item())
return
src.loaded_pill_bottle = B
user.drop_item()
B.loc = src
user << "<span class='notice'>You add the pill bottle into the dispenser slot.</span>"
src.updateUsrDialog()
@@ -919,9 +928,10 @@
if(src.beaker)
user << "<span class='warning'>A beaker is already loaded into the machine!</span>"
return
if(!user.drop_item())
return
src.beaker = I
user.drop_item()
I.loc = src
user << "<span class='notice'>You add the beaker to the machine.</span>"
src.updateUsrDialog()
@@ -1053,8 +1063,9 @@
if (beaker)
return 1
else
if(!user.drop_item())
return 1
src.beaker = O
user.drop_item()
O.loc = src
update_icon()
src.updateUsrDialog()
@@ -1548,8 +1559,9 @@
if (beaker)
return 1
else
if(!user.drop_item())
return 1
src.beaker = O
user.drop_item()
O.loc = src
update_icon()
src.updateUsrDialog()
+2 -1
View File
@@ -157,7 +157,8 @@
/obj/structure/reagent_dispensers/water_cooler/attackby(var/obj/item/I, var/mob/user, params)
if(istype(I, /obj/item/weapon/paper))
user.drop_item()
if(!user.drop_item())
return
qdel(I)
cups++
return
+2 -2
View File
@@ -123,9 +123,9 @@
stuff_mob_in(G.affecting, user)
return
if(!I || I.flags & NODROP) return
if(!user.drop_item())
return
user.drop_item()
I.loc = src
user.visible_message("[user.name] places \the [I] into \the [src].", \
"<span class='notice'>You place \the [I] into \the [src].</span>")
+2 -1
View File
@@ -152,9 +152,10 @@
if(O.reliability < 90 && O.crit_fail == 0)
usr << "<span class='warning'>Item is neither reliable enough or broken enough to learn from.</span>"
return
if(!user.drop_item())
return
busy = 1
loaded_item = O
user.drop_item()
O.loc = src
user << "<span class='notice'>You add the [O.name] to the machine.</span>"
flick("h_lathe_load", src)
+2 -1
View File
@@ -157,7 +157,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
else
user << "<span class='danger'>Machine cannot accept disks in that format.</span>"
return
user.drop_item()
if(!user.drop_item())
return
D.loc = src
user << "<span class='notice'>You add the disk to the machine!</span>"
else
+2 -1
View File
@@ -70,9 +70,10 @@
if(full)
user << "<span class='warning'>You can't seem to implant anything else into the [target]'s [target_zone]!</span>"
else
if(!user.drop_item())
return
user.visible_message("[user] inserts [implant] into the [target]'s [target_zone == "head" ? "brain" : target_zone]!", "<span class='notice'>You insert [implant] into the [target]'s [target_zone == "head" ? "brain" : target_zone].</span>")
implant.owner = target
implant.function()
user.drop_item()
target.internal_organs |= implant
implant.loc = target
+2 -1
View File
@@ -71,6 +71,8 @@
user << "<span class='warning'>That is the wrong robotic limb for this body part.</span>"
return 0
if(!user.drop_item())
return 0
var/mob/living/carbon/human/H = target
user.visible_message("[user] successfully augments [target]'s [parse_zone(target_zone)]!", "<span class='notice'>You successfully augment [target]'s [parse_zone(target_zone)].</span>")
L.loc = get_turf(target)
@@ -92,7 +94,6 @@
H.organs += new /obj/item/organ/limb/robot/chest(src)
for(var/datum/disease/appendicitis/A in H.viruses) //If they already have Appendicitis, Remove it
A.cure(1)
user.drop_item()
qdel(tool)
H.update_damage_overlays(0)
H.update_augments() //Gives them the Cyber limb overlay
+1 -1
View File
@@ -21,7 +21,7 @@
PoolOrNew(/obj/effect/effect/sparks, loc)
playsound(src.loc, "sparks", 50, 1)
blink_mob(user)
user.drop_item()
user.unEquip(src)
qdel(src)
/obj/item/bluespace_crystal/proc/blink_mob(var/mob/living/L)
+2 -1
View File
@@ -58,7 +58,8 @@
if(crystals.len >= max_crystals)
user << "<span class='warning'>There are not enough crystal slots.</span>"
return
user.drop_item()
if(!user.drop_item())
return
crystals += W
W.loc = null
user.visible_message("[user] inserts [W] into \the [src]'s crystal slot.", "<span class='notice'>You insert [W] into \the [src]'s crystal slot.</span>")