|
32 | 32 |
|
33 | 33 | /obj/item/grenade/plastic/Destroy() |
34 | 34 | qdel(nadeassembly) |
| 35 | + if(target) |
| 36 | + UnregisterSignal(target, COMSIG_ATOM_UPDATE_OVERLAYS) |
| 37 | + target.update_appearance() |
| 38 | + target = null |
35 | 39 | nadeassembly = null |
36 | | - target = null |
37 | | - ..() |
| 40 | + return ..() |
38 | 41 |
|
39 | 42 | /obj/item/grenade/plastic/attackby(obj/item/I, mob/user, params) |
40 | 43 | if(!nadeassembly && istype(I, /obj/item/assembly_holder)) |
|
55 | 58 | nadeassembly = null |
56 | 59 | update_appearance(UPDATE_ICON) |
57 | 60 | return |
58 | | - ..() |
| 61 | + return ..() |
59 | 62 |
|
60 | 63 | /obj/item/grenade/plastic/prime() |
61 | 64 | var/turf/location |
|
136 | 139 | I.throw_range = max(1, (I.throw_range - 3)) |
137 | 140 | I.embedding = I.embedding.setRating(embed_chance = 0) |
138 | 141 |
|
139 | | - target.add_overlay(plastic_overlay, TRUE) |
| 142 | + RegisterSignal(target, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(update_attached_overlays)) |
| 143 | + target.update_appearance(UPDATE_OVERLAYS) |
140 | 144 | if(!nadeassembly) |
141 | 145 | to_chat(user, span_notice("You plant the bomb. Timer counting down from [det_time].")) |
142 | 146 | addtimer(CALLBACK(src, PROC_REF(prime)), det_time*10) |
143 | 147 | else |
144 | 148 | qdel(src) //How? |
145 | 149 |
|
| 150 | +/obj/item/grenade/plastic/proc/update_attached_overlays(atom/source, list/overlay_list) |
| 151 | + overlay_list += plastic_overlay |
| 152 | + |
146 | 153 | /obj/item/grenade/plastic/proc/shout_syndicate_crap(mob/M) |
147 | 154 | if(!M) |
148 | 155 | return |
|
194 | 201 |
|
195 | 202 | /obj/item/grenade/plastic/c4/Destroy() |
196 | 203 | qdel(wires) |
| 204 | + if(target) |
| 205 | + UnregisterSignal(target, COMSIG_ATOM_UPDATE_OVERLAYS) |
| 206 | + target.update_appearance(UPDATE_OVERLAYS) |
197 | 207 | wires = null |
198 | 208 | target = null |
199 | 209 | return ..() |
|
0 commit comments