Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into spawner-random-fix
Browse files Browse the repository at this point in the history
  • Loading branch information
m-dzianishchyts committed Sep 23, 2024
2 parents 0127b04 + 99a1c42 commit 7a7cb6f
Show file tree
Hide file tree
Showing 16 changed files with 1,103 additions and 608 deletions.
875 changes: 433 additions & 442 deletions _maps/map_files220/generic/Lavaland.dmm

Large diffs are not rendered by default.

524 changes: 398 additions & 126 deletions _maps/map_files220/generic/centcomm.dmm

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions interface/skin.dmf
Original file line number Diff line number Diff line change
Expand Up @@ -94,18 +94,21 @@ menu "menu"
can-check = true
is-checked = true
group = "scale"
saved-params = "is-checked"
elem "PS"
name = "&Точечный отбор"
command = ".winset \"paramapwindow.map.zoom-mode=normal\""
category = "&Масштабирование"
can-check = true
group = "scale"
saved-params = "is-checked"
elem "BL"
name = "&Билинейное"
command = ".winset \"paramapwindow.map.zoom-mode=blur\""
category = "&Масштабирование"
can-check = true
group = "scale"
saved-params = "is-checked"
elem "textmode"
name = "&Текстовый режим"
command = ".winset \"menu.textmode.is-checked=true?paramapwindow.map.text-mode=true:paramapwindow.map.text-mode=false\""
Expand Down
2 changes: 2 additions & 0 deletions modular_ss220/_defines220/code/gamemode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@
#define SPECIAL_ROLE_VOX_RAIDER "Vox Raider"

#define isvoxcash(W) (istype(W, /obj/item/stack/vox_cash))

#define TARGET_INVALID_SAME_TEAM (-1)
9 changes: 9 additions & 0 deletions modular_ss220/antagonists/code/objectives.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
/datum/objective/is_invalid_target(datum/mind/possible_target)
. = ..()
if(.)
return
if(team)
for(var/datum/antagonist/target_datum in possible_target.antag_datums)
if(team == target_datum.get_team())
return TARGET_INVALID_SAME_TEAM

/datum/objective/raider_steal
name = "Raider theft"
needs_target = FALSE
Expand Down
3 changes: 3 additions & 0 deletions modular_ss220/balance/code/items/weapons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,8 @@
/obj/item/gun/energy/laser/tag
w_class = WEIGHT_CLASS_NORMAL

/obj/item/gun/energy/laser/practice
w_class = WEIGHT_CLASS_NORMAL

/obj/item/gun/energy/laser/awaymission_aeg/rnd
w_class = WEIGHT_CLASS_NORMAL
33 changes: 33 additions & 0 deletions modular_ss220/food_and_drinks/code/drinks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -792,3 +792,36 @@
drink_name = "Citrus Beer"
drink_desc = "Обычное пиво оранжевого оттенка, пахнет апельсинами."
taste_description = "кисленькое пиво"

// MARK: NT Food Drinks
/obj/item/reagent_containers/drinks/cans/nt_iced_black_tea
name = "iced black tea"
desc = "Холодный чёрный чай, натуральный и полезный."
icon = 'modular_ss220/food_and_drinks/icons/drinks.dmi'
icon_state = "tea_bottle_grey"
item_state = "beer"
list_reagents = list("icetea" = 30)

/obj/item/reagent_containers/drinks/cans/nt_iced_green_tea
name = "iced green tea"
desc = "Холодный зелёный чай, натуральный и полезный."
icon = 'modular_ss220/food_and_drinks/icons/drinks.dmi'
icon_state = "tea_bottle"
item_state = "beer"
list_reagents = list("icetea" = 30)

/obj/item/reagent_containers/drinks/cans/nt_iced_mint_tea
name = "iced mint tea"
desc = "Освежающий холодный чай с листьями мяты."
icon = 'modular_ss220/food_and_drinks/icons/drinks.dmi'
icon_state = "tea_bottle_blue"
item_state = "beer"
list_reagents = list("icetea" = 30)

