mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-07-20 20:52:52 +01:00
14c681720d
* 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()
33 lines
1.1 KiB
Plaintext
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)
|