Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Новая карта Nostromo. Новый ивент режим Alien. [MDB IGNORE] [WIP] #13231

Draft
wants to merge 98 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
ad87ec5
1
Tap0r Jun 23, 2024
7cb6b18
2
Tap0r Jun 23, 2024
14baeda
3
Tap0r Jun 25, 2024
18908cd
4
Tap0r Jun 26, 2024
1a8a951
5 уаауаааааа
Tap0r Jun 27, 2024
4562a28
6 еееее
Tap0r Jun 28, 2024
17e3979
Merge remote-tracking branch 'upstream/master' into lowpop_alien
Tap0r Jun 29, 2024
802adf3
какие-то изменения в других мапах хз
Tap0r Jun 29, 2024
f57e3ad
чистим
Tap0r Jun 30, 2024
ff8481e
7 цели и чет еще
Tap0r Jun 30, 2024
fa3b33b
latejoin
Tap0r Jun 30, 2024
d7bb9f4
цельки
Tap0r Jun 30, 2024
3bdc2dd
очередной ренейминг всего что только можно
Tap0r Jun 30, 2024
7c27456
Create job_changes.dm
Tap0r Jun 30, 2024
a103758
рывочек
Tap0r Jun 30, 2024
b875579
ааа негры
Tap0r Jun 30, 2024
2b2a1e5
tgm формат карты
Tap0r Jun 30, 2024
1b0fbb2
Котик Джонси
Tap0r Jul 1, 2024
fd27ed4
зачаток системы страшных эмбиенсов и звуков
Tap0r Jul 2, 2024
2d56df9
продолжаем заливать какашки на гитхаб тау цети
Tap0r Jul 5, 2024
a8a2d2c
пох короче пусть палится медиками, отберем у них анализаторы прост хе…
Tap0r Jul 5, 2024
9793af9
тгм хидер для временного файла ватафак
Tap0r Jul 5, 2024
48d54e7
оверлеи огня и ограничение пинпоинтера
Tap0r Jul 5, 2024
7522904
итак ещё одна гавяшка
Tap0r Jul 5, 2024
7833433
боремся с дрим чекером
Tap0r Jul 5, 2024
55f2171
добивочная
Tap0r Jul 5, 2024
1ceaedb
я один дефайн юзаю для роли, фракции и расы, я бля адекватный ваще нет?
Tap0r Jul 5, 2024
69fa832
правочки
Tap0r Jul 6, 2024
a0e0353
допустим
Tap0r Jul 6, 2024
7457f28
исчезала иконка голода при сет_спешиес на синта, это бы в целом пофик…
Tap0r Jul 6, 2024
96d970d
контейнеры
Tap0r Jul 9, 2024
dc88164
отвязываем эмбиенс от зоны
Tap0r Jul 10, 2024
9c05e1c
ящик с помощью появляется на складе когда ксенос начинает отжираться
Tap0r Jul 10, 2024
a4e5577
Update lone_hunter.dm
Tap0r Jul 10, 2024
e0d8545
var!!!!
Tap0r Jul 10, 2024
8e7be29
аааааа!
Tap0r Jul 10, 2024
b9e358d
всякое разное
Tap0r Jul 11, 2024
55b633b
и ещё
Tap0r Jul 11, 2024
c1acc03
твики
Tap0r Jul 13, 2024
b28ba76
пока что откажусб временно от 3-ех палубника
Tap0r Jul 14, 2024
56f1cb6
меня вроде дримчекер в прошлый раз за такое ебал щас попробуем снова
Tap0r Jul 14, 2024
f9820c5
вроде адекватно переписанный майнд для лон ксена
Tap0r Jul 14, 2024
20b2d2f
дооформляем эквип экипажа
Tap0r Jul 14, 2024
65bf463
всякое допиливание
Tap0r Jul 14, 2024
652d95f
шаттл эвакуации!!!
Tap0r Jul 14, 2024
cca59aa
опа
Tap0r Jul 14, 2024
40a51ea
тгм хидер?????? ватафак
Tap0r Jul 14, 2024
068a0d1
чето я не выкупаю уже че ему надо
Tap0r Jul 14, 2024
4a6e3c7
Merge remote-tracking branch 'upstream/master' into lowpop_alien
Tap0r Jul 16, 2024
1b6ec98
ааааа!
Tap0r Jul 21, 2024
64b94c7
Merge remote-tracking branch 'upstream/master' into lowpop_alien
Tap0r Jul 21, 2024
63f20c2
вычищаем говно, объявляем перестройку
Tap0r Jul 21, 2024
889ff9b
ооооооо
Tap0r Jul 23, 2024
6d2da3e
суммари
Tap0r Jul 24, 2024
3195d71
контентик пошел
Tap0r Jul 26, 2024
662f0c1
запрет лодаута, ксено трава, смес, консоль мостиковская
Tap0r Jul 28, 2024
9dab343
Merge remote-tracking branch 'upstream/master' into lowpop_alien
Tap0r Jul 28, 2024
5e3a35c
решаем конфликты
Tap0r Jul 28, 2024
878404f
опа
Tap0r Jul 28, 2024
2019dc5
a
Tap0r Jul 28, 2024
304b82b
Merge remote-tracking branch 'upstream/master' into lowpop_alien
Tap0r Aug 1, 2024
a3bcd21
убиваем конфликты
Tap0r Aug 1, 2024
22f67da
всяк так сяк
Tap0r Aug 1, 2024
4bd040e
фиксы
Tap0r Aug 3, 2024
4874329
ещё!
Tap0r Aug 4, 2024
e4e7c0a
Update nuclearbomb.dm
Tap0r Aug 4, 2024
ab0862d
механизм самоуничтожения
Tap0r Aug 5, 2024
b8d60ec
Update smes.dm
Tap0r Aug 5, 2024
7bec36d
Update alien.dm
Tap0r Aug 5, 2024
6707c2c
ae
Tap0r Aug 5, 2024
6128c01
фиксы
Tap0r Aug 5, 2024
10bb62b
движ
Tap0r Aug 5, 2024
40ddafb
Update paper.dm
Tap0r Aug 10, 2024
6fc9436
Merge remote-tracking branch 'upstream/master' into lowpop_alien
Tap0r Aug 11, 2024
6300e17
решаем конфликты
Tap0r Aug 11, 2024
a5a34d2
рефакторинг всего ваще
Tap0r Aug 13, 2024
ecfa96a
pip
Tap0r Aug 13, 2024
19caea9
Update alien.dm
Tap0r Aug 13, 2024
d4ad4ac
суммари
Tap0r Aug 13, 2024
3055990
Update lone_hunter.dm
Tap0r Aug 13, 2024
fa22538
Merge remote-tracking branch 'upstream/master' into lowpop_alien
Tap0r Aug 13, 2024
3ff2d0b
пупупу
Tap0r Aug 15, 2024
3f8b328
самара
Tap0r Aug 18, 2024
664b277
уляля
Tap0r Aug 25, 2024
67f22b1
решаем конфликты
Tap0r Aug 25, 2024
6ddbe80
ещё
Tap0r Aug 25, 2024
c483aba
Merge remote-tracking branch 'upstream/master' into lowpop_alien
Tap0r Aug 25, 2024
05e8292
всё решено мама я гей
Tap0r Aug 25, 2024
86242eb
вуп
Tap0r Aug 25, 2024
d492465
Update lone_hunter.dm
Tap0r Aug 25, 2024
be6c9db
/
Tap0r Aug 25, 2024
d1ece53
ещё приколы
Tap0r Aug 25, 2024
f6066b1
аааа
Tap0r Aug 25, 2024
914be51
в душе не ебу какие-то сташед ченгес
Tap0r Sep 28, 2024
97ae54d
конфликты нахуй
Tap0r Sep 28, 2024
4032879
Merge remote-tracking branch 'upstream/master' into lowpop_alien
Tap0r Sep 28, 2024
4807c59
восстанавливаемся
Tap0r Sep 28, 2024
ed83b61
хуй знает погнали
Tap0r Sep 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/wiki/HOW_ADD_STATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,8 @@ endmap