/obj/item/reagent_containers/drinks/cans/nt_iced_berry_tea
name = "iced berry tea"
desc = "Холодный чай с натуральными ягодами без сахара."
icon = 'modular_ss220/food_and_drinks/icons/drinks.dmi'
icon_state = "tea_bottle_pink"
item_state = "beer"
list_reagents = list("icetea" = 30)
193 changes: 158 additions & 35 deletions modular_ss220/food_and_drinks/code/food/fancy_food.dm
Original file line number Diff line number Diff line change
@@ -1,29 +1,40 @@
/* Fancy food need to be opened first. */
/**
* MARK: | Fancy Food
* Fancy food need to be opened first.
*/
/obj/item/food/fancy
/// Description when opened.
var/desc_open
/// Is it ready to be eaten?
var/opened = FALSE
/// Does it need to be taken out of the box?
var/need_takeout = FALSE
/// The sound that will be played when you open a food.
var/open_sound = 'modular_ss220/aesthetics_sounds/sound/food_open.ogg'
COOLDOWN_DECLARE(try_open)

/obj/item/food/fancy/update_icon_state()
if(!opened)
return

icon_state = "[initial(icon_state)]_open"
if(opened)
icon_state = "[initial(icon_state)]_open"

/obj/item/food/fancy/attack(mob/M, mob/user, def_zone)
if(!opened)
to_chat(user, span_warning("[src] сначала нужно открыть!"))
return FALSE
if(opened && need_takeout)
to_chat(user, span_warning("Сначала вытащите еду из упаковки!"))
return FALSE
return ..()

/obj/item/food/fancy/attack_self(mob/user)
AltClick(user)

/obj/item/food/fancy/examine(mob/user)
. = ..()
if(!opened)
. += span_notice("Нажмите <b>Alt-Click</b> чтобы открыть.")
. += span_notice("Нажмите <b>Alt-Click</b>, чтобы открыть.")
if(opened && need_takeout)
. += span_notice("Нажмите <b>Alt-Click</b>, чтобы достать еду из упаковки.")

/obj/item/food/fancy/AltClick(mob/user)
if(!try_open(user))
Expand Down Expand Up @@ -67,7 +78,7 @@
desc = desc_open

/**
* Second action on Alt+Click
* Second action on Alt+Click.
* Called only when food is opened
*/
/obj/item/food/fancy/proc/opened_act(mob/user)
Expand Down Expand Up @@ -97,7 +108,7 @@
tastes = list("говядина" = 1, "лапша" = 1)

/obj/item/trash/doshik
name = "\improper упаковка из под дошика"
name = "\improper упаковка из-под дошика"
icon = 'modular_ss220/food_and_drinks/icons/trash.dmi'
icon_state = "doshik-empty"
desc = "Всё ещё вкусно пахнет."
Expand Down Expand Up @@ -128,46 +139,54 @@
tastes = list("напоминающего курицу" = 2, "сыр" = 6)

/obj/item/trash/macvulpix
name = "\improper упаковка из под MacVulpix"
name = "\improper упаковка из-под MacVulpix"
icon = 'modular_ss220/food_and_drinks/icons/trash.dmi'
icon_state = "MV-vulpixs"
desc = "Всё ещё вкусно пахнет."

// MARK: MacVulpBurger
/obj/item/food/fancy/macvulpburger
name = "\improper MacVulpBurger Gourmet"
desc = "Особый бургер из линейки “Большой Укус” с трюфельно-ягодным соусом, только для ценителей необычного!"
icon = 'modular_ss220/food_and_drinks/icons/food.dmi'
icon_state = "MV-burgerbox"
open_sound = 'sound/machines/cardboard_box.ogg'
var/obj/item/food/burger
/**
* MARK: | Packed Fancy Food
* This type of food should be double opened
*/
/obj/item/food/fancy/packed
need_takeout = TRUE
var/list/possible_food

/obj/item/food/fancy/macvulpburger/New()
/obj/item/food/fancy/packed/Initialize(mapload)
. = ..()
burger = new /obj/item/food/burger/macvulp(src)

// Just template, we can't eat it
/obj/item/food/fancy/macvulpburger/attack(mob/M, mob/user, def_zone)
if(opened)
return FALSE
return ..()
LAZYINITLIST(possible_food)
return INITIALIZE_HINT_LATELOAD

/obj/item/food/fancy/macvulpburger/examine(mob/user)
. = ..()
if(opened)
. += span_notice("Нажмите <b>Alt-Click</b> чтобы достать бургер.")
/obj/item/food/fancy/packed/LateInitialize()
if(!LAZYLEN(possible_food))
stack_trace("List 'possible_food' is empty or not initialized in [src.type] subtype! Deleting...")
qdel(src)
return
// Picks random from the list, works also if one item is in the list
var/item = pick(possible_food)
new item(src)

