Skip to content

Commit 573be4a

Browse files
Passing thrown datum through end_throw().
1 parent 2e90d19 commit 573be4a

File tree

4 files changed

+14
-11
lines changed

4 files changed

+14
-11
lines changed

code/controllers/subsystems/throwing.dm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ SUBSYSTEM_DEF(throwing)
3333
continue
3434
if (QDELETED(TT))
3535
if(!QDELETED(AM))
36-
AM.end_throw()
36+
AM.end_throw(TT)
3737
processing -= AM
3838
if (MC_TICK_CHECK)
3939
return
@@ -103,7 +103,7 @@ SUBSYSTEM_DEF(throwing)
103103

104104
/datum/thrownthing/Destroy()
105105
SSthrowing.processing -= thrownthing
106-
thrownthing.end_throw()
106+
thrownthing.end_throw(src)
107107
thrownthing = null
108108
target = null
109109
thrower = null
@@ -192,7 +192,7 @@ SUBSYSTEM_DEF(throwing)
192192
if(!QDELETED(thrownthing))
193193
thrownthing.fall()
194194

195-
thrownthing.end_throw()
195+
thrownthing.end_throw(src)
196196
qdel(src)
197197

198198
/datum/thrownthing/proc/hit_atom(atom/A)

code/game/atoms_movable.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,7 @@
566566
appearance_flags &= ~remove_flags
567567
return old_appearance != appearance_flags
568568

569-
/atom/movable/proc/end_throw()
569+
/atom/movable/proc/end_throw(datum/thrownthing/TT)
570570
throwing = null
571571

572572
/atom/movable/proc/reset_movement_delay()

code/game/objects/items/__item.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,7 @@
485485
return TRUE
486486
return ..()
487487

488-
/obj/item/end_throw()
488+
/obj/item/end_throw(datum/thrownthing/TT)
489489
. = ..()
490490
squash_item()
491491

code/modules/mob_holder/_holder.dm

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@
4646
icon = initial(icon)
4747

4848
/obj/item/holder/Exited(atom/movable/am, atom/new_loc)
49-
am.vis_flags = initial(am.vis_flags)
49+
if(!(locate(/mob) in contents))
50+
am.vis_flags = initial(am.vis_flags)
5051
. = ..()
5152

5253
/obj/item/holder/proc/destroy_all()
@@ -72,15 +73,15 @@
7273
update_state()
7374

7475
/obj/item/holder/dropped()
75-
..()
76+
. = ..()
7677
update_state(1)
7778

7879
/obj/item/holder/throw_impact(atom/hit_atom, datum/thrownthing/TT)
79-
..()
80+
. = ..()
8081
update_state(1)
8182

8283
/obj/item/holder/proc/update_state(var/delay)
83-
set waitfor = 0
84+
set waitfor = FALSE
8485

8586
for(var/mob/M in contents)
8687
unregister_all_movement(last_holder, M)
@@ -97,11 +98,13 @@
9798
mob_container.dropInto(loc)
9899
M.reset_view()
99100
qdel(src)
100-
else if(last_holder != loc)
101+
return
102+
103+
if(last_holder != loc)
101104
for(var/mob/M in contents)
102105
register_all_movement(loc, M)
103106
update_icon()
104-
last_holder = loc
107+
last_holder = loc
105108

106109
/obj/item/holder/onDropInto(var/atom/movable/AM)
107110
if(ismob(loc)) // Bypass our holding mob and drop directly to its loc

0 commit comments

Comments
 (0)