mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 11:43:31 +00:00
Merge pull request #2829 from Verkister/churnstages
Adds damage descriptions and effects to partially digested stuff
This commit is contained in:
@@ -276,6 +276,17 @@
|
|||||||
L.toggle_hud_vis()
|
L.toggle_hud_vis()
|
||||||
if((L.stat != DEAD) && L.ai_holder)
|
if((L.stat != DEAD) && L.ai_holder)
|
||||||
L.ai_holder.go_wake()
|
L.ai_holder.go_wake()
|
||||||
|
if(isitem(thing) && !isbelly(thing.loc)) //CHOMPEdit: Digest stage effects. Don't bother adding overlays to stuff that won't make it back out.
|
||||||
|
var/obj/item/I = thing
|
||||||
|
if(I.gurgled)
|
||||||
|
I.cut_overlay(gurgled_overlays[I.gurgled_color]) //No double-overlay for worn items.
|
||||||
|
I.add_overlay(gurgled_overlays[I.gurgled_color])
|
||||||
|
if(I.d_mult < 1)
|
||||||
|
var/image/temp = new /image(gurgled_overlays[I.gurgled_color ? I.gurgled_color : "green"])
|
||||||
|
temp.filters += filter(type = "alpha", icon = icon(I.icon, I.icon_state))
|
||||||
|
I.d_stage_overlay = temp
|
||||||
|
for(var/count in I.d_mult to 1 step 0.25)
|
||||||
|
I.add_overlay(I.d_stage_overlay, TRUE) //CHOMPEdit end
|
||||||
|
|
||||||
/obj/belly/proc/vore_fx(mob/living/L)
|
/obj/belly/proc/vore_fx(mob/living/L)
|
||||||
if(!istype(L))
|
if(!istype(L))
|
||||||
|
|||||||
@@ -32,7 +32,8 @@ var/list/gurgled_overlays = list(
|
|||||||
if(!gurgled)
|
if(!gurgled)
|
||||||
gurgled = TRUE
|
gurgled = TRUE
|
||||||
gurgled_color = contamination_color
|
gurgled_color = contamination_color
|
||||||
add_overlay(gurgled_overlays[gurgled_color])
|
if(!isbelly(src.loc)) //CHOMPEdit: Moved non-worn overlay stuff to belly_obj_vr.dm Exited proc. No need to add overlays to things that won't make it out.
|
||||||
|
add_overlay(gurgled_overlays[gurgled_color])
|
||||||
var/list/pickfrom = contamination_flavors[contamination_flavor]
|
var/list/pickfrom = contamination_flavors[contamination_flavor]
|
||||||
var/gurgleflavor = pick(pickfrom)
|
var/gurgleflavor = pick(pickfrom)
|
||||||
cleanname = src.name
|
cleanname = src.name
|
||||||
|
|||||||
@@ -29,13 +29,32 @@
|
|||||||
if(!touchable_amount) //CHOMPEdit Start
|
if(!touchable_amount) //CHOMPEdit Start
|
||||||
touchable_amount = 1
|
touchable_amount = 1
|
||||||
g_damage = 0.25 * (B.digest_brute + B.digest_burn) / touchable_amount
|
g_damage = 0.25 * (B.digest_brute + B.digest_burn) / touchable_amount
|
||||||
if(g_damage <= 0)
|
if(g_damage <= 0)
|
||||||
return FALSE //CHOMPEdit End
|
return FALSE
|
||||||
|
|
||||||
if(digest_stage > 0)
|
|
||||||
if(g_damage > digest_stage)
|
if(g_damage > digest_stage)
|
||||||
g_damage = digest_stage
|
g_damage = digest_stage
|
||||||
digest_stage -= g_damage
|
digest_stage = 0 //Don't bother with further math for 1 hit kills.
|
||||||
|
if(digest_stage > 0)
|
||||||
|
if(g_damage > digest_stage)
|
||||||
|
g_damage = digest_stage
|
||||||
|
digest_stage -= g_damage
|
||||||
|
d_mult = round(1 / w_class * digest_stage, 0.25)
|
||||||
|
if(d_mult < d_mult_old)
|
||||||
|
d_mult_old = d_mult
|
||||||
|
var/d_stage_name
|
||||||
|
switch(d_mult)
|
||||||
|
if(0.75)
|
||||||
|
d_stage_name = "blemished"
|
||||||
|
if(0.5)
|
||||||
|
d_stage_name = "disfigured"
|
||||||
|
if(0.25)
|
||||||
|
d_stage_name = "deteriorating"
|
||||||
|
if(0)
|
||||||
|
d_stage_name = "ruined"
|
||||||
|
if(d_stage_name)
|
||||||
|
cleanname = "[d_stage_name] [initial(name)]"
|
||||||
|
decontaminate()
|
||||||
|
gurgle_contaminate(B, B.contamination_flavor, B.contamination_color) //CHOMPEdit End
|
||||||
if(digest_stage <= 0)
|
if(digest_stage <= 0)
|
||||||
if(istype(src, /obj/item/device/pda))
|
if(istype(src, /obj/item/device/pda))
|
||||||
var/obj/item/device/pda/P = src
|
var/obj/item/device/pda/P = src
|
||||||
@@ -50,8 +69,6 @@
|
|||||||
else if(item_storage)
|
else if(item_storage)
|
||||||
O.forceMove(item_storage)
|
O.forceMove(item_storage)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
if(g_damage > w_class)
|
|
||||||
return w_class
|
|
||||||
return g_damage
|
return g_damage
|
||||||
|
|
||||||
/////////////
|
/////////////
|
||||||
@@ -135,3 +152,6 @@
|
|||||||
// Gradual damage measurement
|
// Gradual damage measurement
|
||||||
/obj/item
|
/obj/item
|
||||||
var/digest_stage = null
|
var/digest_stage = null
|
||||||
|
var/d_mult_old = 1 //CHOMPEdit: digest stage descriptions
|
||||||
|
var/d_mult = 1 //CHOMPEdit: digest stage descriptions
|
||||||
|
var/d_stage_overlay //CHOMPEdit: digest stage effects
|
||||||
Reference in New Issue
Block a user