/obj/item/weapon/material health = 10 hitsound = 'sound/weapons/bladeslice.ogg' gender = NEUTER var/unbreakable var/damage_divisor = 0.5 var/default_material = DEFAULT_WALL_MATERIAL var/material/material /obj/item/weapon/material/New(var/newloc, var/material_key) ..(newloc) if(!material_key) material_key = default_material set_material(material_key) /obj/item/weapon/material/proc/set_material(var/new_material) material = get_material_by_name(new_material) if(!material) qdel(src) else name = "[material.display_name] bat" health = round(material.integrity/10) force = round(material.get_blunt_damage()*damage_divisor) color = material.icon_colour if(material.products_need_process()) processing_objects |= src /obj/item/weapon/material/Destroy() processing_objects -= src ..() /obj/item/weapon/material/attack() if(!..()) return if(!unbreakable) if(!prob(material.hardness)) health-- if(health<=0) shatter() /obj/item/weapon/material/proc/shatter() var/turf/T = get_turf(src) T.visible_message("\The [src] shatters!") if(istype(loc, /mob/living)) var/mob/living/M = loc M.drop_from_inventory(src) playsound(src, "shatter", 70, 1) new material.shard_type(T) qdel(src) /obj/item/weapon/material/process() if(!material.radioactivity) return for(var/mob/living/L in range(1,src)) L.apply_effect(round(material.radioactivity/3),IRRADIATE,0)