mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Moves damage masks and damage overlays to species level.
This commit is contained in:
@@ -12,6 +12,11 @@
|
||||
// Icon/appearance vars.
|
||||
var/icobase = 'icons/mob/human_races/r_human.dmi' // Normal icon set.
|
||||
var/deform = 'icons/mob/human_races/r_def_human.dmi' // Mutated icon set.
|
||||
|
||||
// Damage overlay and masks.
|
||||
var/damage_overlays = 'icons/mob/human_races/masks/dam_human.dmi'
|
||||
var/damage_mask = 'icons/mob/human_races/masks/dam_mask_human.dmi'
|
||||
|
||||
var/prone_icon // If set, draws this from icobase when mob is prone.
|
||||
var/eyes = "eyes_s" // Icon for eyes.
|
||||
var/blood_color = "#A10808" // Red.
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
|
||||
icobase = 'icons/mob/human_races/monkeys/r_monkey.dmi'
|
||||
deform = 'icons/mob/human_races/monkeys/r_monkey.dmi'
|
||||
damage_overlays = 'icons/mob/human_races/masks/dam_monkey.dmi'
|
||||
damage_mask = 'icons/mob/human_races/masks/dam_mask_monkey.dmi'
|
||||
|
||||
language = null
|
||||
default_language = "Chimpanzee"
|
||||
|
||||
@@ -175,15 +175,6 @@ Please contact me on #coderbus IRC. ~Carn x
|
||||
src.transform = M
|
||||
|
||||
var/global/list/damage_icon_parts = list()
|
||||
proc/get_damage_icon_part(damage_state, body_part)
|
||||
if(damage_icon_parts["[damage_state]/[body_part]"] == null)
|
||||
var/icon/DI = new /icon('icons/mob/dam_human.dmi', damage_state) // the damage icon for whole human
|
||||
// TODO: Convert dam_human.dmi to greyscale and blend in species.blood_colour here.
|
||||
DI.Blend(new /icon('icons/mob/dam_mask.dmi', body_part), ICON_MULTIPLY) // mask with this organ's pixels
|
||||
damage_icon_parts["[damage_state]/[body_part]"] = DI
|
||||
return DI
|
||||
else
|
||||
return damage_icon_parts["[damage_state]/[body_part]"]
|
||||
|
||||
//DAMAGE OVERLAYS
|
||||
//constructs damage icon for each organ from mask * damage field and saves it in our overlays_ lists
|
||||
@@ -202,7 +193,7 @@ proc/get_damage_icon_part(damage_state, body_part)
|
||||
|
||||
previous_damage_appearance = damage_appearance
|
||||
|
||||
var/icon/standing = new /icon('icons/mob/dam_human.dmi', "00")
|
||||
var/icon/standing = new /icon(species.damage_overlays, "00")
|
||||
|
||||
var/image/standing_image = new /image("icon" = standing)
|
||||
|
||||
@@ -211,8 +202,15 @@ proc/get_damage_icon_part(damage_state, body_part)
|
||||
if(!(O.status & ORGAN_DESTROYED))
|
||||
O.update_icon()
|
||||
if(O.damage_state == "00") continue
|
||||
|
||||
var/icon/DI = get_damage_icon_part(O.damage_state, O.icon_name)
|
||||
var/icon/DI
|
||||
var/cache_index = "[O.damage_state]/[O.icon_name]/[species.blood_color]/[species.name]"
|
||||
if(damage_icon_parts[cache_index] == null)
|
||||
DI = new /icon(species.damage_overlays, O.damage_state) // the damage icon for whole human
|
||||
DI.Blend(new /icon(species.damage_mask, O.icon_name), ICON_MULTIPLY) // mask with this organ's pixels
|
||||
DI.Blend(species.blood_color, ICON_MULTIPLY)
|
||||
damage_icon_parts[cache_index] = DI
|
||||
else
|
||||
DI = damage_icon_parts["[O.damage_state]/[O.icon_name]"]
|
||||
|
||||
standing_image.overlays += DI
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 7.2 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 986 B |
BIN
icons/mob/human_races/masks/dam_human.dmi
Normal file
BIN
icons/mob/human_races/masks/dam_human.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.3 KiB |
BIN
icons/mob/human_races/masks/dam_mask_human.dmi
Normal file
BIN
icons/mob/human_races/masks/dam_mask_human.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 431 B |
BIN
icons/mob/human_races/masks/dam_mask_monkey.dmi
Normal file
BIN
icons/mob/human_races/masks/dam_mask_monkey.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 688 B |
BIN
icons/mob/human_races/masks/dam_monkey.dmi
Normal file
BIN
icons/mob/human_races/masks/dam_monkey.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.3 KiB |
Reference in New Issue
Block a user