|
36 | 36 | to_chat(user, "<span class='velvet'><b>Help intent:</b> Click on an open tile within seven tiles to jump to it for 10 Psi.</span>") |
37 | 37 | to_chat(user, "<span class='velvet'><b>Disarm intent:</b> Click on an airlock to force it open for 15 Psi (or 30 if it's bolted.)</span>") |
38 | 38 | to_chat(user, "<span class='velvet'><b>Harm intent:</b> Fire a projectile that travels up to five tiles, knocking down[twin ? " and pulling forwards" : ""] the first creature struck.</span>") |
| 39 | + to_chat(user, "<span class='velvet'>The tendrils will break any lights hit in melee,</span>") |
39 | 40 | to_chat(user, "<span class='velvet'>The tendrils will shatter light fixtures instantly, as opposed to in several attacks.</span>") |
40 | 41 | to_chat(user, "<span class='velvet'>Also functions to pry open depowered airlocks on any intent other than harm.</span>") |
41 | 42 |
|
|
52 | 53 | if(istype(target, /obj/structure/glowshroom)) |
53 | 54 | visible_message("<span class='warning'>[src] tears [target] to shreds!</span>") |
54 | 55 | qdel(target) |
55 | | - return |
| 56 | + if(isliving(target)) |
| 57 | + var/mob/living/L = target |
| 58 | + if(isethereal(target)) |
| 59 | + target.emp_act(EMP_LIGHT) |
| 60 | + for(var/obj/item/O in target) |
| 61 | + if(O.light_range && O.light_power) |
| 62 | + disintegrate(O) |
| 63 | + if(L.pulling && L.pulling.light_range && isitem(L.pulling)) |
| 64 | + disintegrate(L.pulling) |
| 65 | + else if(isitem(target)) |
| 66 | + var/obj/item/I = target |
| 67 | + if(I.light_range && I.light_power) |
| 68 | + disintegrate(I) |
56 | 69 | switch(user.a_intent) //Note that airlock interactions can be found in airlock.dm. |
57 | 70 | if(INTENT_HELP) |
58 | 71 | if(isopenturf(target)) |
59 | 72 | tendril_jump(user, target) |
60 | 73 | if(INTENT_HARM) |
61 | 74 | tendril_swing(user, target) |
62 | 75 |
|
| 76 | +/obj/item/umbral_tendrils/proc/disintegrate(obj/item/O) |
| 77 | + if(istype(O, /obj/item/pda)) |
| 78 | + var/obj/item/pda/PDA = O |
| 79 | + PDA.set_light(0) |
| 80 | + PDA.fon = FALSE |
| 81 | + PDA.f_lum = 0 |
| 82 | + PDA.update_icon() |
| 83 | + visible_message("<span class='danger'>The light in [PDA] shorts out!</span>") |
| 84 | + else |
| 85 | + visible_message("<span class='danger'>[O] is disintegrated by [src]!</span>") |
| 86 | + O.burn() |
| 87 | + playsound(src, 'sound/items/welder.ogg', 50, 1) |
| 88 | + |
63 | 89 | /obj/item/umbral_tendrils/proc/tendril_jump(mob/living/user, turf/open/target) //throws the user towards the target turf |
64 | 90 | if(!darkspawn.has_psi(10)) |
65 | 91 | to_chat(user, "<span class='warning'>You need at least 10 Psi to jump!</span>") |
|
0 commit comments