mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
miscellaneous fixes + tweaks + cleanups (spoons, artifacts, geotracking, helpers for finds, tools / gear)
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
This commit is contained in:
@@ -34,7 +34,7 @@
|
||||
/*
|
||||
* Spoons
|
||||
*/
|
||||
/obj/item/weapon/kitchen/utensil/spoon
|
||||
/obj/item/weapon/kitchen/utensil/spoon
|
||||
name = "spoon"
|
||||
desc = "SPOON!"
|
||||
icon_state = "spoon"
|
||||
|
||||
@@ -128,6 +128,8 @@
|
||||
//dont create artifact machinery in animal or plant digsites, or if we already have one
|
||||
if(!artifact_find && digsite != 1 && digsite != 2 && prob(ARTIFACT_SPAWN_CHANCE))
|
||||
artifact_find = new()
|
||||
//world << "<b>[artifact_find.artifact_find_type]</b> [src.x], [src.y], [src.z]"
|
||||
artifact_spawning_turfs.Add(src)
|
||||
|
||||
if(!src.geological_data)
|
||||
src.geological_data = new/datum/geosample(src)
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
if(new_item_type)
|
||||
find_type = new_item_type
|
||||
else
|
||||
find_type = get_random_find_type(0)
|
||||
find_type = rand(1,34) //update this when you add new find types
|
||||
|
||||
var/item_type = "object"
|
||||
icon_state = "unknown[rand(1,4)]"
|
||||
@@ -97,6 +97,7 @@
|
||||
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 ")
|
||||
source_material = pick("cordite","quadrinium","steel","titanium","aluminium","ferritic-alloy","plasteel","duranium")
|
||||
@@ -116,7 +117,7 @@
|
||||
new_item.icon_state = "bowl"
|
||||
apply_image_decorations = 1
|
||||
if(prob(20))
|
||||
additional_desc = "There appear to be [pick("dark","faintly glowing","pungent")] [pick("red","purple","green","blue")] stains inside."
|
||||
additional_desc = "There appear to be [pick("dark","faintly glowing","pungent","bright")] [pick("red","purple","green","blue")] stains inside."
|
||||
if(2)
|
||||
item_type = "urn"
|
||||
new_item = new /obj/item/weapon/reagent_containers/glass(src.loc)
|
||||
@@ -167,20 +168,22 @@
|
||||
chance += 10
|
||||
|
||||
item_type = new_item.name
|
||||
apply_prefix = 0
|
||||
apply_material_decorations = 0
|
||||
apply_image_decorations = 1
|
||||
if(8)
|
||||
item_type = "chained loops"
|
||||
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(9)
|
||||
item_type = "[pick("wicked","evil","byzantine","dangerous")] looking [pick("device","contraption","thing","trap")]"
|
||||
apply_prefix = 0
|
||||
new_item = new /obj/item/weapon/legcuffs/beartrap(src.loc)
|
||||
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(10)
|
||||
item_type = "small [pick("cylinder","tank","chamber")]"
|
||||
item_type = "[pick("cylinder","tank","chamber")]"
|
||||
new_item = new /obj/item/weapon/lighter(src.loc)
|
||||
additional_desc = "There is a tiny device attached."
|
||||
if(prob(30))
|
||||
@@ -203,7 +206,7 @@
|
||||
icon_state = pick("oxygen","oxygen_fr","oxygen_f","plasma","anesthetic")
|
||||
additional_desc = "It [pick("gloops","sloshes")] slightly when you shake it."
|
||||
if(13)
|
||||
item_type = "strange tool"
|
||||
item_type = "tool"
|
||||
if(prob(25))
|
||||
new_item = new /obj/item/weapon/wrench(src.loc)
|
||||
else if(prob(25))
|
||||
@@ -239,12 +242,16 @@
|
||||
if(prob(30))
|
||||
apply_image_decorations = 1
|
||||
if(16)
|
||||
if(prob(33))
|
||||
apply_prefix = 0
|
||||
if(prob(25))
|
||||
item_type = "smooth green crystal"
|
||||
icon_state = "Green lump"
|
||||
else if(prob(50))
|
||||
else if(prob(33))
|
||||
item_type = "irregular purple crystal"
|
||||
icon_state = "Phazon"
|
||||
else if(prob(50))
|
||||
item_type = "rough red crystal"
|
||||
icon_state = "changerock"
|
||||
else
|
||||
item_type = "smooth red crystal"
|
||||
icon_state = "ore"
|
||||
@@ -255,6 +262,7 @@
|
||||
apply_image_decorations = 1
|
||||
if(17)
|
||||
//cultblade
|
||||
apply_prefix = 0
|
||||
new_item = new /obj/item/weapon/melee/cultblade(src.loc)
|
||||
apply_material_decorations = 0
|
||||
apply_image_decorations = 0
|
||||
@@ -265,10 +273,12 @@
|
||||
new_item.icon = 'xenoarchaeology.dmi'
|
||||
new_item.desc = ""
|
||||
if(19)
|
||||
apply_prefix = 0
|
||||
new_item = new /obj/item/weapon/claymore(src.loc)
|
||||
name = new_item.name
|
||||
if(20)
|
||||
//arcane clothing
|
||||
apply_prefix = 0
|
||||
var/list/possible_spawns = list(/obj/item/clothing/head/culthood,
|
||||
/obj/item/clothing/head/magus,
|
||||
/obj/item/clothing/head/culthood/alt,
|
||||
@@ -278,16 +288,20 @@
|
||||
new_item = new new_type(src.loc)
|
||||
if(21)
|
||||
//soulstone
|
||||
apply_prefix = 0
|
||||
new_item = new /obj/item/device/soulstone(src.loc)
|
||||
item_type = new_item.name
|
||||
apply_material_decorations = 0
|
||||
if(22)
|
||||
if(prob(50))
|
||||
new_item = new /obj/item/weapon/shard(src.loc)
|
||||
else
|
||||
new_item = new /obj/item/weapon/shard/plasma(src.loc)
|
||||
apply_prefix = 0
|
||||
apply_image_decorations = 0
|
||||
apply_material_decorations = 0
|
||||
if(23)
|
||||
apply_prefix = 0
|
||||
new_item = new /obj/item/stack/rods(src.loc)
|
||||
apply_image_decorations = 0
|
||||
apply_material_decorations = 0
|
||||
@@ -300,6 +314,7 @@
|
||||
new_item = new new_type(src.loc)
|
||||
apply_material_decorations = 0
|
||||
if(25)
|
||||
apply_prefix = 0
|
||||
new_item = new /obj/item/weapon/katana(src.loc)
|
||||
name = new_item.name
|
||||
if(26)
|
||||
@@ -326,7 +341,7 @@
|
||||
else
|
||||
new_gun.power_supply.charge = 0
|
||||
|
||||
name = "unknown weapon"
|
||||
name = "gun"
|
||||
if(27)
|
||||
//revolver
|
||||
var/obj/item/weapon/gun/projectile/new_gun = new /obj/item/weapon/gun/projectile(src.loc)
|
||||
@@ -358,7 +373,7 @@
|
||||
new_gun.loaded.Remove(I)
|
||||
I.loc = null
|
||||
|
||||
name = "unknown weapon"
|
||||
name = "gun"
|
||||
if(28)
|
||||
//completely unknown alien device
|
||||
if(prob(50))
|
||||
@@ -366,9 +381,13 @@
|
||||
if(29)
|
||||
//fossil bone/skull
|
||||
new_item = new /obj/item/weapon/fossil/base(src.loc)
|
||||
apply_prefix = 0
|
||||
apply_image_decorations = 0
|
||||
apply_material_decorations = 0
|
||||
if(30)
|
||||
//fossil shell
|
||||
new_item = new /obj/item/weapon/fossil/shell(src.loc)
|
||||
apply_prefix = 0
|
||||
apply_image_decorations = 0
|
||||
apply_material_decorations = 0
|
||||
if(prob(10))
|
||||
@@ -378,8 +397,10 @@
|
||||
new_item = new /obj/item/weapon/fossil/plant(src.loc)
|
||||
apply_image_decorations = 0
|
||||
apply_material_decorations = 0
|
||||
apply_prefix = 0
|
||||
if(32)
|
||||
//humanoid remains
|
||||
apply_prefix = 0
|
||||
name = "humanoid [pick("remains","skeleton")]"
|
||||
icon = 'blood.dmi'
|
||||
icon_state = "remains"
|
||||
@@ -394,6 +415,7 @@
|
||||
apply_material_decorations = 0
|
||||
if(33)
|
||||
//robot remains
|
||||
apply_prefix = 0
|
||||
name = "[pick("mechanical","robotic","cyborg")] [pick("remains","chassis","debris")]"
|
||||
icon = 'blood.dmi'
|
||||
icon_state = "remainsrobot"
|
||||
@@ -408,6 +430,7 @@
|
||||
apply_material_decorations = 0
|
||||
if(34)
|
||||
//xenos remains
|
||||
apply_prefix = 0
|
||||
name = "alien [pick("remains","skeleton")]"
|
||||
icon = 'blood.dmi'
|
||||
icon_state = "remainsxeno"
|
||||
@@ -463,7 +486,11 @@
|
||||
desc += " "
|
||||
desc += engravings
|
||||
|
||||
name = "[item_type]"
|
||||
if(apply_prefix)
|
||||
name = "[pick("Strange","Ancient","Alien","")] [item_type]"
|
||||
else
|
||||
name = item_type
|
||||
|
||||
if(desc)
|
||||
desc += " "
|
||||
desc += additional_desc
|
||||
@@ -472,7 +499,7 @@
|
||||
|
||||
//icon and icon_state should have already been set
|
||||
if(new_item)
|
||||
new_item.name = "[pick("Strange","Ancient","Alien","")] [new_item.name]"
|
||||
new_item.name = name
|
||||
new_item.desc = src.desc
|
||||
|
||||
if(talkative)
|
||||
|
||||
@@ -30,6 +30,10 @@
|
||||
#define ARCHAEO_FOSSIL 29
|
||||
#define ARCHAEO_SHELL 30
|
||||
#define ARCHAEO_PLANT 31
|
||||
#define ARCHAEO_REMAINS_HUMANOID 32
|
||||
#define ARCHAEO_REMAINS_ROBOT 33
|
||||
#define ARCHAEO_REMAINS_XENO 34
|
||||
#define MAX_ARCHAEO 34
|
||||
//eggs
|
||||
//droppings
|
||||
//footprints
|
||||
@@ -37,29 +41,6 @@
|
||||
|
||||
//DNA sampling from fossils, or a new archaeo type specifically for it?
|
||||
|
||||
#define ARTIFACT_REMAINS_HUMANOID 1
|
||||
#define ARTIFACT_REMAINS_ROBOT 2
|
||||
#define ARTIFACT_REMAINS_XENO 3
|
||||
#define ARTIFACT_MACHINERY 4
|
||||
#define ARTIFACT_OCCULT 5
|
||||
#define ARTIFACT_SYNDBEACON 6
|
||||
|
||||
//?
|
||||
#define ARTIFACT_HEAL 4
|
||||
#define ARTIFACT_BIODAM 5
|
||||
#define ARTIFACT_POWERCHARGE 6
|
||||
#define ARTIFACT_POWERDRAIN 7
|
||||
#define ARTIFACT_EMP 8
|
||||
#define ARTIFACT_PLANTGROW 9
|
||||
#define ARTIFACT_WEAKEN 10
|
||||
#define ARTIFACT_SLEEPY 11
|
||||
#define ARTIFACT_TELEPORT 12
|
||||
#define ARTIFACT_ROBOHURT 13
|
||||
#define ARTIFACT_ROBOHEAL 14
|
||||
#define ARTIFACT_DNASWITCH 15
|
||||
//#define ARTIFACT_
|
||||
//#define ARTIFACT_
|
||||
|
||||
//descending order of likeliness to spawn
|
||||
#define DIGSITE_GARDEN 1
|
||||
#define DIGSITE_ANIMAL 2
|
||||
@@ -126,8 +107,16 @@
|
||||
return "beryllium"
|
||||
if(ARCHAEO_FOSSIL)
|
||||
return "carbon"
|
||||
if(ARCHAEO_SHELL)
|
||||
return "carbon"
|
||||
if(ARCHAEO_PLANT)
|
||||
return "carbon"
|
||||
if(ARCHAEO_REMAINS_HUMANOID)
|
||||
return "carbon"
|
||||
if(ARCHAEO_REMAINS_ROBOT)
|
||||
return "carbon"
|
||||
if(ARCHAEO_REMAINS_XENO)
|
||||
return "carbon"
|
||||
return "chlorine"
|
||||
|
||||
//see /turf/simulated/mineral/New() in code/modules/mining/mine_turfs.dm
|
||||
|
||||
@@ -161,7 +161,7 @@ var/list/artifact_spawning_turfs = list()
|
||||
return
|
||||
|
||||
if(container.artifact_find)
|
||||
artifact_distance = rand(-100,100) / 100
|
||||
artifact_distance = rand()
|
||||
artifact_id = container.artifact_find.artifact_id
|
||||
else
|
||||
for(var/turf/simulated/mineral/holder in artifact_spawning_turfs)
|
||||
@@ -169,7 +169,7 @@ var/list/artifact_spawning_turfs = list()
|
||||
var/dist = get_dist(container, holder)
|
||||
if(dist < holder.artifact_find.artifact_detect_range && dist < src.artifact_distance)
|
||||
src.artifact_distance = dist
|
||||
src.artifact_id = holder.artifact_find
|
||||
src.artifact_id = holder.artifact_find.artifact_id
|
||||
else
|
||||
artifact_spawning_turfs.Remove(holder)
|
||||
|
||||
|
||||
@@ -89,6 +89,7 @@
|
||||
dat += "[field_type=="aluminium"?"<b>":"" ]<A href='?src=\ref[src];select_field=aluminium'>Aluminium transmitted field</A></b><br>"
|
||||
dat += "[field_type=="silicon"?"<b>":"" ]<A href='?src=\ref[src];select_field=silicon'>Silicon wafer conduction</A></b><br>"
|
||||
dat += "[field_type=="calcium"?"<b>":"" ]<A href='?src=\ref[src];select_field=calcium'>Calcium binary deoxidiser</A></b><br>"
|
||||
dat += "[field_type=="chlorine"?"<b>":"" ]<A href='?src=\ref[src];select_field=chlorine'>Chlorine alkalising field</A></b><br>"
|
||||
else
|
||||
dat += "<br>"
|
||||
dat += "<br>"
|
||||
@@ -257,6 +258,9 @@
|
||||
if("aluminium")
|
||||
success = 1
|
||||
//
|
||||
if("chlorine")
|
||||
success = 1
|
||||
//
|
||||
if("silicon")
|
||||
success = 1
|
||||
for(var/mob/living/silicon/R in T)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
/obj/item/device/gps/attack_self(var/mob/user as mob)
|
||||
var/turf/T = get_turf(src)
|
||||
user << "\blue \icon[src] [src] flashes <i>[10 * T.x + rand(0,9)]:[10 * T.y + rand(0,9)]:[10 * T.z + rand(0,9)]</i>."
|
||||
user << "\blue \icon[src] [src] flashes <i>[10 * T.x].[rand(0,9)]:[10 * T.y].[rand(0,9)]:[10 * T.z].[rand(0,9)]</i>."
|
||||
|
||||
/obj/item/device/measuring_tape
|
||||
name = "measuring tape"
|
||||
|
||||
@@ -51,8 +51,8 @@
|
||||
var/datum/geosample/geo_data
|
||||
if(istype(item_to_sample, /turf/simulated/mineral))
|
||||
var/turf/simulated/mineral/T = item_to_sample
|
||||
T.geological_data.UpdateNearbyArtifactInfo(T)
|
||||
geo_data = T.geological_data
|
||||
geo_data.UpdateNearbyArtifactInfo(T)
|
||||
else if(istype(item_to_sample, /obj/item/weapon/ore))
|
||||
var/obj/item/weapon/ore/O = item_to_sample
|
||||
geo_data = O.geological_data
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
if(B.artifact_find)
|
||||
//create a new scanlog entry
|
||||
var/datum/depth_scan/D = new()
|
||||
D.coords = "[10 * B.x + rand(0,9)]:[10 * B.y + rand(0,9)]:[10 * B.z + rand(0,9)]"
|
||||
D.coords = "[10 * B.x].[rand(0,9)]:[10 * B.y].[rand(0,9)]:[10 * B.z].[rand(0,9)]"
|
||||
D.time = worldtime2text()
|
||||
D.record_index = positive_locations.len + 1
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
|
||||
/obj/item/weapon/pickaxe/brush
|
||||
name = "brush"
|
||||
//icon_state = "brush"
|
||||
//item_state = "minipick"
|
||||
icon_state = "pick_brush"
|
||||
item_state = "syringe_0"
|
||||
digspeed = 50
|
||||
desc = "Thick metallic wires for clearing away dust and loose scree (1 centimetre excavation depth)."
|
||||
excavation_amount = 0.5
|
||||
@@ -15,7 +15,7 @@
|
||||
/obj/item/weapon/pickaxe/one_pick
|
||||
name = "1/6 pick"
|
||||
//icon_state = "excavation"
|
||||
//item_state = "minipick"
|
||||
item_state = "syringe_0"
|
||||
digspeed = 50
|
||||
desc = "A miniature excavation tool for precise digging (2 centimetre excavation depth)."
|
||||
excavation_amount = 1
|
||||
@@ -25,7 +25,7 @@
|
||||
/obj/item/weapon/pickaxe/two_pick
|
||||
name = "1/3 pick"
|
||||
//icon_state = "excavation"
|
||||
//item_state = "minipick"
|
||||
item_state = "syringe_0"
|
||||
digspeed = 50
|
||||
desc = "A miniature excavation tool for precise digging (4 centimetre excavation depth)."
|
||||
excavation_amount = 2
|
||||
@@ -35,7 +35,7 @@
|
||||
/obj/item/weapon/pickaxe/three_pick
|
||||
name = "1/2 pick"
|
||||
//icon_state = "excavation"
|
||||
//item_state = "minipick"
|
||||
item_state = "syringe_0"
|
||||
digspeed = 50
|
||||
desc = "A miniature excavation tool for precise digging (6 centimetre excavation depth)."
|
||||
excavation_amount = 3
|
||||
@@ -45,7 +45,7 @@
|
||||
/obj/item/weapon/pickaxe/four_pick
|
||||
name = "2/3 pick"
|
||||
//icon_state = "excavation"
|
||||
//item_state = "minipick"
|
||||
item_state = "syringe_0"
|
||||
digspeed = 50
|
||||
desc = "A miniature excavation tool for precise digging (8 centimetre excavation depth)."
|
||||
excavation_amount = 4
|
||||
@@ -55,7 +55,7 @@
|
||||
/obj/item/weapon/pickaxe/five_pick
|
||||
name = "5/6 pick"
|
||||
//icon_state = "excavation"
|
||||
//item_state = "minipick"
|
||||
item_state = "syringe_0"
|
||||
digspeed = 50
|
||||
desc = "A miniature excavation tool for precise digging (10 centimetre excavation depth)."
|
||||
excavation_amount = 5
|
||||
@@ -65,7 +65,7 @@
|
||||
/obj/item/weapon/pickaxe/six_pick
|
||||
name = "1/1 pick"
|
||||
//icon_state = "excavation"
|
||||
//item_state = "minipick"
|
||||
item_state = "syringe_0"
|
||||
digspeed = 50
|
||||
desc = "A miniature excavation tool for precise digging (12 centimetre excavation depth)."
|
||||
excavation_amount = 6
|
||||
@@ -75,7 +75,7 @@
|
||||
/obj/item/weapon/pickaxe/hand
|
||||
name = "hand pickaxe"
|
||||
//icon_state = "excavation"
|
||||
//item_state = "minipick"
|
||||
item_state = "syringe_0"
|
||||
digspeed = 50
|
||||
desc = "A smaller, more precise version of the pickaxe (30 centimetre excavation depth)."
|
||||
excavation_amount = 15
|
||||
|
||||
Reference in New Issue
Block a user