mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-25 09:31:30 +00:00
Merge branch 'master' of https://github.com/PolarisSS13/Polaris into hairnets
This commit is contained in:
@@ -37,7 +37,7 @@
|
||||
#define MAT_COPPER "copper"
|
||||
#define MAT_QUARTZ "quartz"
|
||||
#define MAT_TIN "tin"
|
||||
#define MAT_VOPAL "void opal"
|
||||
#define MAT_MAGMELLITE "magmellite"
|
||||
#define MAT_ALUMINIUM "aluminium"
|
||||
#define MAT_BRONZE "bronze"
|
||||
#define MAT_PAINITE "painite"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
var/list/area/grand_list_of_areas = list()
|
||||
// Assemble areas that all exists (See DM reference if you are confused about loop labels)
|
||||
looping_station_areas:
|
||||
for(var/parentpath in global.the_station_areas)
|
||||
for(var/parentpath in using_map.the_station_areas)
|
||||
// Check its not excluded
|
||||
for(var/excluded_path in excluded_areas)
|
||||
if(ispath(parentpath, excluded_path))
|
||||
|
||||
@@ -2538,71 +2538,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
dynamic_lighting = 0
|
||||
requires_power = 0
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
/*
|
||||
Lists of areas to be used with is_type_in_list.
|
||||
Used in gamemodes code at the moment. --rastaf0
|
||||
*/
|
||||
|
||||
// CENTCOM
|
||||
var/list/centcom_areas = list (
|
||||
/area/centcom,
|
||||
/area/shuttle/escape/centcom,
|
||||
/area/shuttle/escape_pod1/centcom,
|
||||
/area/shuttle/escape_pod2/centcom,
|
||||
/area/shuttle/escape_pod3/centcom,
|
||||
/area/shuttle/escape_pod5/centcom,
|
||||
/area/shuttle/transport1/centcom,
|
||||
/area/shuttle/administration/centcom,
|
||||
/area/shuttle/specops/centcom,
|
||||
)
|
||||
|
||||
//SPACE STATION 13
|
||||
var/list/the_station_areas = list (
|
||||
/area/shuttle/arrival,
|
||||
/area/shuttle/escape/station,
|
||||
/area/shuttle/escape_pod1/station,
|
||||
/area/shuttle/escape_pod2/station,
|
||||
/area/shuttle/escape_pod3/station,
|
||||
/area/shuttle/escape_pod5/station,
|
||||
/area/shuttle/mining/station,
|
||||
/area/shuttle/transport1/station,
|
||||
// /area/shuttle/transport2/station,
|
||||
/area/shuttle/prison/station,
|
||||
/area/shuttle/administration/station,
|
||||
/area/shuttle/specops/station,
|
||||
/area/maintenance,
|
||||
/area/hallway,
|
||||
/area/bridge,
|
||||
/area/crew_quarters,
|
||||
/area/holodeck,
|
||||
/area/mint,
|
||||
/area/library,
|
||||
/area/chapel,
|
||||
/area/lawoffice,
|
||||
/area/engineering,
|
||||
/area/solar,
|
||||
/area/assembly,
|
||||
/area/teleporter,
|
||||
/area/medical,
|
||||
/area/security,
|
||||
/area/quartermaster,
|
||||
/area/janitor,
|
||||
/area/hydroponics,
|
||||
/area/rnd,
|
||||
/area/storage,
|
||||
/area/construction,
|
||||
/area/ai_monitored/storage/eva,
|
||||
/area/ai_monitored/storage/secure,
|
||||
/area/ai_monitored/storage/emergency,
|
||||
/area/ai_upload,
|
||||
/area/ai_upload_foyer,
|
||||
/area/ai
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
/area/beach
|
||||
name = "Keelin's private beach"
|
||||
icon_state = "yellow"
|
||||
|
||||
@@ -39,7 +39,7 @@ var/list/nuke_disks = list()
|
||||
var/disk_rescued = 1
|
||||
for(var/obj/item/weapon/disk/nuclear/D in nuke_disks)
|
||||
var/disk_area = get_area(D)
|
||||
if(!is_type_in_list(disk_area, centcom_areas))
|
||||
if(!is_type_in_list(disk_area, using_map.centcom_areas))
|
||||
disk_rescued = 0
|
||||
break
|
||||
var/crew_evacuated = (emergency_shuttle.returned())
|
||||
|
||||
@@ -835,7 +835,7 @@ var/global/list/all_objectives = list()
|
||||
for(var/datum/mind/cult_mind in cult.current_antagonists)
|
||||
if (cult_mind.current && cult_mind.current.stat!=2)
|
||||
var/area/A = get_area(cult_mind.current )
|
||||
if ( is_type_in_list(A, centcom_areas))
|
||||
if ( is_type_in_list(A, using_map.centcom_areas))
|
||||
acolytes_survived++
|
||||
if(acolytes_survived >= target_amount)
|
||||
return 0
|
||||
|
||||
@@ -99,7 +99,9 @@
|
||||
economic_modifier = 5
|
||||
access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station)
|
||||
minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station)
|
||||
banned_job_species = list("digital", SPECIES_PROMETHEAN)
|
||||
banned_job_species = list("digital")
|
||||
|
||||
min_age_by_species = list(SPECIES_PROMETHEAN = 5)
|
||||
|
||||
ideal_character_age = 40
|
||||
|
||||
|
||||
@@ -62,7 +62,9 @@
|
||||
access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_maint_tunnels, access_morgue, access_external_airlocks)
|
||||
minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_maint_tunnels, access_external_airlocks)
|
||||
minimal_player_age = 5
|
||||
banned_job_species = list(SPECIES_ZADDAT, SPECIES_PROMETHEAN, SPECIES_TESHARI, SPECIES_DIONA)
|
||||
banned_job_species = list(SPECIES_ZADDAT, SPECIES_TESHARI, SPECIES_DIONA)
|
||||
|
||||
min_age_by_species = list(SPECIES_PROMETHEAN = 8)
|
||||
|
||||
outfit_type = /decl/hierarchy/outfit/job/security/warden
|
||||
job_description = "The Warden watches over the physical Security Department, making sure the Brig and Armoury are secure and in order at all times. They oversee \
|
||||
@@ -87,7 +89,9 @@
|
||||
minimal_access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_eva, access_external_airlocks)
|
||||
economic_modifier = 5
|
||||
minimal_player_age = 3
|
||||
banned_job_species = list(SPECIES_ZADDAT, SPECIES_PROMETHEAN, SPECIES_DIONA)
|
||||
banned_job_species = list(SPECIES_ZADDAT, SPECIES_DIONA)
|
||||
|
||||
min_age_by_species = list(SPECIES_PROMETHEAN = 5)
|
||||
|
||||
outfit_type = /decl/hierarchy/outfit/job/security/detective
|
||||
job_description = "A Detective works to help Security find criminals who have not properly been identified, through interviews and forensic work. \
|
||||
|
||||
@@ -737,7 +737,7 @@ About the new airlock wires panel:
|
||||
// shock user with probability prb (if all connections & power are working)
|
||||
// returns 1 if shocked, 0 otherwise
|
||||
// The preceding comment was borrowed from the grille's shock script
|
||||
/obj/machinery/door/airlock/shock(mob/user, prb)
|
||||
/obj/machinery/door/airlock/shock(mob/living/user, prb)
|
||||
if(!arePowerSystemsOn())
|
||||
return 0
|
||||
if(hasShocked)
|
||||
@@ -1159,7 +1159,7 @@ About the new airlock wires panel:
|
||||
for (var/mob/O in viewers(src, null))
|
||||
if ((O.client && !( O.blinded )))
|
||||
O.show_message("[src.name]'s control panel bursts open, sparks spewing out!")
|
||||
|
||||
playsound(src.loc, 'sound/machines/airlock_break.ogg', 100, 1)
|
||||
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
|
||||
s.set_up(5, 1, src)
|
||||
s.start()
|
||||
@@ -1383,7 +1383,7 @@ About the new airlock wires panel:
|
||||
src.closeOther = A
|
||||
break
|
||||
name = "\improper [name]"
|
||||
|
||||
|
||||
. = ..()
|
||||
|
||||
//if assembly is given, create the new door from the assembly
|
||||
|
||||
@@ -271,11 +271,13 @@ Class Procs:
|
||||
state(text, "blue")
|
||||
playsound(src, 'sound/machines/ping.ogg', 50, 0)
|
||||
|
||||
/obj/machinery/proc/shock(mob/user, prb)
|
||||
/obj/machinery/proc/shock(mob/living/user, prb)
|
||||
if(inoperable())
|
||||
return FALSE
|
||||
if(!prob(prb))
|
||||
return FALSE
|
||||
if (!istype(user))
|
||||
return
|
||||
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
|
||||
s.set_up(5, 1, src)
|
||||
s.start()
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
/obj/item/weapon/tape_roll/proc/can_place(var/mob/living/carbon/human/H, var/mob/user)
|
||||
if(istype(user, /mob/living/silicon/robot) || user == H)
|
||||
return TRUE
|
||||
|
||||
|
||||
for (var/obj/item/weapon/grab/G in H.grabbed_by)
|
||||
if (G.loc == user && G.state >= GRAB_AGGRESSIVE)
|
||||
return TRUE
|
||||
@@ -33,7 +33,7 @@
|
||||
to_chat(user, "<span class='warning'>\The [H] doesn't have any eyes.</span>")
|
||||
return
|
||||
if(H.glasses)
|
||||
to_chat(user, "<span class='warning'>\The [H] is already wearing somethign on their eyes.</span>")
|
||||
to_chat(user, "<span class='warning'>\The [H] is already wearing something on their eyes.</span>")
|
||||
return
|
||||
if(H.head && (H.head.body_parts_covered & FACE))
|
||||
to_chat(user, "<span class='warning'>Remove their [H.head] first.</span>")
|
||||
|
||||
@@ -646,8 +646,8 @@
|
||||
/obj/item/weapon/ore/verdantium
|
||||
),
|
||||
prob(2);list(
|
||||
/obj/item/weapon/ore/void_opal,
|
||||
/obj/item/weapon/ore/void_opal
|
||||
/obj/item/weapon/ore/magmellite,
|
||||
/obj/item/weapon/ore/magmellite
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -932,3 +932,39 @@
|
||||
prob(3);/obj/item/clothing/accessory/poncho/thermal/purple,
|
||||
prob(3);/obj/item/clothing/accessory/poncho/thermal/blue)
|
||||
|
||||
/obj/random/mug
|
||||
name = "Random Mug"
|
||||
desc = "This is a random coffee mug."
|
||||
icon = 'icons/obj/drinks_mugs.dmi'
|
||||
icon_state = "coffeecup_spawner"
|
||||
|
||||
/obj/random/mug/item_to_spawn()
|
||||
return pick(/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/sol,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/fleet,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/fivearrows,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/psc,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/alma,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/almp,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/nt,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/metal/wulf,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/gilthari,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/zeng,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/wt,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/aether,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/bishop,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/oculum,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/one,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/puni,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/heart,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/pawn,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/diona,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/britcup,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tourist,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/flame,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/blue,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/black,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/green,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/green/dark,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/rainbow,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/metal)
|
||||
@@ -116,7 +116,10 @@
|
||||
/obj/item/weapon/extinguisher/mini,
|
||||
/obj/item/weapon/storage/box/freezer,
|
||||
/obj/item/clothing/accessory/storage/white_vest,
|
||||
/obj/item/taperoll/medical)
|
||||
/obj/item/taperoll/medical,
|
||||
/obj/item/device/gps/medical,
|
||||
/obj/item/device/geiger
|
||||
)
|
||||
|
||||
/obj/structure/closet/secure_closet/CMO
|
||||
name = "chief medical officer's locker"
|
||||
@@ -142,7 +145,8 @@
|
||||
/obj/item/taperoll/medical,
|
||||
/obj/item/clothing/suit/bio_suit/cmo,
|
||||
/obj/item/clothing/head/bio_hood/cmo,
|
||||
/obj/item/clothing/shoes/white)
|
||||
/obj/item/clothing/shoes/white,
|
||||
/obj/item/device/gps/medical/cmo)
|
||||
|
||||
/obj/structure/closet/secure_closet/CMO/Initialize()
|
||||
if(prob(50))
|
||||
|
||||
@@ -418,7 +418,7 @@
|
||||
/obj/structure/sign/levels/security
|
||||
name = "\improper Security Department"
|
||||
desc = "A level sign, stating the level to find the Security Department on."
|
||||
icon_state = "direction_sec"
|
||||
icon_state = "level_sec"
|
||||
|
||||
/obj/structure/sign/directions/security/armory
|
||||
name = "\improper Armory"
|
||||
@@ -428,7 +428,7 @@
|
||||
/obj/structure/sign/levels/security/armory
|
||||
name = "\improper Armory"
|
||||
desc = "A level sign, stating the level to find the Armory on."
|
||||
icon_state = "direction_armory"
|
||||
icon_state = "level_armory"
|
||||
|
||||
/obj/structure/sign/directions/security/brig
|
||||
name = "\improper Brig"
|
||||
@@ -510,12 +510,12 @@
|
||||
/obj/structure/sign/directions/science/toxins
|
||||
name = "\improper Toxins Lab"
|
||||
desc = "A direction sign, pointing out the way to the Toxins Lab."
|
||||
icon_state = "direction_sci"
|
||||
icon_state = "direction_toxins"
|
||||
|
||||
/obj/structure/sign/levels/science/toxins
|
||||
name = "\improper Toxins Lab"
|
||||
desc = "A level sign, stating the level to find the Toxins Lab on."
|
||||
icon_state = "level_sci"
|
||||
icon_state = "level_toxins"
|
||||
|
||||
/obj/structure/sign/directions/science/robotics
|
||||
name = "\improper Robotics Workshop"
|
||||
@@ -581,12 +581,12 @@
|
||||
/obj/structure/sign/directions/medical/chemlab
|
||||
name = "\improper Chemistry Lab"
|
||||
desc = "A direction sign, pointing out the way to the Chemistry Lab."
|
||||
icon_state = "direction_med"
|
||||
icon_state = "direction_chemlab"
|
||||
|
||||
/obj/structure/sign/levels/medical/chemlab
|
||||
name = "\improper Chemistry Lab"
|
||||
desc = "A level sign, stating the level to find the Chemistry Lab on."
|
||||
icon_state = "level_med"
|
||||
icon_state = "level_chemlab"
|
||||
|
||||
/obj/structure/sign/directions/medical/surgery
|
||||
name = "\improper Surgery"
|
||||
@@ -1007,7 +1007,7 @@
|
||||
icon_state = "level-b-large"
|
||||
|
||||
/obj/structure/sign/level/ground
|
||||
name = "\improper Basement Level"
|
||||
name = "\improper Ground Level"
|
||||
icon_state = "level-g"
|
||||
|
||||
/obj/structure/sign/level/ground/large
|
||||
|
||||
@@ -295,3 +295,15 @@
|
||||
/datum/gear/accessory/virginkiller/New()
|
||||
..()
|
||||
gear_tweaks += gear_tweak_free_color_choice
|
||||
|
||||
/datum/gear/accessory/pride
|
||||
display_name = "pride pin selection"
|
||||
path = /obj/item/clothing/accessory/pride
|
||||
|
||||
/datum/gear/accessory/pride/New()
|
||||
..()
|
||||
var/list/pridepins = list()
|
||||
for(var/pridepin in typesof(/obj/item/clothing/accessory/pride))
|
||||
var/obj/item/clothing/accessory/pridepin_type = pridepin
|
||||
pridepins[initial(pridepin_type.name)] = pridepin_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(pridepins))
|
||||
@@ -120,6 +120,52 @@
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(lunchboxes))
|
||||
gear_tweaks += new/datum/gear_tweak/contents(lunchables_lunches(), lunchables_snacks(), lunchables_drinks())
|
||||
|
||||
/datum/gear/coffeemug
|
||||
display_name = "coffee mugs"
|
||||
description = "A coffee mug in various designs."
|
||||
cost = 1
|
||||
path = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug
|
||||
|
||||
/datum/gear/coffeemug/New()
|
||||
..()
|
||||
var/list/coffeemugs = list()
|
||||
coffeemugs["plain coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug
|
||||
coffeemugs["SCG coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/sol
|
||||
coffeemugs["Fleet coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/fleet
|
||||
coffeemugs["Five Arrows coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/fivearrows
|
||||
coffeemugs["Pearlshield coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/psc
|
||||
coffeemugs["Almach Association coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/alma
|
||||
coffeemugs["Almach Protectorate coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/almp
|
||||
coffeemugs["NT coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/nt
|
||||
coffeemugs["Wulf Aeronautics mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/metal/wulf
|
||||
coffeemugs["Gilthari Exports coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/gilthari
|
||||
coffeemugs["Zeng-Hu coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/zeng
|
||||
coffeemugs["Ward-Takahashi coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/wt
|
||||
coffeemugs["Aether Atmospherics coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/aether
|
||||
coffeemugs["Bishop Cybernetics coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/bishop
|
||||
coffeemugs["Oculum Broadcast coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/oculum
|
||||
coffeemugs["#1 coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/one
|
||||
coffeemugs["#1 monkey coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/puni
|
||||
coffeemugs["heart coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/heart
|
||||
coffeemugs["pawn coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/pawn
|
||||
coffeemugs["diona coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/diona
|
||||
coffeemugs["british coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/britcup
|
||||
coffeemugs["NCS Northern Star coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tourist
|
||||
coffeemugs["flame coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/flame
|
||||
coffeemugs["blue coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/blue
|
||||
coffeemugs["black coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/black
|
||||
coffeemugs["green coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/green
|
||||
coffeemugs["dark green coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/green/dark
|
||||
coffeemugs["rainbow coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/rainbow
|
||||
coffeemugs["metal coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/metal
|
||||
coffeemugs["glass coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/glass
|
||||
coffeemugs["tall coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall
|
||||
coffeemugs["tall black coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/black
|
||||
coffeemugs["tall metal coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/metal
|
||||
coffeemugs["tall rainbow coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/rainbow
|
||||
gear_tweaks += new /datum/gear_tweak/path(coffeemugs)
|
||||
gear_tweaks += new /datum/gear_tweak/reagents(lunchables_drink_reagents())
|
||||
|
||||
/datum/gear/towel
|
||||
display_name = "towel"
|
||||
path = /obj/item/weapon/towel
|
||||
|
||||
@@ -86,11 +86,6 @@
|
||||
icon_state = "evening_gloves"
|
||||
addblends = "evening_gloves_a"
|
||||
|
||||
cold_protection = HANDS
|
||||
min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
heat_protection = HANDS
|
||||
max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||
|
||||
/obj/item/clothing/gloves/fingerless
|
||||
desc = "A pair of gloves that don't actually cover the fingers."
|
||||
name = "fingerless gloves"
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
to_chat(M, "This Shroud has already been customized!")
|
||||
return 0
|
||||
|
||||
suit_style = input(M, "Which suit style would you like?") in list("Engineer", "Spacer", "Knight", "Fashion", "Bishop", "Hegemony", "Rugged", "Soft")
|
||||
suit_style = input(M, "Which suit style would you like?") in list("Engineer", "Spacer", "Knight", "Fashion", "Bishop", "Hegemony", "Rugged", "Soft", "Ancient", "Healer", "Clockwork", "Retro")
|
||||
switch(suit_style)
|
||||
if("Engineer")
|
||||
name = "\improper Engineer's Guild Shroud"
|
||||
@@ -107,16 +107,60 @@
|
||||
helmet.icon_state = "zaddat_rugged"
|
||||
helmet.item_state = "zaddat_rugged"
|
||||
if("Soft")
|
||||
name = "\improper soft Shroud"
|
||||
base_name = "\improper soft Shroud"
|
||||
name = "soft Shroud"
|
||||
base_name = "soft Shroud"
|
||||
desc = "Material and design is chosen for practical reasons, making it take as little space as possible when stowed whilst also providing reasonable comfort when worn for long periods."
|
||||
icon_state = "zaddat_soft"
|
||||
item_state = "zaddat_soft"
|
||||
if(helmet)
|
||||
helmet.name = "\improper soft Shroud hood"
|
||||
helmet.name = "soft Shroud hood"
|
||||
helmet.desc = "Not as solid as a proper helmet, but works nonetheless."
|
||||
helmet.icon_state = "zaddat_soft"
|
||||
helmet.item_state = "zaddat_soft"
|
||||
if("Ancient")
|
||||
name = "ancient Shroud"
|
||||
base_name = "ancient Shroud"
|
||||
desc = "Often seen among the guildless or dishonored, this is an extremely old design of Shroud and has clearly seen its years."
|
||||
icon_state = "zaddat_ancient"
|
||||
item_state = "zaddat_ancient"
|
||||
if(helmet)
|
||||
helmet.name = "ancient Shroud helmet"
|
||||
helmet.desc = "A crack in the visor allows some light through, though it maintains its seal."
|
||||
helmet.icon_state = "zaddat_ancient"
|
||||
helmet.item_state = "zaddat_ancient"
|
||||
if("Healer")
|
||||
name = "healer Shroud"
|
||||
base_name = "healer Shroud"
|
||||
desc = "A shroud designed for those working within medicine, a common pursuit for Zaddat. it is clearly marked with the standard cross and colors."
|
||||
icon_state = "zaddat_healer"
|
||||
item_state = "zaddat_healer"
|
||||
if(helmet)
|
||||
helmet.name = "healer Shroud helmet"
|
||||
helmet.desc = "A helmet designed to signal the wearer as a healer."
|
||||
helmet.icon_state = "zaddat_healer"
|
||||
helmet.item_state = "zaddat_healer"
|
||||
if("Clockwork")
|
||||
name = "clockword Shroud"
|
||||
base_name = "clockword Shroud"
|
||||
desc = "Inspired by clockwork designs seen in some ancient human technologies and subcultures, this suit was popularized through osmosis with those subcultures."
|
||||
icon_state = "zaddat_clockwork"
|
||||
item_state = "zaddat_clockwork"
|
||||
if(helmet)
|
||||
helmet.name = "clockword Shroud helmet"
|
||||
helmet.desc = "Plated in brass."
|
||||
helmet.icon_state = "zaddat_clockwork"
|
||||
helmet.item_state = "zaddat_clockwork"
|
||||
if("Retro")
|
||||
name = "retro Shroud"
|
||||
base_name = "retro Shroud"
|
||||
desc = "This suit is derivative of some seen in ancient human media, long before voidsuits were commonplace. Such media has found a resurgence in popularity among some Zaddat."
|
||||
icon_state = "zaddat_retro"
|
||||
item_state = "zaddat_retro"
|
||||
if(helmet)
|
||||
helmet.name = "retro Shroud helmet"
|
||||
helmet.desc = "A classic design for the modern age."
|
||||
helmet.icon_state = "zaddat_retro"
|
||||
helmet.item_state = "zaddat_retro"
|
||||
|
||||
to_chat(M, "You finish customizing your Shroud. Looking good!")
|
||||
has_been_customized = TRUE
|
||||
|
||||
@@ -165,7 +165,7 @@
|
||||
|
||||
/obj/item/clothing/accessory/stethoscope/do_surgery(mob/living/carbon/human/M, mob/living/user)
|
||||
return attack(M, user) //default surgery behaviour is just to scan as usual
|
||||
|
||||
|
||||
|
||||
/obj/item/clothing/accessory/stethoscope/attack(mob/living/carbon/human/M, mob/living/user)
|
||||
if(ishuman(M) && isliving(user))
|
||||
@@ -433,3 +433,36 @@
|
||||
icon_state = "sash"
|
||||
slot = ACCESSORY_SLOT_OVER
|
||||
|
||||
/obj/item/clothing/accessory/pride
|
||||
name = "pride pin"
|
||||
desc = "A pin displaying pride in one's identity."
|
||||
icon_state = "pride"
|
||||
slot = ACCESSORY_SLOT_MEDAL
|
||||
|
||||
/obj/item/clothing/accessory/pride/bi
|
||||
name = "bisexual pride pin"
|
||||
icon_state = "pride_bi"
|
||||
|
||||
/obj/item/clothing/accessory/pride/trans
|
||||
name = "transgender pride pin"
|
||||
icon_state = "pride_trans"
|
||||
|
||||
/obj/item/clothing/accessory/pride/ace
|
||||
name = "asexual pride pin"
|
||||
icon_state = "pride_ace"
|
||||
|
||||
/obj/item/clothing/accessory/pride/enby
|
||||
name = "nonbinary pride pin"
|
||||
icon_state = "pride_enby"
|
||||
|
||||
/obj/item/clothing/accessory/pride/pan
|
||||
name = "pansexual pride pin"
|
||||
icon_state = "pride_pan"
|
||||
|
||||
/obj/item/clothing/accessory/pride/lesbian
|
||||
name = "lesbian pride pin"
|
||||
icon_state = "pride_lesbian"
|
||||
|
||||
/obj/item/clothing/accessory/pride/intersex
|
||||
name = "intersex pride pin"
|
||||
icon_state = "pride_intersex"
|
||||
@@ -80,4 +80,4 @@
|
||||
|
||||
/obj/item/weapon/storage/box/glasses/coffeemug
|
||||
name = "box of coffee mugs"
|
||||
starts_with = list(/obj/item/weapon/reagent_containers/food/drinks/britcup = 7)
|
||||
starts_with = list(/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug = 7)
|
||||
224
code/modules/food/drinkingglass/mugs.dm
Normal file
224
code/modules/food/drinkingglass/mugs.dm
Normal file
@@ -0,0 +1,224 @@
|
||||
/obj/item/weapon/reagent_containers/food/drinks/britcup
|
||||
name = "cup"
|
||||
desc = "A cup with the British flag emblazoned on it."
|
||||
icon_state = "britcup"
|
||||
volume = 30
|
||||
center_of_mass = list("x"=15, "y"=13)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/britcup/on_reagent_change()
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug
|
||||
name = "coffee mug"
|
||||
base_name = "mug"
|
||||
desc = "A plain white coffee mug."
|
||||
icon = 'icons/obj/drinks_mugs.dmi'
|
||||
base_icon = "coffeecup"
|
||||
volume = 30
|
||||
var/fillsource = "coffeecup"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/update_icon()
|
||||
cut_overlays()
|
||||
|
||||
if(reagents.total_volume)
|
||||
var/image/filling = image('icons/obj/drinks_mugs.dmi', src, null)
|
||||
var/percent = round((reagents.total_volume / volume) * 100)
|
||||
switch(percent)
|
||||
if(0 to 39)
|
||||
filling.icon_state = null
|
||||
return
|
||||
if(40 to 79) filling.icon_state = "[fillsource]40"
|
||||
if(80 to 99) filling.icon_state = "[fillsource]80"
|
||||
if(100 to INFINITY) filling.icon_state = "[fillsource]100"
|
||||
filling.color = reagents.get_color()
|
||||
add_overlay(filling)
|
||||
|
||||
// Government
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/sol
|
||||
name = "\improper SCG coffee mug"
|
||||
desc = "A blue coffee mug emblazoned with the crest of the Solar Confederate Government."
|
||||
base_icon = "coffeecup_sol"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/fleet
|
||||
name = "\improper SCG Fleet coffee cup"
|
||||
desc = "A coffee mug imprinted with the emblem of the Solar Confederate Fleet."
|
||||
base_icon = "coffeecup_fleet"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/fivearrows
|
||||
name = "\improper Five Arrows coffee mug"
|
||||
desc = "A coffee mug with the flag of the Five Arrows proudly displayed on it."
|
||||
base_icon = "coffeecup_fivearrows"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/alma
|
||||
name = "\improper Almach Association coffee cup"
|
||||
desc = "A grey coffee cup emblazoned with the star of the Almach Association."
|
||||
icon_state = "coffeecup_alma"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/almp
|
||||
name = "\improper Almach Protectorate coffee cup"
|
||||
desc = "A purple coffee cup emblazoned with the star of the Almach Protectorate."
|
||||
icon_state = "coffeecup_almp"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/psc
|
||||
name = "\improper Pearlshield coffee mug"
|
||||
desc = "A coffee mug bearing the symbol of the Pearlshield Coalition."
|
||||
base_icon = "coffeecup_psc"
|
||||
|
||||
// Corporations
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/nt
|
||||
name = "\improper NT coffee mug"
|
||||
desc = "A blue NanoTrasen coffee mug."
|
||||
base_icon = "coffeecup_NT"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/metal/wulf
|
||||
name = "\improper Wulf Aeronautics coffee mug"
|
||||
desc = "A metal coffee mug bearing the livery of Wulf Aeronautics."
|
||||
base_icon = "coffeecup_wulf"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/gilthari
|
||||
name = "\improper Gilthari Exports coffee mug"
|
||||
desc = "A coffee mug bearing golden G of Gilthari Exports."
|
||||
base_icon = "coffeecup_gilth"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/wt
|
||||
name = "\improper Ward-Takahashi coffee mug"
|
||||
desc = "A coffee mug in a geometric Ward-Takahashi design."
|
||||
base_icon = "coffeecup_wt"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/aether
|
||||
name = "\improper Aether Atmospherics coffee mug"
|
||||
desc = "A coffee mug in Aether Atmospherics colours."
|
||||
base_icon = "coffeecup_aether"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/zeng
|
||||
name = "\improper Zeng-Hu coffee cup"
|
||||
desc = "A coffee cup bearing the Zeng-Hu logo."
|
||||
icon_state = "coffeecup_zeng"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/bishop
|
||||
name = "\improper Bishop coffee mug"
|
||||
desc = "A black coffee mug adorned with Bishop's logo."
|
||||
base_icon = "coffeecup_bishop"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/oculum
|
||||
name = "pawn coffee mug"
|
||||
desc = "A black and blue coffee mug decorated with the logo of Oculum Broadcast."
|
||||
base_icon = "coffeecup_oculum"
|
||||
|
||||
// Symbols, markings
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/one
|
||||
name = "#1 coffee mug"
|
||||
desc = "A white coffee mug, prominently featuring a #1."
|
||||
base_icon = "coffeecup_one"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/puni
|
||||
name = "#1 monkey coffee mug"
|
||||
desc = "A white coffee mug, prominently featuring a \"#1 monkey\" decal."
|
||||
base_icon = "coffeecup_puni"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/heart
|
||||
name = "heart coffee mug"
|
||||
desc = "A white coffee mug, it prominently features a red heart."
|
||||
base_icon = "coffeecup_heart"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/pawn
|
||||
name = "pawn coffee mug"
|
||||
desc = "A black coffee mug adorned with the image of a red chess pawn."
|
||||
base_icon = "coffeecup_pawn"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/diona
|
||||
name = "diona nymph coffee mug"
|
||||
desc = "A green coffee mug featuring the image of a diona nymph."
|
||||
base_icon = "coffeecup_diona"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/britcup
|
||||
name = "british coffee mug"
|
||||
desc = "A coffee mug with the British flag emblazoned on it."
|
||||
base_icon = "coffeecup_brit"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/flame
|
||||
name = "flame coffee cup"
|
||||
desc = "A coffee cup with the a flame emblazoned on it."
|
||||
icon_state = "coffeecup_flame"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tourist
|
||||
name = "\improper Northern Star coffee mug"
|
||||
desc = "A novelty coffee mug depicting the NCS Northern Star."
|
||||
base_icon = "coffeecup_northstar"
|
||||
|
||||
// Pure colors & other
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/black
|
||||
name = "black coffee mug"
|
||||
desc = "A sleek black coffee mug."
|
||||
base_icon = "coffeecup_black"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/green
|
||||
name = "green coffee mug"
|
||||
desc = "A pale green and pink coffee mug."
|
||||
base_icon = "coffeecup_green"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/green/dark
|
||||
desc = "A dark green coffee mug."
|
||||
base_icon = "coffeecup_corp"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/blue
|
||||
name = "blue coffee mug"
|
||||
desc = "A blue coffee mug."
|
||||
base_icon = "coffeecup_blue"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/rainbow
|
||||
name = "rainbow coffee mug"
|
||||
desc = "A rainbow coffee mug. The colors are almost as blinding as a welder."
|
||||
base_icon = "coffeecup_rainbow"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/metal
|
||||
name = "metal coffee mug"
|
||||
desc = "A metal coffee mug. You're not sure which metal."
|
||||
base_icon = "coffeecup_metal"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/glass
|
||||
name = "glass coffee mug"
|
||||
desc = "A glass coffee mug, using space age technology to keep it cool for use."
|
||||
base_icon = "glasscoffeecup"
|
||||
fillsource = "glasscoffeecup"
|
||||
|
||||
|
||||
// Tall coffee mugs
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall
|
||||
name = "tall coffee mug"
|
||||
desc = "An unreasonably tall coffee mug, for when you really need to wake up in the morning."
|
||||
icon = 'icons/obj/drinks_mugs_tall.dmi'
|
||||
base_icon = "coffeecup_tall"
|
||||
fillsource = "coffeecup_tall"
|
||||
volume = 60
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/update_icon()
|
||||
cut_overlays()
|
||||
|
||||
if(reagents.total_volume)
|
||||
var/image/filling = image('icons/obj/drinks_mugs_tall.dmi', src, null)
|
||||
var/percent = round((reagents.total_volume / volume) * 100)
|
||||
switch(percent)
|
||||
if(0 to 69)
|
||||
filling.icon_state = null
|
||||
return
|
||||
if(70 to 89) filling.icon_state = "[fillsource]70"
|
||||
if(90 to 99) filling.icon_state = "[fillsource]90"
|
||||
if(100 to INFINITY) filling.icon_state = "[fillsource]100"
|
||||
filling.color = reagents.get_color()
|
||||
add_overlay(filling)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/black
|
||||
name = "tall black coffee mug"
|
||||
desc = "An unreasonably tall coffee mug, for when you really need to wake up in the morning. This one is black."
|
||||
base_icon = "coffeecup_tall_black"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/metal
|
||||
name = "tall metal coffee mug"
|
||||
desc = "An unreasonably tall coffee mug, for when you really need to wake up in the morning. This one is made of metal."
|
||||
base_icon = "coffeecup_tall_metal"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/rainbow
|
||||
name = "tall rainbow coffee mug"
|
||||
desc = "An unreasonably tall coffee mug, for when you really need to wake up in the morning. This one is rainbow colored."
|
||||
base_icon = "coffeecup_tall_rainbow"
|
||||
@@ -418,15 +418,4 @@
|
||||
desc = "Keeping your drinks at the perfect temperature since 1892."
|
||||
icon_state = "vacuumflask"
|
||||
volume = 60
|
||||
center_of_mass = list("x"=15, "y"=4)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/britcup
|
||||
name = "cup"
|
||||
desc = "A cup with the British flag emblazoned on it."
|
||||
icon_state = "britcup"
|
||||
volume = 30
|
||||
center_of_mass = list("x"=15, "y"=13)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/britcup/on_reagent_change()
|
||||
..()
|
||||
|
||||
center_of_mass = list("x"=15, "y"=4)
|
||||
@@ -3580,7 +3580,7 @@
|
||||
bitesize = 2
|
||||
center_of_mass = list("x"=16, "y"=12)
|
||||
nutriment_amt = 4
|
||||
nutriment_desc = "bun"
|
||||
nutriment_desc = list("bun" = 4)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
// Bun + meatball = burger
|
||||
|
||||
@@ -95,7 +95,7 @@ This allows for events that have their announcement happen after the end itself.
|
||||
|
||||
/datum/event2/event/proc/find_random_areas(list/specific_areas = list(), ignore_occupancy = FALSE)
|
||||
if(!LAZYLEN(specific_areas))
|
||||
specific_areas = global.the_station_areas.Copy()
|
||||
specific_areas = using_map.the_station_areas.Copy()
|
||||
|
||||
var/list/area/grand_list_of_areas = get_all_existing_areas_of_types(specific_areas)
|
||||
. = list()
|
||||
|
||||
@@ -104,6 +104,8 @@
|
||||
abort()
|
||||
|
||||
/datum/event2/event/blob/start()
|
||||
if(!open_turfs.len)
|
||||
set_up()
|
||||
for(var/i = 1 to number_of_blobs)
|
||||
var/turf/T = pick(open_turfs)
|
||||
var/obj/structure/blob/core/new_blob = new spawn_blob_type(T)
|
||||
|
||||
@@ -314,6 +314,9 @@
|
||||
for(var/obj/effect/decal/cleanable/blood/B in linkedholodeck)
|
||||
qdel(B)
|
||||
|
||||
for(var/obj/effect/landmark/L in linkedholodeck)
|
||||
qdel(L)
|
||||
|
||||
holographic_objs = A.copy_contents_to(linkedholodeck , 1)
|
||||
for(var/obj/holo_obj in holographic_objs)
|
||||
holo_obj.alpha *= 0.8 //give holodeck objs a slight transparency
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/proc/spacevine_infestation(var/potency_min=70, var/potency_max=100, var/maturation_min=5, var/maturation_max=15)
|
||||
spawn() //to stop the secrets panel hanging
|
||||
var/list/turf/simulated/floor/turfs = list() //list of all the empty floor turfs in the hallway areas
|
||||
for(var/areapath in typesof(/area/hallway))
|
||||
for(var/areapath in typesof(using_map.hallway_areas))
|
||||
var/area/A = locate(areapath)
|
||||
for(var/turf/simulated/floor/F in A.contents)
|
||||
if(!F.check_density())
|
||||
|
||||
@@ -69,12 +69,12 @@
|
||||
sheet_plural_name = "gems"
|
||||
supply_conversion_value = 4
|
||||
|
||||
/datum/material/void_opal
|
||||
name = "void opal"
|
||||
display_name = "void opal"
|
||||
use_name = "void opal"
|
||||
/datum/material/magmellite
|
||||
name = "magmellite"
|
||||
display_name = "magmellite"
|
||||
use_name = "magmellite"
|
||||
icon_colour = "#0f0f0f"
|
||||
stack_type = /obj/item/stack/material/void_opal
|
||||
stack_type = /obj/item/stack/material/magmellite
|
||||
flags = MATERIAL_UNMELTABLE
|
||||
cut_delay = 60
|
||||
reflectivity = 0
|
||||
@@ -82,7 +82,7 @@
|
||||
shard_type = SHARD_SHARD
|
||||
tableslam_noise = 'sound/effects/Glasshit.ogg'
|
||||
hardness = 100
|
||||
stack_origin_tech = list(TECH_ARCANE = 1, TECH_MATERIAL = 6)
|
||||
stack_origin_tech = list(TECH_BLUESPACE = 5, TECH_MATERIAL = 7)
|
||||
sheet_singular_name = "gem"
|
||||
sheet_plural_name = "gems"
|
||||
supply_conversion_value = 30 // These are hilariously rare.
|
||||
|
||||
@@ -21,11 +21,11 @@
|
||||
apply_colour = 1
|
||||
no_variants = FALSE
|
||||
|
||||
/obj/item/stack/material/void_opal
|
||||
name = "void opal"
|
||||
/obj/item/stack/material/magmellite
|
||||
name = "magmellite"
|
||||
icon_state = "sheet-void_opal"
|
||||
singular_name = "void opal"
|
||||
default_type = "void opal"
|
||||
singular_name = "magmellite"
|
||||
default_type = "magmellite"
|
||||
apply_colour = 1
|
||||
no_variants = FALSE
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
|
||||
// Found with an ultra laser. exotic_drilling >= 2
|
||||
var/list/ore_types_rare = list(
|
||||
"void opal" = /obj/item/weapon/ore/void_opal,
|
||||
"magmellite" = /obj/item/weapon/ore/magmellite,
|
||||
MAT_VERDANTIUM = /obj/item/weapon/ore/verdantium
|
||||
)
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
if("diamond", "painite") ore_type = "precious gems"
|
||||
if("uranium") ore_type = "nuclear fuel"
|
||||
if("phoron", "osmium", "hydrogen") ore_type = "exotic matter"
|
||||
if("verdantium", "void opal") ore_type = "anomalous matter"
|
||||
if("verdantium", "magmellite") ore_type = "anomalous matter"
|
||||
|
||||
if(ore_type) metals[ore_type] += T.resources[metal]
|
||||
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
"carbon" = 1,
|
||||
"raw copper" = 1,
|
||||
"raw tin" = 1,
|
||||
"void opal" = 3,
|
||||
"magmellite" = 3,
|
||||
"painite" = 3,
|
||||
"quartz" = 3,
|
||||
"raw bauxite" = 5,
|
||||
|
||||
@@ -6,7 +6,7 @@ var/list/mining_overlay_cache = list()
|
||||
icon = 'icons/turf/walls.dmi'
|
||||
icon_state = "rock-dark"
|
||||
density = 1
|
||||
|
||||
|
||||
/turf/simulated/mineral //wall piece
|
||||
name = "rock"
|
||||
icon = 'icons/turf/walls.dmi'
|
||||
@@ -58,7 +58,7 @@ var/list/mining_overlay_cache = list()
|
||||
"copper" = /obj/item/weapon/ore/copper,
|
||||
// "tin" = /obj/item/weapon/ore/tin,
|
||||
"bauxite" = /obj/item/weapon/ore/bauxite,
|
||||
// "void opal" = /obj/item/weapon/ore/void_opal,
|
||||
"magmellite" = /obj/item/weapon/ore/magmellite,
|
||||
// "painite" = /obj/item/weapon/ore/painite,
|
||||
// "quartz" = /obj/item/weapon/ore/quartz,
|
||||
"rutile" = /obj/item/weapon/ore/rutile
|
||||
@@ -278,14 +278,15 @@ var/list/mining_overlay_cache = list()
|
||||
mined_ore = 2 //some of the stuff gets blown up
|
||||
GetDrilled()
|
||||
|
||||
if(severity <= 2) // Now to expose the ore lying under the sand.
|
||||
if(severity <= 2 && length(resources)) // Now to expose the ore lying under the sand.
|
||||
spawn(1) // Otherwise most of the ore is lost to the explosion, which makes this rather moot.
|
||||
for(var/ore in resources)
|
||||
var/amount_to_give = rand(CEILING(resources[ore]/2, 1), resources[ore]) // Should result in at least one piece of ore.
|
||||
for(var/i=1, i <= amount_to_give, i++)
|
||||
var/amount_to_give = rand(CEILING(resources[ore] / 2, 1), resources[ore]) // Should result in at least one piece of ore.
|
||||
for(var/i = 1 to amount_to_give)
|
||||
var/oretype = ore_types[ore]
|
||||
new oretype(src)
|
||||
resources[ore] = 0
|
||||
resources = null
|
||||
|
||||
|
||||
/turf/simulated/mineral/bullet_act(var/obj/item/projectile/Proj) // only emitters for now
|
||||
if(Proj.excavation_amount)
|
||||
@@ -679,10 +680,10 @@ var/list/mining_overlay_cache = list()
|
||||
|
||||
var/mineral_name
|
||||
if(rare_ore)
|
||||
mineral_name = pickweight(list("marble" = 5,/* "quartz" = 15,*/ "copper" = 10, /*"tin" = 5,*/ "bauxite" = 5, "uranium" = 15, "platinum" = 20, "hematite" = 15, "rutile" = 20, "carbon" = 15, "diamond" = 3, "gold" = 15, "silver" = 15, "phoron" = 25, "lead" = 5,/* "void opal" = 1,*/ "verdantium" = 2/*, "painite" = 1*/))
|
||||
mineral_name = pickweight(list("marble" = 5,/* "quartz" = 15,*/ "copper" = 10, /*"tin" = 5,*/ "bauxite" = 5, "uranium" = 15, "platinum" = 20, "hematite" = 15, "rutile" = 20, "carbon" = 15, "diamond" = 3, "gold" = 15, "silver" = 15, "phoron" = 25, "lead" = 5, "magmellite" = 1, "verdantium" = 2/*, "painite" = 1*/))
|
||||
|
||||
else
|
||||
mineral_name = pickweight(list("marble" = 3,/* "quartz" = 10,*/ "copper" = 20, /*"tin" = 15,*/ "bauxite" = 15, "uranium" = 10, "platinum" = 10, "hematite" = 70, "rutile" = 15, "carbon" = 70, "diamond" = 2, "gold" = 10, "silver" = 10, "phoron" = 20, "lead" = 3,/* "void opal" = 1,*/ "verdantium" = 1/*, "painite" = 1*/))
|
||||
mineral_name = pickweight(list("marble" = 3,/* "quartz" = 10,*/ "copper" = 20, /*"tin" = 15,*/ "bauxite" = 15, "uranium" = 10, "platinum" = 10, "hematite" = 70, "rutile" = 15, "carbon" = 70, "diamond" = 2, "gold" = 10, "silver" = 10, "phoron" = 20, "lead" = 3, "magmellite" = 1, "verdantium" = 1/*, "painite" = 1*/))
|
||||
|
||||
if(mineral_name && (mineral_name in GLOB.ore_data))
|
||||
mineral = GLOB.ore_data[mineral_name]
|
||||
|
||||
@@ -127,10 +127,10 @@
|
||||
icon_state = "ore_rutile"
|
||||
material = "rutile"
|
||||
|
||||
/obj/item/weapon/ore/void_opal
|
||||
name = "raw void opal"
|
||||
/obj/item/weapon/ore/magmellite
|
||||
name = "impure magmellite"
|
||||
icon_state = "ore_void_opal"
|
||||
material = "void opal"
|
||||
material = "magmellite"
|
||||
|
||||
/obj/item/weapon/ore/painite
|
||||
name = "raw painite"
|
||||
|
||||
@@ -235,11 +235,11 @@
|
||||
ore = /obj/item/weapon/ore/painite
|
||||
scan_icon = "mineral_rare"
|
||||
|
||||
/ore/void_opal
|
||||
name = "void opal"
|
||||
display_name = "rough void opal"
|
||||
compresses_to = "void opal"
|
||||
/ore/magmellite
|
||||
name = "magmellite"
|
||||
display_name = "impure magmellite"
|
||||
compresses_to = "magmellite"
|
||||
result_amount = 5
|
||||
spread_chance = 1
|
||||
ore = /obj/item/weapon/ore/void_opal
|
||||
ore = /obj/item/weapon/ore/magmellite
|
||||
scan_icon = "mineral_rare"
|
||||
|
||||
@@ -45,7 +45,7 @@ var/datum/species/shapeshifter/promethean/prometheans
|
||||
female_cough_sounds = list('sound/effects/slime_squish.ogg')
|
||||
|
||||
min_age = 1
|
||||
max_age = 16
|
||||
max_age = 24
|
||||
|
||||
economic_modifier = 3
|
||||
|
||||
@@ -201,12 +201,13 @@ var/datum/species/shapeshifter/promethean/prometheans
|
||||
H.adjust_nutrition(rand(10, 20))
|
||||
if(H.clean_blood(1))
|
||||
H.adjust_nutrition(rand(5, 15))
|
||||
if(H.r_hand)
|
||||
if(H.r_hand.clean_blood())
|
||||
H.adjust_nutrition(rand(5, 15))
|
||||
if(H.l_hand)
|
||||
if(H.l_hand.clean_blood())
|
||||
H.adjust_nutrition(rand(5, 15))
|
||||
if(!(H.gloves || (H.wear_suit && (H.wear_suit.body_parts_covered & HANDS))))
|
||||
if(H.r_hand)
|
||||
if(H.r_hand.clean_blood())
|
||||
H.adjust_nutrition(rand(5, 15))
|
||||
if(H.l_hand)
|
||||
if(H.l_hand.clean_blood())
|
||||
H.adjust_nutrition(rand(5, 15))
|
||||
if(H.head)
|
||||
if(H.head.clean_blood())
|
||||
H.update_inv_head(0)
|
||||
|
||||
@@ -135,7 +135,7 @@
|
||||
O_LUNGS = /obj/item/organ/internal/lungs/unathi,
|
||||
O_LIVER = /obj/item/organ/internal/liver/unathi,
|
||||
O_BRAIN = /obj/item/organ/internal/brain/unathi,
|
||||
O_EYES = /obj/item/organ/internal/eyes,
|
||||
O_EYES = /obj/item/organ/internal/eyes/unathi,
|
||||
O_STOMACH = /obj/item/organ/internal/stomach/unathi,
|
||||
O_INTESTINE = /obj/item/organ/internal/intestine/unathi
|
||||
)
|
||||
@@ -250,13 +250,13 @@
|
||||
|
||||
has_organ = list( //No appendix.
|
||||
O_HEART = /obj/item/organ/internal/heart/tajaran,
|
||||
O_LUNGS = /obj/item/organ/internal/lungs,
|
||||
O_LUNGS = /obj/item/organ/internal/lungs/tajaran,
|
||||
O_VOICE = /obj/item/organ/internal/voicebox,
|
||||
O_LIVER = /obj/item/organ/internal/liver,
|
||||
O_LIVER = /obj/item/organ/internal/liver/tajaran,
|
||||
O_KIDNEYS = /obj/item/organ/internal/kidneys,
|
||||
O_BRAIN = /obj/item/organ/internal/brain,
|
||||
O_EYES = /obj/item/organ/internal/eyes/tajaran,
|
||||
O_STOMACH = /obj/item/organ/internal/stomach,
|
||||
O_STOMACH = /obj/item/organ/internal/stomach/tajaran,
|
||||
O_INTESTINE = /obj/item/organ/internal/intestine
|
||||
)
|
||||
|
||||
@@ -349,6 +349,20 @@
|
||||
BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right)
|
||||
)
|
||||
|
||||
has_organ = list(
|
||||
O_HEART = /obj/item/organ/internal/heart/skrell,
|
||||
O_LUNGS = /obj/item/organ/internal/lungs/skrell,
|
||||
O_VOICE = /obj/item/organ/internal/voicebox/skrell,
|
||||
O_LIVER = /obj/item/organ/internal/liver/skrell,
|
||||
O_KIDNEYS = /obj/item/organ/internal/kidneys/skrell,
|
||||
O_BRAIN = /obj/item/organ/internal/brain/skrell,
|
||||
O_APPENDIX = /obj/item/organ/internal/appendix/skrell,
|
||||
O_SPLEEN = /obj/item/organ/internal/spleen/skrell,
|
||||
O_EYES = /obj/item/organ/internal/eyes/skrell,
|
||||
O_STOMACH = /obj/item/organ/internal/stomach/skrell,
|
||||
O_INTESTINE = /obj/item/organ/internal/intestine/skrell
|
||||
)
|
||||
|
||||
/datum/species/skrell/can_breathe_water()
|
||||
return TRUE
|
||||
|
||||
@@ -433,6 +447,11 @@
|
||||
/datum/mob_descriptor/height = 0,
|
||||
/datum/mob_descriptor/build = -1
|
||||
)
|
||||
|
||||
default_emotes = list(
|
||||
/decl/emote/audible/chirp
|
||||
)
|
||||
|
||||
/datum/species/zaddat/equip_survival_gear(var/mob/living/carbon/human/H)
|
||||
..()
|
||||
if(H.wear_suit) //get rid of job labcoats so they don't stop us from equipping the Shroud
|
||||
|
||||
@@ -9,33 +9,41 @@
|
||||
icon_dead = "alien_dead"
|
||||
icon_gib = "syndicate_gib"
|
||||
icon_rest = "alienh_sleep"
|
||||
|
||||
faction = "xeno"
|
||||
|
||||
mob_class = MOB_CLASS_ABERRATION
|
||||
|
||||
response_help = "pokes"
|
||||
response_disarm = "shoves"
|
||||
response_harm = "hits"
|
||||
organ_names = /decl/mob_organ_names/skathari
|
||||
|
||||
maxHealth = 120
|
||||
health = 120
|
||||
see_in_dark = 7
|
||||
|
||||
turn_sound = "skathari_chitter"
|
||||
|
||||
harm_intent_damage = 5
|
||||
melee_damage_lower = 25
|
||||
melee_damage_upper = 25
|
||||
attack_armor_pen = 15
|
||||
attack_sharp = TRUE
|
||||
attack_edge = TRUE
|
||||
|
||||
attacktext = list("slashed")
|
||||
attack_sound = 'sound/weapons/bladeslice.ogg'
|
||||
|
||||
// meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat //Make this something special in full implementation
|
||||
|
||||
/mob/living/simple_mob/animal/space/alien/death()
|
||||
var/turf/center = get_turf(src)
|
||||
if (isturf(center))
|
||||
playsound(center, 'sound/effects/mob_effects/skathari_teleport.ogg', 75, TRUE)
|
||||
for (var/mob/living/carbon/victim in oviewers(5, center))
|
||||
victim.flash_eyes(3)
|
||||
visible_message(
|
||||
SPAN_WARNING("\The [src] disappears with a screech and a flash of light!"),
|
||||
SPAN_WARNING("You hear a thin, high screech, ended by a sudden echoing snap!")
|
||||
)
|
||||
new /obj/effect/decal/cleanable/blood/skathari (center)
|
||||
new /obj/effect/temp_visual/bluespace_tear (center)
|
||||
qdel(src)
|
||||
..()
|
||||
|
||||
|
||||
/mob/living/simple_mob/animal/space/alien/drone
|
||||
name = "skathari worker"
|
||||
@@ -48,68 +56,6 @@
|
||||
melee_damage_upper = 15
|
||||
projectiletype = /obj/item/projectile/energy/skathari
|
||||
|
||||
/*
|
||||
To be replaced with equivalents later
|
||||
/mob/living/simple_mob/animal/space/alien/sentinel
|
||||
name = "alien sentinel"
|
||||
icon_state = "aliens_running"
|
||||
icon_living = "aliens_running"
|
||||
icon_dead = "aliens_l"
|
||||
icon_rest = "aliens_sleep"
|
||||
health = 120
|
||||
melee_damage_lower = 15
|
||||
melee_damage_upper = 15
|
||||
|
||||
|
||||
/mob/living/simple_mob/animal/space/alien/sentinel/praetorian
|
||||
name = "alien praetorian"
|
||||
icon = 'icons/mob/64x64.dmi'
|
||||
icon_state = "prat_s"
|
||||
icon_living = "prat_s"
|
||||
icon_dead = "prat_dead"
|
||||
icon_rest = "prat_sleep"
|
||||
maxHealth = 200
|
||||
health = 200
|
||||
|
||||
pixel_x = -16
|
||||
old_x = -16
|
||||
icon_expected_width = 64
|
||||
icon_expected_height = 64
|
||||
meat_amount = 5
|
||||
|
||||
/mob/living/simple_mob/animal/space/alien/queen
|
||||
name = "alien queen"
|
||||
icon_state = "alienq_running"
|
||||
icon_living = "alienq_running"
|
||||
icon_dead = "alienq_l"
|
||||
icon_rest = "alienq_sleep"
|
||||
health = 250
|
||||
maxHealth = 250
|
||||
melee_damage_lower = 15
|
||||
melee_damage_upper = 15
|
||||
projectiletype = /obj/item/projectile/energy/neurotoxin/toxic
|
||||
projectilesound = 'sound/weapons/pierce.ogg'
|
||||
|
||||
|
||||
movement_cooldown = 8
|
||||
|
||||
/mob/living/simple_mob/animal/space/alien/queen/empress
|
||||
name = "alien empress"
|
||||
icon = 'icons/mob/64x64.dmi'
|
||||
icon_state = "queen_s"
|
||||
icon_living = "queen_s"
|
||||
icon_dead = "queen_dead"
|
||||
icon_rest = "queen_sleep"
|
||||
maxHealth = 400
|
||||
health = 400
|
||||
meat_amount = 5
|
||||
|
||||
pixel_x = -16
|
||||
old_x = -16
|
||||
icon_expected_width = 64
|
||||
icon_expected_height = 64
|
||||
|
||||
*/
|
||||
|
||||
/mob/living/simple_mob/animal/space/alien/queen/empress/mother
|
||||
name = "skathari tyrant"
|
||||
@@ -125,21 +71,12 @@ To be replaced with equivalents later
|
||||
melee_damage_lower = 15
|
||||
melee_damage_upper = 25
|
||||
movement_cooldown = 8
|
||||
|
||||
projectiletype = /obj/item/projectile/energy/skathari
|
||||
|
||||
pixel_x = -32
|
||||
old_x = -32
|
||||
icon_expected_width = 96
|
||||
icon_expected_height = 96
|
||||
|
||||
/mob/living/simple_mob/animal/space/alien/death()
|
||||
..()
|
||||
visible_message("[src] lets out a waning guttural screech, green ichor bubbling from its maw...")
|
||||
playsound(src, 'sound/voice/hiss6.ogg', 100, 1)
|
||||
new /obj/effect/decal/cleanable/blood/skathari(src.loc)
|
||||
new /obj/effect/temp_visual/bluespace_tear(src.loc)
|
||||
|
||||
|
||||
/decl/mob_organ_names/skathari
|
||||
hit_zones = list("carapace", "abdomen", "left forelegs", "right forelegs", "left hind legs", "right hind legs", "head")
|
||||
hit_zones = list("carapace", "abdomen", "left forelegs", "right forelegs", "left hind legs", "right hind legs", "head")
|
||||
|
||||
@@ -2617,6 +2617,18 @@ shaved
|
||||
species_allowed = list(SPECIES_DIONA)
|
||||
do_colouration = 0
|
||||
|
||||
//Skrell stuff.
|
||||
|
||||
/datum/sprite_accessory/marking/skrell
|
||||
name = "Countershading (Skrell)"
|
||||
icon_state = "skr_shade"
|
||||
body_parts = list(BP_TORSO, BP_GROIN, BP_HEAD)
|
||||
species_allowed = list(SPECIES_SKRELL)
|
||||
|
||||
/datum/sprite_accessory/marking/skrell/stripes
|
||||
name = "Poison Dart Stripes (Skrell)"
|
||||
icon_state = "skr_stripes"
|
||||
body_parts = list(BP_L_LEG, BP_R_LEG, BP_L_ARM, BP_R_ARM, BP_TORSO)
|
||||
|
||||
//Cybernetic Augments, some species-limited due to sprite misalignment. /aug/ types are excluded from dna.
|
||||
|
||||
|
||||
@@ -50,6 +50,6 @@
|
||||
|
||||
/obj/item/organ/internal/appendix/removed()
|
||||
if(inflamed)
|
||||
icon_state = "appendixinflamed"
|
||||
icon_state = "[initial(icon_state)]inflamed"
|
||||
name = "inflamed appendix"
|
||||
..()
|
||||
@@ -66,16 +66,6 @@
|
||||
owner.adjustToxLoss(15 * spleen_efficiency)
|
||||
Target.wounds += W
|
||||
|
||||
/obj/item/organ/internal/spleen/skrell
|
||||
name = "lymphatic hub"
|
||||
icon_state = "spleen"
|
||||
parent_organ = BP_HEAD
|
||||
spleen_efficiency = 0.5
|
||||
|
||||
/obj/item/organ/internal/spleen/skrell/Initialize()
|
||||
. = ..()
|
||||
adjust_scale(0.8,0.7)
|
||||
|
||||
/obj/item/organ/internal/spleen/minor
|
||||
name = "vestigial spleen"
|
||||
parent_organ = BP_GROIN
|
||||
|
||||
41
code/modules/organs/subtypes/skrell.dm
Normal file
41
code/modules/organs/subtypes/skrell.dm
Normal file
@@ -0,0 +1,41 @@
|
||||
/obj/item/organ/internal/eyes/skrell
|
||||
icon_state = "skrell_eyes"
|
||||
|
||||
/obj/item/organ/internal/heart/skrell
|
||||
icon_state = "skrell_heart-on"
|
||||
dead_icon = "skrell_heart-off"
|
||||
|
||||
/obj/item/organ/internal/lungs/skrell
|
||||
icon_state = "skrell_lungs"
|
||||
|
||||
/obj/item/organ/internal/liver/skrell
|
||||
icon_state = "skrell_liver"
|
||||
|
||||
/obj/item/organ/internal/brain/skrell
|
||||
icon_state = "brain_skrell"
|
||||
|
||||
/obj/item/organ/internal/stomach/skrell
|
||||
icon_state = "skrell_stomach"
|
||||
|
||||
/obj/item/organ/internal/kidneys/skrell
|
||||
icon_state = "skrell_kidney"
|
||||
|
||||
/obj/item/organ/internal/intestine/skrell
|
||||
icon_state = "skrell_intestine"
|
||||
|
||||
/obj/item/organ/internal/voicebox/skrell
|
||||
icon_state = "skrell_larynx"
|
||||
will_assist_languages = list(LANGUAGE_SKRELLIAN, LANGUAGE_SKRELLIANFAR)
|
||||
|
||||
/obj/item/organ/internal/appendix/skrell
|
||||
icon_state = "skrell_appendix"
|
||||
|
||||
/obj/item/organ/internal/spleen/skrell
|
||||
name = "lymphatic hub"
|
||||
icon_state = "skrell_spleen"
|
||||
parent_organ = BP_HEAD
|
||||
spleen_efficiency = 0.5
|
||||
|
||||
/obj/item/organ/internal/spleen/skrell/Initialize()
|
||||
. = ..()
|
||||
adjust_scale(0.8,0.7)
|
||||
@@ -5,3 +5,11 @@
|
||||
icon_state = "tajaran_heart-on"
|
||||
dead_icon = "tajaran_heart-off"
|
||||
|
||||
/obj/item/organ/internal/lungs/tajaran
|
||||
icon_state = "tajaran_lungs"
|
||||
|
||||
/obj/item/organ/internal/liver/tajaran
|
||||
icon_state = "tajaran_liver"
|
||||
|
||||
/obj/item/organ/internal/stomach/tajaran
|
||||
icon_state = "tajaran_stomach"
|
||||
@@ -15,10 +15,12 @@
|
||||
force = 5
|
||||
throwforce = 10
|
||||
|
||||
/obj/item/organ/internal/eyes/unathi
|
||||
icon_state = "unathi_eyes"
|
||||
|
||||
/obj/item/organ/internal/heart/unathi
|
||||
icon_state = "unathi_heart-on"
|
||||
dead_icon = "unath_heart-off"
|
||||
dead_icon = "unathi_heart-off"
|
||||
|
||||
/obj/item/organ/internal/lungs/unathi
|
||||
color = "#b3cbc3"
|
||||
|
||||
@@ -157,7 +157,7 @@
|
||||
. += "<span class='notice'>You have to go closer if you want to read it.</span>"
|
||||
|
||||
/obj/item/weapon/paper/proc/show_content(var/mob/user, var/forceshow=0)
|
||||
if(!(istype(user, /mob/living/carbon/human) || istype(user, /mob/observer/dead) || istype(user, /mob/living/silicon)) && !forceshow)
|
||||
if(!(istype(user, /mob/living/carbon/human) || istype(user, /mob/observer/dead) || istype(user, /mob/living/silicon) || user.universal_understand) && !forceshow)
|
||||
user << browse("<HTML><HEAD><TITLE>[name]</TITLE></HEAD><BODY>[stars(info)][stamps]</BODY></HTML>", "window=[name]")
|
||||
onclose(user, "[name]")
|
||||
else
|
||||
|
||||
@@ -49,15 +49,17 @@
|
||||
/obj/machinery/power/supermatter
|
||||
name = "Supermatter"
|
||||
desc = "A strangely translucent and iridescent crystal. <font color='red'>You get headaches just from looking at it.</font>"
|
||||
icon = 'icons/obj/engine.dmi'
|
||||
icon_state = "darkmatter"
|
||||
icon = 'icons/obj/supermatter.dmi'
|
||||
icon_state = "supermatter"
|
||||
density = 1
|
||||
anchored = 0
|
||||
light_range = 4
|
||||
plane = MOB_PLANE
|
||||
layer = ABOVE_MOB_LAYER
|
||||
|
||||
var/gasefficency = 0.25
|
||||
|
||||
var/base_icon_state = "darkmatter"
|
||||
var/base_icon_state = "supermatter"
|
||||
|
||||
var/damage = 0
|
||||
var/damage_archived = 0
|
||||
@@ -101,8 +103,8 @@
|
||||
var/config_hallucination_power = 0.1
|
||||
|
||||
var/debug = 0
|
||||
|
||||
/// Cooldown tracker for accent sounds,
|
||||
|
||||
/// Cooldown tracker for accent sounds,
|
||||
var/last_accent_sound = 0
|
||||
|
||||
var/datum/looping_sound/supermatter/soundloop
|
||||
@@ -295,7 +297,7 @@
|
||||
shift_light(4,initial(light_color))
|
||||
if(grav_pulling)
|
||||
supermatter_pull(src)
|
||||
|
||||
|
||||
// Vary volume by power produced.
|
||||
if(power)
|
||||
// Volume will be 1 at no power, ~12.5 at ENERGY_NITROGEN, and 20+ at ENERGY_PHORON.
|
||||
@@ -308,7 +310,7 @@
|
||||
soundloop.mid_sounds = list('sound/machines/sm/loops/delamming.ogg' = 1)
|
||||
else
|
||||
soundloop.mid_sounds = list('sound/machines/sm/loops/calm.ogg' = 1)
|
||||
|
||||
|
||||
// Play Delam/Neutral sounds at rate determined by power and damage.
|
||||
if(last_accent_sound < world.time && prob(20))
|
||||
var/aggression = min(((damage / 800) * (power / 2500)), 1.0) * 100
|
||||
@@ -518,8 +520,8 @@
|
||||
/obj/machinery/power/supermatter/shard //Small subtype, less efficient and more sensitive, but less boom.
|
||||
name = "Supermatter Shard"
|
||||
desc = "A strangely translucent and iridescent crystal that looks like it used to be part of a larger structure. <font color='red'>You get headaches just from looking at it.</font>"
|
||||
icon_state = "darkmatter_shard"
|
||||
base_icon_state = "darkmatter_shard"
|
||||
icon_state = "supermatter_shard"
|
||||
base_icon_state = "supermatter_shard"
|
||||
|
||||
warning_point = 50
|
||||
emergency_point = 400
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
T.resources["tin"] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX)
|
||||
T.resources["bauxite"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX)
|
||||
T.resources["rutile"] = 0
|
||||
T.resources["void opal"] = 0
|
||||
T.resources["magmellite"] = 0
|
||||
T.resources["quartz"] = 0
|
||||
T.resources["painite"] = 0
|
||||
else if(current_cell < deep_val) // Rare metals.
|
||||
@@ -87,7 +87,7 @@
|
||||
T.resources["tin"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX)
|
||||
T.resources["bauxite"] = 0
|
||||
T.resources["rutile"] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX)
|
||||
T.resources["void opal"] = 0
|
||||
T.resources["magmellite"] = 0
|
||||
T.resources["quartz"] = 0
|
||||
T.resources["painite"] = 0
|
||||
else // Deep metals.
|
||||
@@ -106,7 +106,7 @@
|
||||
T.resources["tin"] = 0
|
||||
T.resources["bauxite"] = 0
|
||||
T.resources["rutile"] = rand(RESOURCE_MID_MIN, RESOURCE_HIGH_MAX)
|
||||
T.resources["void opal"] = 0
|
||||
T.resources["magmellite"] = 0
|
||||
T.resources["quartz"] = 0
|
||||
T.resources["painite"] = 0
|
||||
return
|
||||
|
||||
@@ -63,6 +63,8 @@
|
||||
Generally coatings are intended for deep frying foods
|
||||
*/
|
||||
/datum/reagent/nutriment/coating
|
||||
name = "coating"
|
||||
id = "coating"
|
||||
nutriment_factor = 6 //Less dense than the food itself, but coatings still add extra calories
|
||||
var/messaged = 0
|
||||
var/icon_raw
|
||||
|
||||
@@ -28,13 +28,13 @@
|
||||
/// Used to check for a specific tool quality on an item.
|
||||
/// Returns the value of `tool_quality` if it is found, else 0.
|
||||
/obj/item/get_tool_quality(quality)
|
||||
return LAZYFIND(tool_qualities, quality)
|
||||
return LAZYACCESS(tool_qualities, quality)
|
||||
|
||||
/obj/item/proc/set_tool_quality(tool, quality)
|
||||
tool_qualities[tool] = quality
|
||||
|
||||
/obj/item/proc/get_tool_speed(quality)
|
||||
return LAZYFIND(tool_qualities, quality)
|
||||
return LAZYACCESS(tool_qualities, quality)
|
||||
|
||||
/obj/item/proc/get_use_time(quality, base_time)
|
||||
return LAZYFIND(tool_qualities, quality) ? base_time / tool_qualities[quality] : -1
|
||||
return LAZYACCESS(tool_qualities, quality) ? base_time / tool_qualities[quality] : -1
|
||||
Reference in New Issue
Block a user