Adds a "params" parameter to attackby(), so it keeps track of pixel_x and pixel_y among other things

This commit is contained in:
Markolie
2015-02-22 22:12:11 +01:00
parent aee4626ed9
commit 672305e034
456 changed files with 714 additions and 1182 deletions
+1 -1
View File
@@ -13,7 +13,7 @@
return
evidencebagEquip(I, user)
/obj/item/weapon/evidencebag/attackby(obj/item/I, mob/user)
/obj/item/weapon/evidencebag/attackby(obj/item/I, mob/user, params)
if(evidencebagEquip(I, user))
return 1
+1 -1
View File
@@ -119,7 +119,7 @@
return 0
attackby(obj/item/weapon/W as obj, mob/user as mob)
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(isassembly(W))
var/obj/item/device/assembly/A = W
if((!A.secured) && (!secured))
+2 -2
View File
@@ -23,9 +23,9 @@
overlays += bombassembly.overlays
overlays += "bomb_assembly"
/obj/item/device/onetankbomb/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/device/onetankbomb/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/device/analyzer))
bombtank.attackby(W, user)
bombtank.attackby(W, user, params)
return
if(istype(W, /obj/item/weapon/wrench) && !status) //This is basically bomb assembly code inverted. apparently it works.
+1 -1
View File
@@ -130,7 +130,7 @@
return
attackby(obj/item/weapon/W as obj, mob/user as mob)
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/screwdriver))
if(!a_left || !a_right)
user << "\red BUG:Assembly part missing, please report this!"
+1 -1
View File
@@ -15,7 +15,7 @@
..()
return
/obj/item/assembly/shock_kit/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/assembly/shock_kit/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/wrench) && !status)
var/turf/T = loc
if(ismob(T))
+2 -2
View File
@@ -137,7 +137,7 @@ obj/machinery/gateway/centerstation/process()
return
/obj/machinery/gateway/centerstation/attackby(obj/item/device/W as obj, mob/user as mob)
/obj/machinery/gateway/centerstation/attackby(obj/item/device/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/device/multitool))
user << "\black The gate is already calibrated, there is no work for you to do here."
return
@@ -234,7 +234,7 @@ obj/machinery/gateway/centerstation/process()
M.dir = SOUTH
/obj/machinery/gateway/centeraway/attackby(obj/item/device/W as obj, mob/user as mob)
/obj/machinery/gateway/centeraway/attackby(obj/item/device/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/device/multitool))
if(calibrated)
user << "\black The gate is already calibrated, there is no work for you to do here."
+3 -3
View File
@@ -160,7 +160,7 @@ BLIND // can't see anything
var/clipped = 0
species_restricted = list("exclude","Unathi","Tajaran")
/obj/item/clothing/gloves/attackby(obj/item/weapon/W, mob/user)
/obj/item/clothing/gloves/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wirecutters))
if(clipped == 0)
playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
@@ -344,7 +344,7 @@ BLIND // can't see anything
if (AC.slot == A.slot)
return 0
/obj/item/clothing/under/attackby(obj/item/I, mob/user)
/obj/item/clothing/under/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/clothing/accessory))
var/obj/item/clothing/accessory/A = I
if(can_attach_accessory(A))
@@ -362,7 +362,7 @@ BLIND // can't see anything
if(accessories.len)
for(var/obj/item/clothing/accessory/A in accessories)
A.attackby(I, user)
A.attackby(I, user, params)
return
..()
+1 -1
View File
@@ -158,7 +158,7 @@
/obj/item/clothing/mask/gas/sechailer/hos
icon_state = "hosmask"
/obj/item/clothing/mask/gas/sechailer/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/clothing/mask/gas/sechailer/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/screwdriver))
switch(aggressiveness)
if(1)
+1 -1
View File
@@ -97,7 +97,7 @@
src.icon_state = "orange"
return
/obj/item/clothing/shoes/orange/attackby(H as obj, loc)
/obj/item/clothing/shoes/orange/attackby(H as obj, loc, params)
..()
if ((istype(H, /obj/item/weapon/restraints/handcuffs) && !( src.chained )))
//H = null
+1 -1
View File
@@ -174,7 +174,7 @@ var/global/list/breach_burn_descriptors = list(
//Handles repairs (and also upgrades).
/obj/item/clothing/suit/space/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/clothing/suit/space/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/stack/sheet/mineral/plastic) || istype(W,/obj/item/stack/sheet/metal))
if(istype(src.loc,/mob/living))
+1 -1
View File
@@ -221,7 +221,7 @@
helmet.flags |= NODROP
H << "\blue You deploy your hardsuit helmet, sealing you off from the world."
/obj/item/clothing/suit/space/rig/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/clothing/suit/space/rig/attackby(obj/item/W as obj, mob/user as mob, params)
if(!istype(user,/mob/living)) return
+2 -2
View File
@@ -16,9 +16,9 @@
if (pockets.handle_mousedrop(usr, over_object))
..(over_object)
/obj/item/clothing/suit/storage/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/clothing/suit/storage/attackby(obj/item/W as obj, mob/user as mob, params)
..()
pockets.attackby(W, user)
pockets.attackby(W, user, params)
/obj/item/clothing/suit/storage/emp_act(severity)
pockets.emp_act(severity)
@@ -35,7 +35,7 @@
src.add_fingerprint(user)
//default attackby behaviour
/obj/item/clothing/accessory/attackby(obj/item/I, mob/user)
/obj/item/clothing/accessory/attackby(obj/item/I, mob/user, params)
..()
//default attack_hand behaviour
@@ -188,7 +188,7 @@
if(isliving(user))
user.visible_message("\red [user] displays their NanoTrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.","\red You display your NanoTrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.")
/obj/item/clothing/accessory/holobadge/attackby(var/obj/item/O as obj, var/mob/user as mob)
/obj/item/clothing/accessory/holobadge/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/weapon/card/id) || istype(O, /obj/item/device/pda))
var/obj/item/weapon/card/id/id_card = null
@@ -70,7 +70,7 @@
..(user)
/obj/item/clothing/accessory/holster/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/clothing/accessory/holster/attackby(obj/item/W as obj, mob/user as mob, params)
holster(W, user)
/obj/item/clothing/accessory/holster/emp_act(severity)
@@ -29,8 +29,8 @@
if (hold.handle_mousedrop(usr, over_object))
..(over_object)
/obj/item/clothing/accessory/storage/attackby(obj/item/W as obj, mob/user as mob)
return hold.attackby(W, user)
/obj/item/clothing/accessory/storage/attackby(obj/item/W as obj, mob/user as mob, params)
return hold.attackby(W, user, params)
/obj/item/clothing/accessory/storage/emp_act(severity)
hold.emp_act(severity)
+1 -1
View File
@@ -21,7 +21,7 @@
return
attackby(obj/item/clothing/under/U as obj, mob/user as mob)
attackby(obj/item/clothing/under/U as obj, mob/user as mob, params)
..()
if(istype(U, /obj/item/clothing/under/chameleon))
user << "\red Nothing happens."
+1 -1
View File
@@ -76,7 +76,7 @@
completed = /obj/machinery/computer3/laptop
max_components = 3
/obj/structure/computer3frame/attackby(obj/item/P as obj, mob/user as mob)
/obj/structure/computer3frame/attackby(obj/item/P as obj, mob/user as mob, params)
switch(state)
if(0)
if(istype(P, /obj/item/weapon/wrench))
+3 -3
View File
@@ -24,7 +24,7 @@
// If the computer is attacked by an item it will reference this to decide which peripheral(s) are affected.
var/list/attackby_types = list()
proc/allow_attackby(var/obj/item/I as obj,var/mob/user as mob)
proc/allow_attackby(var/obj/item/I as obj,var/mob/user as mob, params)
for(var/typekey in attackby_types)
if(istype(I,typekey))
@@ -60,7 +60,7 @@
return
..()
attackby(obj/I as obj,mob/user as mob)
attackby(obj/I as obj,mob/user as mob, params)
if(computer && !computer.stat)
if(istype(I, /obj/item/device/aicard))
I:transfer_ai("AIFIXER","AICARD",src,user)
@@ -94,7 +94,7 @@
usr << "You are unable to insert \the card, as the reader slot is occupied"
return 0
attackby(var/obj/item/I as obj, var/mob/user as mob)
attackby(var/obj/item/I as obj, var/mob/user as mob, params)
if(istype(I,/obj/item/weapon/card))
insert(I)
return
+2 -2
View File
@@ -317,7 +317,7 @@
if(os)
os.error = BUSTED_ASS_COMPUTER
attackby(I as obj, mob/user as mob)
attackby(I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/screwdriver) && allow_disassemble)
disassemble(user)
return
@@ -341,7 +341,7 @@
P = input(user,"Which component?") as null|anything in p_list
if(P)
P.attackby(I,user)
P.attackby(I,user, params)
return
..()
+2 -2
View File
@@ -24,7 +24,7 @@
return
attackby(obj/item/weapon/aiModule/module as obj, mob/user as mob)
attackby(obj/item/weapon/aiModule/module as obj, mob/user as mob, params)
if (user.z > 6)
user << "\red <b>Unable to establish a connection</b>: \black You're too far away from the station!"
return
@@ -60,7 +60,7 @@
var/mob/living/silicon/robot/current = null
attackby(obj/item/weapon/aiModule/module as obj, mob/user as mob)
attackby(obj/item/weapon/aiModule/module as obj, mob/user as mob, params)
if(istype(module, /obj/item/weapon/aiModule))
module.install(src)
else
@@ -22,7 +22,7 @@ var/prison_shuttle_timeleft = 0
var/prison_break = 0
attackby(I as obj, user as mob)
attackby(I as obj, user as mob, params)
return src.attack_hand(user)
@@ -34,7 +34,7 @@ var/prison_shuttle_timeleft = 0
return src.attack_hand(user)
attackby(I as obj, user as mob)
attackby(I as obj, user as mob, params)
if(istype(I, /obj/item/tool/screwdriver))
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
if(do_after(user, 20))
+1 -1
View File
@@ -11,7 +11,7 @@
var/list/authorized = list( )
attackby(var/obj/item/card/W as obj, var/mob/user as mob)
attackby(var/obj/item/card/W as obj, var/mob/user as mob, params)
if(stat & (BROKEN|NOPOWER)) return
if ((!( istype(W, /obj/item/card) ) || !( ticker ) || emergency_shuttle.location != 1 || !( user ))) return
if (istype(W, /obj/item/card/id)||istype(W, /obj/item/device/pda))
@@ -159,7 +159,7 @@ var/specops_shuttle_timeleft = 0
if(specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return 0
else return 1
/obj/machinery/computer3/specops_shuttle/attackby(I as obj, user as mob)
/obj/machinery/computer3/specops_shuttle/attackby(I as obj, user as mob, params)
return attack_hand(user)
/obj/machinery/computer3/specops_shuttle/attack_ai(var/mob/user as mob)
@@ -168,7 +168,7 @@ var/specops_shuttle_timeleft = 0
/obj/machinery/computer3/specops_shuttle/attack_paw(var/mob/user as mob)
return attack_hand(user)
/obj/machinery/computer3/specops_shuttle/attackby(I as obj, user as mob)
/obj/machinery/computer3/specops_shuttle/attackby(I as obj, user as mob, params)
if(istype(I,/obj/item/card/emag))
user << "\blue The electronic systems in this console are far too advanced for your primitive hacking peripherals."
else
@@ -36,7 +36,7 @@
return 1
/obj/machinery/computer3/syndicate_station/attackby(obj/item/I as obj, mob/user as mob)
/obj/machinery/computer3/syndicate_station/attackby(obj/item/I as obj, mob/user as mob, params)
return attack_hand(user)
/obj/machinery/computer3/syndicate_station/attack_ai(mob/user as mob)
@@ -172,7 +172,7 @@ var/syndicate_elite_shuttle_timeleft = 0
if(syndicate_elite_shuttle_moving_to_station || syndicate_elite_shuttle_moving_to_mothership) return 0
else return 1
/obj/machinery/computer3/syndicate_elite_shuttle/attackby(I as obj, user as mob)
/obj/machinery/computer3/syndicate_elite_shuttle/attackby(I as obj, user as mob, params)
return attack_hand(user)
/obj/machinery/computer3/syndicate_elite_shuttle/attack_ai(var/mob/user as mob)
@@ -181,7 +181,7 @@ var/syndicate_elite_shuttle_timeleft = 0
/obj/machinery/computer3/syndicate_elite_shuttle/attack_paw(var/mob/user as mob)
return attack_hand(user)
/obj/machinery/computer3/syndicate_elite_shuttle/attackby(I as obj, user as mob)
/obj/machinery/computer3/syndicate_elite_shuttle/attackby(I as obj, user as mob, params)
if(istype(I,/obj/item/card/emag))
user << "\blue The electronic systems in this console are far too advanced for your primitive hacking peripherals."
else
+1 -1
View File
@@ -37,7 +37,7 @@
return
/obj/machinery/lapvend/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/machinery/lapvend/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(vendmode == 1)
if(istype(W, /obj/item/weapon/card))
var/obj/item/weapon/card/I = W
+1 -1
View File
@@ -85,7 +85,7 @@ Programs are a file that can be executed
*/
/datum/file/program/proc/attackby(O as obj, user as mob)
/datum/file/program/proc/attackby(O as obj, user as mob, params)
return
/*
+1 -1
View File
@@ -114,7 +114,7 @@
inserted = null
attackby(obj/O as obj, mob/user as mob)
attackby(obj/O as obj, mob/user as mob, params)
if(inserted && istype(O,/obj/item/weapon/pen))
usr << "You use [O] to carefully pry [inserted] out of [src]."
eject_disk(forced = 1)
+4 -4
View File
@@ -18,7 +18,7 @@
// CRAFTING //
/obj/item/weaponcrafting/receiver/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/weaponcrafting/receiver/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/pipe))
user << "You attach the shotgun barrel to the receiver. The pins seem loose."
var/obj/item/weaponcrafting/ishotgunconstruction/I = new /obj/item/weaponcrafting/ishotgunconstruction
@@ -36,7 +36,7 @@
icon = 'icons/obj/improvised.dmi'
icon_state = "ishotgunstep1"
/obj/item/weaponcrafting/ishotgunconstruction/attackby(var/obj/item/I, mob/user as mob)
/obj/item/weaponcrafting/ishotgunconstruction/attackby(var/obj/item/I, mob/user as mob, params)
..()
if(istype(I, /obj/item/weapon/screwdriver))
var/obj/item/weaponcrafting/ishotgunconstruction2/C = new /obj/item/weaponcrafting/ishotgunconstruction2
@@ -51,7 +51,7 @@
icon = 'icons/obj/improvised.dmi'
icon_state = "ishotgunstep1"
/obj/item/weaponcrafting/ishotgunconstruction2/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/weaponcrafting/ishotgunconstruction2/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/weaponcrafting/stock))
user << "You attach the stock to the receiver-barrel assembly."
var/obj/item/weaponcrafting/ishotgunconstruction3/I = new /obj/item/weaponcrafting/ishotgunconstruction3
@@ -67,7 +67,7 @@
icon = 'icons/obj/improvised.dmi'
icon_state = "ishotgunstep2"
/obj/item/weaponcrafting/ishotgunconstruction3/attackby(var/obj/item/I, mob/user as mob)
/obj/item/weaponcrafting/ishotgunconstruction3/attackby(var/obj/item/I, mob/user as mob, params)
..()
if(istype(I, /obj/item/stack/packageWrap))
var/obj/item/stack/packageWrap/C = I
+1 -1
View File
@@ -859,7 +859,7 @@
held.loc = get_turf(user)
src.held = null
/obj/item/clothing/accessory/fluff/konaa_hirano/attackby(var/obj/item/O as obj, mob/user as mob)
/obj/item/clothing/accessory/fluff/konaa_hirano/attackby(var/obj/item/O as obj, mob/user as mob, params)
if(istype(O,/obj/item/weapon/paper))
if(held)
usr << "[src] already has something inside it."
+4 -4
View File
@@ -56,7 +56,7 @@
del(milled_item)
busy = 0
/obj/machinery/mill/attackby(var/obj/item/weapon/W as obj, mob/user as mob)
/obj/machinery/mill/attackby(var/obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/weapon/reagent_containers/food))
user.unEquip(W)
W.loc = src
@@ -126,7 +126,7 @@
del(fermenting_item)
busy = 0
/obj/machinery/fermenter/attackby(var/obj/item/weapon/W as obj, mob/user as mob)
/obj/machinery/fermenter/attackby(var/obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/weapon/reagent_containers/food))
user.unEquip(W)
W.loc = src
@@ -187,7 +187,7 @@
del(destilling_item)
busy = 0
/obj/machinery/still/attackby(var/obj/item/weapon/W as obj, mob/user as mob)
/obj/machinery/still/attackby(var/obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/weapon/reagent_containers/food))
user.unEquip(W)
W.loc = src
@@ -272,7 +272,7 @@
output += spinning_item
busy = 0
/obj/machinery/centrifuge/attackby(var/obj/item/weapon/W as obj, mob/user as mob)
/obj/machinery/centrifuge/attackby(var/obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/weapon/reagent_containers/food))
user.unEquip(W)
W.loc = src
+1 -1
View File
@@ -85,7 +85,7 @@ log transactions
linked_db = DB
break
/obj/machinery/atm/attackby(obj/item/I as obj, mob/user as mob)
/obj/machinery/atm/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/card))
var/obj/item/weapon/card/id/idcard = I
if(!held_card)
+1 -1
View File
@@ -56,7 +56,7 @@
machine_id = "[station_name()] Acc. DB #[num_financial_terminals++]"
..()
/obj/machinery/account_database/attackby(obj/O, mob/user)
/obj/machinery/account_database/attackby(obj/O, mob/user, params)
if(!istype(O, /obj/item/weapon/card/id))
return ..()
+1 -1
View File
@@ -100,7 +100,7 @@
else
user << browse(null,"window=eftpos")
/obj/item/device/eftpos/attackby(O as obj, user as mob)
/obj/item/device/eftpos/attackby(O as obj, user as mob, params)
if(istype(O, /obj/item/weapon/card))
//attempt to connect to a new db, and if that doesn't work then fail
if(!linked_db)
+1 -1
View File
@@ -482,7 +482,7 @@ var/const/POS_HEADER = {"<html>
products[pid]=LI
src.attack_hand(usr)
/obj/machinery/pos/attackby(var/atom/movable/A, var/mob/user)
/obj/machinery/pos/attackby(var/atom/movable/A, var/mob/user, params)
if(istype(A,/obj/item/weapon/card/id))
var/obj/item/weapon/card/id/I = A
if(!logged_in)
+1 -1
View File
@@ -46,7 +46,7 @@
/obj/effect/portal/wormhole/attack_hand(mob/user)
teleport(user)
/obj/effect/portal/wormhole/attackby(obj/item/I, mob/user)
/obj/effect/portal/wormhole/attackby(obj/item/I, mob/user, params)
teleport(user)
/obj/effect/portal/wormhole/teleport(atom/movable/M)
+1 -1
View File
@@ -246,7 +246,7 @@ mob/living/carbon/proc/handle_hallucinations()
var/health = 100
/obj/effect/fake_attacker/attackby(var/obj/item/weapon/P as obj, mob/living/user as mob)
/obj/effect/fake_attacker/attackby(var/obj/item/weapon/P as obj, mob/living/user as mob, params)
step_away(src,my_target,2)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
+1 -1
View File
@@ -90,7 +90,7 @@ obj/machinery/cooker/proc/gettype()
var/obj/item/weapon/reagent_containers/food/snacks/type = new(get_turf(src))
return type
obj/machinery/cooker/attackby(obj/item/I, mob/user)
obj/machinery/cooker/attackby(obj/item/I, mob/user, params)
if(stat & (NOPOWER|BROKEN))
return
if (!checkValid(I, user))
+13 -13
View File
@@ -1,31 +1,31 @@
/obj/item/weapon/reagent_containers/food/snacks/breadslice/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/weapon/reagent_containers/food/snacks/breadslice/attackby(obj/item/W as obj, mob/user as mob, params)
var/obj/item/weapon/reagent_containers/food/snacks/customizable/sandwich/S = new(get_turf(user))
S.attackby(W,user)
S.attackby(W,user, params)
qdel(src)
/obj/item/weapon/reagent_containers/food/snacks/bun/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/weapon/reagent_containers/food/snacks/bun/attackby(obj/item/W as obj, mob/user as mob, params)
var/obj/item/weapon/reagent_containers/food/snacks/customizable/burger/S = new(get_turf(user))
S.attackby(W,user)
S.attackby(W,user, params)
qdel(src)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough/attackby(obj/item/W as obj, mob/user as mob, params)
if(!istype(W, /obj/item/weapon/kitchenknife)) //Ignore this if object is kitchen knife - make dough slices instead of kitchen knife pizza
var/obj/item/weapon/reagent_containers/food/snacks/customizable/pizza/S = new(get_turf(user))
S.attackby(W,user)
S.attackby(W,user, params)
qdel(src)
else //It's a kitchen knife. Go do the parent proc (slicing)
..()
/obj/item/weapon/reagent_containers/food/snacks/boiledspagetti/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/weapon/reagent_containers/food/snacks/boiledspagetti/attackby(obj/item/W as obj, mob/user as mob, params)
var/obj/item/weapon/reagent_containers/food/snacks/customizable/pasta/S = new(get_turf(user))
S.attackby(W,user)
S.attackby(W,user, params)
qdel(src)
/obj/item/trash/plate/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/trash/plate/attackby(obj/item/W as obj, mob/user as mob, params)
var/obj/item/weapon/reagent_containers/food/snacks/customizable/fullycustom/S = new(get_turf(user))
S.attackby(W,user)
S.attackby(W,user, params)
qdel(src)
/obj/item/trash/bowl
@@ -34,11 +34,11 @@
icon = 'icons/obj/food.dmi'
icon_state = "soup"
/obj/item/trash/bowl/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/trash/bowl/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/))
var/obj/item/weapon/reagent_containers/food/snacks/customizable/soup/S = new(get_turf(user))
S.attackby(W,user)
S.attackby(W,user, params)
qdel(src)
..()
@@ -311,7 +311,7 @@
basename = "burger"
toptype = new /obj/item/weapon/reagent_containers/food/snacks/bun()
/obj/item/weapon/reagent_containers/food/snacks/customizable/attackby(obj/item/I, mob/user)
/obj/item/weapon/reagent_containers/food/snacks/customizable/attackby(obj/item/I, mob/user, params)
if(src.contents.len > sandwich_limit)
user << "<span class='warning'>If you put anything else in or on [src] it's going to make a mess.</span>"
return
+1 -1
View File
@@ -29,7 +29,7 @@
R.my_atom = src
/obj/machinery/icemachine/attackby(obj/item/I, mob/user)
/obj/machinery/icemachine/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/reagent_containers/glass))
if(beaker)
user << "<span class='notice'>A container is already inside [src].</span>"
+2 -2
View File
@@ -15,7 +15,7 @@
..()
updatefood()
/obj/machinery/cooking/attackby(obj/item/I, mob/user)
/obj/machinery/cooking/attackby(obj/item/I, mob/user, params)
if(on)
user << "The machine is already running."
return
@@ -41,7 +41,7 @@
else
icon_state = "mixer_off"
C.loc = get_turf(src)
C.attackby(F,user)
C.attackby(F,user, params)
playsound(loc, 'sound/machines/ding.ogg', 50, 1)
updatefood()
return
+2 -2
View File
@@ -42,7 +42,7 @@
P.card_icon = "joker"
cards += P
/obj/item/weapon/deck/attackby(obj/O as obj, mob/user as mob)
/obj/item/weapon/deck/attackby(obj/O as obj, mob/user as mob, params)
if(istype(O,/obj/item/weapon/hand))
var/obj/item/weapon/hand/H = O
for(var/datum/playingcard/P in H.cards)
@@ -118,7 +118,7 @@
usr.visible_message("\The [usr] deals a card to \the [M].")
H.throw_at(get_step(M,M.dir),10,1,H)
/obj/item/weapon/hand/attackby(obj/O as obj, mob/user as mob)
/obj/item/weapon/hand/attackby(obj/O as obj, mob/user as mob, params)
if(istype(O,/obj/item/weapon/hand))
var/obj/item/weapon/hand/H = O
for(var/datum/playingcard/P in H.cards)
+3 -3
View File
@@ -50,7 +50,7 @@
origin_tech = "materials=1"
attack_verb = list("bashed", "battered", "bludgeoned", "whacked")
attackby(obj/item/weapon/W as obj, mob/user as mob)
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || (istype(W, /obj/item/weapon/twohanded/fireaxe) && W:wielded) || istype(W, /obj/item/weapon/melee/energy))
user.show_message("<span class='notice'>You make planks out of \the [src]!</span>", 1)
for(var/i=0,i<2,i++)
@@ -60,7 +60,7 @@
continue
if(G.amount>=G.max_amount)
continue
G.attackby(NG, user)
G.attackby(NG, user, params)
usr << "You add the newly-formed wood to the stack. It now contains [NG.amount] planks."
del(src)
return
@@ -201,7 +201,7 @@
throw_speed = 4
throw_range = 20
/obj/item/weapon/corncob/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/corncob/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/kitchenknife) || istype(W, /obj/item/weapon/kitchenknife/ritual))
user << "<span class='notice'>You use [W] to fashion a pipe out of the corn cob!</span>"
+1 -1
View File
@@ -82,7 +82,7 @@
visible_message("\icon[src] [src] beeps and spits out [loaded_disk].")
loaded_disk = null
/obj/machinery/botany/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/machinery/botany/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/seeds))
if(seed)
user << "There is already a seed loaded."
+1 -1
View File
@@ -32,7 +32,7 @@
master.growth_queue -= src
..()
/obj/effect/plantsegment/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/effect/plantsegment/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (!W || !user || !W.type) return
switch(W.type)
if(/obj/item/weapon/circular_saw) del src
+1 -1
View File
@@ -27,7 +27,7 @@
A.loc = get_turf(src)
*/
/obj/structure/bush/attackby(var/obj/I as obj, var/mob/user as mob)
/obj/structure/bush/attackby(var/obj/I as obj, var/mob/user as mob, params)
//hatchets can clear away undergrowth
if(istype(I, /obj/item/weapon/hatchet) && !stump)
if(indestructable)
+2 -2
View File
@@ -28,7 +28,7 @@
I.loc = src
update_icon()
/obj/structure/bookcase/attackby(obj/O as obj, mob/user as mob)
/obj/structure/bookcase/attackby(obj/O as obj, mob/user as mob, params)
if(istype(O, /obj/item/weapon/book) || istype(O, /obj/item/weapon/spellbook))
user.drop_item()
O.loc = src
@@ -178,7 +178,7 @@
else
user << "This book is completely blank!"
/obj/item/weapon/book/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/book/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(carved)
if(!store)
if(W.w_class < 3)
+3 -3
View File
@@ -237,7 +237,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
user << browse(dat, "window=library")
onclose(user, "library")
/obj/machinery/librarycomp/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/machinery/librarycomp/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/barcodescanner))
var/obj/item/weapon/barcodescanner/scanner = W
scanner.computer = src
@@ -404,7 +404,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
density = 1
var/obj/item/weapon/book/cache // Last scanned book
/obj/machinery/libraryscanner/attackby(var/obj/O as obj, var/mob/user as mob)
/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()
O.loc = src
@@ -454,7 +454,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
anchored = 1
density = 1
/obj/machinery/bookbinder/attackby(var/obj/O as obj, var/mob/user as mob)
/obj/machinery/bookbinder/attackby(var/obj/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/weapon/paper))
user.drop_item()
O.loc = src
@@ -48,7 +48,7 @@
broadcast() // Bzzt
/*
/obj/machinery/media/transmitter/broadcast/attackby(var/obj/item/W, mob/user)
/obj/machinery/media/transmitter/broadcast/attackby(var/obj/item/W, mob/user, params)
if(istype(W, /obj/item/device/multitool))
update_multitool_menu(user)
return 1
+1 -1
View File
@@ -155,7 +155,7 @@ var/global/loopModeNames=list(
popup.open()
/obj/machinery/media/jukebox/attackby(obj/item/W, mob/user)
/obj/machinery/media/jukebox/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/card/emag))
current_song=0
if(!emagged)
+1 -1
View File
@@ -91,7 +91,7 @@
else
return ..()
/obj/structure/closet/crate/secure/loot/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/closet/crate/secure/loot/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(locked)
if (istype(W, /obj/item/weapon/card/emag))
user << "<span class='notice'>The crate unlocks!</span>"
+1 -1
View File
@@ -75,7 +75,7 @@
credits = 20
/obj/item/weapon/coin/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/coin/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/CC = W
if(string_attached)
+2 -2
View File
@@ -140,7 +140,7 @@
/obj/machinery/mining/drill/attack_ai(var/mob/user as mob)
return src.attack_hand(user)
/obj/machinery/mining/drill/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/machinery/mining/drill/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/weapon/screwdriver))
if(active) return
open = !open
@@ -323,7 +323,7 @@
icon_state = "mining_brace"
var/obj/machinery/mining/drill/connected
/obj/machinery/mining/brace/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/machinery/mining/brace/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/weapon/wrench))
if(istype(get_turf(src),/turf/space))
+3 -3
View File
@@ -228,7 +228,7 @@
updateUsrDialog()
return
/obj/machinery/mineral/equipment_locker/attackby(obj/item/I as obj, mob/user as mob)
/obj/machinery/mineral/equipment_locker/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/mining_voucher))
RedeemVoucher(I, user)
return
@@ -285,7 +285,7 @@
icon_state = "data"
var/points = 500
/obj/item/weapon/card/mining_point_card/attackby(obj/item/I as obj, mob/user as mob)
/obj/item/weapon/card/mining_point_card/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/card/id))
if(points)
var/obj/item/weapon/card/id/C = I
@@ -484,7 +484,7 @@
projectilesound = 'sound/weapons/Gunshot4.ogg'
wanted_objects = list(/obj/item/weapon/ore)
/mob/living/simple_animal/hostile/mining_drone/attackby(obj/item/I as obj, mob/user as mob)
/mob/living/simple_animal/hostile/mining_drone/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/W = I
if(W.welding && !stat)
@@ -99,7 +99,7 @@ proc/move_labor_shuttle() //TODO: Security Access only; add moving the shuttle t
else
usr << "\blue Shuttle is already moving."
/obj/machinery/computer/labor_shuttle/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/machinery/computer/labor_shuttle/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/card/emag))
src.req_access = list()
@@ -61,7 +61,7 @@
user << browse("[dat]", "window=console_stacking_machine")
/obj/machinery/mineral/labor_claim_console/attackby(obj/item/I as obj, mob/user as mob)
/obj/machinery/mineral/labor_claim_console/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/card/id))
return attack_hand(user)
..()
@@ -181,7 +181,7 @@
/obj/machinery/mineral/labor_points_checker/attack_hand(mob/user)
user.examine(src)
/obj/machinery/mineral/labor_points_checker/attackby(obj/item/I as obj, mob/user as mob)
/obj/machinery/mineral/labor_points_checker/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/card/id))
if(istype(I, /obj/item/weapon/card/id/prisoner))
var/obj/item/weapon/card/id/prisoner/prisoner_id = I
+1 -1
View File
@@ -293,7 +293,7 @@
src.updateUsrDialog()
attackby(obj/item/weapon/W as obj, mob/user as mob)
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
var/load = 0
if(istype(W, /obj/item/weapon/ore/))
for(var/mob/O in viewers(user, null)) O.show_message(text("\blue [] loads [] into the [].", user, W, src), 1)
+2 -2
View File
@@ -103,7 +103,7 @@
scan_state = "rock_[mineral.name][rand(1,3)]"
//Not even going to touch this pile of spaghetti
attackby(obj/item/weapon/W as obj, mob/user as mob)
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
usr << "\red You don't have the dexterity to do this!"
@@ -420,7 +420,7 @@
gets_dug()
return
/turf/simulated/floor/plating/airless/asteroid/attackby(obj/item/weapon/W as obj, mob/user as mob)
/turf/simulated/floor/plating/airless/asteroid/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(!W || !user)
return 0
+1 -1
View File
@@ -72,7 +72,7 @@
*/
user << browse("[dat]", "window=moneybag")
/obj/item/weapon/moneybag/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/moneybag/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if (istype(W, /obj/item/weapon/coin))
var/obj/item/weapon/coin/C = W
+1 -1
View File
@@ -86,7 +86,7 @@
pixel_y = rand(0,8)-8
if(src.z == ASTEROID_Z) score_oremined++ //When ore spawns, increment score. Only include ore spawned on mining asteroid (No Clown Planet)
/obj/item/weapon/ore/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/ore/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/device/core_sampler))
var/obj/item/device/core_sampler/C = W
C.sample_item(src, user)
+1 -1
View File
@@ -18,7 +18,7 @@
var/amt_strange = 0
var/last_update = 0
/obj/structure/ore_box/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/ore_box/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/ore))
user.unEquip(W)
src.contents += W
+2 -2
View File
@@ -26,9 +26,9 @@
del(src)
/obj/item/weapon/holder/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/holder/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
for(var/mob/M in src.contents)
M.attackby(W,user)
M.attackby(W,user, params)
/obj/item/weapon/holder/proc/show_message(var/message, var/m_type)
for(var/mob/living/M in contents)
@@ -55,7 +55,7 @@ var/const/MAX_ACTIVE_TIME = 400
if (sterile)
user << "<span class='userdanger'>It looks like the proboscis has been removed.</span>"
/obj/item/clothing/mask/facehugger/attackby(var/obj/item/O,var/mob/m)
/obj/item/clothing/mask/facehugger/attackby(var/obj/item/O,var/mob/m, params)
if(O.force)
Die()
return
+1 -1
View File
@@ -21,7 +21,7 @@
var/mob/living/silicon/robot = null//Appears unused.
var/obj/mecha = null//This does not appear to be used outside of reference in mecha.dm.
attackby(var/obj/item/O as obj, var/mob/user as mob)
attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O,/obj/item/brain) && !brainmob) //Time to stick a brain in it --NEO
if(!O:brainmob)
user << "\red You aren't sure where this brain came from, but you're pretty sure it's a useless brain."
@@ -556,7 +556,7 @@
updatehealth()
return
/mob/living/carbon/slime/attackby(obj/item/W, mob/user)
/mob/living/carbon/slime/attackby(obj/item/W, mob/user, params)
if(istype(W,/obj/item/stack/sheet/mineral/plasma)) //Lets you feed slimes plasma.
if (user in Friends)
++Friends[user]
@@ -666,7 +666,7 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75
var/Uses = 1 // uses before it goes inert
var/enhanced = 0 //has it been enhanced before?
attackby(obj/item/O as obj, mob/user as mob)
attackby(obj/item/O as obj, mob/user as mob, params)
if(istype(O, /obj/item/weapon/slimesteroid2))
if(enhanced == 1)
user << "<span class='warning'> This extract has already been enhanced!</span>"
@@ -1141,7 +1141,7 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75
if (environment.toxins > MOLES_PLASMA_VISIBLE)//plasma exposure causes the egg to hatch
src.Hatch()
/obj/item/weapon/reagent_containers/food/snacks/egg/slime/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/reagent_containers/food/snacks/egg/slime/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype( W, /obj/item/toy/crayon ))
return
else
+1 -1
View File
@@ -946,7 +946,7 @@ var/list/ai_list = list()
camera_light_on = world.timeofday + 1 * 20 // Update the light every 2 seconds.
/mob/living/silicon/ai/attackby(obj/item/weapon/W as obj, mob/user as mob)
/mob/living/silicon/ai/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/wrench))
if(anchored)
user.visible_message("\blue \The [user] starts to unbolt \the [src] from the plating...")
@@ -148,7 +148,7 @@ They can only use one tool at a time, they can't choose modules, and they have 1
real_name = changed_name
name = real_name
/mob/living/silicon/robot/attackby(obj/item/weapon/W as obj, mob/user as mob)
/mob/living/silicon/robot/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/restraints/handcuffs)) // fuck i don't even know why isrobot() in handcuff code isn't working so this will have to do
return
+1 -1
View File
@@ -426,7 +426,7 @@
canmove = !resting
//Overriding this will stop a number of headaches down the track.
/mob/living/silicon/pai/attackby(obj/item/weapon/W as obj, mob/user as mob)
/mob/living/silicon/pai/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(W.force)
visible_message("<span class='danger'>[user.name] attacks [src] with [W]!</span>")
src.adjustBruteLoss(W.force)
@@ -167,7 +167,7 @@
S.show_message(rendered2, 2)
//Drones cannot be upgraded with borg modules so we need to catch some items before they get used in ..().
/mob/living/silicon/robot/drone/attackby(obj/item/weapon/W as obj, mob/user as mob)
/mob/living/silicon/robot/drone/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/borg/upgrade/))
user << "\red The maintenance drone chassis not compatible with \the [W]."
@@ -86,7 +86,7 @@
wrapped.loc = user
//Pass the attack on to the target. This might delete/relocate wrapped.
target.attackby(wrapped,user)
target.attackby(wrapped,user, params)
//If wrapped did neither get deleted nor put into target, put it back into the gripper.
if(wrapped && user && (wrapped.loc == user))
@@ -642,7 +642,7 @@
return !cleared
/mob/living/silicon/robot/attackby(obj/item/weapon/W as obj, mob/user as mob)
/mob/living/silicon/robot/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/restraints/handcuffs)) // fuck i don't even know why isrobot() in handcuff code isn't working so this will have to do
return
@@ -110,7 +110,7 @@
var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
adjustBruteLoss(damage)
/mob/living/simple_animal/construct/attackby(var/obj/item/O as obj, var/mob/user as mob)
/mob/living/simple_animal/construct/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(O.force)
var/damage = O.force
if (O.damtype == STAMINA)
@@ -151,7 +151,7 @@
status_flags = 0
construct_spells = list(/obj/effect/proc_holder/spell/wizard/aoe_turf/conjure/lesserforcewall)
/mob/living/simple_animal/construct/armoured/attackby(var/obj/item/O as obj, var/mob/user as mob)
/mob/living/simple_animal/construct/armoured/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(O.force)
if(O.force >= 11)
var/damage = O.force
@@ -280,7 +280,7 @@
var/energy = 0
var/max_energy = 1000
/mob/living/simple_animal/construct/behemoth/attackby(var/obj/item/O as obj, var/mob/user as mob)
/mob/living/simple_animal/construct/behemoth/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(O.force)
if(O.force >= 11)
var/damage = O.force
@@ -55,7 +55,7 @@
onclose(user, "mob[real_name]")
return
/mob/living/simple_animal/corgi/attackby(var/obj/item/O as obj, var/mob/user as mob)
/mob/living/simple_animal/corgi/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(inventory_head && inventory_back)
//helmet and armor = 100% protection
if( istype(inventory_head,/obj/item/clothing/head/helmet) && istype(inventory_back,/obj/item/clothing/suit/armor) )
@@ -42,7 +42,7 @@
response_harm = "stomps"
//LOOK AT THIS - ..()??
/*/mob/living/simple_animal/crab/attackby(var/obj/item/O as obj, var/mob/user as mob)
/*/mob/living/simple_animal/crab/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/weapon/wirecutters))
if(prob(50))
user << "\red \b This kills the crab."
@@ -72,7 +72,7 @@
if(prob(10))
say("Nom")
/mob/living/simple_animal/hostile/retaliate/goat/attackby(var/obj/item/O as obj, var/mob/user as mob)
/mob/living/simple_animal/hostile/retaliate/goat/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(stat == CONSCIOUS && istype(O, /obj/item/weapon/reagent_containers/glass))
user.changeNext_move(CLICK_CD_MELEE)
user.visible_message("<span class='notice'>[user] milks [src] using \the [O].</span>")
@@ -113,7 +113,7 @@
udder.my_atom = src
..()
/mob/living/simple_animal/cow/attackby(var/obj/item/O as obj, var/mob/user as mob)
/mob/living/simple_animal/cow/attackby(var/obj/item/O as obj, var/mob/user as mob, params, params)
if(stat == CONSCIOUS && istype(O, /obj/item/weapon/reagent_containers/glass))
user.visible_message("<span class='notice'>[user] milks [src] using \the [O].</span>")
var/obj/item/weapon/reagent_containers/glass/G = O
@@ -230,7 +230,7 @@ var/global/chicken_count = 0
..()
chicken_count -= 1
/mob/living/simple_animal/chicken/attackby(var/obj/item/O as obj, var/mob/user as mob)
/mob/living/simple_animal/chicken/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/wheat)) //feedin' dem chickens
if(!stat && eggsleft < 8)
user.visible_message("\blue [user] feeds [O] to [name]! It clucks happily.","\blue You feed [O] to [name]! It clucks happily.")
@@ -42,7 +42,7 @@
speak_emote = list("beeps","clicks","chirps")
can_hide = 1
/mob/living/simple_animal/spiderbot/attackby(var/obj/item/O as obj, var/mob/user as mob)
/mob/living/simple_animal/spiderbot/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/device/mmi) || istype(O, /obj/item/device/mmi/posibrain))
var/obj/item/device/mmi/B = O
@@ -102,7 +102,7 @@
/mob/living/simple_animal/hostile/bear/attackby(var/obj/item/O as obj, var/mob/user as mob)
/mob/living/simple_animal/hostile/bear/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(stance != HOSTILE_STANCE_ATTACK && stance != HOSTILE_STANCE_ATTACKING)
stance = HOSTILE_STANCE_ALERT
stance_step = 6
@@ -120,7 +120,7 @@
src.visible_message("<span class='notice'>The [src.name] was bruised!</span>")
bruised = 1
/mob/living/simple_animal/hostile/mushroom/attackby(obj/item/I as obj, mob/user as mob)
/mob/living/simple_animal/hostile/mushroom/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom))
if(stat == DEAD && !recovery_cooldown)
Recover()
@@ -57,7 +57,7 @@
attacktext = "slashes"
status_flags = 0
/mob/living/simple_animal/hostile/syndicate/melee/attackby(var/obj/item/O as obj, var/mob/user as mob)
/mob/living/simple_animal/hostile/syndicate/melee/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(O.force)
if(prob(80))
var/damage = O.force
@@ -233,7 +233,7 @@
return
//Mobs with objects
/mob/living/simple_animal/parrot/attackby(var/obj/item/O as obj, var/mob/user as mob)
/mob/living/simple_animal/parrot/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
..()
if(!stat && !client && !istype(O, /obj/item/stack/medical))
if(O.force)
@@ -51,7 +51,7 @@ var/global/totaltribbles = 0 //global variable so it updates for all tribbles,
del(src)
/mob/living/simple_animal/tribble/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob)
/mob/living/simple_animal/tribble/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/weapon/scalpel))
user << "<span class='notice'>You try to neuter the tribble, but it's moving too much and you fail!</span>"
else if(istype(O, /obj/item/weapon/cautery))
@@ -190,7 +190,7 @@ var/global/totaltribbles = 0 //global variable so it updates for all tribbles,
return
/obj/structure/tribble_cage/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/structure/tribble_cage/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
src.health -= W.force
src.healthcheck()
..()
+2 -2
View File
@@ -32,7 +32,7 @@
src.gib()
return
/mob/living/simple_animal/vox/armalis/attackby(var/obj/item/O as obj, var/mob/user as mob)
/mob/living/simple_animal/vox/armalis/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(O.force)
if(O.force >= 25)
var/damage = O.force
@@ -110,7 +110,7 @@
set name = "Shriek"
set desc = "Give voice to a psychic shriek."
/mob/living/simple_animal/vox/armalis/attackby(var/obj/item/O as obj, var/mob/user as mob)
/mob/living/simple_animal/vox/armalis/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O,/obj/item/vox/armalis_armour))
user.drop_item()
armour = O
+1 -1
View File
@@ -1159,7 +1159,7 @@ obj/item/weapon/organ/head/proc/transfer_identity(var/mob/living/carbon/human/H)
respawnable_list += brainmob
brainmob.container = src
obj/item/weapon/organ/head/attackby(obj/item/weapon/W as obj, mob/user as mob)
obj/item/weapon/organ/head/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/weapon/scalpel))
switch(brain_op_stage)
if(0)
+2 -2
View File
@@ -42,7 +42,7 @@
overlays += "clipboard_over"
return
/obj/item/weapon/clipboard/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/clipboard/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/weapon/photo))
user.drop_item()
@@ -53,7 +53,7 @@
update_icon()
else if(istype(toppaper) && istype(W, /obj/item/weapon/pen))
toppaper.attackby(W, usr)
toppaper.attackby(W, usr, params)
update_icon()
return
+1 -1
View File
@@ -32,7 +32,7 @@ var/list/alldepartments = list()
/obj/machinery/photocopier/faxmachine/attack_hand(mob/user as mob)
ui_interact(user)
/obj/machinery/photocopier/faxmachine/attackby(obj/item/weapon/item, mob/user)
/obj/machinery/photocopier/faxmachine/attackby(obj/item/weapon/item, mob/user, params)
if(istype(item,/obj/item/weapon/card/id) && !scan)
scan(item)
else if(istype(item, /obj/item/weapon/paper) || istype(item, /obj/item/weapon/photo) || istype(item, /obj/item/weapon/paper_bundle))
+1 -1
View File
@@ -33,7 +33,7 @@
I.loc = src
/obj/structure/filingcabinet/attackby(obj/item/P as obj, mob/user as mob)
/obj/structure/filingcabinet/attackby(obj/item/P as obj, mob/user as mob, params)
if(istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/folder) || istype(P, /obj/item/weapon/photo) || istype(P, /obj/item/weapon/paper_bundle) || istype(P, /obj/item/documents))
user << "<span class='notice'>You put [P] in [src].</span>"
user.drop_item()
+1 -1
View File
@@ -30,7 +30,7 @@
overlays += "folder_paper"
return
/obj/item/weapon/folder/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/folder/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/weapon/photo) || istype(W, /obj/item/weapon/paper_bundle) || istype(W, /obj/item/documents))
user.drop_item()
W.loc = src
+1 -1
View File
@@ -348,7 +348,7 @@
update_icon()
/obj/item/weapon/paper/attackby(obj/item/weapon/P as obj, mob/user as mob)
/obj/item/weapon/paper/attackby(obj/item/weapon/P as obj, mob/user as mob, params)
..()
var/clown = 0
if(user.mind && (user.mind.assigned_role == "Clown"))
+2 -2
View File
@@ -16,7 +16,7 @@
var/screen = 0
/obj/item/weapon/paper_bundle/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/paper_bundle/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
var/obj/item/weapon/paper/P
if(istype(W, /obj/item/weapon/paper))
@@ -60,7 +60,7 @@
if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/toy/crayon))
usr << browse("", "window=[name]") //Closes the dialog
P = src[page]
P.attackby(W, user)
P.attackby(W, user, params)
update_icon()
+1 -1
View File
@@ -75,7 +75,7 @@
return
/obj/item/weapon/paper_bin/attackby(obj/item/weapon/paper/i as obj, mob/user as mob)
/obj/item/weapon/paper_bin/attackby(obj/item/weapon/paper/i as obj, mob/user as mob, params)
if(!istype(i))
return
+1 -1
View File
@@ -102,7 +102,7 @@
sleep(15)
updateUsrDialog()
/obj/machinery/photocopier/attackby(obj/item/O as obj, mob/user as mob)
/obj/machinery/photocopier/attackby(obj/item/O as obj, mob/user as mob, params)
if(istype(O, /obj/item/weapon/paper) || istype(O, /obj/item/weapon/photo) || istype(O, /obj/item/weapon/paper_bundle))
if(!copyitem)
user.drop_item()
+2 -2
View File
@@ -35,7 +35,7 @@
/obj/item/weapon/photo/attack_self(mob/user as mob)
src.examine(user)
/obj/item/weapon/photo/attackby(obj/item/weapon/P as obj, mob/user as mob)
/obj/item/weapon/photo/attackby(obj/item/weapon/P as obj, mob/user as mob, params)
if(istype(P, /obj/item/weapon/pen) || istype(P, /obj/item/toy/crayon))
var/txt = sanitize(input(user, "What would you like to write on the back?", "Photo Writing", null) as text)
txt = copytext(txt, 1, 128)
@@ -171,7 +171,7 @@
user << "You switch the camera [on ? "on" : "off"]."
return
/obj/item/device/camera/attackby(obj/item/I as obj, mob/user as mob)
/obj/item/device/camera/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/device/camera_film))
if(pictures_left)
user << "<span class='notice'>[src] still has some film in it!</span>"
+1 -1
View File
@@ -145,7 +145,7 @@
//No other icons for it atm
/obj/machinery/power/am_control_unit/attackby(obj/item/W, mob/user)
/obj/machinery/power/am_control_unit/attackby(obj/item/W, mob/user, params)
if(!istype(W) || !user) return
if(istype(W, /obj/item/weapon/wrench))
if(!anchored)
+1 -1
View File
@@ -37,7 +37,7 @@
return
/obj/machinery/power/am_engine/injector/attackby(obj/item/weapon/fuel/F, mob/user)
/obj/machinery/power/am_engine/injector/attackby(obj/item/weapon/fuel/F, mob/user, params)
if( (stat & BROKEN) || !connected) return
if(istype(F, /obj/item/weapon/fuel/H))
+1 -1
View File
@@ -20,7 +20,7 @@
content = "Anti-Hydrogen"
fuel = 1e-12 //pico-kilogram
/obj/item/weapon/fuel/attackby(obj/item/weapon/fuel/F, mob/user)
/obj/item/weapon/fuel/attackby(obj/item/weapon/fuel/F, mob/user, params)
..()
if(istype(src, /obj/item/weapon/fuel/antiH))
if(istype(F, /obj/item/weapon/fuel/antiH))
+2 -2
View File
@@ -135,7 +135,7 @@ proc/cardinalrange(var/center)
else if(processing) shutdown_core()
/obj/machinery/am_shielding/attackby(obj/item/W, mob/user)
/obj/machinery/am_shielding/attackby(obj/item/W, mob/user, params)
if(!istype(W) || !user) return
if(W.force > 10)
stability -= W.force/2
@@ -213,7 +213,7 @@ proc/cardinalrange(var/center)
m_amt = 100
w_amt = 2000
/obj/item/device/am_shielding_container/attackby(var/obj/item/I, var/mob/user)
/obj/item/device/am_shielding_container/attackby(var/obj/item/I, var/mob/user, params)
if(istype(I, /obj/item/device/multitool) && istype(src.loc,/turf))
new/obj/machinery/am_shielding(src.loc)
del(src)
+1 -1
View File
@@ -365,7 +365,7 @@
//attack with an item - open/close cover, insert cell, or (un)lock interface
/obj/machinery/power/apc/attackby(obj/item/W, mob/living/user)
/obj/machinery/power/apc/attackby(obj/item/W, mob/living/user, params)
if (istype(user, /mob/living/silicon) && get_dist(src,user)>1)
return src.attack_hand(user)
+3 -3
View File
@@ -1,6 +1,6 @@
// attach a wire to a power machine - leads from the turf you are standing on
/obj/machinery/power/attackby(obj/item/weapon/W, mob/user)
/obj/machinery/power/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/stack/cable_coil))
@@ -120,7 +120,7 @@
/obj/structure/cable/attack_tk(mob/user)
return
/obj/structure/cable/attackby(obj/item/W, mob/user)
/obj/structure/cable/attackby(obj/item/W, mob/user, params)
var/turf/T = src.loc
if(T.intact)
@@ -278,7 +278,7 @@
usr << "\blue You cannot do that."
..()
/obj/item/stack/cable_coil/attackby(obj/item/weapon/W, mob/user)
/obj/item/stack/cable_coil/attackby(obj/item/weapon/W, mob/user, params)
..()
if( istype(W, /obj/item/weapon/wirecutters) && src.amount > 1)
src.amount--
+1 -1
View File
@@ -9,7 +9,7 @@
desc = "This cable is tough. It cannot be cut with simple hand tools."
layer = 2.39 //Just below pipes, which are at 2.4
/obj/structure/cable/heavyduty/attackby(obj/item/W, mob/user)
/obj/structure/cable/heavyduty/attackby(obj/item/W, mob/user, params)
var/turf/T = src.loc
if(T.intact)
+1 -1
View File
@@ -76,7 +76,7 @@
SNG.drain("CELL",src,H.wear_suit)
return
/obj/item/weapon/stock_parts/cell/attackby(obj/item/W, mob/user)
/obj/item/weapon/stock_parts/cell/attackby(obj/item/W, mob/user, params)
..()
if(istype(W, /obj/item/weapon/reagent_containers/syringe))
var/obj/item/weapon/reagent_containers/syringe/S = W

Some files were not shown because too many files have changed in this diff Show More