Files
Cameron Lennox d8c1932cb9 Flammable Items, Abstractness, and hypnosis (#19267)
* Laser Eyes

* Update dna.dm

* Mecha

* Update positive_genes.dm

* These

* These 2

* yeh

* Rest of these

* Update turf.dm

* Update food.dm

* Some moar

* mooove

* Update vorestation.dme

* Update burning.dm

* firesuit

* flags

* HYPNOCOLOR

* xd

* no filter

* dc

* Update ore_bag.dm

* Update misc.dm

* Update misc.dm
2026-04-13 00:30:02 -04:00

140 lines
4.4 KiB
Plaintext

/obj/item/proc/describe_power()
switch(force)
if(0)
return "a negligable amount of"
if(1 to 2)
return "a very small amount of"
if(3 to 5)
return "a small amount of"
if(6 to 10)
return "a modest amount of"
if(11 to 15)
return "a moderate amount of"
if(16 to 20)
return "a respectable amount of"
if(21 to 35)
return "a serious amount of"
if(36 to 50)
return "a very serious amount of"
if(51 to 100)
return "a very lethal amount of"
if(101 to 2000)
return "a truly ruinous amount of"
/obj/item/proc/describe_throwpower()
switch(throwforce)
if(0)
return "a negligable amount of"
if(1 to 2)
return "a very small amount of"
if(3 to 5)
return "a small amount of"
if(6 to 10)
return "a modest amount of"
if(11 to 15)
return "a moderate amount of"
if(16 to 20)
return "a respectable amount of"
if(21 to 35)
return "a serious amount of"
if(36 to 50)
return "a very serious amount of"
if(51 to 100)
return "a very lethal amount of"
if(101 to 2000)
return "a truly ruinous amount of"
/obj/item/proc/describe_penetration()
switch(armor_penetration)
if(0)
return "cannot pierce armor"
if(1 to 20)
return "barely pierces armor"
if(21 to 30)
return "slightly pierces armor"
if(31 to 40)
return "reliably pierces lighter armors"
if(41 to 50)
return "pierces standard-issue armor reliably"
if(51 to 60)
return "pierces most armor reliably"
if(61 to 70)
return "pierces a great deal of armor"
if(71 to 80)
return "pierces the vast majority of armor"
if(81 to 99)
return "almost completely pierces all armor"
if(100 to 1000)
return "completely and utterly pierces all armor"
/obj/item/proc/describe_speed()
if(attackspeed > DEFAULT_ATTACK_COOLDOWN)
return "a slow attack speed"
else if(attackspeed < DEFAULT_ATTACK_COOLDOWN)
return "a high attack speed"
else
return "an average attack speed"
/atom/proc/examine_tags()
var/list/info_stats = list()
if(abstract_type == type)
info_stats += span_hypnophrase("This is an abstract concept, you should report this to a strange entity called GITHUB!")
if(resistance_flags & INDESTRUCTIBLE)
info_stats += "It is extremely robust! It'll probably withstand anything that could happen to it!"
else
if(resistance_flags & LAVA_PROOF)
info_stats += span_info("It is made of an extremely heat-resistant material, it'd probably be able to withstand lava!<br>")
if(resistance_flags & (ACID_PROOF | UNACIDABLE))
info_stats += span_info("It looks pretty robust! It'd probably be able to withstand acid!<br>")
if(resistance_flags & FREEZE_PROOF)
info_stats += span_info("It is made of cold-resistant materials.<br>")
if(resistance_flags & FIRE_PROOF)
info_stats += span_info("It is made of fire-retardant materials.<br>")
if(resistance_flags & SHUTTLE_CRUSH_PROOF)
info_stats += span_info("It is extremely solid. It should be able to withstand being run over by a shuttle!<br>")
if(resistance_flags & BOMB_PROOF)
info_stats += span_info("It looks like it could survive an explosion!<br>")
if(resistance_flags & FLAMMABLE)
info_stats += span_info("It looks like it could easily catch on fire.")
return info_stats
// if(flags_1 & HOLOGRAM_1)
// .["holographic"] = "It looks like a hologram."
//SEND_SIGNAL(src, COMSIG_ATOM_EXAMINE_TAGS, user, .)
/obj/item/get_description_info(list/additional_information)
var/list/weapon_stats = list()
if(LAZYLEN(additional_information))
weapon_stats += additional_information
if(description_info)
weapon_stats += description_info
if(force)
weapon_stats += "If used in melee, it deals [describe_power()] [sharp ? "sharp" : "blunt"] damage, [describe_penetration()], and has [describe_speed()]."
if(throwforce)
weapon_stats += "If thrown, it would deal [describe_throwpower()] [sharp ? "sharp" : "blunt"] damage."
if(can_cleave)
weapon_stats += "It is capable of hitting multiple targets with a single swing."
if(reach > 1)
weapon_stats += "It can attack targets up to [reach] tiles away, and can attack over certain objects."
weapon_stats += examine_tags()
if(weapon_stats.len < 1)
return ""
var/assembled_string = ""
for(var/index in 1 to weapon_stats.len)
var/msg = weapon_stats[index]
if(index != weapon_stats.len)
msg += "\n"
assembled_string += msg
if(msg == description_info) //keeping the formatting as identical as I can
assembled_string += "<br>"
return assembled_string