From b5cbc6dec4f1acdde5a55f6be4117908d48c71ed Mon Sep 17 00:00:00 2001 From: "baloh.matevz@gmail.com" Date: Sat, 15 Oct 2011 22:11:41 +0000 Subject: [PATCH] Corgis now have a back and head slot. What you can put in these is enumerated tho, so you can't just put anything. With this revision you can only put helmets and armor vests on them. Screenshot: http://www.kamletos.si/more%20doggy%20nonesense.png Corgi clothing psd: http://www.kamletos.si/corgi%20clothing.psd git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2367 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/mob/simple_animal/life.dm | 132 ++++++++++++++++++++++++- icons/mob/corgi_back.dmi | Bin 0 -> 2469 bytes icons/mob/corgi_head.dmi | Bin 0 -> 2673 bytes 3 files changed, 130 insertions(+), 2 deletions(-) create mode 100644 icons/mob/corgi_back.dmi create mode 100644 icons/mob/corgi_head.dmi diff --git a/code/defines/mob/simple_animal/life.dm b/code/defines/mob/simple_animal/life.dm index aa201495cd7..5f9e840344f 100644 --- a/code/defines/mob/simple_animal/life.dm +++ b/code/defines/mob/simple_animal/life.dm @@ -67,8 +67,6 @@ response_disarm = "gently pushes aside" response_harm = "kicks" - - //Corgi /mob/living/simple_animal/corgi name = "Corgi" @@ -88,6 +86,136 @@ response_help = "pets the" response_disarm = "gently pushes aside the" response_harm = "kicks the" + var/obj/item/inventory_head + var/obj/item/inventory_back + +/mob/living/simple_animal/corgi/update_clothing() + overlays = list() + + if(inventory_head) + var/head_icon_state = inventory_head.icon_state + if(health <= 0) + head_icon_state += "2" + + var/icon/head_icon = icon('corgi_head.dmi',head_icon_state) + if(head_icon) + overlays += head_icon + + if(inventory_back) + var/back_icon_state = inventory_back.icon_state + if(health <= 0) + back_icon_state += "2" + + var/icon/back_icon = icon('corgi_back.dmi',back_icon_state) + if(back_icon) + overlays += back_icon + return + +/mob/living/simple_animal/corgi/Life() + ..() + update_clothing() + +/mob/living/simple_animal/corgi/show_inv(mob/user as mob) + user.machine = src + + var/dat = "
Inventory of [src]

" + if(inventory_head) + dat += "
Head: [inventory_head] (Remove)" + else + dat += "
Head: Nothing" + if(inventory_back) + dat += "
Back: [inventory_back] (Remove)" + else + dat += "
Back: Nothing" + + user << browse(dat, text("window=mob[];size=325x500", name)) + onclose(user, "mob[name]") + return + +/mob/living/simple_animal/corgi/Topic(href, href_list) + //Removing from inventory + if(href_list["remove_inv"]) + if(get_dist(src,usr) > 1) + return + var/remove_from = href_list["remove_inv"] + switch(remove_from) + if("head") + if(inventory_head) + inventory_head.loc = src.loc + inventory_head = null + else + usr << "\red There is nothing on this slot." + return + if("back") + if(inventory_back) + inventory_back.loc = src.loc + inventory_back = null + else + usr << "\red There is nothing on this slot." + return + + show_inv(usr) + + //Adding things to inventory + else if(href_list["add_inv"]) + if(get_dist(src,usr) > 1) + return + if(!usr.get_active_hand()) + usr << "\red You have nothing in your active hand to put in the slot." + return + var/add_to = href_list["add_inv"] + switch(add_to) + if("head") + if(inventory_head) + usr << "\red The [inventory_head] is alraedy in this slot." + return + else + var/obj/item/item_to_add = usr.get_active_hand() + if(!item_to_add) + return + + //Corgis are supposed to be simpler, so only a select few objects can actually be put + //to be compatible with them. The objects are below. + + var/list/allowed_types = list( + /obj/item/clothing/head/helmet + ) + + if( ! ( item_to_add.type in allowed_types ) ) + usr << "\red The object cannot fit on this animal." + return + + usr.drop_item() + item_to_add.loc = src + src.inventory_head = item_to_add + + if("back") + if(inventory_back) + usr << "\red The [inventory_back] is alraedy in this slot." + return + else + var/obj/item/item_to_add = usr.get_active_hand() + if(!item_to_add) + return + + //Corgis are supposed to be simpler, so only a select few objects can actually be put + //to be compatible with them. The objects are below. + + var/list/allowed_types = list( + /obj/item/clothing/suit/armor/vest + ) + + if( ! ( item_to_add.type in allowed_types ) ) + usr << "\red The object cannot fit on this animal." + return + + usr.drop_item() + item_to_add.loc = src + src.inventory_back = item_to_add + + show_inv(usr) + else + ..() /mob/living/simple_animal/corgi/Ian name = "Ian" diff --git a/icons/mob/corgi_back.dmi b/icons/mob/corgi_back.dmi new file mode 100644 index 0000000000000000000000000000000000000000..46373f98f0e3f10e11fe28943afde027c0693482 GIT binary patch literal 2469 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 literal 0 HcmV?d00001