diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 8877f17bc51..be921f4823e 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -536,7 +536,7 @@ obj/item/proc/item_action_slot_check(slot, mob/user) itempush = 0 //too light to push anything return A.hitby(src, 0, itempush) -/obj/item/throw_at(atom/target, range, speed, mob/thrower, spin=1) +/obj/item/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0) thrownby = thrower . = ..() throw_speed = initial(throw_speed) //explosions change this. diff --git a/code/game/objects/items/weapons/dice.dm b/code/game/objects/items/weapons/dice.dm index b844dad596a..001ae42f67d 100644 --- a/code/game/objects/items/weapons/dice.dm +++ b/code/game/objects/items/weapons/dice.dm @@ -108,10 +108,10 @@ /obj/item/weapon/dice/attack_self(mob/user) diceroll(user) -/obj/item/weapon/dice/throw_at(atom/target, range, speed, mob/user, spin=1) +/obj/item/weapon/dice/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0) if(!..()) return - diceroll(user) + diceroll(thrower) /obj/item/weapon/dice/proc/diceroll(mob/user) result = rand(1, sides) @@ -143,4 +143,4 @@ /obj/item/weapon/dice/update_icon() cut_overlays() - add_overlay("[src.icon_state][src.result]") \ No newline at end of file + add_overlay("[src.icon_state][src.result]") diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 810048f5782..439a3584df0 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -320,7 +320,7 @@ origin_tech = "engineering=3;combat=1" var/weaken = 0 -/obj/item/weapon/restraints/legcuffs/bola/throw_at(atom/target, range, speed, mob/thrower, spin) +/obj/item/weapon/restraints/legcuffs/bola/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0) if(!..()) return playsound(src.loc,'sound/weapons/bolathrow.ogg', 75, 1) diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index d9a8e0e779a..c7c2889afb2 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -121,7 +121,7 @@ is_seeing |= user -/obj/item/weapon/storage/throw_at(atom/target, range, speed, mob/thrower, spin) +/obj/item/weapon/storage/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0) close_all() return ..() diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 094eb17671c..22e1473d8c4 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -35,7 +35,8 @@ STOP_PROCESSING(SSobj, src) // TODO: Have a processing bitflag to reduce on unnecessary loops through the processing lists SStgui.close_uis(src) return ..() -/obj/throw_at() + +/obj/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0) ..() if(is_frozen) visible_message("[src] shatters into a million pieces!") @@ -228,4 +229,4 @@ . = !density /obj/proc/check_uplink_validity() - return 1 \ No newline at end of file + return 1 diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 55721e470d2..3a848e8d52a 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -47,7 +47,7 @@ M.put_in_hand(src, H.held_index) add_fingerprint(usr) -/obj/item/clothing/throw_at(atom/target, range, speed, mob/thrower, spin) +/obj/item/clothing/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0) if(pockets) pockets.close_all() return ..() diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 95387d85691..58551f671e1 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -91,7 +91,7 @@ var/const/MAX_ACTIVE_TIME = 400 return Attach(AM) return 0 -/obj/item/clothing/mask/facehugger/throw_at(atom/target, range, speed, mob/thrower, spin) +/obj/item/clothing/mask/facehugger/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0) if(!..()) return if(stat == CONSCIOUS) diff --git a/code/modules/paperwork/paperplane.dm b/code/modules/paperwork/paperplane.dm index 78c045f555c..dab3ef6cdb1 100644 --- a/code/modules/paperwork/paperplane.dm +++ b/code/modules/paperwork/paperplane.dm @@ -87,7 +87,7 @@ add_fingerprint(user) -/obj/item/weapon/paperplane/throw_at(atom/target, range, speed, mob/thrower, spin=0) //prevent the paper plane from spinning +/obj/item/weapon/paperplane/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0) //prevent the paper plane from spinning if(!..()) return