From 463ba53c3a1304b01911139d6695f77a2900e879 Mon Sep 17 00:00:00 2001 From: Neerti Date: Sun, 6 Sep 2015 15:52:46 -0400 Subject: [PATCH] Adds system to describe how protective a piece of clothing is. Also adds unused icons because byond won't let me use more than one per stat_icons.dm() proc. Hopefully someone finds a use for them later. --- code/modules/examine/descriptions/armor.dm | 58 +++++++++++++++++++++ code/modules/examine/stat_icons.dm | 10 ++++ icons/mob/screen1_stats.dmi | Bin 0 -> 7814 bytes polaris.dme | 2 + 4 files changed, 70 insertions(+) create mode 100644 code/modules/examine/descriptions/armor.dm create mode 100644 code/modules/examine/stat_icons.dm create mode 100644 icons/mob/screen1_stats.dmi diff --git a/code/modules/examine/descriptions/armor.dm b/code/modules/examine/descriptions/armor.dm new file mode 100644 index 00000000000..17b2fd1fed2 --- /dev/null +++ b/code/modules/examine/descriptions/armor.dm @@ -0,0 +1,58 @@ +/obj/item/clothing/proc/describe_armor(var/armor_type, var/descriptive_attack_type) + if(armor[armor_type]) + switch(armor[armor_type]) + if(1 to 20) + return "It barely protects against [descriptive_attack_type]." + if(21 to 30) + return "It provides a very small defense against [descriptive_attack_type]." + if(31 to 40) + return "It offers a small amount of protection against [descriptive_attack_type]." + if(41 to 50) + return "It offers a moderate defense against [descriptive_attack_type]." + if(51 to 60) + return "It provides a strong defense against [descriptive_attack_type]." + if(61 to 70) + return "It is very strong against [descriptive_attack_type]." + if(71 to 80) + return "This gives a very robust defense against [descriptive_attack_type]." + if(81 to 99) + return "Wearing this would make you nigh-invulerable against [descriptive_attack_type]." + if(100) + return "You would be immune to [descriptive_attack_type] if you wore this." + + + +/obj/item/clothing/get_description_info() + var/armor_stats = description_info + "\ +
" + + if(armor["melee"]) + armor_stats += "[describe_armor("melee","blunt force")] \n" + if(armor["bullet"]) + armor_stats += "[describe_armor("bullet","ballistics")] \n" + if(armor["laser"]) + armor_stats += "[describe_armor("laser","lasers")] \n" + if(armor["energy"]) + armor_stats += "[describe_armor("energy","energy")] \n" + if(armor["bomb"]) + armor_stats += "[describe_armor("bomb","explosions")] \n" + if(armor["bio"]) + armor_stats += "[describe_armor("bio","biohazards")] \n" + if(armor["rad"]) + armor_stats += "[describe_armor("rad","radiation")] \n" + + armor_stats += "\n" + + if(flags & AIRTIGHT) + armor_stats += "It is airtight. \n" + + if(flags & STOPPRESSUREDAMAGE) + armor_stats += "Wearing this will protect you from the vacuum of space. \n" + + if(max_heat_protection_temperature == FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE) + armor_stats += "It provides very good protection against fire and heat. \n" + + if(min_cold_protection_temperature == SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE) + armor_stats += "It provides very good protection against very cold temperatures. \n" + + return armor_stats \ No newline at end of file diff --git a/code/modules/examine/stat_icons.dm b/code/modules/examine/stat_icons.dm new file mode 100644 index 00000000000..77d97fe0a17 --- /dev/null +++ b/code/modules/examine/stat_icons.dm @@ -0,0 +1,10 @@ +//Some global icons for the examine tab to use to display some item properties. +var/global/list/description_icons = list( + "melee_armor" = image(icon='icons/mob/screen1_stats.dmi',icon_state="melee_protection"), + "bullet_armor" = image(icon='icons/mob/screen1_stats.dmi',icon_state="bullet_protection"), + "laser_armor" = image(icon='icons/mob/screen1_stats.dmi',icon_state="laser_protection"), + "energy_armor" = image(icon='icons/mob/screen1_stats.dmi',icon_state="energy_protection"), + "bomb_armor" = image(icon='icons/mob/screen1_stats.dmi',icon_state="bomb_protection"), + "radiation_armor" = image(icon='icons/mob/screen1_stats.dmi',icon_state="radiation_protection"), + "biohazard_armor" = image(icon='icons/mob/screen1_stats.dmi',icon_state="biohazard_protection") + ) \ No newline at end of file diff --git a/icons/mob/screen1_stats.dmi b/icons/mob/screen1_stats.dmi new file mode 100644 index 0000000000000000000000000000000000000000..381f6a366023a484bad5868c4daa8f1ac4ed5f57 GIT binary patch literal 7814 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 QT37~*^h|WCbQ~i712Hohf&c&j literal 0 HcmV?d00001 diff --git a/polaris.dme b/polaris.dme index 4653cf1d9df..862d336957b 100644 --- a/polaris.dme +++ b/polaris.dme @@ -1059,6 +1059,8 @@ #include "code\modules\events\viral_infection.dm" #include "code\modules\events\wallrot.dm" #include "code\modules\examine\examine.dm" +#include "code\modules\examine\stat_icons.dm" +#include "code\modules\examine\descriptions\armor.dm" #include "code\modules\examine\descriptions\atmospherics.dm" #include "code\modules\examine\descriptions\engineering.dm" #include "code\modules\examine\descriptions\medical.dm"