Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13 into Ghommie-cit685
This commit is contained in:
@@ -37,7 +37,7 @@
|
||||
if(ishuman(source_mob))
|
||||
var/mob/living/carbon/human/H = source_mob
|
||||
if(H.dna.species.use_skintones)
|
||||
body_coloring = "#[skintone2hex(H.skin_tone)]"
|
||||
body_coloring = SKINTONE2HEX(H.skin_tone)
|
||||
else
|
||||
body_coloring = "#[H.dna.features["mcolor"]]"
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
H.set_species(gib_mob_species)
|
||||
dna_to_add = temp_mob.get_blood_dna_list()
|
||||
if(H.dna.species.use_skintones)
|
||||
body_coloring = "#[skintone2hex(H.skin_tone)]"
|
||||
body_coloring = SKINTONE2HEX(H.skin_tone)
|
||||
else
|
||||
body_coloring = "#[H.dna.features["mcolor"]]"
|
||||
else
|
||||
|
||||
@@ -264,7 +264,6 @@
|
||||
LAZYSET(loot, M, our_chance)
|
||||
return ..()
|
||||
|
||||
|
||||
// Tech storage circuit board spawners
|
||||
// For these, make sure that lootcount equals the number of list items
|
||||
|
||||
@@ -526,6 +525,105 @@
|
||||
/obj/item/clothing/shoes/sneakers/noslip = 10
|
||||
)
|
||||
|
||||
/obj/effect/spawner/lootdrop/low_tools
|
||||
name = "random basic tool(s) spawner"
|
||||
lootcount = 1
|
||||
loot = list(
|
||||
/obj/item/screwdriver = 1,
|
||||
/obj/item/wrench = 1,
|
||||
/obj/item/weldingtool/mini = 1,
|
||||
/obj/item/crowbar = 1,
|
||||
/obj/item/wirecutters = 1,
|
||||
/obj/item/analyzer = 1,
|
||||
/obj/item/t_scanner = 1
|
||||
)
|
||||
|
||||
/obj/effect/spawner/lootdrop/high_tools
|
||||
name = "random adv tool(s) spawner"
|
||||
lootcount = 1
|
||||
loot = list(
|
||||
/obj/item/screwdriver/power = 1,
|
||||
/obj/item/weldingtool/experimental = 1,
|
||||
/obj/item/crowbar/power = 1,
|
||||
/obj/item/analyzer = 1,
|
||||
/obj/item/multitool = 1
|
||||
)
|
||||
|
||||
/obj/effect/spawner/lootdrop/welder_tools
|
||||
name = "random safe welder tool(s) spawner"
|
||||
lootcount = 1
|
||||
loot = list(
|
||||
/obj/item/weldingtool = 1,
|
||||
/obj/item/weldingtool/mini = 1,
|
||||
/obj/item/weldingtool/hugetank = 1,
|
||||
/obj/item/weldingtool/largetank = 1
|
||||
)
|
||||
|
||||
/obj/effect/spawner/lootdrop/tool_box
|
||||
name = "random safe tool box(es) spawner"
|
||||
lootcount = 1
|
||||
loot = list(
|
||||
/obj/item/storage/toolbox/mechanical = 1,
|
||||
/obj/item/storage/toolbox/mechanical/old = 1,
|
||||
/obj/item/storage/toolbox/emergency = 1,
|
||||
/obj/item/storage/toolbox/emergency/old = 1,
|
||||
/obj/item/storage/toolbox/electrical = 1,
|
||||
/obj/item/storage/toolbox/syndicate = 1,
|
||||
/obj/item/storage/toolbox/artistic = 1,
|
||||
/obj/item/storage/toolbox/gold_fake = 1,
|
||||
/obj/item/storage/toolbox/rubber = 1
|
||||
)
|
||||
|
||||
/obj/effect/spawner/lootdrop/healing_kits
|
||||
name = "random safe medical kit(s) spawner"
|
||||
lootcount = 1
|
||||
loot = list(
|
||||
/obj/item/storage/firstaid/regular = 1,
|
||||
/obj/item/storage/firstaid/ancient = 1,
|
||||
/obj/item/storage/firstaid/fire = 1,
|
||||
/obj/item/storage/firstaid/toxin = 1,
|
||||
/obj/item/storage/firstaid/radbgone = 1,
|
||||
/obj/item/storage/firstaid/o2 = 1,
|
||||
/obj/item/storage/firstaid/brute = 1
|
||||
)
|
||||
|
||||
/obj/effect/spawner/lootdrop/breathing_tanks
|
||||
name = "random internal tank(s) spawner"
|
||||
lootcount = 1
|
||||
loot = list(
|
||||
/obj/item/tank/internals/oxygen = 1,
|
||||
/obj/item/tank/internals/oxygen/yellow = 1,
|
||||
/obj/item/tank/internals/oxygen/red = 1,
|
||||
/obj/item/tank/internals/air = 1,
|
||||
/obj/item/tank/internals/plasmaman = 1,
|
||||
/obj/item/tank/internals/plasmaman/belt = 1,
|
||||
/obj/item/tank/internals/emergency_oxygen = 1,
|
||||
/obj/item/tank/internals/emergency_oxygen/engi = 1,
|
||||
/obj/item/tank/internals/emergency_oxygen/double = 1
|
||||
)
|
||||
|
||||
/obj/effect/spawner/lootdrop/breathing_masks
|
||||
name = "random internal mask(s) spawner"
|
||||
lootcount = 1
|
||||
loot = list(
|
||||
/obj/item/clothing/mask/gas = 2,
|
||||
/obj/item/clothing/mask/gas/glass = 4,
|
||||
/obj/item/clothing/mask/breath = 5,
|
||||
/obj/item/clothing/mask/breath/medical = 1
|
||||
)
|
||||
|
||||
/obj/effect/spawner/lootdrop/welder_tools/no_turf
|
||||
spawn_on_turf = FALSE
|
||||
|
||||
/obj/effect/spawner/lootdrop/low_tools/no_turf
|
||||
spawn_on_turf = FALSE
|
||||
|
||||
/obj/effect/spawner/lootdrop/breathing_tanks/no_turf
|
||||
spawn_on_turf = FALSE
|
||||
|
||||
/obj/effect/spawner/lootdrop/breathing_masks/no_turf
|
||||
spawn_on_turf = FALSE
|
||||
|
||||
/obj/effect/spawner/lootdrop/coin/no_turf
|
||||
spawn_on_turf = FALSE
|
||||
|
||||
|
||||
@@ -19,9 +19,12 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
|
||||
///Icon file for mob worn overlays.
|
||||
///no var for state because it should *always* be the same as icon_state
|
||||
var/icon/mob_overlay_icon
|
||||
//Forced mob worn layer instead of the standard preferred ssize.
|
||||
//Forced mob worn layer instead of the standard preferred size.
|
||||
var/alternate_worn_layer
|
||||
|
||||
var/icon/anthro_mob_worn_overlay //Version of the above dedicated to muzzles/digitigrade
|
||||
var/icon/taur_mob_worn_overlay // Idem but for taurs. Currently only used by suits.
|
||||
|
||||
var/list/alternate_screams = list() //REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
|
||||
|
||||
//Dimensions of the icon file used when this item is worn, eg: hats.dmi
|
||||
|
||||
@@ -245,7 +245,7 @@
|
||||
/obj/machinery/vending/autodrobe = "AutoDrobe",
|
||||
/obj/machinery/vending/assist = "\improper Vendomat",
|
||||
/obj/machinery/vending/engivend = "\improper Engi-Vend",
|
||||
/obj/machinery/vending/engivend = "\improper YouTool",
|
||||
/obj/machinery/vending/tool = "\improper YouTool",
|
||||
/obj/machinery/vending/sustenance = "\improper Sustenance Vendor",
|
||||
/obj/machinery/vending/dinnerware = "\improper Plasteel Chef's Dinnerware Vendor",
|
||||
/obj/machinery/vending/cart = "\improper PTech",
|
||||
|
||||
@@ -187,6 +187,7 @@
|
||||
body_parts_covered = CHEST|GROIN|LEGS|ARMS
|
||||
allowed = list(/obj/item/storage/book/bible, HOLY_WEAPONS, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
|
||||
hoodtype = /obj/item/clothing/head/hooded/chaplain_hood
|
||||
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_NO_ANTHRO_ICON
|
||||
|
||||
/obj/item/clothing/head/hooded/chaplain_hood
|
||||
name = "follower hood"
|
||||
|
||||
@@ -189,6 +189,7 @@
|
||||
slowdown = 2.0 //gotta pretend we're balanced.
|
||||
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 40, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60)
|
||||
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_NO_ANTHRO_ICON
|
||||
|
||||
/obj/item/clothing/suit/armor/plate/crusader/red
|
||||
icon_state = "crusader-red"
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
if (prob(40))
|
||||
new /obj/item/storage/toolbox/emergency(src)
|
||||
|
||||
switch (pickweight(list("small" = 40, "aid" = 25, "tank" = 20, "both" = 10, "nothing" = 5)))
|
||||
switch (pickweight(list("small" = 35, "aid" = 25, "tank" = 20, "both" = 10, "nothing" = 5, "rng" = 5)))
|
||||
if ("small")
|
||||
new /obj/item/tank/internals/emergency_oxygen(src)
|
||||
new /obj/item/tank/internals/emergency_oxygen(src)
|
||||
@@ -49,6 +49,12 @@
|
||||
if ("nothing")
|
||||
// doot
|
||||
|
||||
if ("rng")
|
||||
new /obj/effect/spawner/lootdrop/breathing_tanks/no_turf(src)
|
||||
new /obj/effect/spawner/lootdrop/breathing_tanks/no_turf(src)
|
||||
new /obj/effect/spawner/lootdrop/breathing_masks/no_turf(src)
|
||||
new /obj/effect/spawner/lootdrop/breathing_masks/no_turf(src)
|
||||
|
||||
return
|
||||
|
||||
/*
|
||||
@@ -100,13 +106,15 @@
|
||||
if(prob(70))
|
||||
new /obj/item/wrench(src)
|
||||
if(prob(70))
|
||||
new /obj/item/weldingtool(src)
|
||||
new /obj/effect/spawner/lootdrop/welder_tools/no_turf(src)
|
||||
if(prob(70))
|
||||
new /obj/item/crowbar(src)
|
||||
if(prob(70))
|
||||
new /obj/item/wirecutters(src)
|
||||
if(prob(70))
|
||||
new /obj/item/t_scanner(src)
|
||||
if(prob(70))
|
||||
new /obj/effect/spawner/lootdrop/low_tools/no_turf(src) //Spare random basic tool
|
||||
if(prob(20))
|
||||
new /obj/item/storage/belt/utility(src)
|
||||
if(prob(30))
|
||||
|
||||
@@ -158,11 +158,24 @@
|
||||
H.set_species(newrace, icon_update=0)
|
||||
|
||||
if(H.dna.species.use_skintones)
|
||||
var/new_s_tone = input(user, "Choose your skin tone:", "Race change") as null|anything in GLOB.skin_tones
|
||||
|
||||
var/list/choices = GLOB.skin_tones
|
||||
if(CONFIG_GET(number/allow_custom_skintones))
|
||||
choices += "custom"
|
||||
var/new_s_tone = input(H, "Choose your skin tone:", "Race change") as null|anything in choices
|
||||
if(new_s_tone)
|
||||
H.skin_tone = new_s_tone
|
||||
H.dna.update_ui_block(DNA_SKIN_TONE_BLOCK)
|
||||
if(new_s_tone == "custom")
|
||||
var/default = H.dna.skin_tone_override || null
|
||||
var/custom_tone = input(user, "Choose your custom skin tone:", "Race change", default) as color|null
|
||||
if(custom_tone)
|
||||
var/temp_hsv = RGBtoHSV(new_s_tone)
|
||||
if(ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3])
|
||||
to_chat(H,"<span class='danger'>Invalid color. Your color is not bright enough.</span>")
|
||||
else
|
||||
H.skin_tone = custom_tone
|
||||
H.dna.skin_tone_override = custom_tone
|
||||
else
|
||||
H.skin_tone = new_s_tone
|
||||
H.dna.update_ui_block(DNA_SKIN_TONE_BLOCK)
|
||||
|
||||
if(MUTCOLORS in H.dna.species.species_traits)
|
||||
var/new_mutantcolor = input(user, "Choose your skin color:", "Race change","#"+H.dna.features["mcolor"]) as color|null
|
||||
|
||||
Reference in New Issue
Block a user