Merge remote-tracking branch 'citadel/master' into combat_v7

This commit is contained in:
silicons
2021-03-20 14:13:23 -07:00
202 changed files with 6640 additions and 4867 deletions
+95
View File
@@ -768,3 +768,98 @@
M.dna.species.punchdamagelow -= damageboost
M.dna.species.punchwoundbonus -= woundboost
to_chat(M, "<span class='notice'>You calm yourself, and your unnatural strength dissipates.</span>")
/datum/status_effect/crucible_soul
id = "Blessing of Crucible Soul"
status_type = STATUS_EFFECT_REFRESH
duration = 15 SECONDS
examine_text = "<span class='notice'>They don't seem to be all here.</span>"
alert_type = /obj/screen/alert/status_effect/crucible_soul
var/turf/location
/datum/status_effect/crucible_soul/on_apply()
. = ..()
to_chat(owner,"<span class='notice'>You phase through reality, nothing is out of bounds!</span>")
owner.alpha = 180
owner.pass_flags |= PASSCLOSEDTURF | PASSGLASS | PASSGRILLE | PASSTABLE | PASSMOB
location = get_turf(owner)
/datum/status_effect/crucible_soul/on_remove()
to_chat(owner,"<span class='notice'>You regain your physicality, returning you to your original location...</span>")
owner.alpha = initial(owner.alpha)
owner.pass_flags &= ~(PASSCLOSEDTURF | PASSGLASS | PASSGRILLE | PASSTABLE | PASSMOB)
owner.forceMove(location)
location = null
return ..()
/datum/status_effect/duskndawn
id = "Blessing of Dusk and Dawn"
status_type = STATUS_EFFECT_REFRESH
duration = 60 SECONDS
alert_type =/obj/screen/alert/status_effect/duskndawn
/datum/status_effect/duskndawn/on_apply()
. = ..()
ADD_TRAIT(owner,TRAIT_XRAY_VISION,type)
owner.update_sight()
/datum/status_effect/duskndawn/on_remove()
REMOVE_TRAIT(owner,TRAIT_XRAY_VISION,type)
owner.update_sight()
return ..()
/datum/status_effect/marshal
id = "Blessing of Wounded Soldier"
status_type = STATUS_EFFECT_REFRESH
duration = 60 SECONDS
tick_interval = 1 SECONDS
alert_type = /obj/screen/alert/status_effect/marshal
/datum/status_effect/marshal/on_apply()
. = ..()
ADD_TRAIT(owner,TRAIT_IGNOREDAMAGESLOWDOWN,type)
/datum/status_effect/marshal/on_remove()
. = ..()
REMOVE_TRAIT(owner,TRAIT_IGNOREDAMAGESLOWDOWN,type)
/datum/status_effect/marshal/tick()
. = ..()
if(!iscarbon(owner))
return
var/mob/living/carbon/carbie = owner
for(var/BP in carbie.bodyparts)
var/obj/item/bodypart/part = BP
for(var/W in part.wounds)
var/datum/wound/wound = W
var/heal_amt = 0
switch(wound.severity)
if(WOUND_SEVERITY_MODERATE)
heal_amt = 1
if(WOUND_SEVERITY_SEVERE)
heal_amt = 3
if(WOUND_SEVERITY_CRITICAL)
heal_amt = 6
if(wound.wound_type == WOUND_BURN)
carbie.adjustFireLoss(-heal_amt)
else
carbie.adjustBruteLoss(-heal_amt)
carbie.blood_volume += carbie.blood_volume >= BLOOD_VOLUME_NORMAL ? 0 : heal_amt*3
/obj/screen/alert/status_effect/crucible_soul
name = "Blessing of Crucible Soul"
desc = "You phased through the reality, you are halfway to your final destination..."
icon_state = "crucible"
/obj/screen/alert/status_effect/duskndawn
name = "Blessing of Dusk and Dawn"
desc = "Many things hide beyond the horizon, with Owl's help i managed to slip past sun's guard and moon's watch."
icon_state = "duskndawn"
/obj/screen/alert/status_effect/marshal
name = "Blessing of Wounded Soldier"
desc = "Some people seek power through redemption, one thing many people don't know is that battle is the ultimate redemption and wounds let you bask in eternal glory."
icon_state = "wounded_soldier"
+28 -13
View File
@@ -127,17 +127,6 @@
desc = "You've fallen asleep. Wait a bit and you should wake up. Unless you don't, considering how helpless you are."
icon_state = "asleep"
/datum/status_effect
id = "no_combat_mode"
alert_type = null
status_type = STATUS_EFFECT_REPLACE
blocks_combatmode = TRUE
/datum/status_effect/on_creation(mob/living/new_owner, set_duration)
if(isnum(set_duration))
duration = set_duration
. = ..()
/datum/status_effect/robotic_emp
id = "emp_no_combat_mode"
@@ -506,6 +495,32 @@
I.take_damage(100)
return ..()
/datum/status_effect/eldritch/void
id = "void_mark"
effect_sprite = "emark4"
/datum/status_effect/eldritch/void/on_effect()
var/turf/open/turfie = get_turf(owner)
turfie.TakeTemperature(-40)
owner.adjust_bodytemperature(-60)
return ..()
/datum/status_effect/domain
id = "domain"
alert_type = null
var/movespeed_mod = /datum/movespeed_modifier/status_effect/domain
/datum/status_effect/domain/on_creation(mob/living/new_owner, set_duration)
if(isliving(owner))
var/mob/living/carbon/C = owner
C.add_movespeed_modifier(movespeed_mod)
/datum/status_effect/electrode/on_remove()
if(isliving(owner))
var/mob/living/carbon/C = owner
C.remove_movespeed_modifier(movespeed_mod)
. = ..()
/datum/status_effect/corrosion_curse
id = "corrosion_curse"
status_type = STATUS_EFFECT_REPLACE
@@ -514,7 +529,7 @@
/datum/status_effect/corrosion_curse/on_creation(mob/living/new_owner, ...)
. = ..()
to_chat(owner, "<span class='danger'>Your feel your body starting to break apart...</span>")
to_chat(owner, "<span class='danger'>You feel your body starting to break apart...</span>")
/datum/status_effect/corrosion_curse/tick()
. = ..()
@@ -585,7 +600,7 @@
/datum/status_effect/amok/on_apply(mob/living/afflicted)
. = ..()
to_chat(owner, "<span class='boldwarning'>Your feel filled with a rage that is not your own!</span>")
to_chat(owner, "<span class='boldwarning'>You feel filled with a rage that is not your own!</span>")
/datum/status_effect/amok/tick()
. = ..()