`ZTRAIT_SPACE_RUINS` на этом слое будут генерироваться космические структуры

`ZTRAIT_INDECONSTRUCTABLE_PLATING` на этом слое невозможно будет разобрать пол с помощью рцд и сварки

`ZTRAIT_LINKAGE` определяет как будет происходить переход между слоями при подходе к краю карты, имеется возможных вариантов.
* UNAFFECTED / null - перехода нет, вы упрётесь в край карты
* SELFLOOPING / "Self" - при подходе к краю карты вы окажитесь на том же слое, но с другой стороны. Слой будет "зацикливаться"
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/gamemodes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#define F_SPIDERCLAN "Spider Clan"
#define F_WIZFEDERATION "Wizard Federation"
#define F_XENOMORPH_HIVE "Alien Hivemind"
#define F_XENOMORPH "Alien"
#define F_ZOMBIES "Zobmies"
#define F_REPLICATORS "Replicators"

Expand Down Expand Up @@ -64,6 +65,7 @@
#define WIZARD "Wizard"
#define WIZ_APPRENTICE "Wizard Apprentice"
#define XENOMORPH "Xenomorph"
#define LONE_XENOMORPH "Lone Xenomorph"
#define REPLICATOR "Replicator"
#define PIRATE "Pirate"
#define PRISONER "Prisoner"
Expand Down
4 changes: 3 additions & 1 deletion code/__DEFINES/is_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@

