//Helper object for picking dionaea (and other creatures) up. /obj/item/weapon/holder name = "holder" desc = "You shouldn't ever see this." icon = 'icons/obj/objects.dmi' slot_flags = SLOT_HEAD sprite_sheets = list("Vox" = 'icons/mob/species/vox/head.dmi') origin_tech = null item_icons = list( slot_l_hand_str = 'icons/mob/items/lefthand_holder.dmi', slot_r_hand_str = 'icons/mob/items/righthand_holder.dmi', ) pixel_y = 8 /obj/item/weapon/holder/New() ..() processing_objects.Add(src) /obj/item/weapon/holder/Destroy() processing_objects.Remove(src) ..() /obj/item/weapon/holder/process() if(istype(loc,/turf) || !(contents.len)) for(var/mob/M in contents) var/atom/movable/mob_container mob_container = M mob_container.forceMove(get_turf(src)) M.reset_view() qdel(src) /obj/item/weapon/holder/proc/sync(var/mob/living/M) dir = 2 overlays.Cut() icon = M.icon icon_state = M.icon_state color = M.color name = M.name desc = M.desc overlays |= M.overlays var/mob/living/carbon/human/H = loc if(istype(H)) if(H.l_hand == src) H.update_inv_l_hand() else if(H.r_hand == src) H.update_inv_r_hand() else H.regenerate_icons() //Mob specific holders. /obj/item/weapon/holder/diona origin_tech = list(TECH_MAGNET = 3, TECH_BIO = 5) slot_flags = SLOT_HEAD | SLOT_OCLOTHING /obj/item/weapon/holder/drone origin_tech = list(TECH_MAGNET = 3, TECH_ENGINERING = 5) /obj/item/weapon/holder/mouse w_class = 1 /obj/item/weapon/holder/borer origin_tech = list(TECH_BIO = 6) /obj/item/weapon/holder/attackby(obj/item/weapon/W as obj, mob/user as mob) for(var/mob/M in src.contents) M.attackby(W,user) //Mob procs and vars for scooping up /mob/living/var/holder_type /mob/living/proc/get_scooped(var/mob/living/carbon/grabber) if(!holder_type || buckled || pinned.len) return var/obj/item/weapon/holder/H = new holder_type(loc) src.loc = H H.name = loc.name H.attack_hand(grabber) grabber << "You scoop up [src]." src << "[grabber] scoops you up." grabber.status_flags |= PASSEMOTES H.sync(src) return H