mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-20 12:29:23 +01:00
Merge branch 'master' into computer_tweaks
# Conflicts: # code/game/jobs/job/ship_crew.dm
This commit is contained in:
+2
-3
@@ -9,7 +9,7 @@ clone:
|
||||
environment:
|
||||
MACRO_COUNT: 0
|
||||
GENDER_COUNT: 6
|
||||
TO_WORLD_COUNT: 207
|
||||
TO_WORLD_COUNT: 211
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
@@ -176,8 +176,7 @@ steps:
|
||||
- echo "Unit Tests Completed"
|
||||
|
||||
---
|
||||
|
||||
kind: signature
|
||||
hmac: 4c1d9a24db26e0276f48ce58568906d03fe26cc0f2651fa39d6696b6942f570e
|
||||
hmac: 94a7efc91e95836b0456049170edfd6e68055cf481ef925347ffe6206eb8305a
|
||||
|
||||
...
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ env:
|
||||
BYOND_MINOR="1517"
|
||||
MACRO_COUNT=0
|
||||
GENDER_COUNT=6
|
||||
TO_WORLD_COUNT=207
|
||||
TO_WORLD_COUNT=211
|
||||
FLYWAY_BUILD="5.2.4"
|
||||
NODE_VERSION=10
|
||||
RUST_G_VERSION="0.4.2+a2"
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
#include "code\__defines\guns.dm"
|
||||
#include "code\__defines\hydroponics.dm"
|
||||
#include "code\__defines\items_clothing.dm"
|
||||
#include "code\__defines\jobs.dm"
|
||||
#include "code\__defines\lighting.dm"
|
||||
#include "code\__defines\lists.dm"
|
||||
#include "code\__defines\machinery.dm"
|
||||
@@ -2159,6 +2160,7 @@
|
||||
#include "code\modules\mob\living\carbon\human\species\station\ipc\ipc.dm"
|
||||
#include "code\modules\mob\living\carbon\human\species\station\ipc\ipc_subspecies.dm"
|
||||
#include "code\modules\mob\living\carbon\human\species\station\skrell\skrell.dm"
|
||||
#include "code\modules\mob\living\carbon\human\species\station\skrell\skrell_subspecies.dm"
|
||||
#include "code\modules\mob\living\carbon\human\species\station\tajara\tajara.dm"
|
||||
#include "code\modules\mob\living\carbon\human\species\station\tajara\tajaran_subspecies.dm"
|
||||
#include "code\modules\mob\living\carbon\human\species\station\unathi\unathi.dm"
|
||||
@@ -2843,6 +2845,7 @@
|
||||
#include "code\modules\shieldgen\shield_gen_external.dm"
|
||||
#include "code\modules\shieldgen\shieldwallgen.dm"
|
||||
#include "code\modules\shuttles\antagonist.dm"
|
||||
#include "code\modules\shuttles\city.dm"
|
||||
#include "code\modules\shuttles\departmental.dm"
|
||||
#include "code\modules\shuttles\escape_pods.dm"
|
||||
#include "code\modules\shuttles\landmarks.dm"
|
||||
@@ -3027,6 +3030,10 @@
|
||||
#include "maps\aurora\code\aurora_lifts.dm"
|
||||
#include "maps\aurora\code\aurora_shuttles.dm"
|
||||
#include "maps\aurora\code\aurora_unittest.dm"
|
||||
#include "maps\event\code\event.dm"
|
||||
#include "maps\event\rooftop\code\rooftop.dm"
|
||||
#include "maps\event\rooftop\code\rooftop_areas.dm"
|
||||
#include "maps\event\rooftop\code\rooftop_shuttles.dm"
|
||||
#include "maps\exodus\code\exodus.dm"
|
||||
#include "maps\exodus\code\exodus_areas.dm"
|
||||
#include "maps\exodus\code\exodus_holodeck.dm"
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#define SPAN_BOLD(X) ("<span class='bold'>" + X + "</span>")
|
||||
#define SPAN_SUBTLE(X) ("<span class='subtle'>" + X + "</span>")
|
||||
#define SPAN_SOGHUN(X) ("<span class='soghun'>" + X + "</span>")
|
||||
#define SPAN_VOTE(X) ("<span class='vote'>" + X + "</span>")
|
||||
|
||||
#define FONT_SIZE_SMALL 1
|
||||
#define FONT_SIZE_NORMAL 2
|
||||
@@ -90,6 +91,8 @@
|
||||
|
||||
#define isprojectile(A) istype(A, /obj/item/projectile)
|
||||
|
||||
#define isclothing(A) istype(A, /obj/item/clothing)
|
||||
|
||||
/// General I/O helpers
|
||||
#define to_target(target, payload) target << (payload)
|
||||
#define from_target(target, receiver) target >> (receiver)
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#define COMMAND_ROLES list(/datum/job/captain, /datum/job/hop, /datum/job/chief_engineer, /datum/job/cmo, /datum/job/rd, /datum/job/hos)
|
||||
#define ENGINEERING_ROLES list(/datum/job/engineer, /datum/job/atmos, /datum/job/intern_eng)
|
||||
#define SERVICE_ROLES list(/datum/job/chaplain, /datum/job/bartender, /datum/job/chef, /datum/job/hydro, /datum/job/janitor, /datum/job/journalist, /datum/job/librarian)
|
||||
#define CARGO_ROLES list(/datum/job/qm, /datum/job/cargo_tech, /datum/job/mining)
|
||||
#define MEDICAL_ROLES list(/datum/job/doctor, /datum/job/surgeon, /datum/job/pharmacist, /datum/job/psychiatrist, /datum/job/med_tech, /datum/job/intern_med)
|
||||
#define SCIENCE_ROLES list(/datum/job/scientist, /datum/job/xenobiologist, /datum/job/roboticist, /datum/job/intern_sci)
|
||||
#define SECURITY_ROLES list(/datum/job/warden, /datum/job/investigator, /datum/job/officer, /datum/job/intern_sec)
|
||||
#define SMALL_ROLES list(/datum/job/assistant, /datum/job/visitor)
|
||||
#define INDEP_ROLES list(/datum/job/merchant, /datum/job/visitor, /datum/job/consular, /datum/job/journalist)
|
||||
#define ALL_FACTION_ROLES list(/datum/job/assistant, /datum/job/visitor, /datum/job/representative)
|
||||
#define MISC_ROLE list(/datum/job/assistant, /datum/job/representative)
|
||||
#define ALL_JOBS list(COMMAND_ROLES, ENGINEERING_ROLES, SERVICE_ROLES, CARGO_ROLES, MEDICAL_ROLES, SCIENCE_ROLES, SECURITY_ROLES, INDEP_ROLES, MISC_ROLE)
|
||||
|
||||
#define IDRIS_ROLES list(SECURITY_ROLES, SERVICE_ROLES, CARGO_ROLES, ALL_FACTION_ROLES)
|
||||
#define ZAVOD_ROLES list(SECURITY_ROLES, SCIENCE_ROLES, ENGINEERING_ROLES, ALL_FACTION_ROLES)
|
||||
#define EPMC_ROLES list(SECURITY_ROLES, MEDICAL_ROLES, ALL_FACTION_ROLES)
|
||||
#define NT_ROLES list(SCIENCE_ROLES, MEDICAL_ROLES, SERVICE_ROLES, ALL_FACTION_ROLES)
|
||||
#define ZENG_ROLES list(SCIENCE_ROLES, MEDICAL_ROLES, ALL_FACTION_ROLES)
|
||||
#define HEPH_ROLES list(CARGO_ROLES, ENGINEERING_ROLES, ALL_FACTION_ROLES)
|
||||
@@ -65,6 +65,7 @@
|
||||
#define PARALLAX_IS_STATIC 0x8
|
||||
#define FLOATING_MESSAGES 0x10
|
||||
#define HOTKEY_DEFAULT 0x20
|
||||
#define FULLSCREEN_MODE 0x40
|
||||
|
||||
#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_ATTACKLOGS|CHAT_LOOC|CHAT_GHOSTLOOC)
|
||||
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
#define SPECIES_HUMAN "Human"
|
||||
#define SPECIES_HUMAN_OFFWORLD "Off-Worlder Human"
|
||||
#define SPECIES_SKRELL "Skrell"
|
||||
#define SPECIES_UNATHI "Unathi"
|
||||
#define SPECIES_DIONA "Diona"
|
||||
|
||||
#define SPECIES_SKRELL "Skrell"
|
||||
#define SPECIES_SKRELL_AXIORI "Axiori"
|
||||
|
||||
#define SPECIES_TAJARA "Tajara"
|
||||
#define SPECIES_TAJARA_ZHAN "Zhan-Khazan Tajara"
|
||||
#define SPECIES_TAJARA_MSAI "M'sai Tajara"
|
||||
@@ -12,6 +14,7 @@
|
||||
#define SPECIES_VAURCA_WARRIOR "Vaurca Warrior"
|
||||
#define SPECIES_VAURCA_BREEDER "Vaurca Breeder"
|
||||
#define SPECIES_VAURCA_WARFORM "Vaurca Warform"
|
||||
#define SPECIES_VAURCA_BULWARK "Vaurca Bulwark"
|
||||
|
||||
#define SPECIES_IPC "Baseline Frame"
|
||||
#define SPECIES_IPC_SHELL "Shell Frame"
|
||||
@@ -77,6 +80,7 @@
|
||||
|
||||
#define BODYTYPE_VAURCA "Vaurca"
|
||||
#define BODYTYPE_VAURCA_BREEDER "Vaurca Breeder"
|
||||
#define BODYTYPE_VAURCA_BULWARK "Vaurca Bulwark"
|
||||
#define BODYTYPE_VAURCA_WARFORM "Vaurca Warform"
|
||||
|
||||
#define BODYTYPE_IPC "Machine"
|
||||
|
||||
@@ -15,6 +15,7 @@ var/global/list/topic_commands = list() //List of all API commands available
|
||||
var/global/list/topic_commands_names = list() //List of all API commands available
|
||||
|
||||
var/global/list/landmarks_list = list() //list of all landmarks created
|
||||
var/global/list/force_spawnpoints //assoc list of force spawnpoints for event maps
|
||||
var/global/list/side_effects = list() //list of all medical sideeffects types by thier names |BS12
|
||||
var/global/list/mechas_list = list() //list of all mechs. Used by hostile mobs target tracking.
|
||||
var/global/list/joblist = list() //list of all jobstypes, minus borg and AI
|
||||
|
||||
@@ -423,7 +423,7 @@
|
||||
break
|
||||
|
||||
Debug("ER/([H]): Completed.")
|
||||
|
||||
H.megavend = 1
|
||||
return H
|
||||
|
||||
/mob/living/carbon/human
|
||||
@@ -500,7 +500,7 @@
|
||||
Debug("EP/([H]): Abort, H is AI.")
|
||||
return EquipRank(H, rank, 1)
|
||||
|
||||
if(!current_map.command_spawn_enabled || spawning_at != "Arrivals Shuttle")
|
||||
if(!current_map.command_spawn_enabled || spawning_at != "Arrivals Shuttle" && spawning_at != "Cryogenic Storage")
|
||||
return EquipRank(H, rank, 1)
|
||||
|
||||
H.centcomm_despawn_timer = addtimer(CALLBACK(H, /mob/living/.proc/centcomm_timeout), 10 MINUTES, TIMER_STOPPABLE)
|
||||
@@ -509,11 +509,12 @@
|
||||
|
||||
H.job = rank
|
||||
|
||||
if(spawning_at != "Arrivals Shuttle" || job.latejoin_at_spawnpoints)
|
||||
if(spawning_at != "Arrivals Shuttle" && spawning_at != "Cryogenic Storage" || job.latejoin_at_spawnpoints)
|
||||
return EquipRank(H, rank, 1)
|
||||
|
||||
var/list/spawn_in_storage = list()
|
||||
to_chat(H,"<span class='notice'>You have ten minutes to reach the station before you will be forced there.</span>")
|
||||
if(spawning_at == "Arrivals Shuttle")
|
||||
to_chat(H,SPAN_NOTICE("You have ten minutes to reach the station before you will be forced there."))
|
||||
|
||||
if(H.needs_wheelchair())
|
||||
H.equip_wheelchair()
|
||||
@@ -560,7 +561,8 @@
|
||||
BITSET(H.hud_updateflag, IMPLOYAL_HUD)
|
||||
BITSET(H.hud_updateflag, SPECIALROLE_HUD)
|
||||
|
||||
to_chat(H, "<b>[current_map.command_spawn_message]</b>")
|
||||
if(spawning_at == "Arrivals Shuttle")
|
||||
to_chat(H, "<b>[current_map.command_spawn_message]</b>")
|
||||
|
||||
Debug("EP/([H]): Completed.")
|
||||
|
||||
@@ -654,38 +656,44 @@
|
||||
|
||||
H.job = rank
|
||||
|
||||
if(job.latejoin_at_spawnpoints)
|
||||
for (var/thing in landmarks_list)
|
||||
var/obj/effect/landmark/L = thing
|
||||
if(istype(L))
|
||||
if(L.name == "LateJoin[rank]")
|
||||
H.forceMove(L.loc)
|
||||
return
|
||||
if(current_map.force_spawnpoint && LAZYLEN(force_spawnpoints))
|
||||
if(force_spawnpoints[rank])
|
||||
H.forceMove(pick(force_spawnpoints[rank]))
|
||||
else
|
||||
H.forceMove(pick(force_spawnpoints["Anyone"]))
|
||||
else
|
||||
if(job.latejoin_at_spawnpoints)
|
||||
for (var/thing in landmarks_list)
|
||||
var/obj/effect/landmark/L = thing
|
||||
if(istype(L))
|
||||
if(L.name == "LateJoin[rank]")
|
||||
H.forceMove(L.loc)
|
||||
return
|
||||
|
||||
var/datum/spawnpoint/spawnpos
|
||||
var/datum/spawnpoint/spawnpos
|
||||
|
||||
if(H.client.prefs.spawnpoint)
|
||||
spawnpos = SSatlas.spawn_locations[H.client.prefs.spawnpoint]
|
||||
if(H.client.prefs.spawnpoint)
|
||||
spawnpos = SSatlas.spawn_locations[H.client.prefs.spawnpoint]
|
||||
|
||||
if(spawnpos && istype(spawnpos))
|
||||
if(spawnpos.check_job_spawning(rank))
|
||||
if(istype(spawnpos, /datum/spawnpoint/cryo) && (rank in command_positions))
|
||||
var/datum/spawnpoint/cryo/C = spawnpos
|
||||
if(length(C.command_turfs))
|
||||
H.forceMove(pick(C.command_turfs))
|
||||
if(spawnpos && istype(spawnpos))
|
||||
if(spawnpos.check_job_spawning(rank))
|
||||
if(istype(spawnpos, /datum/spawnpoint/cryo) && (rank in command_positions))
|
||||
var/datum/spawnpoint/cryo/C = spawnpos
|
||||
if(length(C.command_turfs))
|
||||
H.forceMove(pick(C.command_turfs))
|
||||
else
|
||||
H.forceMove(pick(spawnpos.turfs))
|
||||
else
|
||||
H.forceMove(pick(spawnpos.turfs))
|
||||
. = spawnpos.msg
|
||||
spawnpos.after_join(H)
|
||||
else
|
||||
H.forceMove(pick(spawnpos.turfs))
|
||||
. = spawnpos.msg
|
||||
spawnpos.after_join(H)
|
||||
to_chat(H, "Your chosen spawnpoint ([spawnpos.display_name]) is unavailable for your chosen job. Spawning you at the Arrivals shuttle instead.")
|
||||
H.forceMove(pick(latejoin))
|
||||
. = "is inbound from the [current_map.dock_name]"
|
||||
else
|
||||
to_chat(H, "Your chosen spawnpoint ([spawnpos.display_name]) is unavailable for your chosen job. Spawning you at the Arrivals shuttle instead.")
|
||||
H.forceMove(pick(latejoin))
|
||||
. = "is inbound from the [current_map.dock_name]"
|
||||
else
|
||||
H.forceMove(pick(latejoin))
|
||||
. = "is inbound from the [current_map.dock_name]"
|
||||
|
||||
H.mind.selected_faction = SSjobs.GetFaction(H)
|
||||
|
||||
@@ -971,9 +979,16 @@
|
||||
if(!uniform) // silicons don't have uniforms or gear
|
||||
return
|
||||
var/datum/outfit/U = new uniform
|
||||
var/spawned_uniform = FALSE
|
||||
var/spawned_suit = FALSE
|
||||
for(var/item in prefs.gear)
|
||||
var/datum/gear/L = gear_datums[item]
|
||||
if(L.slot == slot_w_uniform)
|
||||
H.equip_or_collect(new U.uniform(H), H.back)
|
||||
break
|
||||
if(U.uniform && !spawned_uniform)
|
||||
H.equip_or_collect(new U.uniform(H), H.back)
|
||||
spawned_uniform = TRUE
|
||||
if(L.slot == slot_wear_suit)
|
||||
if(U.suit && !spawned_suit)
|
||||
H.equip_or_collect(new U.suit(H), H.back)
|
||||
spawned_suit = TRUE
|
||||
#undef Debug
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
var/db_log_id = null // ID of the db entry used to track that antagonist
|
||||
|
||||
// Used for setting appearance.
|
||||
var/list/valid_species = list(SPECIES_UNATHI,SPECIES_TAJARA,SPECIES_SKRELL,SPECIES_HUMAN)
|
||||
var/list/valid_species = list(SPECIES_UNATHI,SPECIES_TAJARA,SPECIES_SKRELL,SPECIES_SKRELL_AXIORI,SPECIES_HUMAN)
|
||||
|
||||
// Runtime vars.
|
||||
var/datum/mind/leader // Current leader, if any.
|
||||
|
||||
@@ -27,7 +27,8 @@
|
||||
/datum/species/skrell,
|
||||
/datum/species/tajaran,
|
||||
/datum/species/unathi,
|
||||
/datum/species/bug,
|
||||
/datum/species/bug = TRUE,
|
||||
/datum/species/bug/type_b = TRUE,
|
||||
/datum/species/machine
|
||||
)
|
||||
|
||||
|
||||
@@ -26,13 +26,23 @@
|
||||
. = list()
|
||||
|
||||
for (var/path in allowed_role_types)
|
||||
var/datum/job/role = SSjobs.type_occupations[path]
|
||||
if(LAZYACCESS(job_species_blacklist, role.title))
|
||||
role.blacklisted_species = job_species_blacklist[role.title]
|
||||
if(islist(path))
|
||||
for(var/role_path in path)
|
||||
var/datum/job/role = SSjobs.type_occupations[role_path]
|
||||
if(LAZYACCESS(job_species_blacklist, role.title))
|
||||
role.blacklisted_species = job_species_blacklist[role.title]
|
||||
else
|
||||
var/datum/job/J = new role.type
|
||||
role.blacklisted_species = J.blacklisted_species
|
||||
. += role
|
||||
else
|
||||
var/datum/job/J = new role.type
|
||||
role.blacklisted_species = J.blacklisted_species
|
||||
. += role
|
||||
var/datum/job/role = SSjobs.type_occupations[path]
|
||||
if(LAZYACCESS(job_species_blacklist, role.title))
|
||||
role.blacklisted_species = job_species_blacklist[role.title]
|
||||
else
|
||||
var/datum/job/J = new role.type
|
||||
role.blacklisted_species = J.blacklisted_species
|
||||
. += role
|
||||
|
||||
/datum/faction/proc/get_selection_error(datum/preferences/prefs)
|
||||
if (!length(allowed_species_types))
|
||||
|
||||
@@ -41,7 +41,9 @@
|
||||
/datum/species/skrell,
|
||||
/datum/species/machine,
|
||||
/datum/species/unathi,
|
||||
/datum/species/bug,
|
||||
/datum/species/bug = TRUE,
|
||||
/datum/species/bug/type_b = TRUE,
|
||||
/datum/species/bug/type_e = TRUE,
|
||||
/datum/species/tajaran,
|
||||
/datum/species/diona
|
||||
)
|
||||
@@ -50,7 +52,8 @@
|
||||
job_species_blacklist = list(
|
||||
"Corporate Liaison" = list(
|
||||
SPECIES_VAURCA_WORKER,
|
||||
SPECIES_VAURCA_WARRIOR
|
||||
SPECIES_VAURCA_WARRIOR,
|
||||
SPECIES_VAURCA_BULWARK
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
generate with NanoTrasen the better. Just think of that bonus.</li>
|
||||
<li><b>Idris Reclamation Unit X3265FH</b>: As a shell belonging to Idris you
|
||||
are not free. You are programmed to defer to NT security and the Head of
|
||||
Security. Your customer service skills are excellent however your notorious
|
||||
"strong arm" skills can be utilised the security team if authorised. Your
|
||||
Security. Your customer service skills are excellent, however your notorious
|
||||
"strong arm" skills can also be utilised by the security team if authorised. Your
|
||||
default state is good customer service. That being said your programming prioritises
|
||||
the protection and safety of other Idris employees so long as this will not
|
||||
breach NT regulations. You are programmed to never strong arm an Idris employee.
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
SPECIES_DIONA,
|
||||
SPECIES_VAURCA_WORKER,
|
||||
SPECIES_VAURCA_WARRIOR,
|
||||
SPECIES_VAURCA_BULWARK,
|
||||
SPECIES_TAJARA_ZHAN,
|
||||
SPECIES_TAJARA_MSAI
|
||||
)
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
professional through-and-through, and consider yourself a (literal) cut above whatever washouts
|
||||
NanoTrasen can hire as surgeons. Just remember, you need to prove that you're better than Zeng-Hu.
|
||||
We need these medical contracts, lest we have to cut back the medical division just like the genetics one.</li>
|
||||
<li><b>Personal Security Professional</b>:Excellent customer service and client
|
||||
<li><b>Personal Security Professional</b>: Excellent customer service and client
|
||||
care is why Zavodskoi's private security personnel win security contracts and
|
||||
you know this. A cut above the rest, you are clear, calm, concise and polite when
|
||||
working. As a security force you were voted the most professional private security
|
||||
|
||||
@@ -33,7 +33,9 @@
|
||||
/datum/species/human,
|
||||
/datum/species/skrell,
|
||||
/datum/species/machine,
|
||||
/datum/species/bug,
|
||||
/datum/species/bug = TRUE,
|
||||
/datum/species/bug/type_b = TRUE,
|
||||
/datum/species/bug/type_e = TRUE,
|
||||
/datum/species/diona
|
||||
)
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
|
||||
|
||||
outfit = /datum/outfit/job/captain
|
||||
|
||||
blacklisted_species = list(SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_UNATHI, SPECIES_DIONA, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR)
|
||||
blacklisted_species = list(SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_UNATHI, SPECIES_DIONA, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/captain
|
||||
name = "Captain"
|
||||
@@ -102,7 +102,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
|
||||
access_crematorium, access_kitchen, access_hydroponics, access_chapel_office, access_library, access_research,
|
||||
access_janitor, access_hop, access_RC_announce, access_keycard_auth, access_gateway, access_weapons, access_journalist)
|
||||
|
||||
blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_DIONA, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR)
|
||||
blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_DIONA, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/xo
|
||||
name = "Executive Officer"
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
minimal_access = list(access_bar)
|
||||
alt_titles = list("Barista")
|
||||
outfit = /datum/outfit/job/bartender
|
||||
blacklisted_species = list(SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/bartender
|
||||
name = "Bartender"
|
||||
@@ -85,6 +86,7 @@
|
||||
access = list(access_hydroponics, access_bar, access_kitchen)
|
||||
minimal_access = list(access_kitchen)
|
||||
outfit = /datum/outfit/job/chef
|
||||
blacklisted_species = list(SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/chef
|
||||
name = "Chef"
|
||||
@@ -206,6 +208,7 @@
|
||||
alt_outfits = list("Freelance Journalist" = /datum/outfit/job/journalistf)
|
||||
title_accesses = list("Corporate Reporter" = list(access_medical, access_sec_doors, access_research, access_engine))
|
||||
outfit = /datum/outfit/job/journalist
|
||||
blacklisted_species = list(SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/journalist
|
||||
name = "Corporate Reporter"
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
minimal_player_age = 7
|
||||
outfit = /datum/outfit/job/chief_engineer
|
||||
|
||||
blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR)
|
||||
blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/chief_engineer
|
||||
name = "Chief Engineer"
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
ideal_character_age = 50
|
||||
outfit = /datum/outfit/job/cmo
|
||||
|
||||
blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR)
|
||||
blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/cmo
|
||||
name = "Chief Medical Officer"
|
||||
@@ -70,6 +70,7 @@
|
||||
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_pharmacy, access_virology, access_genetics, access_eva)
|
||||
minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_genetics, access_eva)
|
||||
outfit = /datum/outfit/job/doctor
|
||||
blacklisted_species = list(SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/job/surgeon
|
||||
title = "Surgeon"
|
||||
@@ -89,6 +90,7 @@
|
||||
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_pharmacy, access_virology, access_genetics, access_eva)
|
||||
minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_genetics, access_eva)
|
||||
outfit = /datum/outfit/job/doctor/surgeon
|
||||
blacklisted_species = list(SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/doctor
|
||||
name = "Physician"
|
||||
@@ -154,6 +156,7 @@
|
||||
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_pharmacy, access_virology, access_genetics)
|
||||
minimal_access = list(access_medical, access_medical_equip, access_pharmacy, access_virology)
|
||||
outfit = /datum/outfit/job/pharmacist
|
||||
blacklisted_species = list(SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/pharmacist
|
||||
name = "Pharmacist"
|
||||
@@ -197,6 +200,7 @@
|
||||
alt_titles = list("Psychologist")
|
||||
outfit = /datum/outfit/job/psychiatrist
|
||||
alt_outfits = list("Psychologist" = /datum/outfit/job/psychiatrist/psycho)
|
||||
blacklisted_species = list(SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/psychiatrist
|
||||
name = "Psychiatrist"
|
||||
@@ -238,7 +242,7 @@
|
||||
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_pharmacy, access_virology, access_eva, access_maint_tunnels, access_engine, access_research, access_sec_doors, access_external_airlocks, access_psychiatrist, access_first_responder)
|
||||
minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_eva, access_maint_tunnels, access_engine, access_research, access_sec_doors, access_external_airlocks, access_first_responder)
|
||||
outfit = /datum/outfit/job/med_tech
|
||||
blacklisted_species = list(SPECIES_DIONA, SPECIES_IPC_G2)
|
||||
blacklisted_species = list(SPECIES_DIONA, SPECIES_IPC_G2, SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/med_tech
|
||||
name = "First Responder"
|
||||
@@ -281,6 +285,7 @@
|
||||
minimal_access = list(access_medical, access_surgery, access_medical_equip)
|
||||
minimum_character_age = 18
|
||||
outfit = /datum/outfit/job/intern_med
|
||||
blacklisted_species = list(SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/intern_med
|
||||
name = "Medical Intern"
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
latejoin_at_spawnpoints = TRUE
|
||||
|
||||
outfit = /datum/outfit/job/merchant
|
||||
blacklisted_species = list(SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/job/merchant/announce(mob/living/carbon/human/H)
|
||||
to_chat(H,"You are a merchant heading to the [station_name()] to make profit, your main objective is to sell and trade with the crew.")
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
access = list(access_lawyer, access_maint_tunnels)
|
||||
minimal_access = list(access_lawyer)
|
||||
outfit = /datum/outfit/job/representative
|
||||
blacklisted_species = list(SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/representative
|
||||
name = "NanoTrasen Corporate Liaison"
|
||||
@@ -95,6 +96,7 @@
|
||||
access = list(access_consular, access_maint_tunnels)
|
||||
minimal_access = list(access_consular)
|
||||
outfit = /datum/outfit/job/representative/consular
|
||||
blacklisted_species = list(SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/job/consular/get_outfit(mob/living/carbon/human/H, alt_title = null)
|
||||
var/datum/citizenship/citizenship = SSrecords.citizenships[H.citizenship]
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
ideal_character_age = 50
|
||||
outfit = /datum/outfit/job/rd
|
||||
|
||||
blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR)
|
||||
blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/rd
|
||||
name = "Research Director"
|
||||
@@ -75,6 +75,7 @@
|
||||
minimal_player_age = 14
|
||||
outfit = /datum/outfit/job/scientist
|
||||
alt_outfits = list("Xenoarcheologist"=/datum/outfit/job/scientist/xenoarcheologist)
|
||||
blacklisted_species = list(SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/scientist
|
||||
name = "Scientist"
|
||||
@@ -148,6 +149,7 @@
|
||||
access = list(access_research, access_tox)
|
||||
minimal_access = list(access_research, access_tox)
|
||||
outfit = /datum/outfit/job/intern_sci
|
||||
blacklisted_species = list(SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/intern_sci
|
||||
name = "Lab Assistant"
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
minimal_player_age = 14
|
||||
outfit = /datum/outfit/job/hos
|
||||
|
||||
blacklisted_species = list(SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA_ZHAN, SPECIES_DIONA, SPECIES_IPC_G2, SPECIES_IPC_ZENGHU, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR)
|
||||
blacklisted_species = list(SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA_ZHAN, SPECIES_DIONA, SPECIES_IPC_G2, SPECIES_IPC_ZENGHU, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/hos
|
||||
name = "Head of Security"
|
||||
@@ -88,7 +88,7 @@
|
||||
minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_external_airlocks, access_weapons)
|
||||
minimal_player_age = 7
|
||||
outfit = /datum/outfit/job/warden
|
||||
blacklisted_species = list(SPECIES_IPC_ZENGHU)
|
||||
blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/warden
|
||||
name = "Warden"
|
||||
@@ -144,7 +144,7 @@
|
||||
minimal_access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_weapons)
|
||||
minimal_player_age = 3
|
||||
outfit = /datum/outfit/job/forensics
|
||||
blacklisted_species = list(SPECIES_IPC_ZENGHU)
|
||||
blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/forensics
|
||||
name = "Investigator"
|
||||
@@ -198,7 +198,7 @@
|
||||
minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_external_airlocks, access_weapons)
|
||||
minimal_player_age = 7
|
||||
outfit = /datum/outfit/job/officer
|
||||
blacklisted_species = list(SPECIES_IPC_ZENGHU)
|
||||
blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/officer
|
||||
name = "Security Officer"
|
||||
@@ -249,7 +249,7 @@
|
||||
minimal_access = list(access_security, access_sec_doors)
|
||||
outfit = /datum/outfit/job/intern_sec
|
||||
minimum_character_age = 18
|
||||
blacklisted_species = list(SPECIES_IPC_ZENGHU)
|
||||
blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_VAURCA_BULWARK)
|
||||
|
||||
/datum/outfit/job/intern_sec
|
||||
name = "Security Cadet"
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
access = list() //See /datum/job/assistant/get_access()
|
||||
minimal_access = list() //See /datum/job/assistant/get_access()
|
||||
outfit = /datum/outfit/job/assistant
|
||||
blacklisted_species = null
|
||||
|
||||
/datum/job/assistant/get_access(selected_title)
|
||||
if(config.assistant_maint && selected_title == "Assistant")
|
||||
@@ -42,6 +43,7 @@
|
||||
minimal_access = list()
|
||||
outfit = /datum/outfit/job/visitor
|
||||
alt_titles = list("Passenger")
|
||||
blacklisted_species = null
|
||||
|
||||
/datum/outfit/job/visitor
|
||||
name = "Visitor"
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
SPECIES_HUMAN,
|
||||
SPECIES_HUMAN_OFFWORLD,
|
||||
SPECIES_SKRELL,
|
||||
SPECIES_SKRELL_AXIORI,
|
||||
SPECIES_UNATHI,
|
||||
SPECIES_TAJARA,
|
||||
SPECIES_TAJARA_MSAI,
|
||||
|
||||
@@ -937,21 +937,32 @@ About the new airlock wires panel:
|
||||
user.visible_message(SPAN_WARNING("[user] headbutts the airlock. Good thing they're wearing a helmet."))
|
||||
return
|
||||
|
||||
if(H.species.can_shred(H))
|
||||
if(H.a_intent == I_HURT)
|
||||
var/shredding = H.species.can_shred(H)
|
||||
var/can_crowbar = H.default_attack?.crowbar_door && (stat & (BROKEN|NOPOWER))
|
||||
if(shredding || can_crowbar)
|
||||
if(!density)
|
||||
return
|
||||
|
||||
if(!src.density)
|
||||
H.visible_message("<b>[H]</b> begins to pry open \the [src]!", SPAN_NOTICE("You begin to pry open \the [src]!"), SPAN_WARNING("You hear the sound of an airlock being forced open."))
|
||||
|
||||
if(!do_after(H, 120, 1, act_target = src))
|
||||
return
|
||||
|
||||
var/check = src.open(1)
|
||||
|
||||
if(shredding)
|
||||
src.do_animate("spark")
|
||||
src.stat |= BROKEN
|
||||
H.visible_message("<b>[H]</b> slices \the [src]'s controls, [check ? "ripping it open" : "breaking it"]!", SPAN_NOTICE("You slice \the [src]'s controls, [check ? "ripping it open" : "breaking it"]!"), SPAN_WARNING("You hear something sparking."))
|
||||
return
|
||||
|
||||
H.visible_message("<b>[H]</b> begins to pry open \the [src]!", SPAN_NOTICE("You begin to pry open \the [src]!"), SPAN_WARNING("You hear the sound of an airlock being forced open."))
|
||||
|
||||
if(!do_after(H, 120, 1, act_target = src))
|
||||
if(H.default_attack?.attack_door && !(stat & (BROKEN|NOPOWER)))
|
||||
user.visible_message(SPAN_DANGER("\The [user] forcefully strikes \the [src] with their [H.default_attack.attack_name]!"))
|
||||
user.do_attack_animation(src, null)
|
||||
playsound(loc, hitsound, 60, 1)
|
||||
take_damage(H.default_attack.attack_door)
|
||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
return
|
||||
|
||||
src.do_animate("spark")
|
||||
src.stat |= BROKEN
|
||||
var/check = src.open(1)
|
||||
H.visible_message("<b>[H]</b> slices \the [src]'s controls, [check ? "ripping it open" : "breaking it"]!", SPAN_NOTICE("You slice \the [src]'s controls, [check ? "ripping it open" : "breaking it"]!"), SPAN_WARNING("You hear something sparking."))
|
||||
return
|
||||
if(src.p_open)
|
||||
user.set_machine(src)
|
||||
wires.Interact(user)
|
||||
|
||||
@@ -208,9 +208,7 @@
|
||||
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
|
||||
if(H.species.can_shred(H))
|
||||
|
||||
if(H.species.can_shred(H) || H.default_attack?.crowbar_door)
|
||||
if(src.density)
|
||||
visible_message("<span class='danger'>\The [H] forces \the [src] open!</span>")
|
||||
open(1)
|
||||
|
||||
@@ -12,10 +12,11 @@
|
||||
var/last_reply = 0
|
||||
var/last_slogan = 0 //When did we last pitch?
|
||||
var/slogan_delay = 6000 //How long until we can pitch again?
|
||||
var/change_message = "You feel a pleasant breeze as the autolocker whisks away all of your clothes, packing them neatly in a box."
|
||||
|
||||
// Stuff relating vocalizations
|
||||
var/list/slogan_list = list("Don't deploy just yet! Grab your gear!","Forgetting something?","Don't hop on in your skivvies, mate!","It's not Casual Friday, y'know?","Heaven's above, put some clothes on!")
|
||||
var/shut_up = 0 //Stop spouting those godawful pitches!
|
||||
var/shut_up = FALSE //Stop spouting those godawful pitches!
|
||||
|
||||
/obj/machinery/megavendor/machinery_process()
|
||||
if(((src.last_slogan + src.slogan_delay) <= world.time) && (src.slogan_list.len > 0) && (!src.shut_up) && prob(5))
|
||||
@@ -36,8 +37,14 @@
|
||||
return
|
||||
|
||||
var/obj/item/storage/box/gearbox = new(null, TRUE)
|
||||
var/list/AC
|
||||
var/obj/BE
|
||||
LAZYINITLIST(AC)
|
||||
gearbox.name = "personal possessions box"
|
||||
gearbox.desc = "All of the personal effects of [H.real_name], packaged neatly by the AutoDrobe."
|
||||
|
||||
if(H.belt)
|
||||
BE = H.belt
|
||||
for(var/obj/item/W in H.contents) //Strip 'em
|
||||
if(istype(W,/obj/item/organ))
|
||||
continue
|
||||
@@ -45,12 +52,17 @@
|
||||
continue
|
||||
if(!W.canremove)
|
||||
continue
|
||||
|
||||
if(isclothing(W))
|
||||
var/obj/item/clothing/U = W
|
||||
for(var/obj/item/clothing/accessory/A in U.accessories)
|
||||
U.remove_accessory(H, A)
|
||||
LAZYADD(AC, A)
|
||||
H.drop_from_inventory(W,gearbox)
|
||||
|
||||
to_chat(H,"<span class='notice'>You feel a pleasant breeze as the autolocker whisks away all of your clothes, packing them neatly in a box.</span>")
|
||||
to_chat(H, SPAN_NOTICE(change_message))
|
||||
|
||||
SSjobs.EquipRank(H, H.job, 1, 1) //Equip 'em
|
||||
H.megavend = 1
|
||||
|
||||
//Give them the box
|
||||
if(istype(H.back,/obj/item/storage/backpack))
|
||||
@@ -60,4 +72,31 @@
|
||||
else
|
||||
H.put_in_any_hand_if_possible(gearbox)
|
||||
|
||||
for(var/obj/item/clothing/accessory/A as anything in AC)
|
||||
H.remove_from_mob(A)
|
||||
H.equip_to_slot(A, slot_tie, FALSE)
|
||||
LAZYREMOVE(AC, A)
|
||||
if(BE)
|
||||
H.equip_to_slot_if_possible(BE, slot_belt, disable_warning = TRUE)
|
||||
return
|
||||
|
||||
/obj/machinery/megavendor/vendor
|
||||
name = "\improper NanoTrasen AutoDrobe Vendor"
|
||||
desc = "A NanoTrasen AutoDrobe machine to help through the trouble of getting dressed for work in the spur of a moment!"
|
||||
icon_state = "clothing"
|
||||
shut_up = TRUE
|
||||
density = 1
|
||||
change_message = "The autolocker issues your equipment and you quickly get changed."
|
||||
|
||||
/obj/machinery/megavendor/vendor/Crossed(O)
|
||||
return
|
||||
|
||||
/obj/machinery/megavendor/vendor/attack_hand(mob/user)
|
||||
..()
|
||||
if(ishuman(user) && Adjacent(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(!H.megavend)
|
||||
playsound(src,'sound/effects/sparks4.ogg',50,1)
|
||||
megavend(H)
|
||||
else
|
||||
to_chat(user, "\The [src]'s screen lights up a brief message: 'Equipment already claimed. Have a nice day!'")
|
||||
@@ -75,6 +75,7 @@
|
||||
/obj/item/reagent_containers/food/drinks/bottle/champagne = 5,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/vodka = 5,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/vodka/mushroom = 2,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/pulque = 5,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/fireball = 2,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/whiskey = 5,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/victorygin = 2,
|
||||
@@ -652,7 +653,8 @@
|
||||
/obj/item/storage/box/evidence = 6,
|
||||
/obj/item/device/holowarrant = 5,
|
||||
/obj/item/device/flashlight/maglight = 5,
|
||||
/obj/item/device/hailer = 5
|
||||
/obj/item/device/hailer = 5,
|
||||
/obj/item/reagent_containers/food/snacks/donut/normal = 6
|
||||
)
|
||||
premium = list(
|
||||
/obj/item/storage/box/fancy/donut = 2
|
||||
@@ -761,6 +763,7 @@
|
||||
/obj/item/seeds/tobaccoseed = 3,
|
||||
/obj/item/seeds/tomatoseed = 3,
|
||||
/obj/item/seeds/towermycelium = 3,
|
||||
/obj/item/seeds/vanilla = 3,
|
||||
/obj/item/seeds/watermelonseed = 3,
|
||||
/obj/item/seeds/wheatseed = 3,
|
||||
/obj/item/seeds/whitebeetseed = 3,
|
||||
@@ -830,6 +833,7 @@
|
||||
/obj/item/seeds/tobaccoseed = 40,
|
||||
/obj/item/seeds/tomatoseed = 30,
|
||||
/obj/item/seeds/towermycelium = 20,
|
||||
/obj/item/seeds/vanilla = 30,
|
||||
/obj/item/seeds/watermelonseed = 30,
|
||||
/obj/item/seeds/wheatseed = 20,
|
||||
/obj/item/seeds/whitebeetseed = 20,
|
||||
|
||||
@@ -11,7 +11,10 @@
|
||||
/obj/effect/landmark/New()
|
||||
..()
|
||||
tag = text("landmark*[]", name)
|
||||
do_landmark_effect()
|
||||
return 1
|
||||
|
||||
/obj/effect/landmark/proc/do_landmark_effect()
|
||||
switch(name) //some of these are probably obsolete
|
||||
if("monkey")
|
||||
monkeystart += loc
|
||||
@@ -93,7 +96,6 @@
|
||||
return
|
||||
|
||||
landmarks_list += src
|
||||
return 1
|
||||
|
||||
/obj/effect/landmark/proc/delete()
|
||||
delete_me = 1
|
||||
@@ -257,3 +259,11 @@
|
||||
|
||||
/obj/effect/landmark/distress_team_equipment
|
||||
name = "distress equipment"
|
||||
|
||||
/obj/effect/landmark/force_spawnpoint
|
||||
name = "force spawnpoint"
|
||||
var/job_tag = "Anyone"
|
||||
|
||||
/obj/effect/landmark/force_spawnpoint/do_landmark_effect()
|
||||
LAZYINITLIST(force_spawnpoints)
|
||||
LAZYADD(force_spawnpoints[job_tag], loc)
|
||||
@@ -12,7 +12,7 @@
|
||||
. = ..()
|
||||
if(force || !istype(H) || slot != slot_wear_suit)
|
||||
return
|
||||
if(H.species.get_bodytype() in list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI, SPECIES_SKRELL, SPECIES_UNATHI)) //gtfo stinky bugs
|
||||
if(H.species.get_bodytype() in list(BODYTYPE_HUMAN, BODYTYPE_TAJARA, BODYTYPE_SKRELL, BODYTYPE_UNATHI)) //gtfo stinky bugs
|
||||
return
|
||||
else
|
||||
return FALSE
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
var/list/decals = list(
|
||||
"quarter-turf" = list("path" = /obj/effect/floor_decal/corner, "precise" = 1, "coloured" = 1),
|
||||
"full quarter-turf" = list("path" = /obj/effect/floor_decal/corner_full, "precise" = 1, "coloured" = 1),
|
||||
"hazard stripes" = list("path" = /obj/effect/floor_decal/industrial/warning),
|
||||
"corner, hazard" = list("path" = /obj/effect/floor_decal/industrial/warning/corner),
|
||||
"hatched marking" = list("path" = /obj/effect/floor_decal/industrial/hatch, "coloured" = 1),
|
||||
|
||||
@@ -67,12 +67,12 @@
|
||||
<br><small><i>This document serves as a notice and permits the sanctioned arrest of
|
||||
the denoted employee of the NanoTrasen Civilian Branch of Operation by the
|
||||
Security Department of the denoted facility. </br>
|
||||
In accordance with Corporate Regulation, the denoted employee must be presented with signed and stamped or
|
||||
digitally autorized warrant before the actions entailed can be conducted legally. </br>
|
||||
The Suspect/Department staff is expected to offer full co-operation.</br>
|
||||
In accordance with Corporate Regulations, the denoted employee must be presented with a signed and stamped or
|
||||
digitally authorized warrant before the actions entailed can be conducted legally. </br>
|
||||
The Suspect/Department staff are expected to offer full co-operation.</br>
|
||||
In the event of the Suspect attempting to resist or flee, resisting arrest charges need to be applied !</br>
|
||||
In the event of staff attempting to interfere with a lawful arrest, they are to be detained as an accomplice !</br>
|
||||
In the event of no warrant being displayed <b>prior</b> to the arrest, security personell performing the arrest are subject to illegal detention charges !
|
||||
In the event of no warrant being displayed <b>prior</b> to the arrest, security personnel performing the arrest are subject to illegal detention charges !
|
||||
</i></small>
|
||||
<br>
|
||||
<br><b>Suspect's name: </b>
|
||||
@@ -104,11 +104,11 @@
|
||||
the Suspect's person/belongings/premises and/or Department for any items and materials
|
||||
that could be connected to the suspected regulation violation described below,
|
||||
pending an investigation in progress. </br>
|
||||
The Security Officer(s) are obligated to remove any and all such items from the Suspects posession
|
||||
The Security Officer(s) are obligated to remove any and all such items from the Suspect's posession
|
||||
and/or Department and file it as evidence. </br>
|
||||
In accordance with Corporate Regulation, the denoted employee must be presented with signed and stamped or
|
||||
digitally autorized warrant before the actions entailed can be conducted legally. </br>
|
||||
The Suspect/Department staff is expected to offer full co-operation.</br>
|
||||
In accordance with Corporate Regulations, the denoted employee must be presented with a signed and stamped or
|
||||
digitally authorized warrant before the actions entailed can be conducted legally. </br>
|
||||
The Suspect/Department staff are expected to offer full co-operation.</br>
|
||||
In the event of the Suspect/Department staff attempting to resist/impede this search or flee, they must be taken into custody immediately! </br>
|
||||
All confiscated items must be filed and taken to Evidence!</small></i></br>
|
||||
<br><b>Suspect's/location name: </b>
|
||||
|
||||
@@ -63,3 +63,10 @@
|
||||
|
||||
/obj/item/device/flashlight/lamp/lava/yellow
|
||||
light_color = COLOR_YELLOW
|
||||
|
||||
/obj/item/device/flashlight/lamp/stage
|
||||
name = "stage lamp"
|
||||
desc = "A portable, beautiful and flashy stage light!"
|
||||
light_color = COLOR_ORANGE
|
||||
icon_state = "stage"
|
||||
item_state = "stage"
|
||||
@@ -113,3 +113,9 @@
|
||||
desc = "Something that should not exist."
|
||||
icon_state = "megaphone_clown"
|
||||
item_state = "megaphone_clown"
|
||||
|
||||
/obj/item/device/megaphone/stagemicrophone
|
||||
name = "dazzling stage microphone"
|
||||
desc = "A glamorous looking stage microphone, complete with running lights and holographic effects around it."
|
||||
icon_state = "stagemicrophone"
|
||||
item_state = "stagemicrophone"
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
name = "voidsuit kit"
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "modkit"
|
||||
desc = "A simple cardboard box containing the requisition forms, permits, and decal kits a Himean voidsuit."
|
||||
desc = "A simple cardboard box containing the requisition forms, permits, and decal kits for a Himean voidsuit."
|
||||
desc_info = "In order to convert a voidsuit simply click on voidsuit or helmet with this item\
|
||||
The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit\
|
||||
or else it will be deleted."
|
||||
@@ -119,7 +119,7 @@
|
||||
var/obj/item/P = new voidsuit_product(get_turf(W))
|
||||
|
||||
if(!reconverting)
|
||||
to_chat(user, SPAN_NOTICE("Your permit for a [P] has been processed. Enjoy!"))
|
||||
to_chat(user, SPAN_NOTICE("Your permit for [P] has been processed. Enjoy!"))
|
||||
else
|
||||
to_chat(user, SPAN_NOTICE("Your voidsuit part has been reconverted into [P]."))
|
||||
|
||||
|
||||
@@ -4,9 +4,13 @@ var/list/mob_icon_icon_states = list()
|
||||
// If we don't actually need to offset this, don't bother with any of the generation/caching.
|
||||
if(!mob_icon_icon_states[mob_icon])
|
||||
mob_icon_icon_states[mob_icon] = icon_states(mob_icon)
|
||||
if(LAZYLEN(H.species.equip_adjust) && H.species.equip_adjust[slot] && length(H.species.equip_adjust[slot]) && (mob_state in mob_icon_icon_states[mob_icon]))
|
||||
var/needs_shift = !(H.species.bodytype in sprite_sheets)
|
||||
if(!needs_shift && length(item_icons))
|
||||
needs_shift = (slot in item_icons)
|
||||
if(LAZYLEN(H.species.equip_adjust) && H.species.equip_adjust[slot] && length(H.species.equip_adjust[slot]) && (mob_state in mob_icon_icon_states[mob_icon]) && needs_shift)
|
||||
// Check the cache for previously made icons.
|
||||
var/image_key = "[mob_icon]-[mob_state]-[color]-[slot]"
|
||||
var/image_key_mod = get_image_key_mod()
|
||||
var/image_key = "[mob_icon]-[mob_state]-[color]-[slot][!isnull(image_key_mod) ? "-[image_key_mod]" : ""]"
|
||||
if(!LAZYISIN(H.species.equip_overlays, image_key))
|
||||
var/icon/final_I = new(H.species.icon_template ? H.species.icon_template : 'icons/mob/human.dmi',"blank")
|
||||
var/list/shifts = H.species.equip_adjust[slot]
|
||||
@@ -18,9 +22,7 @@ var/list/mob_icon_icon_states = list()
|
||||
var/icon/equip = new(mob_icon, icon_state = mob_state, dir = use_dir)
|
||||
var/icon/canvas = new(H.species.icon_template ? H.species.icon_template : 'icons/mob/human.dmi',"blank")
|
||||
canvas.Blend(equip, ICON_OVERLAY, facing_list["x"]+1, facing_list["y"]+1)
|
||||
if(build_from_parts)
|
||||
var/icon/parts_icon = new(mob_icon, icon_state = "[item_state][contained_sprite ? slot_str_to_contained_flag(slot) : ""]_[worn_overlay]", dir = use_dir)
|
||||
canvas.Blend(parts_icon, ICON_OVERLAY, facing_list["x"]+1, facing_list["y"]+1)
|
||||
canvas = build_shifted_additional_parts(H, mob_icon, slot, canvas, facing_list, use_dir)
|
||||
final_I.Insert(canvas, dir = use_dir)
|
||||
LAZYINITLIST(H.species.equip_overlays)
|
||||
var/image/final_image = overlay_image(final_I, color = color, flags = RESET_COLOR|RESET_ALPHA)
|
||||
@@ -29,6 +31,25 @@ var/list/mob_icon_icon_states = list()
|
||||
I.appearance = H.species.equip_overlays[image_key]
|
||||
return I
|
||||
var/image/I = overlay_image(mob_icon, mob_state, color, RESET_COLOR|RESET_ALPHA)
|
||||
if(build_from_parts)
|
||||
I.add_overlay(overlay_image(mob_icon, "[item_state][contained_sprite ? slot_str_to_contained_flag(slot) : ""]_[worn_overlay]", null, RESET_COLOR|RESET_ALPHA))
|
||||
var/image/additional_parts = build_additional_parts(H, mob_icon)
|
||||
if(additional_parts)
|
||||
I.add_overlay(additional_parts)
|
||||
|
||||
return I
|
||||
|
||||
/obj/item/proc/get_image_key_mod()
|
||||
return
|
||||
|
||||
/obj/item/proc/build_shifted_additional_parts(mob/living/carbon/human/H, mob_icon, slot, var/icon/canvas, var/list/facing_list, use_dir)
|
||||
if(!canvas)
|
||||
return
|
||||
if(build_from_parts)
|
||||
var/icon/parts_icon = new(mob_icon, icon_state = "[item_state][contained_sprite ? slot_str_to_contained_flag(slot) : ""]_[worn_overlay]", dir = use_dir)
|
||||
canvas.Blend(parts_icon, ICON_OVERLAY, facing_list["x"]+1, facing_list["y"]+1)
|
||||
return canvas
|
||||
|
||||
/obj/item/proc/build_additional_parts(mob/living/carbon/human/H, mob_icon, slot)
|
||||
var/image/I
|
||||
if(build_from_parts)
|
||||
I = overlay_image(mob_icon, "[item_state][contained_sprite ? slot_str_to_contained_flag(slot) : ""]_[worn_overlay]", null, RESET_COLOR|RESET_ALPHA)
|
||||
return I
|
||||
@@ -17,7 +17,7 @@
|
||||
throwforce = 10
|
||||
w_class = ITEMSIZE_SMALL
|
||||
var/cooldown = 0 // floor tap cooldown
|
||||
var/static/list/nullchoices = list("Null Rod" = /obj/item/nullrod/, "Null Staff" = /obj/item/nullrod/staff, "Null Orb" = /obj/item/nullrod/orb, "Null Athame" = /obj/item/nullrod/athame, "Tribunal Rod" = /obj/item/nullrod/dominia)
|
||||
var/static/list/nullchoices = list("Null Rod" = /obj/item/nullrod/, "Null Staff" = /obj/item/nullrod/staff, "Null Orb" = /obj/item/nullrod/orb, "Null Athame" = /obj/item/nullrod/athame, "Tribunal Rod" = /obj/item/nullrod/dominia, "Tajaran charm" = /obj/item/nullrod/charm)
|
||||
|
||||
/obj/item/nullrod/dominia
|
||||
name = "tribunalist purification rod"
|
||||
@@ -49,6 +49,24 @@
|
||||
icon_state = "nullathame"
|
||||
item_state = "nullathame"
|
||||
|
||||
/obj/item/nullrod/charm
|
||||
name = "obsidian charm"
|
||||
desc = "A tajaran charm created from obsidian created to ward off the supernatural and bring good fortune."
|
||||
desc_fluff = "Talismans and charms are common among religious and superstitious tajara, with many believing them to be able to bring good fortune or ward off raskara and other evils."
|
||||
icon = 'icons/obj/tajara_items.dmi'
|
||||
contained_sprite = TRUE
|
||||
item_icons = null
|
||||
icon_state = "stone_talisman"
|
||||
item_state = "stone_talisman"
|
||||
force = 4
|
||||
throw_range = 7
|
||||
throwforce = 2
|
||||
slot_flags = SLOT_MASK | SLOT_WRISTS | SLOT_EARS | SLOT_TIE
|
||||
w_class = ITEMSIZE_TINY
|
||||
|
||||
/obj/item/nullrod/charm/get_mask_examine_text(mob/user)
|
||||
return "around [user.get_pronoun("his")] neck"
|
||||
|
||||
/obj/item/nullrod/obsidianshards
|
||||
name = "obsidian shards"
|
||||
desc = "A loose pile of obsidian shards, waiting to be assembled into a religious focus."
|
||||
|
||||
@@ -224,7 +224,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
set_light(2, 0.25, "#E38F46")
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
|
||||
/obj/item/clothing/mask/smokable/proc/die(var/no_message = 0)
|
||||
/obj/item/clothing/mask/smokable/proc/die(var/no_message = FALSE, var/intentionally = FALSE)
|
||||
var/turf/T = get_turf(src)
|
||||
set_light(0)
|
||||
playsound(src.loc, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1)
|
||||
@@ -235,15 +235,19 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
var/mob/living/M = loc
|
||||
if(!no_message)
|
||||
to_chat(M, SPAN_NOTICE("Your [name] goes out."))
|
||||
if(M.wear_mask)
|
||||
if(intentionally)
|
||||
butt.loc = T
|
||||
else if(M.wear_mask == src)
|
||||
M.remove_from_mob(src) //un-equip it so the overlays can update
|
||||
M.update_inv_wear_mask(0)
|
||||
M.equip_to_slot_if_possible(butt, slot_wear_mask)
|
||||
if(!(M.equip_to_slot_if_possible(butt, slot_wear_mask, ignore_blocked = TRUE)))
|
||||
M.put_in_hands(butt) // In case the above somehow fails, ensure it is placed somewhere
|
||||
else
|
||||
M.remove_from_mob(src) // if it dies in your hand.
|
||||
M.update_inv_l_hand(0)
|
||||
M.update_inv_r_hand(1)
|
||||
M.put_in_hands(butt)
|
||||
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
qdel(src)
|
||||
else
|
||||
@@ -359,7 +363,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
if(lit)
|
||||
user.visible_message(SPAN_NOTICE("<b>[user]</b> calmly drops and treads on the lit [src], putting it out instantly."), SPAN_NOTICE("You calmly drop and tread on the lit [src], putting it out instantly."))
|
||||
playsound(src.loc, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1)
|
||||
die(TRUE)
|
||||
die(TRUE, TRUE)
|
||||
else // Cigarette packing. For compulsive smokers.
|
||||
user.visible_message(SPAN_NOTICE("<b>[user]</b> taps \the [src] against their palm."), SPAN_NOTICE("You tap \the [src] against your palm."))
|
||||
return ..()
|
||||
|
||||
@@ -18,6 +18,9 @@
|
||||
slot_l_hand_str = "backpack",
|
||||
slot_r_hand_str = "backpack"
|
||||
)
|
||||
sprite_sheets = list(
|
||||
BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/back.dmi'
|
||||
)
|
||||
w_class = ITEMSIZE_LARGE
|
||||
slot_flags = SLOT_BACK
|
||||
max_w_class = ITEMSIZE_NORMAL
|
||||
@@ -498,7 +501,7 @@
|
||||
|
||||
/obj/item/storage/backpack/typec
|
||||
icon = 'icons/mob/species/breeder/inventory.dmi'
|
||||
name = "type c wings"
|
||||
name = "type c zo'ra wings"
|
||||
desc = "The wings of a CB Caste Vaurca. They are far too small at this stage to permit sustained periods of flight in most situations."
|
||||
icon_state = "wings"
|
||||
item_state = "wings"
|
||||
@@ -509,6 +512,32 @@
|
||||
species_restricted = list(BODYTYPE_VAURCA_BREEDER)
|
||||
sprite_sheets = list(BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/back.dmi')
|
||||
|
||||
/obj/item/storage/backpack/typec_klax
|
||||
icon = 'icons/mob/species/breeder/inventory.dmi'
|
||||
name = "type c k'lax wings"
|
||||
desc = "The wings of a CB Caste Vaurca. They are far too small at this stage to permit sustained periods of flight in most situations."
|
||||
icon_state = "wings_klax"
|
||||
item_state = "wings_klax"
|
||||
w_class = ITEMSIZE_HUGE
|
||||
slot_flags = SLOT_BACK
|
||||
max_storage_space = 12
|
||||
canremove = 0
|
||||
species_restricted = list(BODYTYPE_VAURCA_BREEDER)
|
||||
sprite_sheets = list(BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/back.dmi')
|
||||
|
||||
/obj/item/storage/backpack/typec_cthur
|
||||
icon = 'icons/mob/species/breeder/inventory.dmi'
|
||||
name = "type c c'thur wings"
|
||||
desc = "The wings of a CB Caste Vaurca. They are far too small at this stage to permit sustained periods of flight in most situations."
|
||||
icon_state = "wings_cthur"
|
||||
item_state = "wings_cthur"
|
||||
w_class = ITEMSIZE_HUGE
|
||||
slot_flags = SLOT_BACK
|
||||
max_storage_space = 12
|
||||
canremove = 0
|
||||
species_restricted = list(BODYTYPE_VAURCA_BREEDER)
|
||||
sprite_sheets = list(BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/back.dmi')
|
||||
|
||||
/obj/item/storage/backpack/service
|
||||
name = "idris service backpack"
|
||||
desc = "The infamously Idris Service Standard refers to this monstrous, self-stabilizing back-mounted utensil and service item holder, not anything professional."
|
||||
|
||||
@@ -28,8 +28,10 @@
|
||||
add_overlay(I.get_belt_overlay())
|
||||
..()
|
||||
|
||||
/obj/item/storage/belt/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot)
|
||||
/obj/item/storage/belt/build_additional_parts(H, mob_icon, slot)
|
||||
var/image/I = ..()
|
||||
if(!I)
|
||||
I = image(null)
|
||||
for(var/obj/item/i in contents)
|
||||
var/c_state
|
||||
var/c_icon
|
||||
|
||||
@@ -44,7 +44,8 @@
|
||||
var/list/glove_types = list(
|
||||
"Standard Gloves" = /obj/item/clothing/gloves/latex/nitrile,
|
||||
"Unathi Gloves" = /obj/item/clothing/gloves/latex/nitrile/unathi,
|
||||
"Tajara Gloves" = /obj/item/clothing/gloves/latex/nitrile/tajara
|
||||
"Tajara Gloves" = /obj/item/clothing/gloves/latex/nitrile/tajara,
|
||||
"Vaurca Gloves" = /obj/item/clothing/gloves/latex/nitrile/vaurca
|
||||
)
|
||||
var/chosen_type = input(user, "Which pair of gloves would you like?", capitalize_first_letters(name)) as null|anything in glove_types
|
||||
if(!chosen_type)
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
desc = "A basic screw on filter attached beneath the mouthparts of the common Vaurca."
|
||||
name = "filter port"
|
||||
icon_state = "filterport"
|
||||
species_restricted = list(BODYTYPE_VAURCA, BODYTYPE_VAURCA_BREEDER)
|
||||
species_restricted = list(BODYTYPE_VAURCA, BODYTYPE_VAURCA_WARFORM, BODYTYPE_VAURCA_BREEDER, BODYTYPE_VAURCA_BULWARK)
|
||||
item_state = 0
|
||||
|
||||
/obj/item/clothing/head/shaper
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
new /obj/item/storage/backpack/satchel_cap(src)
|
||||
// Armor
|
||||
new /obj/item/clothing/head/helmet(src)
|
||||
new /obj/item/clothing/suit/armor/carrier/generic(src)
|
||||
new /obj/item/clothing/suit/armor/carrier/officer(src)
|
||||
//Tools
|
||||
new /obj/item/device/radio/headset/heads/captain(src)
|
||||
new /obj/item/device/radio/headset/heads/captain/alt(src)
|
||||
@@ -74,7 +74,7 @@
|
||||
new /obj/item/storage/box/fancy/keypouch/service(src)
|
||||
//Appearance
|
||||
new /obj/item/clothing/glasses/sunglasses(src)
|
||||
new /obj/item/clothing/suit/armor/carrier/generic(src)
|
||||
new /obj/item/clothing/suit/armor/carrier/officer(src)
|
||||
new /obj/item/clothing/head/helmet(src)
|
||||
new /obj/item/clothing/accessory/holster/waist(src)
|
||||
//Tools
|
||||
|
||||
@@ -224,6 +224,7 @@
|
||||
name = "roller bed"
|
||||
icon = 'icons/obj/rollerbed.dmi'
|
||||
icon_state = "standard_down"
|
||||
item_state = "rollerbed"
|
||||
anchored = FALSE
|
||||
var/base_state = "standard"
|
||||
var/item_bedpath = /obj/item/roller
|
||||
@@ -418,7 +419,12 @@
|
||||
name = "roller bed"
|
||||
desc = "A collapsed roller bed that can be carried around."
|
||||
icon = 'icons/obj/rollerbed.dmi'
|
||||
item_icons = list(
|
||||
slot_l_hand_str = 'icons/mob/items/lefthand_medical.dmi',
|
||||
slot_r_hand_str = 'icons/mob/items/righthand_medical.dmi'
|
||||
)
|
||||
icon_state = "standard_folded"
|
||||
item_state = "rollerbed"
|
||||
drop_sound = 'sound/items/drop/axe.ogg'
|
||||
pickup_sound = 'sound/items/pickup/axe.ogg'
|
||||
center_of_mass = list("x" = 17,"y" = 7)
|
||||
|
||||
@@ -367,6 +367,9 @@
|
||||
/obj/effect/floor_decal/corner_wide/grey/full
|
||||
icon_state = "wide_corner_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_full
|
||||
name = "full corner"
|
||||
icon_state = "full_corner"
|
||||
|
||||
/obj/effect/floor_decal/spline/plain
|
||||
name = "spline - plain"
|
||||
|
||||
@@ -899,6 +899,17 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
if(alert(src, "Are you sure?", "Confirm", "Yes", "No") != "Yes")
|
||||
return
|
||||
|
||||
if(current_map.shuttle_call_restarts)
|
||||
if(current_map.shuttle_call_restart_timer)
|
||||
to_chat(usr, SPAN_WARNING("The shuttle round restart timer is already active!"))
|
||||
return
|
||||
feedback_add_details("admin_verb","CSHUT")
|
||||
current_map.shuttle_call_restart_timer = addtimer(CALLBACK(GLOBAL_PROC, .proc/reboot_world), 10 MINUTES, TIMER_UNIQUE|TIMER_STOPPABLE)
|
||||
log_game("[key_name(usr)] has admin-called the 'shuttle' round restart.")
|
||||
message_admins("[key_name_admin(usr)] has admin-called the 'shuttle' round restart.", 1)
|
||||
to_world(FONT_LARGE(SPAN_VOTE(current_map.shuttle_called_message)))
|
||||
return
|
||||
|
||||
if(SSticker.mode.auto_recall_shuttle)
|
||||
if(input("The evacuation will just be cancelled if you call it. Call anyway?") in list("Confirm", "Cancel") != "Confirm")
|
||||
return
|
||||
@@ -923,6 +934,19 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
if(!ROUND_IS_STARTED || !evacuation_controller)
|
||||
return
|
||||
|
||||
if(current_map.shuttle_call_restarts)
|
||||
if(!current_map.shuttle_call_restart_timer)
|
||||
to_chat(usr, SPAN_WARNING("The restart timer for this map isn't active!"))
|
||||
return
|
||||
feedback_add_details("admin_verb","CCSHUT")
|
||||
deltimer(current_map.shuttle_call_restart_timer)
|
||||
current_map.shuttle_call_restart_timer = null
|
||||
log_game("[key_name(usr)] has admin-stopped the 'shuttle' round restart.", key_name(usr))
|
||||
message_admins("[key_name_admin(usr)] has admin-stopped the 'shuttle' round restart.", 1)
|
||||
to_world(FONT_LARGE(SPAN_VOTE(current_map.shuttle_recall_message)))
|
||||
return
|
||||
|
||||
|
||||
evacuation_controller.cancel_evacuation()
|
||||
feedback_add_details("admin_verb","CCSHUT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
log_admin("[key_name(usr)] admin-cancelled the evacuation.",admin_key=key_name(usr))
|
||||
|
||||
@@ -66,6 +66,7 @@
|
||||
SPECIES_IPC_ZENGHU,
|
||||
SPECIES_DIONA,
|
||||
SPECIES_SKRELL,
|
||||
SPECIES_SKRELL_AXIORI,
|
||||
SPECIES_TAJARA,
|
||||
SPECIES_TAJARA_MSAI,
|
||||
SPECIES_TAJARA_ZHAN,
|
||||
@@ -173,6 +174,7 @@
|
||||
SPECIES_IPC_XION,
|
||||
SPECIES_IPC_ZENGHU,
|
||||
SPECIES_SKRELL,
|
||||
SPECIES_SKRELL_AXIORI,
|
||||
SPECIES_TAJARA,
|
||||
SPECIES_TAJARA_MSAI,
|
||||
SPECIES_TAJARA_ZHAN,
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
SPECIES_HUMAN_OFFWORLD,
|
||||
SPECIES_DIONA,
|
||||
SPECIES_SKRELL,
|
||||
SPECIES_SKRELL_AXIORI,
|
||||
SPECIES_TAJARA,
|
||||
SPECIES_TAJARA_MSAI,
|
||||
SPECIES_TAJARA_ZHAN,
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
SPECIES_IPC_ZENGHU,
|
||||
SPECIES_DIONA,
|
||||
SPECIES_SKRELL,
|
||||
SPECIES_SKRELL_AXIORI,
|
||||
SPECIES_UNATHI,
|
||||
SPECIES_VAURCA_WORKER,
|
||||
SPECIES_VAURCA_WARRIOR,
|
||||
@@ -73,6 +74,7 @@
|
||||
SPECIES_IPC_ZENGHU,
|
||||
SPECIES_DIONA,
|
||||
SPECIES_SKRELL,
|
||||
SPECIES_SKRELL_AXIORI,
|
||||
SPECIES_UNATHI,
|
||||
SPECIES_VAURCA_WORKER,
|
||||
SPECIES_VAURCA_WARRIOR,
|
||||
@@ -126,6 +128,7 @@
|
||||
SPECIES_IPC_ZENGHU,
|
||||
SPECIES_DIONA,
|
||||
SPECIES_SKRELL,
|
||||
SPECIES_SKRELL_AXIORI,
|
||||
SPECIES_UNATHI,
|
||||
SPECIES_VAURCA_WORKER,
|
||||
SPECIES_VAURCA_WARRIOR,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
SPECIES_IPC_ZENGHU,
|
||||
SPECIES_DIONA,
|
||||
SPECIES_SKRELL,
|
||||
SPECIES_SKRELL_AXIORI,
|
||||
SPECIES_TAJARA,
|
||||
SPECIES_TAJARA_MSAI,
|
||||
SPECIES_TAJARA_ZHAN,
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
SPECIES_IPC_ZENGHU,
|
||||
SPECIES_DIONA,
|
||||
SPECIES_SKRELL,
|
||||
SPECIES_SKRELL_AXIORI,
|
||||
SPECIES_TAJARA,
|
||||
SPECIES_TAJARA_MSAI,
|
||||
SPECIES_TAJARA_ZHAN,
|
||||
|
||||
@@ -85,8 +85,6 @@
|
||||
return
|
||||
if(istype(T, /turf/simulated/wall))
|
||||
var/turf/simulated/wall/SW = T
|
||||
if(SW.reinf_material && SW.reinf_material.hardness > 60)
|
||||
return TRUE
|
||||
SW.take_damage(80)
|
||||
return
|
||||
var/obj/structure/girder/G = locate() in T
|
||||
|
||||
@@ -391,6 +391,9 @@ var/list/localhost_addresses = list(
|
||||
if (byond_version >= 511 && prefs.clientfps)
|
||||
fps = prefs.clientfps
|
||||
|
||||
if(prefs.toggles_secondary & FULLSCREEN_MODE)
|
||||
toggle_fullscreen(TRUE)
|
||||
|
||||
/client/proc/InitClient()
|
||||
to_chat(src, "<span class='alert'>If the title screen is black, resources are still downloading. Please be patient until the title screen appears.</span>")
|
||||
|
||||
@@ -598,6 +601,24 @@ var/list/localhost_addresses = list(
|
||||
if(prefs)
|
||||
prefs.ShowChoices(usr)
|
||||
|
||||
/client/verb/toggle_fullscreen_preference()
|
||||
set name = "Toggle Fullscreen Preference"
|
||||
set category = "Preferences"
|
||||
set desc = "Toggles whether the game window will be true fullscreen or normal."
|
||||
|
||||
prefs.toggles_secondary ^= FULLSCREEN_MODE
|
||||
prefs.save_preferences()
|
||||
toggle_fullscreen(prefs.toggles_secondary & FULLSCREEN_MODE)
|
||||
|
||||
/client/proc/toggle_fullscreen(new_value)
|
||||
if(new_value)
|
||||
winset(src, "mainwindow", "is-maximized=false;can-resize=false;titlebar=false;menu=menu")
|
||||
winset(src, "mainwindow.mainvsplit", "pos=0x0")
|
||||
else
|
||||
winset(src, "mainwindow", "is-maximized=false;can-resize=true;titlebar=true;menu=menu")
|
||||
winset(src, "mainwindow.mainvsplit", "pos=3x0")
|
||||
winset(src, "mainwindow", "is-maximized=true")
|
||||
|
||||
/client/proc/apply_fps(var/client_fps)
|
||||
if(world.byond_version >= 511 && byond_version >= 511 && client_fps >= 0 && client_fps <= 1000)
|
||||
vars["fps"] = prefs.clientfps
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
cost = 1
|
||||
augment = TRUE
|
||||
sort_category = "Augments"
|
||||
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI, SPECIES_SKRELL, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR)
|
||||
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR)
|
||||
flags = GEAR_NO_SELECTION
|
||||
|
||||
/datum/gear/augment/eye_sensors
|
||||
@@ -13,7 +13,7 @@
|
||||
description = "An eye augment that allows the user to deploy medical or security sensors."
|
||||
path = /obj/item/organ/internal/augment/eye_sensors
|
||||
cost = 1
|
||||
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI, SPECIES_UNATHI, SPECIES_SKRELL, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR)
|
||||
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI, SPECIES_UNATHI, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR)
|
||||
|
||||
/datum/gear/augment/eye_sensors/New()
|
||||
..()
|
||||
@@ -106,21 +106,21 @@
|
||||
display_name = "memory inhibitor"
|
||||
description = "A Zeng Hu implant that allows one to have control over their memories, allowing you to set a timer and remove any memories developed within it."
|
||||
path = /obj/item/organ/internal/augment/memory_inhibitor
|
||||
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_SKRELL)
|
||||
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
|
||||
faction = "Zeng-Hu Pharmaceuticals"
|
||||
|
||||
/datum/gear/augment/emotional_manipulator
|
||||
display_name = "emotional manipulator"
|
||||
description = "A Zeng Hu brain implant to manipulate the brain's chemicals to induce a calming or happy feeling."
|
||||
path = /obj/item/organ/internal/augment/emotional_manipulator
|
||||
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_SKRELL)
|
||||
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
|
||||
faction = "Zeng-Hu Pharmaceuticals"
|
||||
|
||||
/datum/gear/augment/enhanced_vision
|
||||
display_name = "vision enhanced retinas"
|
||||
description = "Zeng Hu implants given to EMTs to assist with finding the injured. These eye implants allow one to see further than you normally could."
|
||||
path = /obj/item/organ/internal/augment/enhanced_vision
|
||||
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_SKRELL, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
|
||||
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
|
||||
faction = "Zeng-Hu Pharmaceuticals"
|
||||
cost = 3
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
display_name = "ocular installed sightlights"
|
||||
description = "Designed to assist Zeng-Hu medical personnel in darker areas or places experiencing periodic power issues, Sightlights will allow one to be able to use their eyes as a flashlight."
|
||||
path = /obj/item/organ/internal/augment/sightlights
|
||||
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_SKRELL, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
|
||||
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
|
||||
faction = "Zeng-Hu Pharmaceuticals"
|
||||
cost = 3
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
display_name = "zeng-hu veterancy plate"
|
||||
description = "A clear sign of Zeng-Hu's best, this plate bearing the company's symbol is installed on those who prove themselves in the hyper-competitive environment"
|
||||
path = /obj/item/organ/internal/augment/zenghu_plate
|
||||
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_SKRELL, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
|
||||
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
|
||||
faction = "Zeng-Hu Pharmaceuticals"
|
||||
|
||||
/datum/gear/augment/corrective_lenses
|
||||
|
||||
@@ -127,6 +127,18 @@
|
||||
path = /obj/item/clothing/shoes/sandal/clogs
|
||||
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION
|
||||
|
||||
/datum/gear/shoes/recolourable_shoes
|
||||
display_name = "shoe selection (colourable)"
|
||||
path = /obj/item/clothing/shoes/sneakers
|
||||
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION
|
||||
|
||||
/datum/gear/shoes/recolourable_shoes/New()
|
||||
..()
|
||||
var/list/recolourable_shoes = list()
|
||||
recolourable_shoes["sneakers"] = /obj/item/clothing/shoes/sneakers
|
||||
recolourable_shoes["oxfords"] = /obj/item/clothing/shoes/laceup/colourable
|
||||
gear_tweaks += new /datum/gear_tweak/path(recolourable_shoes)
|
||||
|
||||
/*
|
||||
Shoe Layer Adjustment
|
||||
*/
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
display_name = "gear harness"
|
||||
path = /obj/item/clothing/under/gearharness
|
||||
sort_category = "Xenowear"
|
||||
whitelisted = list(SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_DIONA, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP)
|
||||
whitelisted = list(SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_DIONA, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP)
|
||||
|
||||
/datum/gear/shoes/footwraps
|
||||
display_name = "cloth footwraps"
|
||||
|
||||
@@ -337,3 +337,25 @@
|
||||
sort_category = "Xenowear - Tajara"
|
||||
whitelisted = list(SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI)
|
||||
flags = GEAR_HAS_DESC_SELECTION
|
||||
|
||||
/datum/gear/accessory/tajara_charm
|
||||
display_name = "charms and talismans"
|
||||
description = "Charms and talismans often thought of to bring good luck, or of religious significance."
|
||||
path = /obj/item/clothing/accessory/tajaran/charm
|
||||
whitelisted = list(SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI)
|
||||
sort_category = "Xenowear - Tajara"
|
||||
flags = GEAR_HAS_DESC_SELECTION | GEAR_HAS_NAME_SELECTION
|
||||
|
||||
/datum/gear/accessory/tajara_charm/New()
|
||||
..()
|
||||
var/list/charm = list()
|
||||
charm["wooden charm"] = /obj/item/clothing/accessory/tajaran/charm
|
||||
charm["stone charm"] = /obj/item/clothing/accessory/tajaran/charm/stone
|
||||
charm["steel charm"] = /obj/item/clothing/accessory/tajaran/charm/steel
|
||||
charm["silver charm"] = /obj/item/clothing/accessory/tajaran/charm/steel/silver
|
||||
charm["bone charm"] = /obj/item/clothing/accessory/tajaran/charm/bone
|
||||
charm["silver seashell charm"] = /obj/item/clothing/accessory/tajaran/charm/steel/silver/seashell
|
||||
charm["tajani charm"] = /obj/item/clothing/accessory/tajaran/charm/tajani
|
||||
charm["holy sun rosette"] = /obj/item/clothing/accessory/tajaran/srendarr
|
||||
gear_tweaks += new /datum/gear_tweak/path(charm)
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
C.set_occupant(victim, 1)
|
||||
victim.Sleeping(3)
|
||||
to_chat(victim, SPAN_NOTICE("You are slowly waking up from the cryostasis aboard [current_map.full_name]. It might take a few seconds."))
|
||||
to_chat(victim, FONT_LARGE("<b>Your workplace attire is waiting for you at the nearest autodrobe vendor.</b>"))
|
||||
return
|
||||
|
||||
/datum/spawnpoint/cyborg
|
||||
|
||||
@@ -369,7 +369,7 @@
|
||||
body_parts_covered = HANDS
|
||||
slot_flags = SLOT_GLOVES
|
||||
attack_verb = list("challenged")
|
||||
species_restricted = list("exclude",BODYTYPE_UNATHI,BODYTYPE_TAJARA,BODYTYPE_VAURCA, BODYTYPE_GOLEM,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM)
|
||||
species_restricted = list("exclude",BODYTYPE_UNATHI,BODYTYPE_TAJARA,BODYTYPE_VAURCA, BODYTYPE_GOLEM,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_VAURCA_BULWARK)
|
||||
drop_sound = 'sound/items/drop/gloves.ogg'
|
||||
pickup_sound = 'sound/items/pickup/gloves.ogg'
|
||||
|
||||
@@ -489,6 +489,9 @@
|
||||
var/brightness_on
|
||||
var/on = 0
|
||||
|
||||
/obj/item/clothing/head/get_image_key_mod()
|
||||
return on
|
||||
|
||||
/obj/item/clothing/head/attack_self(mob/user)
|
||||
if(brightness_on)
|
||||
if(!isturf(user.loc))
|
||||
@@ -590,8 +593,21 @@
|
||||
bloodsies.color = blood_color
|
||||
bloodsies.appearance_flags = RESET_ALPHA
|
||||
I.add_overlay(bloodsies)
|
||||
return I
|
||||
|
||||
/obj/item/clothing/head/build_shifted_additional_parts(mob/living/carbon/human/H, mob_icon, slot, var/icon/canvas, var/list/facing_list, use_dir)
|
||||
canvas = ..()
|
||||
if(on && slot == slot_head_str)
|
||||
var/icon/lights_icon = new('icons/mob/light_overlays.dmi', icon_state = light_overlay, dir = use_dir)
|
||||
canvas.Blend(lights_icon, ICON_OVERLAY, facing_list["x"]+1, facing_list["y"]+1)
|
||||
return canvas
|
||||
|
||||
/obj/item/clothing/head/build_additional_parts(mob/living/carbon/human/H, mob_icon, slot)
|
||||
var/image/I = ..()
|
||||
if(!I)
|
||||
I = image(null)
|
||||
var/cache_key = "[light_overlay]_[H.cached_bodytype || (H.cached_bodytype = H.species.get_bodytype())]"
|
||||
if(on && SSicon_cache.light_overlay_cache[cache_key])
|
||||
if(on && SSicon_cache.light_overlay_cache[cache_key] && slot == slot_head_str)
|
||||
I.add_overlay(SSicon_cache.light_overlay_cache[cache_key])
|
||||
return I
|
||||
|
||||
@@ -621,7 +637,7 @@
|
||||
BODYTYPE_UNATHI = 'icons/mob/species/unathi/mask.dmi'
|
||||
)
|
||||
|
||||
species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM)
|
||||
species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_VAURCA_BULWARK)
|
||||
|
||||
var/voicechange = 0
|
||||
var/list/say_messages
|
||||
@@ -856,6 +872,9 @@
|
||||
slot_l_hand_str = 'icons/mob/items/clothing/lefthand_suit.dmi',
|
||||
slot_r_hand_str = 'icons/mob/items/clothing/righthand_suit.dmi'
|
||||
)
|
||||
sprite_sheets = list(
|
||||
BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/suit.dmi'
|
||||
)
|
||||
name = "suit"
|
||||
var/fire_resist = T0C+100
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
|
||||
@@ -886,9 +905,13 @@
|
||||
|
||||
/obj/item/clothing/suit/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot)
|
||||
var/image/I = ..()
|
||||
for(var/obj/item/clothing/accessory/A in accessories)
|
||||
var/image/accessory_image = A.get_accessory_mob_overlay()
|
||||
I.add_overlay(accessory_image)
|
||||
if(slot == slot_l_hand_str || slot == slot_r_hand_str)
|
||||
for(var/obj/item/clothing/accessory/A in accessories)
|
||||
A.accessory_mob_overlay.cut_overlays()
|
||||
else
|
||||
for(var/obj/item/clothing/accessory/A in accessories)
|
||||
var/image/accessory_image = A.get_accessory_mob_overlay(H)
|
||||
I.add_overlay(accessory_image)
|
||||
|
||||
if(blood_DNA)
|
||||
var/image/bloodsies = image(icon = H.species.blood_mask, icon_state = "[blood_overlay_type]blood")
|
||||
@@ -912,6 +935,9 @@
|
||||
slot_l_hand_str = 'icons/mob/items/clothing/lefthand_uniforms.dmi',
|
||||
slot_r_hand_str = 'icons/mob/items/clothing/righthand_uniforms.dmi'
|
||||
)
|
||||
sprite_sheets = list(
|
||||
BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/uniform.dmi'
|
||||
)
|
||||
name = "under"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||
permeability_coefficient = 0.90
|
||||
@@ -963,9 +989,13 @@
|
||||
|
||||
/obj/item/clothing/under/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot)
|
||||
var/image/I = ..()
|
||||
for(var/obj/item/clothing/accessory/A in accessories)
|
||||
var/image/accessory_image = A.get_accessory_mob_overlay()
|
||||
I.add_overlay(accessory_image)
|
||||
if(slot == slot_l_hand_str | slot == slot_r_hand_str)
|
||||
for(var/obj/item/clothing/accessory/A in accessories)
|
||||
A.accessory_mob_overlay.cut_overlays()
|
||||
else
|
||||
for(var/obj/item/clothing/accessory/A in accessories)
|
||||
var/image/accessory_image = A.get_accessory_mob_overlay(H)
|
||||
I.add_overlay(accessory_image)
|
||||
|
||||
if(blood_DNA)
|
||||
var/image/bloodsies = image(icon = H.species.blood_mask, icon_state = "uniformblood")
|
||||
@@ -1173,6 +1203,8 @@
|
||||
/obj/item/clothing/under/clothing_class()
|
||||
return "uniform"
|
||||
|
||||
/obj/item/clothing/under/AltClick(var/mob/user)
|
||||
set_sensors(user)
|
||||
|
||||
//Rings
|
||||
|
||||
@@ -1187,4 +1219,4 @@
|
||||
var/undergloves = TRUE
|
||||
|
||||
/obj/item/clothing/proc/clothing_class()
|
||||
return "clothing"
|
||||
return "clothing"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
contained_sprite = TRUE
|
||||
w_class = ITEMSIZE_TINY
|
||||
slot_flags = SLOT_HEAD | SLOT_EARS
|
||||
species_restricted = list(SPECIES_SKRELL)
|
||||
species_restricted = list(SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
|
||||
|
||||
/obj/item/clothing/ears/skrell/chain
|
||||
name = "gold headtail chains"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "Because you really needed another excuse to punch your crewmates."
|
||||
icon_state = "boxing"
|
||||
item_state = "boxing"
|
||||
species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM)
|
||||
species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_VAURCA_BULWARK)
|
||||
|
||||
/obj/item/clothing/gloves/boxing/attackby(obj/item/W, mob/user)
|
||||
if(W.iswirecutter() || istype(W, /obj/item/surgery/scalpel))
|
||||
|
||||
@@ -184,7 +184,7 @@
|
||||
item_state = "fingerlessgloves"
|
||||
fingerprint_chance = 100
|
||||
clipped = TRUE
|
||||
species_restricted = list("exclude",BODYTYPE_GOLEM,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM)
|
||||
species_restricted = list("exclude",BODYTYPE_GOLEM,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_VAURCA_BULWARK)
|
||||
|
||||
/obj/item/clothing/gloves/fingerless/colour
|
||||
icon_state = "fingerlessgloves_colour"
|
||||
|
||||
@@ -99,6 +99,13 @@
|
||||
item_state = "nitrile"
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
|
||||
/obj/item/clothing/gloves/latex/nitrile/vaurca
|
||||
name = "vaurca nitrile gloves"
|
||||
desc = "Sterile nitrile gloves. Designed for Vaurca use."
|
||||
icon_state = "nitrile"
|
||||
item_state = "nitrile"
|
||||
species_restricted = list(BODYTYPE_VAURCA)
|
||||
|
||||
/obj/item/clothing/gloves/latex/unathi
|
||||
name = "unathi latex gloves"
|
||||
desc = "Sterile latex gloves. Designed for Unathi use."
|
||||
@@ -109,6 +116,11 @@
|
||||
desc = "Sterile latex gloves. Designed for Tajara use."
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
|
||||
/obj/item/clothing/gloves/latex/vaurca
|
||||
name = "vaurca latex gloves"
|
||||
desc = "Sterile latex gloves. Designed for Vaurca use."
|
||||
species_restricted = list(BODYTYPE_VAURCA)
|
||||
|
||||
/obj/item/clothing/gloves/botanic_leather
|
||||
desc = "These leather work gloves protect against thorns, barbs, prickles, spikes and other harmful objects of floral origin."
|
||||
name = "leather gloves"
|
||||
@@ -127,6 +139,10 @@
|
||||
name = "tajaran leather gloves"
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
|
||||
/obj/item/clothing/gloves/botanic_leather/vaurca
|
||||
name = "vaurca leather gloves"
|
||||
species_restricted = list(BODYTYPE_VAURCA)
|
||||
|
||||
/*
|
||||
Forcegloves. They amplify force from melee hits as well as muck up disarm and stuff a little.
|
||||
Has bits of code in item_attack.dm, stungloves.dm, human_attackhand, human_defense
|
||||
@@ -189,7 +205,7 @@
|
||||
force = 5
|
||||
punch_force = 10
|
||||
clipped = 1
|
||||
species_restricted = list("exclude",BODYTYPE_GOLEM,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM)
|
||||
species_restricted = list("exclude",BODYTYPE_GOLEM,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_VAURCA_BULWARK)
|
||||
drop_sound = 'sound/items/drop/toolbox.ogg'
|
||||
pickup_sound = 'sound/items/pickup/toolbox.ogg'
|
||||
gender = NEUTER
|
||||
@@ -249,7 +265,7 @@
|
||||
siemens_coefficient = 1
|
||||
fingerprint_chance = 50
|
||||
clipped = 1
|
||||
species_restricted = list("exclude",BODYTYPE_GOLEM,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM)
|
||||
species_restricted = list("exclude",BODYTYPE_GOLEM,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_VAURCA_BULWARK)
|
||||
drop_sound = 'sound/items/drop/toolbox.ogg'
|
||||
pickup_sound = 'sound/items/pickup/toolbox.ogg'
|
||||
gender = NEUTER
|
||||
@@ -325,7 +341,7 @@
|
||||
siemens_coefficient = 1
|
||||
fingerprint_chance = 50
|
||||
clipped = TRUE
|
||||
species_restricted = list("exclude",BODYTYPE_GOLEM,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM)
|
||||
species_restricted = list("exclude",BODYTYPE_GOLEM,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_VAURCA_BULWARK)
|
||||
drop_sound = 'sound/items/drop/toolbox.ogg'
|
||||
pickup_sound = 'sound/items/pickup/toolbox.ogg'
|
||||
gender = NEUTER
|
||||
@@ -380,4 +396,4 @@
|
||||
desc = "Specially made gloves for investigative personnel. The luminescent threads woven into the material stand out under scrutiny."
|
||||
icon_state = "forensic"
|
||||
item_state = "forensicgloves"
|
||||
species_restricted = list("exclude",BODYTYPE_GOLEM,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM)
|
||||
species_restricted = list("exclude",BODYTYPE_GOLEM,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_VAURCA_BULWARK)
|
||||
@@ -530,6 +530,26 @@
|
||||
species_restricted = list(BODYTYPE_VAURCA_BREEDER)
|
||||
sprite_sheets = list(BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/head.dmi')
|
||||
|
||||
/obj/item/clothing/head/klax_breeder
|
||||
name = "k'lax represenatitve shroud"
|
||||
desc = "Large shroud used by K'lax representatives."
|
||||
icon = 'icons/mob/species/breeder/inventory.dmi'
|
||||
item_state = "shroud_klax"
|
||||
icon_state = "shroud_klax"
|
||||
contained_sprite = FALSE
|
||||
species_restricted = list(BODYTYPE_VAURCA_BREEDER)
|
||||
sprite_sheets = list(BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/head.dmi')
|
||||
|
||||
/obj/item/clothing/head/cthur_breeder
|
||||
name = "c'thur representative shroud"
|
||||
desc = "Large shroud used by C'thur representatives."
|
||||
icon = 'icons/mob/species/breeder/inventory.dmi'
|
||||
item_state = "shroud_cthur"
|
||||
icon_state = "shroud_cthur"
|
||||
contained_sprite = FALSE
|
||||
species_restricted = list(BODYTYPE_VAURCA_BREEDER)
|
||||
sprite_sheets = list(BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/head.dmi')
|
||||
|
||||
/obj/item/clothing/head/navy
|
||||
name = "sol navy utility cover"
|
||||
desc = "A military cover issued to Sol Alliance navy members as part of their field uniform."
|
||||
|
||||
@@ -94,6 +94,12 @@
|
||||
desc = "A pair of overly colorful shoes."
|
||||
icon_state = "rain_bow"
|
||||
|
||||
/obj/item/clothing/shoes/sneakers
|
||||
name = "sneakers"
|
||||
desc = "A pair of shoes well suited for running around in."
|
||||
icon_state = "sneakers"
|
||||
item_state = "sneakers"
|
||||
|
||||
/obj/item/clothing/shoes/medical
|
||||
name = "doctor shoes"
|
||||
desc = "A pair of green and white shoes intended for safety around patients."
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
item_flags = NOSLIP
|
||||
slowdown = 1
|
||||
species_restricted = null
|
||||
sprite_sheets = list(
|
||||
BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/shoes.dmi'
|
||||
)
|
||||
drop_sound = 'sound/items/drop/rubber.ogg'
|
||||
pickup_sound = 'sound/items/pickup/rubber.ogg'
|
||||
sprite_sheets = list("Tajara" = 'icons/mob/species/tajaran/shoes.dmi')
|
||||
@@ -31,6 +34,9 @@
|
||||
desc = "Taller synthleather boots with an artificial shine."
|
||||
icon_state = "kneeboots"
|
||||
item_state = "kneeboots"
|
||||
sprite_sheets = list(
|
||||
BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/shoes.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/shoes/jackboots/thigh
|
||||
name = "thigh-length black boots"
|
||||
@@ -69,6 +75,9 @@
|
||||
bomb = ARMOR_BOMB_MINOR,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
sprite_sheets = list(
|
||||
BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/shoes.dmi'
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
can_hold_knife = TRUE
|
||||
build_from_parts = TRUE
|
||||
|
||||
@@ -142,6 +142,11 @@ obj/item/clothing/shoes/sandal/clogs
|
||||
/obj/item/clothing/shoes/laceup/brown/all_species
|
||||
species_restricted = null
|
||||
|
||||
/obj/item/clothing/shoes/laceup/colourable
|
||||
name = "oxford shoes"
|
||||
icon_state = "oxford_colour"
|
||||
item_state = "oxford_colour"
|
||||
|
||||
/obj/item/clothing/shoes/swimmingfins
|
||||
desc = "Help you swim good."
|
||||
name = "swimming fins"
|
||||
@@ -213,6 +218,9 @@ obj/item/clothing/shoes/sandal/clogs
|
||||
melee = ARMOR_MELEE_MINOR,
|
||||
bio = ARMOR_BIO_MINOR
|
||||
)
|
||||
sprite_sheets = list(
|
||||
BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/shoes.dmi'
|
||||
)
|
||||
siemens_coefficient = 0.75
|
||||
can_hold_knife = TRUE
|
||||
build_from_parts = TRUE
|
||||
|
||||
@@ -4,11 +4,17 @@
|
||||
icon = 'icons/obj/vaurca_items.dmi'
|
||||
icon_state = "vaurca_shoes"
|
||||
item_state = "vaurca_shoes"
|
||||
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MINOR
|
||||
)
|
||||
melee = ARMOR_MELEE_MINOR
|
||||
)
|
||||
|
||||
sprite_sheets = list(
|
||||
BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/shoes.dmi'
|
||||
)
|
||||
|
||||
body_parts_covered = FEET
|
||||
species_restricted = list(BODYTYPE_VAURCA)
|
||||
species_restricted = list(BODYTYPE_VAURCA, BODYTYPE_VAURCA_BULWARK)
|
||||
contained_sprite = TRUE
|
||||
|
||||
/obj/item/clothing/shoes/vaurca/breeder
|
||||
@@ -19,4 +25,24 @@
|
||||
icon_state = "typec_shoes"
|
||||
contained_sprite = FALSE
|
||||
species_restricted = list(BODYTYPE_VAURCA_BREEDER)
|
||||
sprite_sheets = list(BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/shoes.dmi')
|
||||
|
||||
/obj/item/clothing/shoes/vaurca/breeder_klax
|
||||
name = "k'lax representative shoes"
|
||||
desc = "Large shoes used by K'lax representatives."
|
||||
icon = 'icons/mob/species/breeder/inventory.dmi'
|
||||
item_state = "typec_shoes_klax"
|
||||
icon_state = "typec_shoes_klax"
|
||||
contained_sprite = FALSE
|
||||
species_restricted = list(BODYTYPE_VAURCA_BREEDER)
|
||||
sprite_sheets = list(BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/shoes.dmi')
|
||||
|
||||
/obj/item/clothing/shoes/vaurca/breeder_cthur
|
||||
name = "c'thur representative shoes"
|
||||
desc = "Large shoes used by C'thur representatives."
|
||||
icon = 'icons/mob/species/breeder/inventory.dmi'
|
||||
item_state = "typec_shoes_cthur"
|
||||
icon_state = "typec_shoes_cthur"
|
||||
contained_sprite = FALSE
|
||||
species_restricted = list(BODYTYPE_VAURCA_BREEDER)
|
||||
sprite_sheets = list(BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/shoes.dmi')
|
||||
@@ -23,7 +23,7 @@
|
||||
min_pressure_protection = 0
|
||||
max_pressure_protection = SPACE_SUIT_MAX_PRESSURE
|
||||
siemens_coefficient = 0.5
|
||||
species_restricted = list("exclude",BODYTYPE_DIONA,BODYTYPE_GOLEM)
|
||||
species_restricted = list("exclude",BODYTYPE_DIONA,BODYTYPE_GOLEM,BODYTYPE_VAURCA_BULWARK)
|
||||
flash_protection = FLASH_PROTECTION_MAJOR
|
||||
allow_hair_covering = FALSE
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
min_pressure_protection = 0
|
||||
max_pressure_protection = SPACE_SUIT_MAX_PRESSURE
|
||||
siemens_coefficient = 0.5
|
||||
species_restricted = list("exclude",BODYTYPE_DIONA,BODYTYPE_GOLEM)
|
||||
species_restricted = list("exclude",BODYTYPE_DIONA,BODYTYPE_GOLEM,BODYTYPE_VAURCA_BULWARK)
|
||||
|
||||
var/list/supporting_limbs //If not-null, automatically splints breaks. Checked when removing the suit.
|
||||
|
||||
|
||||
@@ -561,6 +561,50 @@
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN)
|
||||
|
||||
/obj/item/clothing/head/helmet/space/void/golden_deep
|
||||
name = "golden helmet"
|
||||
desc = "A glamorous, decorated helmet plated with gold. Very hefty."
|
||||
icon = 'icons/obj/clothing/voidsuit/golden_deep.dmi'
|
||||
icon_state = "goldhelm"
|
||||
item_state = "goldhelm"
|
||||
contained_sprite = 1
|
||||
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MEDIUM,
|
||||
laser = ARMOR_LASER_PISTOL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_IPC_INDUSTRIAL, BODYTYPE_IPC_ZENGHU, BODYTYPE_IPC_BISHOP)
|
||||
brightness_on = 6
|
||||
|
||||
/obj/item/clothing/suit/space/void/golden_deep
|
||||
name = "golden suit"
|
||||
desc = "A very heavy, gold-plated suit. Fabulous!"
|
||||
icon = 'icons/obj/clothing/voidsuit/golden_deep.dmi'
|
||||
icon_state = "goldsuit"
|
||||
item_state = "goldsuit"
|
||||
contained_sprite = 1
|
||||
slowdown = 1
|
||||
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_RESISTANT,
|
||||
bullet = ARMOR_BALLISTIC_MEDIUM,
|
||||
laser = ARMOR_LASER_PISTOL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_SMALL
|
||||
)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs)
|
||||
siemens_coefficient = 0.35
|
||||
species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_IPC_INDUSTRIAL, BODYTYPE_IPC_ZENGHU, BODYTYPE_IPC_BISHOP)
|
||||
|
||||
/obj/item/clothing/head/helmet/space/void/mining/himeo
|
||||
name = "himeo mining voidsuit helmet"
|
||||
desc = "A rugged polymer and alloy space helmet with a ballistic glass and polycarbonate visor commonly used by astronauts from Himeo."
|
||||
@@ -711,7 +755,7 @@
|
||||
|
||||
/obj/item/clothing/head/helmet/space/void/atmos/himeo/tajara
|
||||
name = "himeo atmospherics voidsuit helmet"
|
||||
desc = "A rugged polymer and alloy space helmet with a reinforced ballistic glass and polycarbonate goggle-type visor commonly used by astronauts from Himeo. This particular model is fitted for Tajara and appears to have a thicker layer of insulation on it."
|
||||
desc = "A rugged polymer and alloy space helmet with a reinforced ballistic glass and polycarbonate goggle-type visor commonly used by astronauts from Himeo. This particular model is fitted for Tajara and appears to have a thicker layer of insulation on it."
|
||||
desc_fluff = "The Type-78A 'Fish Fur' Helmet is a nearly 80 year old design and is part of a long line of homegrown voidsuits dating to when the planet ejected Hephaestus Industries. The main reason for its long service life \
|
||||
is its modularity, with Himean workers often taking the time to make their own improvements to it, ranging all the way from simple morale patches slapped on the top to modern HUD-enabled visors. It quickly found purchase among \
|
||||
Himeo's population of Tajaran expatriates, who were shown how to modify and use the voidsuits. Many of the first Tajaran-fitted suits were a product of collaborations between the two species making them all the more sentimental to those who use them."
|
||||
|
||||
@@ -168,6 +168,14 @@
|
||||
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
siemens_coefficient = 1.5
|
||||
|
||||
/obj/item/clothing/suit/golden_tailcoat
|
||||
name = "golden tailcoat"
|
||||
desc = "A brilliant looking golden tailcoat of sorts."
|
||||
icon = 'icons/clothing/suits/goldendeep_tailcoat.dmi'
|
||||
icon_state = "tailcoat"
|
||||
item_state = "tailcoat"
|
||||
body_parts_covered = UPPER_TORSO|ARMS
|
||||
|
||||
/obj/item/clothing/suit/storage/toggle/bomber
|
||||
name = "bomber jacket"
|
||||
desc = "A thick, well-worn WW2 leather bomber jacket."
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
icon_state = "messarobes"
|
||||
item_state = "messarobes"
|
||||
contained_sprite = TRUE
|
||||
no_overheat = TRUE
|
||||
desc_fluff = "The official religious body of the S'rendarr & Messa religion is reffered to as \"Parivara\" or roughly translated \"Family\". This branch is further split into \
|
||||
the female Sun Sisters and male Priest's of S'rendarr. Currently their main role is to act as mediator and to remain out of political matters, there is however a certain unspoken \
|
||||
agitation about the religion of Mata'ke and S'rrendars position within that pantheon. Further the Parivara has called multiple summits over the courses of war, which usually result \
|
||||
@@ -69,6 +70,7 @@
|
||||
icon_state = "matakecoat"
|
||||
item_state = "matakecoat"
|
||||
contained_sprite = TRUE
|
||||
no_overheat = TRUE
|
||||
desc_fluff = "The priesthood of Mata'ke is comprised of only men and strangely enough, hunters. Like their patron, all priests of Mata'ke must prove themselves capable, \
|
||||
practical, strong and masters of Adhomai wilderness. Every clan and temple of Mata'ke has a different way of testing its applicants and these tests are always kept as a strict \
|
||||
secret, the only thing known is that the majority of applicants never return. After they're accepted, priests of Mata'ke dress in furs and carry silver \
|
||||
@@ -80,6 +82,7 @@
|
||||
desc = "Large and fancy robes worn by the priests of Azubarre."
|
||||
icon_state = "azubarre"
|
||||
item_state = "azubarre"
|
||||
no_overheat = TRUE
|
||||
desc_fluff = "The priests of Azubarre are often adored and many aspire to become one, their large flowing robes and beautiful faces often accompany carnivals, marriages, \
|
||||
birthdays, births and many other social events making them the epitome of life. However, the selection for such priests is considered by most to be very shallow, as only those \
|
||||
beautiful and joyous enough are selected as priests. "
|
||||
@@ -105,6 +108,7 @@
|
||||
item_state = "taj_cloak"
|
||||
contained_sprite = TRUE
|
||||
flags_inv = HIDETAIL
|
||||
no_overheat = TRUE
|
||||
hoodtype = /obj/item/clothing/head/winterhood
|
||||
desc_fluff = "Today the fashion that dominates Adhomai shares few similarities to the clothing of old Furs, linen, hemp, silk and other such fabrics were traded for \
|
||||
synthetic versions, creating a massive boom in the nylon industry and textile industry in the cities. Jeans, overcoats, army uniforms, parade uniforms, flags, pants, shirts, ties, \
|
||||
|
||||
@@ -37,4 +37,24 @@
|
||||
icon_state = "representative_clothes"
|
||||
contained_sprite = FALSE
|
||||
species_restricted = list(BODYTYPE_VAURCA_BREEDER)
|
||||
sprite_sheets = list(BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/suit.dmi')
|
||||
|
||||
/obj/item/clothing/suit/vaurca/breeder_klax
|
||||
name = "k'lax representative clothes"
|
||||
desc = "A large piece of clothing used by K'lax representatives."
|
||||
icon = 'icons/mob/species/breeder/inventory.dmi'
|
||||
item_state = "representative_clothes_klax"
|
||||
icon_state = "representative_clothes_klax"
|
||||
contained_sprite = FALSE
|
||||
species_restricted = list(BODYTYPE_VAURCA_BREEDER)
|
||||
sprite_sheets = list(BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/suit.dmi')
|
||||
|
||||
/obj/item/clothing/suit/vaurca/breeder_cthur
|
||||
name = "c'thur representative clothes"
|
||||
desc = "A large piece of clothing used by C'thur representatives."
|
||||
icon = 'icons/mob/species/breeder/inventory.dmi'
|
||||
item_state = "representative_clothes_cthur"
|
||||
icon_state = "representative_clothes_cthur"
|
||||
contained_sprite = FALSE
|
||||
species_restricted = list(BODYTYPE_VAURCA_BREEDER)
|
||||
sprite_sheets = list(BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/suit.dmi')
|
||||
@@ -13,6 +13,9 @@
|
||||
var/image/accessory_mob_overlay = null
|
||||
var/flippable = 0 //whether it has an attack_self proc which causes the icon to flip horizontally
|
||||
var/flipped = 0
|
||||
sprite_sheets = list(
|
||||
BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/accessories.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/accessory/Destroy()
|
||||
on_removed()
|
||||
@@ -22,9 +25,9 @@
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
/obj/item/clothing/accessory/proc/get_inv_overlay(var/force = FALSE)
|
||||
/obj/item/clothing/accessory/proc/get_inv_overlay(var/mob/M, var/force = FALSE)
|
||||
if(!accessory_mob_overlay)
|
||||
get_accessory_mob_overlay()
|
||||
get_accessory_mob_overlay(M, force)
|
||||
var/I = accessory_mob_overlay.icon
|
||||
if(!inv_overlay || force)
|
||||
var/tmp_icon_state = "[overlay_state? "[overlay_state]" : "[icon_state]"]"
|
||||
@@ -41,8 +44,17 @@
|
||||
inv_overlay.add_overlay(overlay_image(I, "[icon_state]_[worn_overlay]", flags=RESET_COLOR)) //add the overlay w/o coloration of the original sprite
|
||||
return inv_overlay
|
||||
|
||||
/obj/item/clothing/accessory/proc/get_accessory_mob_overlay(var/force = FALSE)
|
||||
var/I = icon_override ? icon_override : contained_sprite ? icon : INV_ACCESSORIES_DEF_ICON
|
||||
/obj/item/clothing/accessory/proc/get_accessory_mob_overlay(var/mob/living/carbon/human/M, var/force = FALSE)
|
||||
var/I
|
||||
if(icon_override)
|
||||
I = icon_override
|
||||
else if(istype(M) && (M.species.bodytype in sprite_sheets))
|
||||
I = sprite_sheets[M.species.bodytype]
|
||||
accessory_mob_overlay = null // reset the overlay
|
||||
else if(contained_sprite)
|
||||
I = icon
|
||||
else
|
||||
I = INV_ACCESSORIES_DEF_ICON
|
||||
if(!accessory_mob_overlay || force)
|
||||
var/tmp_icon_state = "[overlay_state? "[overlay_state]" : "[icon_state]"]"
|
||||
if(icon_override)
|
||||
|
||||
@@ -90,11 +90,11 @@
|
||||
var/rolled = FALSE
|
||||
|
||||
/obj/item/clothing/accessory/dressshirt/update_clothing_icon()
|
||||
var/mob/M = loc
|
||||
if(ismob(loc))
|
||||
var/mob/M = loc
|
||||
M.update_inv_wear_suit()
|
||||
get_accessory_mob_overlay(TRUE)
|
||||
get_inv_overlay(TRUE)
|
||||
get_accessory_mob_overlay(M, TRUE)
|
||||
get_inv_overlay(M, TRUE)
|
||||
|
||||
/obj/item/clothing/accessory/dressshirt/verb/roll_up_shirt_sleeves()
|
||||
set name = "Roll Up Shirt Sleeves"
|
||||
|
||||
@@ -70,6 +70,7 @@
|
||||
and colorful dress wearing \"Flapper\" variety of clothing."
|
||||
icon_override = null
|
||||
contained_sprite = TRUE
|
||||
no_overheat = TRUE
|
||||
|
||||
/obj/item/clothing/accessory/poncho/tajarancloak/fancy
|
||||
name = "fancy cloak"
|
||||
@@ -249,7 +250,11 @@
|
||||
desc = "A simple rosette accessory depicting the Tajaran god S'rendarr."
|
||||
icon_state = "rosette"
|
||||
item_state = "rosette"
|
||||
flippable = FALSE
|
||||
slot_flags = SLOT_MASK | SLOT_TIE
|
||||
w_class = ITEMSIZE_TINY
|
||||
|
||||
/obj/item/clothing/accessory/tajaran/srendarr/get_mask_examine_text(mob/user)
|
||||
return "around [user.get_pronoun("his")] neck"
|
||||
|
||||
/obj/item/clothing/accessory/tajaran/council_badge
|
||||
name = "free tajaran council badge"
|
||||
@@ -263,3 +268,74 @@
|
||||
|
||||
drop_sound = 'sound/items/drop/ring.ogg'
|
||||
pickup_sound = 'sound/items/pickup/ring.ogg'
|
||||
|
||||
/obj/item/clothing/accessory/tajaran/charm
|
||||
name = "wooden charm"
|
||||
desc = "A hand carved wooden charm of tajaran origin."
|
||||
icon_state = "wooden_talisman"
|
||||
item_state = "wooden_talisman"
|
||||
desc_fluff = "Talismans and charms are common among religious and superstitious tajara, with many believing them to be able to bring good fortune or ward off raskara and other evils. \
|
||||
Hand-carved tajani charms are held in special regards, often being thought of as being particularly fortunate."
|
||||
w_class = ITEMSIZE_TINY
|
||||
flags = NOBLUDGEON
|
||||
slot_flags = SLOT_MASK | SLOT_WRISTS | SLOT_EARS | SLOT_TIE
|
||||
|
||||
/obj/item/clothing/accessory/tajaran/charm/get_mask_examine_text(mob/user)
|
||||
return "around [user.get_pronoun("his")] neck"
|
||||
|
||||
/obj/item/clothing/accessory/tajaran/charm/attack(mob/M as mob, mob/living/user as mob, target_zone = BP_CHEST)
|
||||
if(user.a_intent != I_HURT && M != user)
|
||||
if(target_zone == BP_HEAD | M.lying)
|
||||
user.visible_message("<b>\The [user]</b> holds \the [src] above <b>\the [M]</b>")
|
||||
else if(target_zone == BP_CHEST)
|
||||
user.visible_message("<b>\The [user]</b> holds \the [src] out in front of <b>\the [M]</b>")
|
||||
else
|
||||
user.visible_message("<b>\The [user]</b> holds \the [src] up near <b>\the [M]</b>")
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/accessory/tajaran/charm/afterattack(mob/M, var/mob/living/user, proximity_flag)
|
||||
if(proximity_flag)
|
||||
return
|
||||
if(!ishuman(M))
|
||||
return
|
||||
user.visible_message("<b>\The [user]</b> points \the [src] at <b>\the [M]</b>")
|
||||
|
||||
/obj/item/clothing/accessory/tajaran/charm/stone
|
||||
name = "stone charm"
|
||||
desc = "A strong stone charm of tajaran origin."
|
||||
icon_state = "stone_talisman"
|
||||
item_state = "stone_talisman"
|
||||
|
||||
/obj/item/clothing/accessory/tajaran/charm/steel
|
||||
name = "steel charm"
|
||||
desc = "A warding metallic of tajaran origin."
|
||||
icon_state = "steel_talisman"
|
||||
item_state = "steel_talisman"
|
||||
flags = CONDUCT | NOBLUDGEON
|
||||
|
||||
/obj/item/clothing/accessory/tajaran/charm/steel/silver
|
||||
name = "silver charm"
|
||||
desc = "An expensive silver charm of tajaran origin."
|
||||
icon_state = "silver_talisman"
|
||||
item_state = "silver_talisman"
|
||||
|
||||
/obj/item/clothing/accessory/tajaran/charm/bone
|
||||
name = "bone charm"
|
||||
desc = "A charm of tajaran origin carved from animal bones."
|
||||
icon_state = "bone_talisman"
|
||||
item_state = "bone_talisman"
|
||||
|
||||
/obj/item/clothing/accessory/tajaran/charm/steel/silver/seashell
|
||||
name = "silver seashell charm"
|
||||
desc = "A necklace made of soft rope with a silver charm attached in the shape of a seashell."
|
||||
desc_fluff = "Followers of Ma'ta'ke who reverers the amohdan goddess Minharzka can sometimes be found wearing silvery seashell charms. \
|
||||
Her tears having filled the oceans and risen to become the rain in the sky and it is thought that her mood is what controls the treacherous adhomian seas. \
|
||||
Minharzka's name is often invoked and offerings left at her altars for those hoping for safe travels, impressive cargo hauls or for the weather to change \
|
||||
and her fanatics are well known across tajaran history as being fearless and dangerous sailors and warriors of the sea."
|
||||
|
||||
/obj/item/clothing/accessory/tajaran/charm/tajani
|
||||
name = "wooden tajani charm"
|
||||
desc = "A hand carved charm of one of the mythical tajani."
|
||||
desc_fluff = "Tajani, also known as 'short people' in basic, are good-willed tiny elder Tajara who serve as guardians of nature and homes. \
|
||||
Hand carved charms of them is considered a symbol of luck and as such many superstitious tajara keeps one around."
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
body_parts_covered = 0
|
||||
species_restricted = null
|
||||
sprite_sheets = list(
|
||||
BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/suit.dmi'
|
||||
BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/suit.dmi',
|
||||
BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/uniform.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/under/pj/blue
|
||||
@@ -500,7 +501,7 @@
|
||||
|
||||
/obj/item/clothing/under/legion
|
||||
name = "Tau Ceti Foreign Legion uniform"
|
||||
desc = "A blue field uniform used by the force of the Tau Ceti Foreign Legion forces."
|
||||
desc = "A blue field uniform worn by Tau Ceti Foreign Legion forces."
|
||||
icon_state = "taucetilegion"
|
||||
item_state = "bl_suit"
|
||||
worn_state = "taucetilegion"
|
||||
@@ -582,7 +583,7 @@
|
||||
icon_state = "qipao2"
|
||||
item_state = "qipao2"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
||||
|
||||
|
||||
/obj/item/clothing/under/rank/elyran_fatigues
|
||||
name = "elyran navy uniform"
|
||||
desc = "An utility uniform worn by Elyran navy staff serving aboard ships and in the field."
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
/obj/item/clothing/under/tajaran/nt
|
||||
name = "NanoTrasen overalls"
|
||||
desc = "Overalls meant for NanoTrasen employees of xeno descend, modified to prevent overheating."
|
||||
desc = "Overalls meant for NanoTrasen employees of xeno descent, modified to prevent overheating."
|
||||
icon_state = "ntoveralls"
|
||||
item_state = "ntoveralls"
|
||||
|
||||
@@ -96,6 +96,7 @@
|
||||
icon_state = "taj_dress_white"
|
||||
item_state = "taj_dress_white"
|
||||
contained_sprite = TRUE
|
||||
no_overheat = TRUE
|
||||
desc_fluff = "Today the fashion that dominates Adhomai shares few similarities to the clothing of old Furs, linen, hemp, silk and other such fabrics were traded for \
|
||||
synthetic versions, creating a massive boom in the nylon industry and textile industry in the cities. Jeans, overcoats, army uniforms, parade uniforms, flags, pants, shirts, ties, \
|
||||
suspenders, overalls are now the fashion of every Tajara from Nal'Tor to Kaltir. The protests of \"Old fashion\" supporters usually shatter against how effective and cheap it is to \
|
||||
|
||||
@@ -93,6 +93,13 @@
|
||||
reagents = list(/decl/reagent/water = 10)
|
||||
result = /obj/item/reagent_containers/food/snacks/soup/beet
|
||||
|
||||
/decl/recipe/pozole
|
||||
appliance = SAUCEPAN | POT
|
||||
fruit = list("dyn" = 1, "cabbage" = 1, "tomato" = 1)
|
||||
reagents = list(/decl/reagent/water = 10)
|
||||
items = list(/obj/item/reagent_containers/food/snacks/meat)
|
||||
result = /obj/item/reagent_containers/food/snacks/soup/pozole
|
||||
|
||||
// Stews
|
||||
/decl/recipe/stew
|
||||
appliance = POT
|
||||
|
||||
@@ -2171,4 +2171,13 @@ All custom items with worn sprites must follow the contained sprite system: http
|
||||
desc = "A green-and-silver wooden die with six sides, beautifully carved and delicately painted. The single dot on the number one side is, on closer inspection, a miniature image of the god Rredouane."
|
||||
icon_state = "sur_g_d1"
|
||||
base_icon = "sur_g_d"
|
||||
favored_number = 6
|
||||
favored_number = 6
|
||||
|
||||
/obj/item/clothing/head/fluff/ulzka_skull // The skull of Ulzka Dorviza - The Continuity of Ulzka Dorviza - boggle08
|
||||
name = "skull of Ulzka Dorviza"
|
||||
desc = "This is the polished skull of a long dead Unathi. Great horns adorn either side of it, however, one of them is cracked off. In the rare instance it isn't lodged firmly in the gestalt it belongs to, it is bagged and tied up into the cowl that houses it."
|
||||
icon = 'icons/obj/custom_items/ulzka_skull.dmi'
|
||||
icon_state = "ulzka_skull"
|
||||
item_state = "ulzka_skull"
|
||||
canremove = FALSE
|
||||
contained_sprite = TRUE
|
||||
@@ -88,9 +88,11 @@
|
||||
|
||||
/datum/species/skrell
|
||||
default_emotes = list(
|
||||
/decl/emote/audible/warble
|
||||
/decl/emote/audible/warble,
|
||||
/decl/emote/audible/croon,
|
||||
/decl/emote/audible/lowarble,
|
||||
/decl/emote/audible/croak
|
||||
)
|
||||
|
||||
/mob/living/carbon/human/set_species(var/new_species, var/default_colour = 1)
|
||||
UNLINT(. = ..())
|
||||
update_emotes()
|
||||
|
||||
@@ -255,3 +255,18 @@
|
||||
key = "warble"
|
||||
emote_message_3p = "USER warbles!"
|
||||
emote_sound = 'sound/voice/warble.ogg'
|
||||
|
||||
/decl/emote/audible/croon
|
||||
key = "croon"
|
||||
emote_message_3p = "USER croons..."
|
||||
emote_sound = list('sound/voice/croon1.ogg', 'sound/voice/croon2.ogg')
|
||||
|
||||
/decl/emote/audible/lowarble
|
||||
key = "lwarble"
|
||||
emote_message_3p = "USER lets out a low, throaty warble!"
|
||||
emote_sound = 'sound/voice/low warble.ogg'
|
||||
|
||||
/decl/emote/audible/croak
|
||||
key = "croak"
|
||||
emote_message_3p = "USER croaks!"
|
||||
emote_sound = 'sound/voice/croak.ogg'
|
||||
|
||||
@@ -151,6 +151,8 @@
|
||||
|
||||
if (message)
|
||||
log_emote("[name]/[key] : [message]")
|
||||
|
||||
message = process_chat_markup(message, list("~", "_"))
|
||||
if(m_type == VISIBLE_MESSAGE)
|
||||
visible_message(message, show_observers = do_show_observers)
|
||||
else
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
//Vars related to human mobs
|
||||
outfit = /datum/outfit/admin/nt/odinsec
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_IPC)
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_IPC)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Odin Security Officer"
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
//Vars related to human mobs
|
||||
outfit = /datum/outfit/admin/nt/odindoc
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Odin Medical Doctor"
|
||||
@@ -64,7 +64,7 @@
|
||||
max_count = 1
|
||||
|
||||
outfit = /datum/outfit/admin/nt/odinpharm
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Odin Pharmacist"
|
||||
@@ -85,7 +85,7 @@
|
||||
max_count = 2
|
||||
|
||||
outfit = /datum/outfit/admin/nt/odinchef
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Odin Chef"
|
||||
@@ -106,7 +106,7 @@
|
||||
max_count = 1
|
||||
|
||||
outfit = /datum/outfit/admin/nt/odinbartender
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Odin Bartender"
|
||||
@@ -126,7 +126,7 @@
|
||||
max_count = 1
|
||||
|
||||
outfit = /datum/outfit/admin/nt/odinjanitor
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Sanitation Specialist"
|
||||
@@ -149,7 +149,7 @@
|
||||
max_count = 4
|
||||
|
||||
outfit = /datum/outfit/admin/ert/legion/sentinel
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_DIONA)
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_DIONA)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "TCFL Sentinel"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
landmark_name = "CCIAAgent"
|
||||
req_perms = R_CCIAA
|
||||
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_SKRELL)
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
respawn_flag = null
|
||||
@@ -155,7 +155,7 @@
|
||||
|
||||
//Vars related to human mobs
|
||||
outfit = /datum/outfit/admin/tcfl
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_TAJARA_MSAI,SPECIES_SKRELL, SPECIES_UNATHI,SPECIES_IPC)
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_TAJARA_MSAI,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI,SPECIES_IPC)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Tau Ceti Foreign Legion Legate"
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
//Vars related to human mobs
|
||||
outfit = /datum/outfit/admin/random/visitor
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_TAJARA,SPECIES_UNATHI)
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_HUMAN_OFFWORLD,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN,SPECIES_UNATHI,SPECIES_VAURCA_WARRIOR,SPECIES_VAURCA_WORKER)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Pod Survivor"
|
||||
@@ -25,7 +25,7 @@
|
||||
if(t == "star")
|
||||
welcome_message = "You are a stranded star!<br>You were relaxing comfortably in your cryo pod as tragedy struck - the pilot of your luxury yacht fell asleep under some mysterious circumstances. You were unceremoniously stuffed into an escape pod, and left to wander in space. What a despicable, low-quality plot to get rid of you. Should've chosen murder instead - you certainly know you'll convince someone nice to lend you a shuttle."
|
||||
outfit = /datum/outfit/admin/pod/star
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL)
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
|
||||
else if(t == "priest")
|
||||
welcome_message = "You are a stranded Trinary Perfection priest!<br>You were traveling around space on your small shuttle, preaching peacefully of the future divinity of the synthetics, and the grand purpose of mankind as the ones to help them achieve that goal. Unfortunately, Dominians don't seem to be as peaceful in disagreeing with your views - and had to evacuate your shot-down ship. Have your prayers to the Divines helped you now?"
|
||||
outfit = /datum/outfit/admin/pod/priest
|
||||
@@ -48,7 +48,7 @@
|
||||
else if(t == "tcfl")
|
||||
welcome_message = "You are a stranded member of the Tau Ceti Foreign Legion!<br>Perhaps there was a training accident or maybe something went wrong during a routine operation in the Romanovich Cloud. The Prefect will never let you hear the end of this..."
|
||||
outfit = /datum/outfit/admin/pod/tcfl
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_DIONA) // TCFL accepts everyone. G1 and G2 have been excluded because they can't wear the hardsuit, which has the suit cooler.
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_DIONA) // TCFL accepts everyone. G1 and G2 have been excluded because they can't wear the hardsuit, which has the suit cooler.
|
||||
else if(t == "fsf")
|
||||
welcome_message = "You are a stranded Petty Officer of the Free Solarian Fleets!<br>Your skiff out of the FSFV Sforza was on a routine patrol when an accident or an attack forced you to abandon ship. Thankfully, you seem to be in friendly territory..."
|
||||
outfit = /datum/outfit/admin/pod/fsf
|
||||
@@ -56,16 +56,16 @@
|
||||
else if(t == "scc")
|
||||
welcome_message = "You are a stranded Stellar Corporate Conglomerate low-level functionary!<br>A routine inspection of SCC assets in the Romanovich cloud turned into disaster when your shuttle's reactor suddenly and mysteriously failed. You narrowly escaped with your life. Worst of all? You lost your paperwork."
|
||||
outfit = /datum/outfit/admin/pod/scc
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL)
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
|
||||
else if(t == "fib")
|
||||
welcome_message = "You are a stranded Federal Investigation Bureau Agent!<br>What was supposed to be a standard investigation turned into a nightmare when the vessel you were supposed to board opened fire! You just managed to reach an escape pod before your own ship was turned into smoldering rubble. You really need some coffee."
|
||||
outfit = /datum/outfit/admin/pod/fib
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL)
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
|
||||
|
||||
else
|
||||
welcome_message = "You are a stranded drugs smuggler!<br>You shouldn't have had the fucking Tajara pilot your ship. <i>Of course</i> we crashed into a rock. Good thing you've got some of the stuff with you while evacuating - maybe you'll crash somewhere you could sell it for a ticket back?"
|
||||
outfit = /datum/outfit/admin/pod/smuggler
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_UNATHI)
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_UNATHI)
|
||||
|
||||
/datum/ghostspawner/human/rescuepodsurv/select_spawnlocation(var/use=TRUE)
|
||||
//Randomly select a Turf on the asteroid.
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
//Vars related to human mobs
|
||||
outfit = /datum/outfit/merchant_assistant
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_DIONA)
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_DIONA)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Merchants Assistant"
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
max_count = 1
|
||||
desc = "A highly trained Eridani medical officer and the second in command of the EPMC Asset Protection Team. Well versed in surgical procedures and expected to work in a hot zone. Not a stranger to a bank run."
|
||||
outfit = /datum/outfit/admin/ert/ap_eridani/doctor
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_SKRELL, SPECIES_IPC_SHELL)
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_IPC_SHELL)
|
||||
|
||||
/datum/ghostspawner/human/ert/ap_eridani/corpsman
|
||||
name = "Eridani Corpsman"
|
||||
@@ -34,4 +34,4 @@
|
||||
max_count = 2
|
||||
desc = "An Eridani corpsman that can handle nursing duties as well. Trained to operate in combat environments if needed. Make sure to check your quarterlies."
|
||||
outfit = /datum/outfit/admin/ert/ap_eridani/corpsman
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
desc = "A highly trained doctor. Can do most medical procedures even under severe stress. The de-facto lead of the IAC response team."
|
||||
welcome_message = "You are part of the Interstellar Aid Corps, an intergalactic entity set on aiding all in need."
|
||||
outfit = /datum/outfit/admin/ert/iac
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_DIONA, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_DIONA, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
|
||||
|
||||
/datum/ghostspawner/human/ert/iac/bodyguard
|
||||
name = "IAC Bodyguard"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
desc = "Rank and file of a freelancer mercenary team."
|
||||
welcome_message = "Your crew has been hired by Nanotrasen to sort out a distress signal. While you wouldn't do anything violent to the crew, maybe they won't miss that one fancy artifact..."
|
||||
outfit = /datum/outfit/admin/ert/mercenary
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_DIONA, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_DIONA, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
|
||||
|
||||
/datum/ghostspawner/human/ert/mercenary/specialist
|
||||
name = "Mercenary Medical Specialist"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
max_count = 2
|
||||
outfit = /datum/outfit/admin/ert/nanotrasen
|
||||
mob_name_prefix = "Tpr. "
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_SKRELL)
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
|
||||
spawnpoints = list("NTERTSpawn")
|
||||
|
||||
/datum/ghostspawner/human/ert/nanotrasen/specialist
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
spawnpoints = list("ERTSpawn")
|
||||
|
||||
//Vars related to human mobs
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_UNATHI, SPECIES_IPC)
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_UNATHI, SPECIES_IPC)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Emergency Responder"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
max_count = 3
|
||||
outfit = /datum/outfit/admin/ert/legion
|
||||
spawnpoints = list("TCFLERTSpawn")
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_DIONA)
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_DIONA)
|
||||
mob_name_prefix = "Vol. "
|
||||
|
||||
/datum/ghostspawner/human/ert/tcfl/specialist
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
//Vars related to human mobs
|
||||
outfit = /datum/outfit/admin/random/visitor
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_IPC_G1, SPECIES_IPC_G2)
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_IPC_G1, SPECIES_IPC_G2)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Visitor"
|
||||
@@ -23,4 +23,6 @@
|
||||
mob_name = null
|
||||
|
||||
/datum/ghostspawner/human/visitor/select_spawnlocation(var/use = TRUE)
|
||||
return pick(latejoin)
|
||||
if(current_map.force_spawnpoint)
|
||||
return pick(force_spawnpoints["Anyone"])
|
||||
return pick(latejoin)
|
||||
@@ -12,7 +12,7 @@
|
||||
away_site = TRUE
|
||||
|
||||
outfit = /datum/outfit/admin/zenghu_survivor
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_SKRELL, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP)
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Zeng-Hu Survivor"
|
||||
|
||||
@@ -59,3 +59,23 @@
|
||||
|
||||
/obj/item/seeds/sunflowerseed
|
||||
seed_type = "sunflowers"
|
||||
|
||||
/datum/seed/flower/vanilla
|
||||
name = "vanilla"
|
||||
seed_name = "vanilla"
|
||||
display_name = "vanilla"
|
||||
chems = list(/decl/reagent/nutriment/vanilla = list(3,10), /decl/reagent/nutriment = list(1,20))
|
||||
|
||||
/obj/item/seeds/vanilla
|
||||
seed_type = "vanilla"
|
||||
|
||||
/datum/seed/flower/vanilla/setup_traits()
|
||||
..()
|
||||
set_trait(TRAIT_MATURATION,7)
|
||||
set_trait(TRAIT_PRODUCTION,1)
|
||||
set_trait(TRAIT_YIELD,2)
|
||||
set_trait(TRAIT_PRODUCT_ICON,"flower5")
|
||||
set_trait(TRAIT_PRODUCT_COLOUR,"#e8efe5")
|
||||
set_trait(TRAIT_PLANT_COLOUR,"#6B8C5E")
|
||||
set_trait(TRAIT_PLANT_ICON,"flower")
|
||||
set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
|
||||
|
||||
@@ -90,6 +90,7 @@
|
||||
/obj/item/seeds/tobaccoseed = 3,
|
||||
/obj/item/seeds/tomatoseed = 3,
|
||||
/obj/item/seeds/towermycelium = 3,
|
||||
/obj/item/seeds/vanilla = 3,
|
||||
/obj/item/seeds/watermelonseed = 3,
|
||||
/obj/item/seeds/wheatseed = 3,
|
||||
/obj/item/seeds/whitebeetseed = 3,
|
||||
@@ -155,6 +156,7 @@
|
||||
/obj/item/seeds/tobaccoseed = 3,
|
||||
/obj/item/seeds/tomatoseed = 3,
|
||||
/obj/item/seeds/towermycelium = 3,
|
||||
/obj/item/seeds/vanilla = 3,
|
||||
/obj/item/seeds/watermelonseed = 3,
|
||||
/obj/item/seeds/wheatseed = 3,
|
||||
/obj/item/seeds/whitebeetseed = 3,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user