#define isxenohunter(A) (istype(A, /mob/living/carbon/xenomorph/humanoid/hunter))

#define isxenolonehunter(A) (istype(A, /mob/living/carbon/xenomorph/humanoid/hunter/lone))

#define isxenoadult(A) (istype(A, /mob/living/carbon/xenomorph/humanoid))

#define isxenolarva(A) (istype(A, /mob/living/carbon/xenomorph/larva))
Expand Down Expand Up @@ -225,7 +227,7 @@

#define iszombie(H) (H.get_species() in global.all_zombie_species_names)

#define isalien(H) isrole(XENOMORPH, H)
#define isalien(H) (isrole(XENOMORPH, H) || isrole(LONE_XENOMORPH, H))

#define isgangster(H) isrole(GANGSTER, H)

Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/map_modules.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,6 @@
#define FORTS_ROLE_COMMANDER "Commander"

#define FORTS_ROLES list(FORTS_ROLE_MEMBER, FORTS_ROLE_MEDIC, FORTS_ROLE_ARTILLERYMAN, FORTS_ROLE_ENGINEER, FORTS_ROLE_OFFICER, FORTS_ROLE_COMMANDER)


#define MAP_MODULE_ALIEN "Alien"
1 change: 1 addition & 0 deletions code/__DEFINES/maps.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#define ZTRAIT_RESERVED "Transit/Reserved"
#define ZTRAIT_AWAY "Away Mission"
#define ZTRAIT_SPACE_RUINS "Space Ruins"
#define ZTRAIT_INDECONSTRUCTABLE_PLATING "Indeconstructable plating"
#define ZTRAIT_LAVA_RUINS "Lava Ruins"
#define ZTRAIT_JUNKYARD "Junkyard"
#define ZTRAIT_SNOWSTORM "Snowstorm"
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,7 @@
/turf/simulated/wall/purple, \
/turf/simulated/wall/green, \
/turf/simulated/wall/beige, \
/turf/simulated/wall/nostromo, \
/turf/simulated/wall/r_wall, \
/turf/simulated/wall/r_wall/yellow, \
/turf/simulated/wall/r_wall/red, \
Expand Down
6 changes: 6 additions & 0 deletions code/__DEFINES/status_effects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@

#define STATUS_EFFECT_SWARMS_GIFT /datum/status_effect/swarm_gift

#define STATUS_EFFECT_ALIEN_ADRENALINE /datum/status_effect/alien_adrenaline
#define STATUS_EFFECT_ALIEN_REGENERATION /datum/status_effect/alien_regeneration
#define STATUS_EFFECT_ALERTNESS /datum/status_effect/alertness

/////////////
Expand All @@ -31,12 +33,16 @@

#define STATUS_EFFECT_CLUMSY /datum/status_effect/clumsy

#define STATUS_EFFECT_SLOWDOWN /datum/status_effect/slowdown

/////////////
// NEUTRAL //
/////////////

#define STATUS_EFFECT_ARRAY_TURN_BACK /datum/status_effect/array_turn_back

#define STATUS_EFFECT_ALIEN_HUNT /datum/status_effect/alien_hunt

// Stasis helpers

