/obj/structure/statue name = "statue" desc = "Placeholder. Yell at Firecage if you SOMEHOW see this." icon = 'icons/obj/statue.dmi' icon_state = "" density = 1 anchored = 0 var/health = 100 var/oreAmount = 7 var/mineralType = "metal" /obj/structure/statue/Destroy() density = 0 return ..() /obj/structure/statue/attackby(obj/item/weapon/W, mob/living/user, params) add_fingerprint(user) user.changeNext_move(CLICK_CD_MELEE) if(istype(W, /obj/item/weapon/wrench)) if(anchored) playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) user.visible_message("[user] is loosening the [name]'s bolts.", \ "You are loosening the [name]'s bolts...") if(do_after(user,40/W.toolspeed, target = src)) if(!src.loc || !anchored) return user.visible_message("[user] loosened the [name]'s bolts!", \ "You loosen the [name]'s bolts!") anchored = 0 else if (!istype(src.loc, /turf/open/floor)) user.visible_message("A floor must be present to secure the [name]!") return playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) user.visible_message("[user] is securing the [name]'s bolts...", \ "You are securing the [name]'s bolts...") if(do_after(user, 40/W.toolspeed, target = src)) if(!src.loc || anchored) return user.visible_message("[user] has secured the [name]'s bolts.", \ "You have secured the [name]'s bolts.") anchored = 1 else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter)) playsound(src, 'sound/items/Welder.ogg', 100, 1) user.visible_message("[user] is slicing apart the [name]...", \ "You are slicing apart the [name]...") if(do_after(user,30, target = src)) if(!src.loc) return user.visible_message("[user] slices apart the [name].", \ "You slice apart the [name].") Dismantle(1) else if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer)) var/obj/item/weapon/pickaxe/drill/jackhammer/D = W if(!src.loc) return user.visible_message("[user] destroys the [name]!", \ "You destroy the [name].") D.playDigSound() qdel(src) else if(istype(W, /obj/item/weapon/weldingtool) && !anchored) playsound(loc, 'sound/items/Welder.ogg', 40, 1) user.visible_message("[user] is slicing apart the [name].", \ "You are slicing apart the [name]...") if(do_after(user, 40/W.toolspeed, target = src)) if(!src.loc) return playsound(loc, 'sound/items/Welder2.ogg', 50, 1) user.visible_message("[user] slices apart the [name].", \ "You slice apart the [name]!") Dismantle(1) else return ..() /obj/structure/statue/attacked_by(obj/item/I, mob/living/user) ..() take_damage(I.force, I.damtype) /obj/structure/statue/attack_hand(mob/living/user) user.changeNext_move(CLICK_CD_MELEE) add_fingerprint(user) user.visible_message("[user] rubs some dust off from the [name]'s surface.", \ "You rub some dust off from the [name]'s surface.") /obj/structure/statue/CanAtmosPass() return !density /obj/structure/statue/bullet_act(obj/item/projectile/P) . = ..() take_damage(P.damage, P.damage_type, 0) /obj/structure/statue/proc/take_damage(damage, damage_type = BRUTE, sound_effect = 1) switch(damage_type) if(BRUTE) if(sound_effect) if(damage) playsound(loc, 'sound/weapons/smash.ogg', 50, 1) else playsound(loc, 'sound/weapons/tap.ogg', 50, 1) if(BURN) if(sound_effect) playsound(loc, 'sound/items/Welder.ogg', 40, 1) else return health -= damage if(health <= 0) Dismantle(1) /obj/structure/statue/proc/Dismantle(devastated = 0) if(!devastated) if (mineralType == "metal") var/ore = /obj/item/stack/sheet/metal for(var/i = 1, i <= oreAmount, i++) new ore(get_turf(src)) else var/ore = text2path("/obj/item/stack/sheet/mineral/[mineralType]") for(var/i = 1, i <= oreAmount, i++) new ore(get_turf(src)) else if (mineralType == "metal") var/ore = /obj/item/stack/sheet/metal for(var/i = 3, i <= oreAmount, i++) new ore(get_turf(src)) else var/ore = text2path("/obj/item/stack/sheet/mineral/[mineralType]") for(var/i = 3, i <= oreAmount, i++) new ore(get_turf(src)) qdel(src) /obj/structure/statue/ex_act(severity = 1) switch(severity) if(1) Dismantle(1) if(2) take_damage(rand(60,110), BRUTE, 0) if(3) take_damage(10, BRUTE, 0) //////////////////////////////////////STATUES///////////////////////////////////////////////////////////// ////////////////////////uranium/////////////////////////////////// /obj/structure/statue/uranium health = 300 luminosity = 2 mineralType = "uranium" var/last_event = 0 var/active = null /obj/structure/statue/uranium/nuke name = "statue of a nuclear fission explosive" desc = "This is a grand statue of a Nuclear Explosive. It has a sickening green colour." icon_state = "nuke" /obj/structure/statue/uranium/eng name = "Statue of an engineer" desc = "This statue has a sickening green colour." icon_state = "eng" /obj/structure/statue/uranium/attackby(obj/item/weapon/W, mob/user, params) radiate() return ..() /obj/structure/statue/uranium/Bumped(atom/user) radiate() ..() /obj/structure/statue/uranium/attack_hand(mob/user) radiate() ..() /obj/structure/statue/uranium/attack_paw(mob/user) radiate() ..() /obj/structure/statue/uranium/proc/radiate() if(!active) if(world.time > last_event+15) active = 1 radiation_pulse(get_turf(src), 3, 3, 12, 0) last_event = world.time active = null return return ////////////////////////////plasma/////////////////////////////////////////////////////////////////////// /obj/structure/statue/plasma health = 200 mineralType = "plasma" desc = "This statue is suitably made from plasma." /obj/structure/statue/plasma/scientist name = "statue of a scientist" icon_state = "sci" /obj/structure/statue/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) PlasmaBurn(exposed_temperature) /obj/structure/statue/plasma/bullet_act(obj/item/projectile/Proj) var/burn = FALSE if(istype(Proj,/obj/item/projectile/beam)) PlasmaBurn(2500) burn = TRUE else if(istype(Proj,/obj/item/projectile/ion)) PlasmaBurn(500) burn = TRUE if(burn) if(Proj.firer) message_admins("Plasma statue ignited by [key_name_admin(Proj.firer)](?) (FLW) in ([x],[y],[z] - JMP)",0,1) log_game("Plasma statue ignited by [key_name(Proj.firer)] in ([x],[y],[z])") else message_admins("Plasma statue ignited by [Proj]. No known firer.(?) (FLW) in ([x],[y],[z] - JMP)",0,1) log_game("Plasma statue ignited by [Proj] in ([x],[y],[z]). No known firer.") ..() /obj/structure/statue/plasma/attackby(obj/item/weapon/W, mob/user, params) if(W.is_hot() > 300)//If the temperature of the object is over 300, then ignite message_admins("Plasma statue ignited by [key_name_admin(user)](?) (FLW) in ([x],[y],[z] - JMP)",0,1) log_game("Plasma statue ignited by [key_name(user)] in ([x],[y],[z])") ignite(W.is_hot()) else return ..() /obj/structure/statue/plasma/proc/PlasmaBurn() atmos_spawn_air("plasma=400;TEMP=1000") Dismantle(1) /obj/structure/statue/plasma/proc/ignite(exposed_temperature) if(exposed_temperature > 300) PlasmaBurn(exposed_temperature) //////////////////////gold/////////////////////////////////////// /obj/structure/statue/gold health = 300 mineralType = "gold" desc = "This is a highly valuable statue made from gold." /obj/structure/statue/gold/hos name = "statue of the head of security" icon_state = "hos" /obj/structure/statue/gold/hop name = "statue of the head of personnel" icon_state = "hop" /obj/structure/statue/gold/cmo name = "statue of the chief medical officer" icon_state = "cmo" /obj/structure/statue/gold/ce name = "statue of the chief engineer" icon_state = "ce" /obj/structure/statue/gold/rd name = "statue of the research director" icon_state = "rd" //////////////////////////silver/////////////////////////////////////// /obj/structure/statue/silver health = 300 mineralType = "silver" desc = "This is a valuable statue made from silver." /obj/structure/statue/silver/md name = "statue of a medical officer" icon_state = "md" /obj/structure/statue/silver/janitor name = "statue of a janitor" icon_state = "jani" /obj/structure/statue/silver/sec name = "statue of a security officer" icon_state = "sec" /obj/structure/statue/silver/secborg name = "statue of a security cyborg" icon_state = "secborg" /obj/structure/statue/silver/medborg name = "statue of a medical cyborg" icon_state = "medborg" /////////////////////////diamond///////////////////////////////////////// /obj/structure/statue/diamond health = 1000 mineralType = "diamond" desc = "This is a very expensive diamond statue" /obj/structure/statue/diamond/captain name = "statue of THE captain." icon_state = "cap" /obj/structure/statue/diamond/ai1 name = "statue of the AI hologram." icon_state = "ai1" /obj/structure/statue/diamond/ai2 name = "statue of the AI core." icon_state = "ai2" ////////////////////////bananium/////////////////////////////////////// /obj/structure/statue/bananium health = 300 mineralType = "bananium" desc = "A bananium statue with a small engraving:'HOOOOOOONK'." var/spam_flag = 0 /obj/structure/statue/bananium/clown name = "statue of a clown" icon_state = "clown" /obj/structure/statue/bananium/Bumped(atom/user) honk() ..() /obj/structure/statue/bananium/attackby(obj/item/weapon/W, mob/user, params) honk() return ..() /obj/structure/statue/bananium/attack_hand(mob/user) honk() ..() /obj/structure/statue/bananium/attack_paw(mob/user) honk() ..() /obj/structure/statue/bananium/proc/honk() if(!spam_flag) spam_flag = 1 playsound(src.loc, 'sound/items/bikehorn.ogg', 50, 1) spawn(20) spam_flag = 0 /////////////////////sandstone///////////////////////////////////////// /obj/structure/statue/sandstone health = 50 mineralType = "sandstone" /obj/structure/statue/sandstone/assistant name = "statue of an assistant" desc = "A cheap statue of sandstone for a greyshirt." icon_state = "assist" /obj/structure/statue/sandstone/venus //call me when we add marble i guess name = "statue of a pure maiden" desc = "An ancient marble statue. The subject is depicted with a floor-length braid and is wielding a toolbox. By Jove, it's easily the most gorgeous depiction of a woman you've ever seen. The artist must truly be a master of his craft. Shame about the broken arm, though." icon = 'icons/obj/statuelarge.dmi' icon_state = "venus" /////////////////////snow///////////////////////////////////////// /obj/structure/statue/snow health = 50 mineralType = "snow" /obj/structure/statue/snow/snowman name = "snowman" desc = "Several lumps of snow put together to form a snowman." icon_state = "snowman"