Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
bc8d2ad
Готово.
DarthSidiousPalpatine Sep 11, 2025
f321e70
Обновил обёртку.
DarthSidiousPalpatine Sep 15, 2025
c2f6d60
Больше проков
DarthSidiousPalpatine Sep 15, 2025
9685a79
Update shop.dm
DarthSidiousPalpatine Sep 15, 2025
bd664fd
Update shop.dm
DarthSidiousPalpatine Sep 15, 2025
fdae062
Update shop.dm
DarthSidiousPalpatine Sep 15, 2025
88c3323
Update shop.dm
DarthSidiousPalpatine Sep 15, 2025
30dd39a
Я понял.
DarthSidiousPalpatine Sep 16, 2025
2524e6d
Update shop.dm
DarthSidiousPalpatine Sep 16, 2025
289fdcd
Новые параметры света (#14266)
RichardJones1 Sep 12, 2025
0780995
Готово.
DarthSidiousPalpatine Sep 12, 2025
2d0479f
Готово
DarthSidiousPalpatine Sep 12, 2025
c71365a
Update shop_mail_generation.dm
DarthSidiousPalpatine Sep 12, 2025
6b21fca
Обновил спрайт.
DarthSidiousPalpatine Sep 13, 2025
d200a80
Вырезал семью.
DarthSidiousPalpatine Sep 16, 2025
680ac36
Update general.dm
DarthSidiousPalpatine Sep 16, 2025
a47eb81
Вырезал посылки.
DarthSidiousPalpatine Sep 16, 2025
bf1ba55
Чутка переделал.
DarthSidiousPalpatine Sep 16, 2025
1ed4a90
Merge remote-tracking branch 'upstream/master' into family_post
DarthSidiousPalpatine Sep 16, 2025
2b59a56
Исправления.
DarthSidiousPalpatine Sep 16, 2025
2f56e3e
Update code/modules/cargo/shop.dm
DarthSidiousPalpatine Sep 17, 2025
6c1c522
Update code/modules/cargo/shop.dm
DarthSidiousPalpatine Sep 17, 2025
2afe642
Update code/game/objects/structures/crates_lockers/closets.dm
DarthSidiousPalpatine Sep 17, 2025
7413b02
Update code/game/objects/objs.dm
DarthSidiousPalpatine Sep 17, 2025
b5a90f5
Поправил size
DarthSidiousPalpatine Sep 18, 2025
862f733
Update snacks.dm
DarthSidiousPalpatine Sep 18, 2025
50f399b
Merge remote-tracking branch 'upstream/master' into НачальныйГрузторг
DarthSidiousPalpatine Sep 19, 2025
f728ac2
Готово.
DarthSidiousPalpatine Sep 20, 2025
a729a06
Merge remote-tracking branch 'upstream/master' into family_post
DarthSidiousPalpatine Sep 20, 2025
c3493bd
Update storage.dmi
DarthSidiousPalpatine Sep 20, 2025
55d1524
Обновление.
DarthSidiousPalpatine Sep 20, 2025
4f9202e
Merge branch 'НачальныйГрузторг' into family_post
DarthSidiousPalpatine Sep 20, 2025
576c459
Больше предметов.
DarthSidiousPalpatine Sep 20, 2025
dc7bd10
Ещё больше посылок экипажу.
DarthSidiousPalpatine Sep 20, 2025
1dc5ba4
Пранки от клоунов.
DarthSidiousPalpatine Sep 20, 2025
20e0b8c
Merge remote-tracking branch 'upstream/master' into family_post
DarthSidiousPalpatine Sep 21, 2025
2b34cb1
Update package_wrap.dmi
DarthSidiousPalpatine Sep 21, 2025
f9dbfd6
Обновление.
DarthSidiousPalpatine Sep 21, 2025
e8ea385
Поднял цену доставки до 50
DarthSidiousPalpatine Sep 21, 2025
9237010
Update chem_grenade.dm
DarthSidiousPalpatine Sep 21, 2025
28c3e3c
Исправления.
DarthSidiousPalpatine Sep 21, 2025
bc0d2a3
Update _event_container.dm
DarthSidiousPalpatine Sep 21, 2025
148876c
Ещё 6 предметов для 6-и профессий.
DarthSidiousPalpatine Sep 21, 2025
4b1bdc9
Обновление.
DarthSidiousPalpatine Sep 23, 2025
0667616
pickweight(list(
DarthSidiousPalpatine Sep 23, 2025
cb53191
Обновил
DarthSidiousPalpatine Sep 23, 2025
4ba1b8b
Update _event_container.dm
DarthSidiousPalpatine Sep 25, 2025
bc46e97
Update shuttles.dm
DarthSidiousPalpatine Oct 3, 2025
bf1bfdf
Merge remote-tracking branch 'upstream/master' into family_post
DarthSidiousPalpatine Oct 3, 2025
99086a6
Update storage.dmi
DarthSidiousPalpatine Oct 3, 2025
fdfec0e
Фикс бага.
DarthSidiousPalpatine Nov 9, 2025
7f39be9
Обновление.
DarthSidiousPalpatine Nov 22, 2025
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: 1 addition & 1 deletion code/__HELPERS/_lists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@
/proc/pick_n_take(list/listfrom)
if (listfrom.len > 0)
var/picked = pick(listfrom)
listfrom -= picked
listfrom -= list(picked)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

интересно ломает ли это что-либо. к примеру если у нас pick_n_take из списка списков...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Так наоборот, оно делает возможным pick_n_take из списка списков. До этого список списков не был возможен для pick_n_take ибо при -= список из списка удаляются элементы, а не список.

return picked
return null

Expand Down
94 changes: 82 additions & 12 deletions code/controllers/subsystem/shuttles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ SUBSYSTEM_DEF(shuttle)
var/list/shoppinglist = list()
var/list/requestlist = list()
var/list/supply_packs = list()
var/list/mail_orders = list() //list("sender", "type", "receiver")
//shuttle movement
var/at_station = TRUE
var/movetime = 1200
Expand Down Expand Up @@ -445,10 +446,20 @@ SUBSYSTEM_DEF(shuttle)
centcom_message = msg
//log_investigate("Shuttle contents sold for [SSshuttle.points - presale_points] credits. Contents: [sold_atoms || "none."] Message: [SSshuttle.centcom_message || "none."]", INVESTIGATE_CARGO)

/datum/controller/subsystem/shuttle/proc/is_turf_clear(turf/T)
for(var/atom/A in T.contents)
if(!A.simulated)
continue
if(istype(A, /obj/machinery/light))
continue

return FALSE

return TRUE

//Buyin
/datum/controller/subsystem/shuttle/proc/buy()
if(!shoppinglist.len)
if(!shoppinglist.len && !mail_orders.len)
return

var/shuttle_at
Expand All @@ -466,24 +477,17 @@ SUBSYSTEM_DEF(shuttle)
for(var/turf/T in shuttle)
if(T.density)
continue
var/contcount
for(var/atom/A in T.contents)
if(!A.simulated)
continue
if(istype(A, /obj/machinery/light))
continue
contcount++
if(contcount)

if(!is_turf_clear(T))
continue

clear_turfs += T
CHECK_TICK

for(var/S in shoppinglist)
if(!clear_turfs.len)
break
var/i = rand(1,clear_turfs.len)
var/turf/pickedloc = clear_turfs[i]
clear_turfs.Cut(i,i+1)
var/turf/pickedloc = pick_n_take(clear_turfs)

var/datum/supply_order/SO = S

Expand All @@ -494,9 +498,75 @@ SUBSYSTEM_DEF(shuttle)
SSStatistics.score.stuffshipped++
CHECK_TICK

if(mail_orders.len && clear_turfs.len)
var/turf/pickedloc = pick_n_take(clear_turfs)

var/obj/structure/closet/crate/mailcrate/Crate = new(pickedloc)
for(var/datum/mail_order/Order in mail_orders)
var/obj/item/Item = generate_mail_item(Order, pickedloc)
if(Item)
Item.forceMove(Crate)

mail_orders -= Order

SSshuttle.shoppinglist.Cut()
return

/datum/mail_order
var/sender
var/itemType
var/receiver_name
var/receiver_acc

/datum/mail_order/New(sender, itemType, receiver_name, receiver_acc)
src.sender = sender
src.itemType = itemType
src.receiver_name = receiver_name
src.receiver_acc = receiver_acc

/datum/controller/subsystem/shuttle/proc/add_mail(sender, receiver_name, receiver_acc, itemType)
var/datum/mail_order/Order = new /datum/mail_order(sender, itemType, receiver_name, receiver_acc)
mail_orders += Order

/datum/controller/subsystem/shuttle/proc/generate_mail_item(datum/mail_order/Order, turf/pickedloc)
var/itemType = Order.itemType

var/sender = Order.sender
var/receiver_name = Order.receiver_name
var/receiver_number = Order.receiver_acc
var/datum/money_account/receiver_account = get_account(receiver_number)
if(!receiver_account || !sender || !itemType)
return

var/obj/item/Item = new itemType(pickedloc)

Item.add_price_tag("Отправитель - [sender]", 50, "Разное", global.cargo_account.account_number)

Item = object2onlineshop_package(Item, forceColor = "white", hideInfo = TRUE)

Item.pixel_x = rand(-10, 10)
Item.pixel_y = rand(-10, 10)

var/lot_number
if(istype(Item, /obj/item/smallDelivery))
var/obj/item/smallDelivery/Delivery = Item
lot_number = Delivery.lot_number
else
var/obj/structure/bigDelivery/Delivery = Item
lot_number = Delivery.lot_number

if(!lot_number)
return Item
Comment on lines +550 to +559
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

будто-бы где-то такое уже есть

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Убрал.

Copy link
Contributor Author

@DarthSidiousPalpatine DarthSidiousPalpatine Sep 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А, стоп, нет, зря убрал. Ты, как и я, плохо посмотрели.
Перепутали с этим, видимо
image

У меня тут обратная ситуация, мне надо взять аккаунт из посылки, а не назначить аккаунт посылке. Так что вернул.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

то есть вся эта функция отличается от другой тем у кого берут цифру? сделай общее и чтобы цифра передавалась извне

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Нет, эта функция отличается тем, что в прошлой "функции" мы брали номер лота и устанавливали посылкам его, а в этой мы берём посылку и чекаем её лотовый номер.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Это абсолютно разные вещи и никак не связаны. Там мы сетаем, а тут гетаем.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/obj/item/proc/get_cargo_shop_lot_number()

?

Copy link
Contributor Author

@DarthSidiousPalpatine DarthSidiousPalpatine Sep 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Который работает только для bigPackage и smallPackage, лол. Ибо номер лота у них записан.

Т.е. мы опять приходим к конструкции if(istype(item, bigPackage)) else

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/obj/proc/set_lot_number(number)

/obj/proc/get_lot_number(number)

Package.set_lot_number(Lot.number)


var/datum/shop_lot/Lot = global.online_shop_lots[lot_number]

order_onlineshop_item(receiver_name, receiver_number, Lot, station_name_ru(), forced = TRUE)
receiver_account.shopping_cart["[lot_number]"] = Lot.to_list()

Item.name = "Посылка для [receiver_name]"

return Item


/datum/controller/subsystem/shuttle/proc/incall(coeff = 1)
if(deny_shuttle && alert == 1) //crew transfer shuttle does not gets recalled by gamemode
Expand Down
67 changes: 67 additions & 0 deletions code/game/objects/items/weapons/grenades/chem_grenade.dm
Original file line number Diff line number Diff line change
Expand Up @@ -359,3 +359,70 @@
beakers += B1
beakers += B2
icon_state = initial(icon_state) +"_locked"

///Mine
/obj/item/weapon/grenade/chem_grenade/mine
name = "Mine"
desc = "Привет от синдиката."
path = 1
stage = 2

/obj/item/weapon/grenade/chem_grenade/mine/atom_init()
. = ..()
var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src)

switch(pick(1,2,3))
if(1)
B1.reagents.add_reagent("glycerol", 10)
B2.reagents.add_reagent("sacid", 10)
B2.reagents.add_reagent("pacid", 10)

if(2)
B1.reagents.add_reagent("potassium", 30)
B2.reagents.add_reagent("phosphorus", 30)
B2.reagents.add_reagent("sugar", 30)

B1.reagents.add_reagent("impedrezene", 15)
B1.reagents.add_reagent("condensedcapsaicin", 15)

if(3)
B1.reagents.add_reagent("uranium", 60)
B2.reagents.add_reagent("iron", 60)

detonator = new/obj/item/device/assembly_holder/mousetrap_igniter(src)

beakers += B1
beakers += B2
icon_state = initial(icon_state) +"_locked"

///Prank Mine
/obj/item/weapon/grenade/chem_grenade/prank
name = "Mine"
desc = "Вы не поймёте."
path = 1
stage = 2

/obj/item/weapon/grenade/chem_grenade/prank/atom_init()
. = ..()
var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src)
switch(pick(1,2,3))
if(1)
B1.reagents.add_reagent("sulfur", 30)
B2.reagents.add_reagent("aluminum", 30)
B2.reagents.add_reagent("potassium", 30)

if(2)
B1.reagents.add_reagent(pick("redhairdye", "greenhairdye", "bluehairdye"), 60)
B2.reagents.add_reagent("hair_growth_accelerator", 60)

if(3)
B1.reagents.add_reagent("lube", 60)
B2.reagents.add_reagent("condensedcapsaicin", 60)

detonator = new/obj/item/device/assembly_holder/mousetrap_igniter(src)

beakers += B1
beakers += B2
icon_state = initial(icon_state) +"_locked"
1 change: 1 addition & 0 deletions code/game/objects/items/weapons/storage/storage.dm
Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,7 @@
hide_from(usr)
for(var/obj/item/I in contents)
remove_from_storage(I, T, NoUpdate = TRUE)
I.on_found(usr)
finish_bulk_removal()

/obj/item/weapon/storage/emp_act(severity)
Expand Down
Loading
Loading