#define IS_IN_STASIS(mob) (mob.has_status_effect(STATUS_EFFECT_STASIS_BAG))
1 change: 1 addition & 0 deletions code/__DEFINES/xenomorph.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#define ALIEN_DRONE "Трутни"
#define ALIEN_SENTINEL "Стражи"
#define ALIEN_HUNTER "Охотники"
#define ALIEN_LONE_HUNTER "Одинокий охотник"
#define ALIEN_LARVA "Грудоломы"
#define ALIEN_FACEHUGGER "Лицехваты"
#define ALIEN_MAID "Горничные"
Expand Down
1 change: 1 addition & 0 deletions code/_globalvars/lists/mob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ var/global/list/alien_list = list(
ALIEN_DRONE = list(),
ALIEN_SENTINEL = list(),
ALIEN_HUNTER = list(),
ALIEN_LONE_HUNTER = list(),
ALIEN_LARVA = list(),
ALIEN_FACEHUGGER = list(),
ALIEN_MAID = list()
Expand Down
10 changes: 7 additions & 3 deletions code/controllers/configuration.dm
Original file line number Diff line number Diff line change
Expand Up @@ -44,20 +44,24 @@ var/global/bridge_secret = null
var/fps = 20
var/list/resource_urls = null
var/antag_hud_allowed = 0 // Ghosts can turn on Antagovision to see a HUD of who is the bad guys this round.
var/antag_hud_restricted = 0 // Ghosts that turn on Antagovision cannot rejoin the round.
var/antag_hud_restricted = 0 // Ghosts that turn on Antagovision cannot rejoin the round.
var/list/mode_names = list()
var/list/config_name_by_real = list()
var/list/probabilities = list() // relative probability of each mode
var/humans_need_surnames = 0
var/allow_random_events = 1 // enables random events mid-round when set to 1
var/alt_lobby_menu = 0 // event lobby
var/disable_station_announce = 0 // disables announcements mentioning the station
var/alt_lobby_menu = 0 // event lobby
var/event_cryopod_latejoin = 0 // event cryopod latejoin spawn
var/allow_loadout = 1 // allow loadout
var/allow_qualities = 1 // allow qualities
var/allow_ai = 1 // allow ai job
var/hostedby = null
var/respawn = 1
var/usewhitelist = 0
var/mods_are_mentors = 0
var/kick_inactive = 0 //force disconnect for inactive players
var/afk_time_bracket = 6000 // 10 minutes
var/afk_time_bracket = 6000 // 10 minutes
var/load_jobs_from_txt = 0
var/automute_on = 0 //enables automuting/spam prevention

Expand Down
37 changes: 19 additions & 18 deletions code/controllers/subsystem/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -511,26 +511,27 @@ SUBSYSTEM_DEF(job)
new /obj/item/weapon/storage/fancy/heart_box(BACKP)

//Give custom items
give_custom_items(H, job)
if(config.allow_loadout)
give_custom_items(H, job)

//Deferred item spawning.
for(var/thing in spawn_in_storage)
var/datum/gear/G = gear_datums[thing]
var/metadata = H.client.prefs.gear[G.display_name]
var/item = G.spawn_item(null, metadata)
//Deferred item spawning.
for(var/thing in spawn_in_storage)
var/datum/gear/G = gear_datums[thing]
var/metadata = H.client.prefs.gear[G.display_name]
var/item = G.spawn_item(null, metadata)

var/atom/placed_in = H.equip_or_collect(item)
if(placed_in)
to_chat(H, "<span class='notice'>Placing \the [item] in your [placed_in.name]!</span>")
continue
if(H.equip_to_appropriate_slot(item))
to_chat(H, "<span class='notice'>Placing \the [item] in your inventory!</span>")
continue
if(H.put_in_hands(item))
to_chat(H, "<span class='notice'>Placing \the [item] in your hands!</span>")
continue
to_chat(H, "<span class='danger'>Failed to locate a storage object on your mob, either you spawned with no arms and no backpack or this is a bug.</span>")
qdel(item)
var/atom/placed_in = H.equip_or_collect(item)
if(placed_in)
to_chat(H, "<span class='notice'>Placing \the [item] in your [placed_in.name]!</span>")
continue
if(H.equip_to_appropriate_slot(item))
to_chat(H, "<span class='notice'>Placing \the [item] in your inventory!</span>")
continue
if(H.put_in_hands(item))
to_chat(H, "<span class='notice'>Placing \the [item] in your hands!</span>")
continue
to_chat(H, "<span class='danger'>Failed to locate a storage object on your mob, either you spawned with no arms and no backpack or this is a bug.</span>")
qdel(item)

to_chat(H, "<B>You are the [alt_title ? alt_title : rank].</B>")
to_chat(H, "<b>As the [alt_title ? alt_title : rank] you answer directly to [job.supervisors]. Special circumstances may change this.</b>")
Expand Down
11 changes: 7 additions & 4 deletions code/controllers/subsystem/mapping.dm
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ SUBSYSTEM_DEF(mapping)
system_name = config.system_name
system_name = config.system_name_ru

if(config.map_module)
load_map_module(config.map_module)

loadWorld()
renameAreas()

if(config.map_module)
load_map_module(config.map_module)

process_teleport_locs() //Sets up the wizard teleport locations
process_ghost_teleport_locs() //Sets up ghost teleport locations.

Expand All @@ -65,7 +65,10 @@ SUBSYSTEM_DEF(mapping)
if(!loaded_map_module)
CRASH("Can't setup global event \"[module_name]\"!")

/datum/controller/subsystem/mapping/proc/get_map_module(module_name)
/datum/controller/subsystem/mapping/proc/get_map_module()
return loaded_map_module

/datum/controller/subsystem/mapping/proc/get_map_module_by_name(module_name)
if(loaded_map_module && loaded_map_module.name == module_name)
return loaded_map_module

Expand Down
8 changes: 5 additions & 3 deletions code/controllers/subsystem/ticker.dm
Original file line number Diff line number Diff line change
Expand Up @@ -300,8 +300,9 @@ SUBSYSTEM_DEF(ticker)
world.log << "Game start took [(world.timeofday - init_start)/10]s"

to_chat(world, "<FONT color='blue'><B>Приятной игры!</B></FONT>")
for(var/mob/M as anything in player_list)
M.playsound_local(null, 'sound/AI/enjoyyourstay.ogg', VOL_EFFECTS_VOICE_ANNOUNCEMENT, vary = FALSE, frequency = null, ignore_environment = TRUE)
if(!config.disable_station_announce)
for(var/mob/M as anything in player_list)
M.playsound_local(null, 'sound/AI/enjoyyourstay.ogg', VOL_EFFECTS_VOICE_ANNOUNCEMENT, vary = FALSE, frequency = null, ignore_environment = TRUE)

if(length(SSholiday.holidays))
to_chat(world, "<span clas='notice'>и...</span>")
Expand Down Expand Up @@ -374,7 +375,8 @@ SUBSYSTEM_DEF(ticker)
if(M.stat != DEAD) //Just you wait for real destruction!
var/turf/T = get_turf(M)
if(T && is_station_level(T.z))
M.death(0) //No mercy
if(T.explosive_resistance != INFINITY)
M.death(0)

if(1) //nuke was nearby but (mostly) missed
if(override == "nuclear emergency")
Expand Down
4 changes: 3 additions & 1 deletion code/datums/announcements/_announcements.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ var/global/list/announcement_sounds = list(
"admin_war_pipisky" = 'sound/AI/_admin_war_pipisky.ogg',
"admin_war_pizdec" = 'sound/AI/_admin_war_pizdec.ogg',
"admin_war_tishina" = 'sound/AI/_admin_war_tishina.ogg',

"commandreport" = 'sound/AI/commandreport.ogg',
"announce" = 'sound/AI/announce.ogg',
"aiannounce" = 'sound/AI/aiannounce.ogg',
Expand Down Expand Up @@ -158,6 +158,8 @@ var/global/list/announcement_sounds = list(
return

/datum/announcement/proc/play()
if(config.disable_station_announce)
return
var/announce_text
var/announce_sound

Expand Down
32 changes: 32 additions & 0 deletions code/datums/emotes/generic/audible.dm
Original file line number Diff line number Diff line change
Expand Up @@ -122,3 +122,35 @@

/datum/emote/cough/get_impaired_msg(mob/user)
return "moves [P_THEIR(user)] face forward as [P_THEY(user)] open and close [P_THEIR(user)] mouth!"

/datum/emote/cat/hiss
key = "hiss"

message_1p = "You hiss."
message_3p = "hiss."

message_muzzled = "shakes violently and makes a loud noise."

message_type = SHOWMSG_AUDIO

sound = 'sound/voice/mob/cat_hiss.ogg'

state_checks = list(
EMOTE_STATE(is_stat, CONSCIOUS),
)

/datum/emote/cat/growl
key = "growl"

message_1p = "You growl."
message_3p = "growls."

message_muzzled = "shakes violently and makes a loud noise."

message_type = SHOWMSG_AUDIO

sound = 'sound/voice/mob/cat_growl.ogg'

state_checks = list(
EMOTE_STATE(is_stat, CONSCIOUS),
)
9 changes: 8 additions & 1 deletion code/datums/mind.dm
Original file line number Diff line number Diff line change
Expand Up @@ -793,7 +793,7 @@
..()
mind.assigned_role = "Alien"

if(!isalien(src))
if(!isalien(src) && !(src in alien_list[ALIEN_LONE_HUNTER]))
var/datum/faction/infestation/I = create_uniq_faction(/datum/faction/infestation)
add_faction_member(I, src, TRUE)

Expand Down Expand Up @@ -822,6 +822,13 @@
..()
mind.special_role = "Drone"

//LONE XENO
/mob/living/carbon/xenomorph/humanoid/hunter/lone/mind_initialize()
..()
mind.special_role = "Lone Hunter"
var/datum/faction/alien/A = create_uniq_faction(/datum/faction/alien, post_setup = FALSE)
add_faction_member(A, src, TRUE)

//AI
/mob/living/silicon/ai/mind_initialize()
..()
Expand Down
42 changes: 42 additions & 0 deletions code/datums/outfits/misc/nostromo_crew.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/datum/outfit/nostromo
name = "Nostromo Outfit"
uniform = /obj/item/clothing/under/nostromo/white
shoes = /obj/item/clothing/shoes/white

/datum/outfit/nostromo/Arthur_Dallas
name = "Nostromo Arthur Dallas"
uniform = /obj/item/clothing/under/nostromo/white
shoes = /obj/item/clothing/shoes/white
suit = /obj/item/clothing/suit/nostromo/leathjacket

/datum/outfit/nostromo/Thomas_Kane
name = "Nostromo Thomas Kane"
uniform = /obj/item/clothing/under/nostromo/white
shoes = /obj/item/clothing/shoes/laceup

/datum/outfit/nostromo/Ellen_Ripley
name = "Nostromo Ellen Ripley"
uniform = /obj/item/clothing/under/nostromo/green
shoes = /obj/item/clothing/shoes/white

/datum/outfit/nostromo/Ash
name = "Nostromo Ash"
uniform = /obj/item/clothing/under/nostromo/blue
shoes = /obj/item/clothing/shoes/white

/datum/outfit/nostromo/Joan_Lambert
name = "Nostromo Joan Lambert"
uniform = /obj/item/clothing/under/nostromo/white
shoes = /obj/item/clothing/shoes/boots/work
suit = /obj/item/clothing/suit/nostromo/jack

/datum/outfit/nostromo/Dennis_Parker
name = "Nostromo Dennis Parker"
uniform = /obj/item/clothing/under/nostromo/black
shoes = /obj/item/clothing/shoes/white

/datum/outfit/nostromo/Samuel_Brett
name = "Nostromo Samuel Brett"
uniform = /obj/item/clothing/under/nostromo/tropicspess
shoes = /obj/item/clothing/shoes/white
suit = /obj/item/clothing/suit/nostromo/hipjack
10 changes: 10 additions & 0 deletions code/datums/spawners_menu/spawners_living.dm
Original file line number Diff line number Diff line change
Expand Up @@ -206,3 +206,13 @@
wiki_ref = "Abductor"
time_for_registration = null
register_only = FALSE

/datum/spawner/living/jonesy
name = "Котик Джонси"
desc = "Очень чувствительный рыжий котик Джонси. Постарайтесь выжить."
time_for_registration = null
register_only = FALSE

/datum/spawner/living/jonesy/spawn_body(mob/dead/spectator)
UnregisterSignal(mob, list(COMSIG_PARENT_QDELETING, COMSIG_LOGIN, COMSIG_MOB_DIED))
mob.transfer_personality(spectator.client)
20 changes: 20 additions & 0 deletions code/datums/status_effects/debuffs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,26 @@
desc = "Вы чувствуете головокружение."
icon_state = "woozy"

/datum/status_effect/slowdown
id = "slowdown"
alert_type = /atom/movable/screen/alert/status_effect/slowdown
status_type = STATUS_EFFECT_REFRESH
duration = 3 SECOND

/datum/status_effect/slowdown/on_apply()
. = ..()
if(!ishuman(owner))
owner.speed += 0.5

/datum/status_effect/slowdown/on_remove()
if(ishuman(owner))
owner.speed -= 0.5

/atom/movable/screen/alert/status_effect/slowdown
name = "Замедление"
desc = "Ноги становятся ватными."
icon_state = "woozy"

/// Hallucination status effect. How most hallucinations end up happening.
/datum/status_effect/hallucination
id = "hallucination"
Expand Down
Loading
Loading