//corgi's stippable items GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( /datum/strippable_item/corgi_head, /datum/strippable_item/corgi_back, /datum/strippable_item/pet_collar, /datum/strippable_item/corgi_id, ))) /datum/strippable_item/corgi_head key = STRIPPABLE_ITEM_HEAD /datum/strippable_item/corgi_head/get_item(atom/source) var/mob/living/basic/pet/dog/corgi/corgi_source = source if(!istype(corgi_source)) return return corgi_source.inventory_head /datum/strippable_item/corgi_head/finish_equip(atom/source, obj/item/equipping, mob/user) var/mob/living/basic/pet/dog/corgi/corgi_source = source if(!istype(corgi_source)) return corgi_source.place_on_head(equipping, user) /datum/strippable_item/corgi_head/finish_unequip(atom/source, mob/user) var/mob/living/basic/pet/dog/corgi/corgi_source = source if(!istype(corgi_source)) return user.put_in_hands(corgi_source.inventory_head) corgi_source.inventory_head = null corgi_source.update_corgi_fluff() corgi_source.update_appearance(UPDATE_OVERLAYS) /datum/strippable_item/pet_collar key = STRIPPABLE_ITEM_PET_COLLAR /datum/strippable_item/pet_collar/get_item(atom/source) var/mob/living/basic/pet_source = source if(!istype(pet_source)) return return (locate(/obj/item/clothing/neck/petcollar) in source) /datum/strippable_item/pet_collar/try_equip(atom/source, obj/item/equipping, mob/user) . = ..() if(!.) return FALSE if(!istype(equipping, /obj/item/clothing/neck/petcollar)) to_chat(user, span_warning("That's not a collar.")) return FALSE return TRUE /datum/strippable_item/pet_collar/finish_equip(atom/source, obj/item/equipping, mob/user) user.transferItemToLoc(equipping, source) /datum/strippable_item/pet_collar/finish_unequip(atom/source, mob/user) var/obj/item/clothing/neck/petcollar/collar = locate() in source user.put_in_hands(collar) /datum/strippable_item/corgi_back key = STRIPPABLE_ITEM_BACK /datum/strippable_item/corgi_back/get_item(atom/source) var/mob/living/basic/pet/dog/corgi/corgi_source = source if(!istype(corgi_source)) return return corgi_source.inventory_back /datum/strippable_item/corgi_back/try_equip(atom/source, obj/item/equipping, mob/user) . = ..() if(!.) return FALSE if(!ispath(equipping.dog_fashion, /datum/dog_fashion/back)) to_chat(user, span_warning("You set [equipping] on [source]'s back, but it falls off!")) equipping.forceMove(source.drop_location()) if(prob(25)) step_rand(equipping) dance_rotate(source, set_original_dir = TRUE) return FALSE return TRUE /datum/strippable_item/corgi_back/finish_equip(atom/source, obj/item/equipping, mob/user) var/mob/living/basic/pet/dog/corgi/corgi_source = source if(!istype(corgi_source)) return equipping.forceMove(corgi_source) corgi_source.inventory_back = equipping corgi_source.update_corgi_fluff() corgi_source.update_appearance(UPDATE_OVERLAYS) /datum/strippable_item/corgi_back/finish_unequip(atom/source, mob/user) var/mob/living/basic/pet/dog/corgi/corgi_source = source if(!istype(corgi_source)) return user.put_in_hands(corgi_source.inventory_back) corgi_source.inventory_back = null corgi_source.update_corgi_fluff() corgi_source.update_appearance(UPDATE_OVERLAYS) /datum/strippable_item/corgi_id key = STRIPPABLE_ITEM_ID /datum/strippable_item/corgi_id/get_item(atom/source) var/mob/living/basic/pet/dog/corgi/corgi_source = source if(!istype(corgi_source)) return return corgi_source.access_card /datum/strippable_item/corgi_id/try_equip(atom/source, obj/item/equipping, mob/user) . = ..() if(!.) return FALSE if(!isidcard(equipping)) to_chat(user, span_warning("You can't pin [equipping] to [source]!")) return FALSE return TRUE /datum/strippable_item/corgi_id/finish_equip(atom/source, obj/item/equipping, mob/user) var/mob/living/basic/pet/dog/corgi/corgi_source = source if(!istype(corgi_source)) return equipping.forceMove(source) corgi_source.access_card = equipping /datum/strippable_item/corgi_id/finish_unequip(atom/source, mob/user) var/mob/living/basic/pet/dog/corgi/corgi_source = source if(!istype(corgi_source)) return user.put_in_hands(corgi_source.access_card) corgi_source.access_card = null corgi_source.update_corgi_fluff() corgi_source.update_appearance(UPDATE_OVERLAYS)