// But we can eject it from the box and eat it
/obj/item/food/fancy/macvulpburger/opened_act(mob/user)
/obj/item/food/fancy/packed/opened_act(mob/user)
user.drop_item()
if(!user.get_active_hand() && Adjacent(user))
user.put_in_hands(burger)
else
burger.forceMove(get_turf(user))

for(var/obj/item/food/internal_food in contents)
if(!user.get_active_hand() && Adjacent(user))
user.put_in_hands(internal_food)
else
internal_food.forceMove(get_turf(user))

qdel(src)
return TRUE

// MARK: MacVulpBurger
/obj/item/food/fancy/packed/macvulpburger
name = "\improper MacVulpBurger Gourmet"
desc = "Особый бургер из линейки “Большой Укус” с трюфельно-ягодным соусом, только для ценителей необычного!"
icon = 'modular_ss220/food_and_drinks/icons/food.dmi'
icon_state = "MV-burgerbox"
open_sound = 'sound/machines/cardboard_box.ogg'
possible_food = list(/obj/item/food/burger/macvulp)

/obj/item/food/burger/macvulp
name = "\improper MacVulpBurger Gourmet"
desc = "Огромный аппетитный и сочащийся соками бургер с двойной говяжьей котлетой и трюфельно-ягодным соусом."
Expand All @@ -176,3 +195,107 @@
bitesize = 2
list_reagents = list("nutriment" = 6, "protein" = 6, "vitamin" = 1)
tastes = list("булка" = 1, "говядина" = 4, "трюфельный соус" = 1, "ягодный соус" = 1)

// MARK: NT Food
/obj/item/food/fancy/packed/foodpack_nt
name = "\improper Nanotrasen Foodpack"
desc = "Большой набор еды с различным содержимым."
icon = 'modular_ss220/food_and_drinks/icons/food.dmi'
icon_state = "foodpack_nt"
open_sound = 'sound/machines/cardboard_box.ogg'
possible_food = list(
/obj/item/food/foodtray_sad_steak,
/obj/item/food/foodtray_chicken_sandwich,
/obj/item/food/foodtray_noodle,
/obj/item/food/foodtray_sushi,
/obj/item/food/foodtray_beef_and_rice,
/obj/item/food/foodtray_pesto_pizza,
/obj/item/food/foodtray_rice_and_grilled_cheese,
/obj/item/food/foodtray_fried_shrooms
)

/obj/item/food/foodtray_sad_steak
name = "\improper mashed potatoes and steak"
desc = "Суховатое пюре с таким себе стейком, скорее всего это даже не мясо."
icon = 'modular_ss220/food_and_drinks/icons/food.dmi'
icon_state = "foodtray_sad_steak"
trash = /obj/item/trash/foodtray
bitesize = 2
list_reagents = list("nutriment" = 8, "protein" = 4, "vitamin" = 8)
tastes = list("соус" = 1, "картофель" = 1, "напоминающего мяса" = 4)

/obj/item/food/foodtray_chicken_sandwich
name = "\improper chicken sandwich"
desc = "Сэндвич с безвкусной курицей."
icon = 'modular_ss220/food_and_drinks/icons/food.dmi'
icon_state = "foodtray_chicken_sandwich"
trash = /obj/item/trash/foodtray
bitesize = 2
list_reagents = list("nutriment" = 8, "protein" = 4, "vitamin" = 5)
tastes = list("соус" = 1, "булка" = 1, "курица" = 1)

/obj/item/food/foodtray_noodle
name = "\improper noodles"
desc = "Спагетти Болоньезе, или нет... Но очень похоже."
icon = 'modular_ss220/food_and_drinks/icons/food.dmi'
icon_state = "foodtray_noodle"
trash = /obj/item/trash/foodtray
bitesize = 2
list_reagents = list("nutriment" = 5, "vitamin" = 3)
tastes = list("соус болоньезе" = 4, "спагетти" = 1)

/obj/item/food/foodtray_sushi
name = "\improper sushi"
desc = "Свежие суши с неплохим балансом между рисом и рыбой."
icon = 'modular_ss220/food_and_drinks/icons/food.dmi'
icon_state = "foodtray_sushi"
trash = /obj/item/trash/foodtray
bitesize = 2
list_reagents = list("nutriment" = 10, "protein" = 2, "vitamin" = 5)
tastes = list("рыба" = 4, "рис" = 2, "водоросли" = 1)

