Files
Polaris/code/modules/xenoarcheaology/effects/disarm.dm
Mechoid 14c681720d Blob Chunks 2 (#9143)
* Restore blob chunks to the world.

Blobs have chunks they spawn on death, carrying an artifact effect related to the blob type. The chunk carries a copy of the parent blob's type datum, to prevent modification of a blob causing issues with the chunk, and vice versa, if both somehow exist at the same time.

* Organization, origin tech.

* Convert to List Based system, drop transferring type datums directly as discussed in DMs

* Added Volatile Alluvium chunk effect.

Nanite swarm chunks exist, but don't do anything special for now.

Blob Chunks can sniff a mob to take their faction.

* Copy requires static

* Chunk and effect code cleanliness
lifemerger now utilizes a timer&callback instead of spawn()
2023-12-27 21:40:25 -08:00

33 lines
1.1 KiB
Plaintext

/datum/artifact_effect/uncommon/disarmament
name = "disarmament"
effect_type = EFFECT_PSIONIC
effect_state = "impact_laser_monochrome"
effect_color = "#e17ceb"
/datum/artifact_effect/uncommon/disarmament/proc/disarm(var/mob/living/L)
if(istype(L) && L.is_sentient())
var/obj/item/Item = L.get_active_hand()
if(istype(Item))
to_chat(L, SPAN_WARNING("Something forces you to drop \the [Item]."))
L.drop_item()
/datum/artifact_effect/uncommon/disarmament/DoEffectTouch(mob/living/user)
var/weakness = GetAnomalySusceptibility(user)
if(prob(weakness * 100))
disarm(user)
/datum/artifact_effect/uncommon/disarmament/DoEffectPulse()
var/turf/T = get_turf(get_master_holder())
for(var/mob/living/L in oview(src.effectrange, T))
var/weakness = GetAnomalySusceptibility(L)
if(prob(weakness * 100))
disarm(L)
/datum/artifact_effect/uncommon/disarmament/DoEffectAura()
var/turf/T = get_turf(get_master_holder())
for(var/mob/living/L in oview(src.effectrange, T))
var/weakness = GetAnomalySusceptibility(L)
if(prob(10) && prob(weakness * 100))
disarm(L)