/obj/item/weapon/archaeological_find name = "object" icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "ano01" var/find_type = 0 /obj/item/weapon/archaeological_find/New(loc, var/new_item_type) if(new_item_type) find_type = new_item_type else find_type = rand(1, MAX_ARCHAEO) var/item_type = "object" icon_state = "unknown[rand(1,4)]" var/additional_desc = "" var/obj/item/weapon/new_item var/source_material = "" var/apply_material_decorations = 1 var/apply_image_decorations = 0 var/material_descriptor = "" var/apply_prefix = 1 if(prob(40)) material_descriptor = pick("rusted ","dusty ","archaic ","fragile ", "damaged", "pristine") source_material = pick("cordite","quadrinium",DEFAULT_WALL_MATERIAL,"titanium","aluminium","ferritic-alloy","plasteel","duranium") var/talkative = 0 if(prob(5)) talkative = 1 //for all items here: //icon_state //item_state switch(find_type) if(ARCHAEO_BOWL) item_type = "bowl" if(prob(33)) new_item = new /obj/item/weapon/reagent_containers/glass/replenishing(src.loc) LAZYSET(new_item.origin_tech, TECH_ARCANE, 1) else new_item = new /obj/item/weapon/reagent_containers/glass/beaker(src.loc) new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = "bowl" apply_image_decorations = 1 if(prob(40)) new_item.color = rgb(rand(0,255),rand(0,255),rand(0,255)) if(prob(20)) additional_desc = "There appear to be [pick("dark","faintly glowing","pungent","bright")] [pick("red","purple","green","blue")] stains inside." if(ARCHAEO_URN) item_type = "urn" if(prob(33)) new_item = new /obj/item/weapon/reagent_containers/glass/replenishing(src.loc) LAZYSET(new_item.origin_tech, TECH_ARCANE, 1) else new_item = new /obj/item/weapon/reagent_containers/glass/beaker(src.loc) new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = "urn[rand(1,2)]" apply_image_decorations = 1 if(prob(20)) additional_desc = "It [pick("whispers faintly","makes a quiet roaring sound","whistles softly","thrums quietly","throbs")] if you put it to your ear." if(ARCHAEO_CUTLERY) item_type = "[pick("fork","spoon","knife")]" if(prob(25)) new_item = new /obj/item/weapon/material/kitchen/utensil/fork(src.loc) else if(prob(50)) new_item = new /obj/item/weapon/material/knife(src.loc) else new_item = new /obj/item/weapon/material/kitchen/utensil/spoon(src.loc) if(prob(60)) LAZYSET(new_item.origin_tech, TECH_ARCANE, 1) additional_desc = "[pick("It's like no [item_type] you've ever seen before",\ "It's a mystery how anyone is supposed to eat with this",\ "You wonder what the creator's mouth was shaped like")]." if(ARCHAEO_STATUETTE) name = "statuette" icon = 'icons/obj/xenoarchaeology.dmi' item_type = "statuette" icon_state = "statuette[rand(1,3)]" additional_desc = "It depicts a [pick("small","ferocious","wild","pleasing","hulking")] \ [pick("alien figure","rodent-like creature","reptilian alien","primate","unidentifiable object")] \ [pick("performing unspeakable acts","posing heroically","in a fetal position","cheering","sobbing","making a plaintive gesture","making a rude gesture")]." if(prob(25)) new_item = new /obj/item/weapon/vampiric(src.loc) LAZYSET(new_item.origin_tech, TECH_ARCANE, 1) if(ARCHAEO_INSTRUMENT) name = "instrument" icon = 'icons/obj/xenoarchaeology.dmi' item_type = "instrument" icon_state = "instrument" if(prob(30)) apply_image_decorations = 1 additional_desc = "[pick("You're not sure how anyone could have played this",\ "You wonder how many mouths the creator had",\ "You wonder what it sounds like",\ "You wonder what kind of music was made with it")]." if(ARCHAEO_KNIFE) item_type = "[pick("bladed knife","serrated blade","sharp cutting implement")]" new_item = new /obj/item/weapon/material/knife(src.loc) additional_desc = "[pick("It doesn't look safe.",\ "It looks wickedly jagged",\ "There appear to be [pick("dark red","dark purple","dark green","dark blue")] stains along the edges")]." if(ARCHAEO_COIN) //assuming there are 12 types of coins var/chance = 8 for(var/type in typesof(/obj/item/weapon/coin)) if(prob(chance)) new_item = new type(src.loc) break chance += 10 item_type = new_item.name apply_prefix = 0 apply_material_decorations = 0 apply_image_decorations = 1 if(ARCHAEO_HANDCUFFS) item_type = "handcuffs" new_item = new /obj/item/weapon/handcuffs(src.loc) additional_desc = "[pick("They appear to be for securing two things together","Looks kinky","Doesn't seem like a children's toy")]." if(ARCHAEO_BEARTRAP) item_type = "[pick("wicked","evil","byzantine","dangerous")] looking [pick("device","contraption","thing","trap")]" apply_prefix = 0 new_item = new /obj/item/weapon/beartrap(src.loc) if(prob(40)) new_item.color = rgb(rand(0,255),rand(0,255),rand(0,255)) additional_desc = "[pick("It looks like it could take a limb off",\ "Could be some kind of animal trap",\ "There appear to be [pick("dark red","dark purple","dark green","dark blue")] stains along part of it")]." if(ARCHAEO_LIGHTER) item_type = "[pick("cylinder","tank","chamber")]" new_item = new /obj/item/weapon/flame/lighter(src.loc) additional_desc = "There is a tiny device attached." if(prob(30)) apply_image_decorations = 1 if(ARCHAEO_BOX) item_type = "box" new_item = new /obj/item/weapon/storage/box(src.loc) new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = "box" var/obj/item/weapon/storage/box/new_box = new_item new_box.max_w_class = pick(1,2,2,3,3,3,4,4) var/storage_amount = 2**(new_box.max_w_class-1) new_box.max_storage_space = rand(storage_amount, storage_amount * 10) if(prob(30)) LAZYSET(new_item.origin_tech, TECH_ARCANE, 1) apply_image_decorations = 1 if(ARCHAEO_GASTANK) item_type = "[pick("cylinder","tank","chamber")]" if(prob(25)) new_item = new /obj/item/weapon/tank/air(src.loc) else if(prob(50)) new_item = new /obj/item/weapon/tank/anesthetic(src.loc) else new_item = new /obj/item/weapon/tank/phoron(src.loc) icon_state = pick("oxygen","oxygen_fr","oxygen_f","phoron","anesthetic") additional_desc = "It [pick("gloops","sloshes")] slightly when you shake it." if(ARCHAEO_TOOL) item_type = "tool" if(prob(25)) new_item = new /obj/item/weapon/tool/wrench(src.loc) else if(prob(25)) new_item = new /obj/item/weapon/tool/crowbar(src.loc) else new_item = new /obj/item/weapon/tool/screwdriver(src.loc) if(prob(40)) new_item.color = rgb(rand(0,255),rand(0,255),rand(0,255)) apply_image_decorations = 1 additional_desc = "[pick("It doesn't look safe.",\ "You wonder what it was used for",\ "There appear to be [pick("dark red","dark purple","dark green","dark blue")] stains on it")]." if(ARCHAEO_METAL) apply_material_decorations = 0 var/list/possible_spawns = list() possible_spawns += /obj/item/stack/material/steel possible_spawns += /obj/item/stack/material/plasteel possible_spawns += /obj/item/stack/material/glass possible_spawns += /obj/item/stack/material/glass/reinforced possible_spawns += /obj/item/stack/material/phoron possible_spawns += /obj/item/stack/material/gold possible_spawns += /obj/item/stack/material/silver possible_spawns += /obj/item/stack/material/uranium possible_spawns += /obj/item/stack/material/sandstone possible_spawns += /obj/item/stack/material/silver var/new_type = pick(possible_spawns) new_item = new new_type(src.loc) new_item:amount = rand(5,45) if(ARCHAEO_PEN) if(prob(75)) new_item = new /obj/item/weapon/pen(src.loc) else new_item = new /obj/item/weapon/pen/reagent/sleepy(src.loc) if(prob(30)) icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pen1" LAZYSET(new_item.origin_tech, TECH_ARCANE, 1) apply_image_decorations = 1 if(ARCHAEO_CRYSTAL) apply_prefix = 0 if(prob(25)) icon = 'icons/obj/xenoarchaeology.dmi' item_type = "smooth green crystal" icon_state = "Green lump" else if(prob(33)) icon = 'icons/obj/xenoarchaeology.dmi' item_type = "irregular purple crystal" icon_state = "Phazon" else icon = 'icons/obj/xenoarchaeology.dmi' item_type = "rough red crystal" icon_state = "changerock" additional_desc = pick("It shines faintly as it catches the light.","It appears to have a faint inner glow.","It seems to draw you inward as you look it at.","Something twinkles faintly as you look at it.","It's mesmerizing to behold.") apply_material_decorations = 0 if(prob(10)) apply_image_decorations = 1 if(prob(25)) new_item = new /obj/item/device/soulstone(src.loc) new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = icon_state LAZYSET(new_item.origin_tech, TECH_ARCANE, 2) if(ARCHAEO_CULTBLADE) //cultblade apply_prefix = 0 new_item = new /obj/item/weapon/melee/cultblade(src.loc) apply_material_decorations = 0 apply_image_decorations = 0 if(ARCHAEO_TELEBEACON) new_item = new /obj/item/device/radio/beacon(src.loc) talkative = 0 new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = "unknown[rand(1,4)]" new_item.desc = "" if(ARCHAEO_CLAYMORE) apply_prefix = 0 new_item = new /obj/item/weapon/material/sword(src.loc) new_item.force = 10 new_item.name = pick("great-sword","claymore","longsword","broadsword","shortsword","gladius") item_type = new_item.name if(prob(30)) new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = "blade1" if(ARCHAEO_CULTROBES) //arcane clothing apply_prefix = 0 var/list/possible_spawns = list(/obj/item/clothing/head/culthood, /obj/item/clothing/head/culthood/magus, /obj/item/clothing/head/culthood/alt, /obj/item/clothing/head/helmet/space/cult) var/new_type = pick(possible_spawns) new_item = new new_type(src.loc) LAZYSET(new_item.origin_tech, TECH_ARCANE, 1) if(ARCHAEO_SOULSTONE) //soulstone apply_prefix = 0 new_item = new /obj/item/device/soulstone(src.loc) item_type = new_item.name apply_material_decorations = 0 LAZYSET(new_item.origin_tech, TECH_ARCANE, 2) if(ARCHAEO_SHARD) if(prob(50)) new_item = new /obj/item/weapon/material/shard(src.loc) else new_item = new /obj/item/weapon/material/shard/phoron(src.loc) apply_prefix = 0 apply_image_decorations = 0 apply_material_decorations = 0 if(ARCHAEO_RODS) apply_prefix = 0 new_item = new /obj/item/stack/rods(src.loc) apply_image_decorations = 0 apply_material_decorations = 0 if(ARCHAEO_STOCKPARTS) var/list/possible_spawns = typesof(/obj/item/weapon/stock_parts) possible_spawns -= /obj/item/weapon/stock_parts possible_spawns -= /obj/item/weapon/stock_parts/subspace var/new_type = pick(possible_spawns) new_item = new new_type(src.loc) item_type = new_item.name apply_material_decorations = 0 if(ARCHAEO_KATANA) apply_prefix = 0 new_item = new /obj/item/weapon/material/sword/katana(src.loc) new_item.force = 10 new_item.name = "katana" item_type = new_item.name if(ARCHAEO_LASER) //energy gun var/spawn_type = pick(\ /obj/item/weapon/gun/energy/laser/practice/xenoarch,\ /obj/item/weapon/gun/energy/laser/xenoarch,\ /obj/item/weapon/gun/energy/xray/xenoarch,\ /obj/item/weapon/gun/energy/captain/xenoarch) if(spawn_type) var/obj/item/weapon/gun/energy/new_gun = new spawn_type(src.loc) new_item = new_gun new_item.icon_state = "egun[rand(1,12)]" new_gun.desc = "This is an antique energy weapon, you're not sure if it will fire or not." //5% chance to explode when first fired //10% chance to have an unchargeable cell //15% chance to gain a random amount of starting energy, otherwise start with an empty cell if(prob(5)) new_gun.power_supply.rigged = 1 if(prob(10)) new_gun.power_supply.maxcharge = 0 LAZYSET(new_gun.origin_tech, TECH_ARCANE, rand(0, 1)) if(prob(15)) new_gun.power_supply.charge = rand(0, new_gun.power_supply.maxcharge) LAZYSET(new_gun.origin_tech, TECH_ARCANE, 1) else new_gun.power_supply.charge = 0 item_type = "gun" if(ARCHAEO_GUN) //revolver var/obj/item/weapon/gun/projectile/new_gun = new /obj/item/weapon/gun/projectile/revolver(src.loc) new_item = new_gun new_item.icon_state = "gun[rand(1,7)]" new_item.icon = 'icons/obj/xenoarchaeology.dmi' //33% chance to be able to reload the gun with human ammunition if(prob(66)) new_gun.caliber = "999" //33% chance to fill it with a random amount of bullets new_gun.max_shells = rand(1,12) if(prob(33)) var/num_bullets = rand(1,new_gun.max_shells) if(num_bullets < new_gun.loaded.len) new_gun.loaded.Cut() for(var/i = 1, i <= num_bullets, i++) var/A = new_gun.ammo_type new_gun.loaded += new A(new_gun) else for(var/obj/item/I in new_gun) if(new_gun.loaded.len > num_bullets) if(I in new_gun.loaded) new_gun.loaded.Remove(I) I.loc = null else break else for(var/obj/item/I in new_gun) if(I in new_gun.loaded) new_gun.loaded.Remove(I) I.loc = null item_type = "gun" if(ARCHAEO_UNKNOWN) //completely unknown alien device if(prob(50)) apply_image_decorations = 0 if(ARCHAEO_FOSSIL) //fossil bone/skull //new_item = new /obj/item/weapon/fossil/base(src.loc) //the replacement item propogation isn't working, and it's messy code anyway so just do it here var/list/candidates = list(/obj/item/weapon/fossil/bone = 9,/obj/item/weapon/fossil/skull = 3, /obj/item/weapon/fossil/skull/horned = 2) var/spawn_type = pickweight(candidates) new_item = new spawn_type(src.loc) apply_prefix = 0 additional_desc = "A fossilised part of an alien, long dead." apply_image_decorations = 0 apply_material_decorations = 0 if(ARCHAEO_SHELL) //fossil shell new_item = new /obj/item/weapon/fossil/shell(src.loc) apply_prefix = 0 additional_desc = "A fossilised, pre-Stygian alien crustacean." apply_image_decorations = 0 apply_material_decorations = 0 if(prob(10)) apply_image_decorations = 1 if(ARCHAEO_PLANT) //fossil plant new_item = new /obj/item/weapon/fossil/plant(src.loc) item_type = new_item.name additional_desc = "A fossilised shred of alien plant matter." apply_image_decorations = 0 apply_material_decorations = 0 apply_prefix = 0 if(ARCHAEO_REMAINS_HUMANOID) //humanoid remains apply_prefix = 0 item_type = "humanoid [pick("remains","skeleton")]" icon = 'icons/effects/blood.dmi' icon_state = "remains" additional_desc = pick("They appear almost human.",\ "They are contorted in a most gruesome way.",\ "They look almost peaceful.",\ "The bones are yellowing and old, but remarkably well preserved.",\ "The bones are scored by numerous burns and partially melted.",\ "The are battered and broken, in some cases less than splinters are left.",\ "The mouth is wide open in a death rictus, the victim would appear to have died screaming.") apply_image_decorations = 0 apply_material_decorations = 0 if(ARCHAEO_REMAINS_ROBOT) //robot remains apply_prefix = 0 item_type = "[pick("mechanical","robotic","cyborg")] [pick("remains","chassis","debris")]" icon = 'icons/mob/robots.dmi' icon_state = "remainsrobot" additional_desc = pick("Almost mistakeable for the remains of a modern cyborg.",\ "They are barely recognisable as anything other than a pile of waste metals.",\ "It looks like the battered remains of an ancient robot chassis.",\ "The chassis is rusting and old, but remarkably well preserved.",\ "The chassis is scored by numerous burns and partially melted.",\ "The chassis is battered and broken, in some cases only chunks of metal are left.",\ "A pile of wires and crap metal that looks vaguely robotic.") apply_image_decorations = 0 apply_material_decorations = 0 if(ARCHAEO_REMAINS_XENO) //xenos remains apply_prefix = 0 item_type = "alien [pick("remains","skeleton")]" icon = 'icons/effects/blood.dmi' icon_state = "remainsxeno" additional_desc = pick("It looks vaguely reptilian, but with more teeth.",\ "They are faintly unsettling.",\ "There is a faint aura of unease about them.",\ "The bones are yellowing and old, but remarkably well preserved.",\ "The bones are scored by numerous burns and partially melted.",\ "The are battered and broken, in some cases less than splinters are left.",\ "This creature would have been twisted and monstrous when it was alive.",\ "It doesn't look human.") apply_image_decorations = 0 apply_material_decorations = 0 if(ARCHAEO_GASMASK) //gas mask if(prob(25)) new_item = new /obj/item/clothing/mask/gas/poltergeist(src.loc) LAZYSET(new_item.origin_tech, TECH_ARCANE, 1) else new_item = new /obj/item/clothing/mask/gas(src.loc) if(prob(40)) new_item.color = rgb(rand(0,255),rand(0,255),rand(0,255)) if(ARCHAEO_ALIEN_ITEM) // Alien stuff. apply_prefix = FALSE apply_material_decorations = FALSE var/list/alien_stuff = list( /obj/item/device/multitool/alien, /obj/item/stack/cable_coil/alien, /obj/item/weapon/tool/crowbar/alien, /obj/item/weapon/tool/screwdriver/alien, /obj/item/weapon/weldingtool/alien, /obj/item/weapon/tool/wirecutters/alien, /obj/item/weapon/tool/wrench/alien, /obj/item/weapon/surgical/FixOVein/alien, /obj/item/weapon/surgical/bone_clamp/alien, /obj/item/weapon/surgical/cautery/alien, /obj/item/weapon/surgical/circular_saw/alien, /obj/item/weapon/surgical/hemostat/alien, /obj/item/weapon/surgical/retractor/alien, /obj/item/weapon/surgical/scalpel/alien, /obj/item/weapon/surgical/surgicaldrill/alien, /obj/item/weapon/cell/device/weapon/recharge/alien, /obj/item/clothing/suit/armor/alien, /obj/item/clothing/head/helmet/alien, /obj/item/clothing/head/psy_crown/wrath ) var/new_type = pick(alien_stuff) new_item = new new_type(src.loc) LAZYSET(new_item.origin_tech, TECH_ARCANE, 2) LAZYSET(new_item.origin_tech, TECH_PRECURSOR, 1) item_type = new_item.name if(ARCHAEO_ALIEN_BOAT) // Alien boats. apply_prefix = FALSE var/new_boat_mat = pickweight(list( MAT_WOOD = 100, MAT_SIFWOOD = 200, DEFAULT_WALL_MATERIAL = 60, MAT_URANIUM = 14, MAT_MARBLE = 16, MAT_GOLD = 20, MAT_SILVER = 24, MAT_PLASTEEL = 10, MAT_TITANIUM = 6, MAT_IRON = 30, MAT_PHORON = 4, MAT_VERDANTIUM = 2, MAT_DIAMOND = 4, MAT_DURASTEEL = 2, MAT_MORPHIUM = 2, MAT_SUPERMATTER = 1 )) var/list/alien_stuff = list( /obj/vehicle/boat, /obj/vehicle/boat/dragon ) if(prob(30)) new /obj/item/weapon/oar(src.loc, new_boat_mat) var/new_type = pick(alien_stuff) new_item = new new_type(src.loc, new_boat_mat) item_type = new_item.name if(ARCHAEO_IMPERION_CIRCUIT) // Imperion circuit. apply_prefix = FALSE apply_image_decorations = FALSE var/possible_circuits = subtypesof(/obj/item/weapon/circuitboard/mecha/imperion) var/new_type = pick(possible_circuits) new_item = new new_type(src.loc) name = new_item.name desc = new_item.desc item_type = new_item.name if(ARCHAEO_TELECUBE) // Telecube. if(prob(25)) apply_prefix = FALSE if(prob(75)) apply_image_decorations = TRUE if(prob(25)) apply_material_decorations = FALSE new_item = new /obj/item/weapon/telecube/randomized(src.loc) item_type = new_item.name if(ARCHAEO_BATTERY) // Battery! var/new_path = pick(subtypesof(/obj/item/weapon/cell)) new_item = new new_path(src.loc) new_item.name = pick("cell", "battery", "device") if(prob(30)) apply_prefix = FALSE if(prob(5)) apply_image_decorations = TRUE if(prob(15)) apply_material_decorations = FALSE item_type = new_item.name if(ARCHAEO_SYRINGE) // Syringe. if(prob(25)) apply_prefix = FALSE if(prob(75)) apply_image_decorations = TRUE if(prob(25)) apply_material_decorations = FALSE new_item = new /obj/item/weapon/reagent_containers/syringe(src.loc) var/obj/item/weapon/reagent_containers/syringe/S = new_item S.volume = 30 //If S hasn't initialized yet, S.reagents will be null. //However, in that case Initialize will set the maximum volume to the volume for us, so we don't need to do anything. S.reagents?.maximum_volume = 30 item_type = new_item.name if(ARCHAEO_RING) // Ring. if(prob(15)) apply_prefix = FALSE if(prob(40)) apply_image_decorations = TRUE if(prob(25)) apply_material_decorations = FALSE new_item = new /obj/item/clothing/gloves/ring/material(src.loc) item_type = new_item.name if(ARCHAEO_CLUB) // Baseball Bat if(prob(30)) apply_prefix = FALSE if(prob(80)) apply_image_decorations = TRUE if(prob(10)) apply_material_decorations = FALSE new_item = new /obj/item/weapon/material/twohanded/baseballbat(src.loc) new_item.name = pick("great-club","club","billyclub","mace","tenderizer","maul","bat") item_type = new_item.name if(istype(new_item, /obj/item/weapon/material)) var/new_item_mat = pickweight(list( DEFAULT_WALL_MATERIAL = 80, MAT_WOOD = 20, MAT_SIFWOOD = 40, MAT_URANIUM = 14, MAT_MARBLE = 16, MAT_GOLD = 20, MAT_SILVER = 24, MAT_PLASTEEL = 10, MAT_TITANIUM = 6, MAT_IRON = 30, MAT_PHORON = 4, MAT_VERDANTIUM = 2, MAT_DIAMOND = 4, MAT_DURASTEEL = 2, MAT_MORPHIUM = 2, MAT_SUPERMATTER = 1 )) var/obj/item/weapon/material/MW = new_item MW.applies_material_colour = TRUE MW.set_material(new_item_mat) if(istype(MW, /obj/item/weapon/material/twohanded)) var/obj/item/weapon/material/twohanded/TH = MW TH.force_unwielded *= 0.7 TH.force_wielded *= 0.5 else MW.force *= 0.3 var/decorations = "" if(apply_material_decorations) source_material = pick("cordite","quadrinium",DEFAULT_WALL_MATERIAL,"titanium","aluminium","ferritic-alloy","plasteel","duranium") if(istype(new_item, /obj/item/weapon/material)) var/obj/item/weapon/material/MW = new_item source_material = MW.material.display_name if(istype(new_item, /obj/vehicle/boat)) var/obj/vehicle/boat/B = new_item source_material = B.material.display_name desc = "A [material_descriptor ? "[material_descriptor] " : ""][item_type] made of [source_material], all craftsmanship is of [pick("the lowest","low","average","high","the highest")] quality." var/list/descriptors = list() if(prob(30)) descriptors.Add("is encrusted with [pick("","synthetic ","multi-faceted ","uncut ","sparkling ") + pick("rubies","emeralds","diamonds","opals","lapiz lazuli")]") if(prob(30)) descriptors.Add("is studded with [pick("gold","silver","aluminium","titanium")]") if(prob(30)) descriptors.Add("is encircled with bands of [pick("quadrinium","cordite","ferritic-alloy","plasteel","duranium")]") if(prob(30)) descriptors.Add("menaces with spikes of [pick("solid phoron","uranium","white pearl","black steel")]") if(descriptors.len > 0) decorations = "It " for(var/index=1, index <= descriptors.len, index++) if(index > 1) if(index == descriptors.len) decorations += " and " else decorations += ", " decorations += descriptors[index] decorations += "." if(decorations) desc += " " + decorations var/engravings = "" if(apply_image_decorations) engravings = "[pick("Engraved","Carved","Etched")] on the item is [pick("an image of","a frieze of","a depiction of")] \ [pick("an alien humanoid","an amorphic blob","a short, hairy being","a rodent-like creature","a robot","a primate","a reptilian alien","an unidentifiable object","a statue","a starship","unusual devices","a structure")] \ [pick("surrounded by","being held aloft by","being struck by","being examined by","communicating with")] \ [pick("alien humanoids","amorphic blobs","short, hairy beings","rodent-like creatures","robots","primates","reptilian aliens")]" if(prob(50)) engravings += ", [pick("they seem to be enjoying themselves","they seem extremely angry","they look pensive","they are making gestures of supplication","the scene is one of subtle horror","the scene conveys a sense of desperation","the scene is completely bizarre")]" engravings += "." if(desc) desc += " " desc += engravings if(apply_prefix) name = "[pick("Strange","Ancient","Alien","")] [item_type]" else name = item_type if(desc) desc += " " desc += additional_desc if(!desc) desc = "This item is completely [pick("alien","bizarre")]." //icon and icon_state should have already been set if(new_item) new_item.name = name new_item.desc = src.desc if(talkative) new_item.talking_atom = new(new_item) LAZYINITLIST(new_item.origin_tech) new_item.origin_tech[TECH_ARCANE] += 1 new_item.origin_tech[TECH_PRECURSOR] += 1 var/turf/simulated/mineral/T = get_turf(new_item) if(istype(T)) T.last_find = new_item qdel(src) else if(talkative) src.talking_atom = new(src) LAZYINITLIST(origin_tech) origin_tech[TECH_ARCANE] += 1 origin_tech[TECH_PRECURSOR] += 1