/obj/item/food/foodtray_beef_and_rice
name = "\improper beef and rice"
desc = "Питательная порция говядины с рисом."
icon = 'modular_ss220/food_and_drinks/icons/food.dmi'
icon_state = "foodtray_beef_and_rice"
trash = /obj/item/trash/foodtray
bitesize = 2
list_reagents = list("nutriment" = 10, "protein" = 20, "vitamin" = 5)
tastes = list("говядина" = 4, "рис" = 2, "специи" = 1)

/obj/item/food/foodtray_pesto_pizza
name = "\improper pesto pizza"
desc = "Пицца с песто. В меру питательная и слегка пресная. Хороший выбор для тех, кто не ждет многого от обеда."
icon = 'modular_ss220/food_and_drinks/icons/food.dmi'
icon_state = "foodtray_pesto_pizza"
trash = /obj/item/trash/foodtray
bitesize = 2
list_reagents = list("nutriment" = 10, "vitamin" = 2)
tastes = list("песто" = 3, "сыр" = 2, "тесто" = 1)

/obj/item/food/foodtray_rice_and_grilled_cheese
name = "\improper rice and grilled cheese"
desc = "Странное сочетание риса и жареного сыра."
icon = 'modular_ss220/food_and_drinks/icons/food.dmi'
icon_state = "foodtray_rice_and_grilled_cheese"
trash = /obj/item/trash/foodtray
bitesize = 2
list_reagents = list("nutriment" = 10, "vitamin" = 2)
tastes = list("рис" = 2, "жареный сыр" = 3)

/obj/item/food/foodtray_fried_shrooms
name = "\improper fried shrooms"
desc = "Простая порция жареных грибов, хрустящих снаружи и мягких внутри. Непритязательное, но питательное блюдо."
icon = 'modular_ss220/food_and_drinks/icons/food.dmi'
icon_state = "foodtray_fried_shrooms"
trash = /obj/item/trash/foodtray
bitesize = 2
list_reagents = list("nutriment" = 10, "vitamin" = 5)
tastes = list("грибы" = 4, "масло" = 2)

/obj/item/trash/foodtray
name = "\improper food tray"
desc = "Пустой лоток из-под еды."
icon = 'modular_ss220/food_and_drinks/icons/trash.dmi'
icon_state = "foodtray"
Binary file modified modular_ss220/food_and_drinks/icons/drinks.dmi
Binary file not shown.
Binary file modified modular_ss220/food_and_drinks/icons/food.dmi
Binary file not shown.
Binary file modified modular_ss220/food_and_drinks/icons/trash.dmi
Binary file not shown.
18 changes: 17 additions & 1 deletion modular_ss220/maps220/code/objects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -88,11 +88,27 @@
// Structure
/obj/structure/shuttle/engine
icon = 'modular_ss220/maps220/icons/shuttle.dmi'
resistance_flags = INDESTRUCTIBLE // То что у нас двигатели ломаются от пары пуль - бред
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
var/arbitraryatmosblockingvar = 1

// Engines provide atmos blocking, for they move to locations with different atmos
/obj/structure/shuttle/engine/Initialize(mapload)
. = ..()
set_light(2)
recalculate_atmos_connectivity()

/obj/structure/shuttle/engine/Destroy()
arbitraryatmosblockingvar = 0
recalculate_atmos_connectivity()
return ..()

// Copy-pastes tiny fans
/obj/structure/shuttle/engine/CanAtmosPass(direction)
return !arbitraryatmosblockingvar

/obj/structure/shuttle/engine/get_superconductivity(direction)
// Mostly for stuff on Lavaland.
return ZERO_HEAT_TRANSFER_COEFFICIENT

/obj/structure/shuttle/engine/huge
icon = 'modular_ss220/maps220/icons/3x3.dmi'
Expand Down
4 changes: 3 additions & 1 deletion modular_ss220/maps220/code/spawners.dm
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,9 @@
/obj/item/trash/tapetrash,
/obj/item/trash/tastybread,
/obj/item/trash/tray,
/obj/item/trash/waffles
/obj/item/trash/waffles,
/obj/item/trash/vulpix_chips,
/obj/item/trash/foodtray,
) = 5,
)

Expand Down
Loading

0 comments on commit 7a7cb6f

Please sign in to comment.