mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
40 lines
1.4 KiB
Plaintext
40 lines
1.4 KiB
Plaintext
//switch this out to use a database at some point
|
|
//list of ckey/ real_name and item paths
|
|
//gives item to specific people when they join if it can
|
|
//for multiple items just add mutliple entries, unless i change it to be a listlistlist
|
|
//yes, it has to be an item, you can't pick up nonitems
|
|
|
|
/proc/EquipCustomItems(mob/living/carbon/human/M)
|
|
// load lines
|
|
var/file = file2text("config/custom_items.txt")
|
|
var/lines = dd_text2list(file, "\n")
|
|
|
|
for(var/line in lines)
|
|
// split & clean up
|
|
var/list/Entry = dd_text2list(line, ":")
|
|
for(var/i = 1 to Entry.len)
|
|
Entry[i] = trim(Entry[i])
|
|
|
|
if(Entry.len < 3)
|
|
continue;
|
|
|
|
if(Entry[1] == M.ckey && Entry[2] == M.real_name)
|
|
var/list/Paths = dd_text2list(Entry[3], ",")
|
|
for(var/P in Paths)
|
|
var/ok = 0 // 1 if the item was placed successfully
|
|
P = trim(P)
|
|
var/path = text2path(P)
|
|
var/obj/item/Item = new path()
|
|
|
|
if(istype(M.back,/obj/item/weapon/storage) && M.back:contents.len < M.back:storage_slots) // Try to place it in something on the mob's back first
|
|
Item.loc = M.back
|
|
ok = 1
|
|
else
|
|
for(var/obj/item/weapon/storage/S in M.contents) // Try to place it in any item that can store stuff, on the mob.
|
|
if (S:len < S:storage_slots)
|
|
Item.loc = S
|
|
ok = 1
|
|
break
|
|
|
|
if (ok == 0) // Finally, since everything else failed, place it on the ground
|
|
Item.loc = get_turf(M.loc) |