From bff678772a37a0d0185b6db76d327316b742803f Mon Sep 17 00:00:00 2001 From: Hawk-v3 Date: Thu, 1 Mar 2012 03:25:14 +0000 Subject: [PATCH] [PATCH 064/285] TG UPDATES: Santa's toy bag! Fixed some miscellaneous stuff to prevent round-start crashing. --- code/game/objects/items/item.dm | 8 ++++++++ code/game/objects/storage/backpack.dm | 16 ++++++++++++++++ code/game/objects/storage/storage.dm | 11 ++++++++++- code/modules/admin/NewBan.dm | 5 +++++ 4 files changed, 39 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/item.dm b/code/game/objects/items/item.dm index 3185957bafb..a124ad211d0 100755 --- a/code/game/objects/items/item.dm +++ b/code/game/objects/items/item.dm @@ -119,6 +119,14 @@ if (M.s_active == src.loc) if (M.client) M.client.screen -= src + if(istype(src.loc, /obj/item/weapon/storage/backpack/santabag)) + if(src.loc.contents.len < 5) + src.loc.icon_state = "giftbag0" + else if(src.loc.contents.len >= 5 && src.loc.contents.len < 15) + src.loc.icon_state = "giftbag1" + else if(src.loc.contents.len >= 15) + src.loc.icon_state = "giftbag2" + src.throwing = 0 if (src.loc == user) //canremove==0 means that object may not be removed. You can still wear it. This only applies to clothing. /N diff --git a/code/game/objects/storage/backpack.dm b/code/game/objects/storage/backpack.dm index 1601c5cac26..e3075762152 100644 --- a/code/game/objects/storage/backpack.dm +++ b/code/game/objects/storage/backpack.dm @@ -70,3 +70,19 @@ del(O) crit_fail = 1 icon_state = "brokenpack" + + +/obj/item/weapon/storage/backpack/santabag + name = "Santa's Gift Bag" + desc = "Space Santa uses this to deliver toys to all the nice children in space in Christmas! Wow, it's pretty big!" + icon_state = "giftbag0" + item_state = "giftbag" + w_class = 4.0 + storage_slots = 20 + max_w_class = 3 + max_combined_w_class = 400 // can store a ton of shit! + + New() + ..() + return + diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm index c0a1942e202..25a60d1c7e8 100644 --- a/code/game/objects/storage/storage.dm +++ b/code/game/objects/storage/storage.dm @@ -170,6 +170,15 @@ else W.loc = src orient_objs(5, 10, 4 + min(7, storage_slots), 10) + + if(istype(src, /obj/item/weapon/storage/backpack/santabag)) // update the santa bag icon + if(contents.len < 5) + src.icon_state = "giftbag0" + else if(contents.len >= 5 && contents.len < 15) + src.icon_state = "giftbag1" + else if(contents.len >= 15) + src.icon_state = "giftbag2" + if (istype(W, /obj/item/weapon/gun/energy/crossbow)) return //STEALTHY //Foreach goto(139) return @@ -191,7 +200,7 @@ return /obj/item/weapon/storage/attack_paw(mob/user as mob) - playsound(src.loc, "rustle", 50, 1, -5) + //playsound(src.loc, "rustle", 50, 1, -5) // what return src.attack_hand(user) /obj/item/weapon/storage/attack_hand(mob/user as mob) diff --git a/code/modules/admin/NewBan.dm b/code/modules/admin/NewBan.dm index e43a05c8680..2c5ec0cf011 100644 --- a/code/modules/admin/NewBan.dm +++ b/code/modules/admin/NewBan.dm @@ -23,6 +23,11 @@ var/savefile/Banlist var/id = clientvar.computer_id var/key = clientvar.ckey + if(!Banlist) // if Banlist cannot be located for some reason + LoadBans() // try to load the bans + if(!Banlist) // uh oh, can't find bans! + return 0 // ABORT ABORT ABORT + Banlist.cd = "/base" if (Banlist.dir.Find("[key][id]")) Banlist.cd = "[key][id]"