Allows us to drop NODROP items if there is other way to get rid of them (#21080)

* adds proc to check if we can drop nodrop items

* C:/Program Files/Git/obj/effect/proc_holder/spell/touch refactor, support for wizard spells, xeno spells and changeling shield

* bug fixes, cleanup

* moved to signals, added support for mime fingergun

* fixed bugs

* cleanup

* same proc for removing weapon from active or any hand

* changeling fast swap exist again

* cleanup

* fix runtime

* signals cleanup

* review update

* Update code/datums/spells/mime.dm

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* Update code/datums/spells/mime.dm

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* Update code/datums/spells/touch_attacks.dm

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* review updates

* fixing bug

---------

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
This commit is contained in:
HMBGERDO
2023-06-15 19:18:17 +01:00
committed by GitHub
co-authored by Ryan
parent b05e27bb17
commit b74cd79c03
10 changed files with 127 additions and 52 deletions
+9 -7
View File
@@ -17,6 +17,12 @@
attached_spell = spell
..()
/obj/item/melee/touch_attack/Destroy()
if(attached_spell)
attached_spell.attached_hand = null
attached_spell.UnregisterSignal(attached_spell.action.owner, COMSIG_MOB_WILLINGLY_DROP)
return ..()
/obj/item/melee/touch_attack/attack(mob/target, mob/living/carbon/user)
if(!iscarbon(user)) //Look ma, no hands
return
@@ -28,14 +34,10 @@
/obj/item/melee/touch_attack/afterattack(atom/target, mob/user, proximity)
if(catchphrase)
user.say(catchphrase)
playsound(get_turf(user), on_use_sound,50,1)
attached_spell.attached_hand = null
qdel(src)
/obj/item/melee/touch_attack/Destroy()
playsound(get_turf(user), on_use_sound, 50, 1)
if(attached_spell)
attached_spell.attached_hand = null
return ..()
attached_spell.perform(list())
qdel(src)
/obj/item/melee/touch_attack/disintegrate
name = "disintegrating touch"