diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index 87ca3a4c9adc..53ae439cd0aa 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -103,22 +103,12 @@ var/dat = "
"
- if(inventory_head)
- dat += "
Head: [inventory_head] (Remove)"
- else
- dat += "
Head: Nothing"
- if(inventory_back)
- dat += "
Back: [inventory_back] (Remove)"
- else
- dat += "
Back: Nothing"
- if(pcollar)
- dat += "
Collar: [pcollar] (Remove)"
- else
- dat += "
Collar: Nothing"
+ dat += "
Head: [inventory_head]" : "add_inv=head'>Nothing"]"
+ dat += "
Back: [inventory_back]" : "add_inv=back'>Nothing"]"
+ dat += "
Collar: [pcollar]" : "add_inv=collar'>Nothing"]"
- user << browse(dat, text("window=mob[];size=325x500", real_name))
- onclose(user, "mob[real_name]")
- return
+ user << browse(dat, "window=mob[REF(src)];size=325x500")
+ onclose(user, "mob[REF(src)]")
/mob/living/simple_animal/pet/dog/corgi/getarmor(def_zone, type)
var/armorval = 0
@@ -170,7 +160,7 @@
/mob/living/simple_animal/pet/dog/corgi/Topic(href, href_list)
if(!(iscarbon(usr) || iscyborg(usr)) || !usr.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
- usr << browse(null, "window=mob[]")
+ usr << browse(null, "window=mob[REF(src)]")
usr.unset_machine()
return
@@ -258,7 +248,7 @@
show_inv(usr)
else
- ..()
+ 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.
diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm
index a029feff1026..6f2120fcb645 100644
--- a/code/modules/mob/living/simple_animal/parrot.dm
+++ b/code/modules/mob/living/simple_animal/parrot.dm
@@ -181,94 +181,85 @@
*/
/mob/living/simple_animal/parrot/show_inv(mob/user)
user.set_machine(src)
+
var/dat = "
"
- if(ears)
- dat += "
Headset: [ears] (Remove)"
- else
- dat += "
Headset: Nothing"
+ dat += "
Headset: [ears]" : "add_inv=ears'>Nothing"]"
- user << browse(dat, "window=mob[real_name];size=325x500")
- onclose(user, "mob[real_name]")
+ user << browse(dat, "window=mob[REF(src)];size=325x500")
+ onclose(user, "window=mob[REF(src)]")
/mob/living/simple_animal/parrot/Topic(href, href_list)
-
- //Can the usr physically do this?
- if(usr.incapacitated() || !usr.Adjacent(loc))
+ if(!(iscarbon(usr) || iscyborg(usr)) || !usr.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
+ usr << browse(null, "window=mob[REF(src)]")
+ usr.unset_machine()
return
- //Is the usr's mob type able to do this? (lolaliens)
- if(ishuman(usr) || ismonkey(usr) || iscyborg(usr) || isalienadult(usr))
-
- //Removing from inventory
- if(href_list["remove_inv"])
- var/remove_from = href_list["remove_inv"]
- switch(remove_from)
- if("ears")
- if(ears)
- if(!stat)
- if(available_channels.len)
- src.say("[pick(available_channels)] BAWWWWWK LEAVE THE HEADSET BAWKKKKK!")
- else
- src.say("BAWWWWWK LEAVE THE HEADSET BAWKKKKK!")
- ears.forceMove(src.loc)
- ears = null
- for(var/possible_phrase in speak)
- if(copytext(possible_phrase,1,3) in GLOB.department_radio_keys)
- possible_phrase = copytext(possible_phrase,3)
- else
- to_chat(usr, "There is nothing to remove from its [remove_from]!")
+ //Removing from inventory
+ if(href_list["remove_inv"])
+ var/remove_from = href_list["remove_inv"]
+ switch(remove_from)
+ if("ears")
+ if(!ears)
+ to_chat(usr, "There is nothing to remove from its [remove_from]!")
+ return
+ if(!stat)
+ say("[available_channels.len ? "[pick(available_channels)] " : null]BAWWWWWK LEAVE THE HEADSET BAWKKKKK!")
+ ears.forceMove(drop_location())
+ ears = null
+ for(var/possible_phrase in speak)
+ if(copytext(possible_phrase,1,3) in GLOB.department_radio_keys)
+ possible_phrase = copytext(possible_phrase,3)
+
+ //Adding things to inventory
+ else if(href_list["add_inv"])
+ var/add_to = href_list["add_inv"]
+ if(!usr.get_active_held_item())
+ to_chat(usr, "You have nothing in your hand to put on its [add_to]!")
+ return
+ switch(add_to)
+ if("ears")
+ if(ears)
+ to_chat(usr, "It's already wearing something!")
+ return
+ else
+ var/obj/item/item_to_add = usr.get_active_held_item()
+ if(!item_to_add)
return
- //Adding things to inventory
- else if(href_list["add_inv"])
- var/add_to = href_list["add_inv"]
- if(!usr.get_active_held_item())
- to_chat(usr, "You have nothing in your hand to put on its [add_to]!")
- return
- switch(add_to)
- if("ears")
- if(ears)
- to_chat(usr, "It's already wearing something!")
+ if( !istype(item_to_add, /obj/item/radio/headset) )
+ to_chat(usr, "This object won't fit!")
return
- else
- var/obj/item/item_to_add = usr.get_active_held_item()
- if(!item_to_add)
- return
-
- if( !istype(item_to_add, /obj/item/radio/headset) )
- to_chat(usr, "This object won't fit!")
- return
-
- var/obj/item/radio/headset/headset_to_add = item_to_add
-
- if(!usr.transferItemToLoc(headset_to_add, src))
- return
- src.ears = headset_to_add
- to_chat(usr, "You fit the headset onto [src].")
-
- clearlist(available_channels)
- for(var/ch in headset_to_add.channels)
- switch(ch)
- if(RADIO_CHANNEL_ENGINEERING)
- available_channels.Add(RADIO_TOKEN_ENGINEERING)
- if(RADIO_CHANNEL_COMMAND)
- available_channels.Add(RADIO_TOKEN_COMMAND)
- if(RADIO_CHANNEL_SECURITY)
- available_channels.Add(RADIO_TOKEN_SECURITY)
- if(RADIO_CHANNEL_SCIENCE)
- available_channels.Add(RADIO_TOKEN_SCIENCE)
- if(RADIO_CHANNEL_MEDICAL)
- available_channels.Add(RADIO_TOKEN_MEDICAL)
- if(RADIO_CHANNEL_SUPPLY)
- available_channels.Add(RADIO_TOKEN_SUPPLY)
- if(RADIO_CHANNEL_SERVICE)
- available_channels.Add(RADIO_TOKEN_SERVICE)
-
- if(headset_to_add.translate_binary)
- available_channels.Add(MODE_TOKEN_BINARY)
- else
- ..()
+
+ var/obj/item/radio/headset/headset_to_add = item_to_add
+
+ if(!usr.transferItemToLoc(headset_to_add, src))
+ return
+ ears = headset_to_add
+ to_chat(usr, "You fit the headset onto [src].")
+
+ clearlist(available_channels)
+ for(var/ch in headset_to_add.channels)
+ switch(ch)
+ if(RADIO_CHANNEL_ENGINEERING)
+ available_channels.Add(RADIO_TOKEN_ENGINEERING)
+ if(RADIO_CHANNEL_COMMAND)
+ available_channels.Add(RADIO_TOKEN_COMMAND)
+ if(RADIO_CHANNEL_SECURITY)
+ available_channels.Add(RADIO_TOKEN_SECURITY)
+ if(RADIO_CHANNEL_SCIENCE)
+ available_channels.Add(RADIO_TOKEN_SCIENCE)
+ if(RADIO_CHANNEL_MEDICAL)
+ available_channels.Add(RADIO_TOKEN_MEDICAL)
+ if(RADIO_CHANNEL_SUPPLY)
+ available_channels.Add(RADIO_TOKEN_SUPPLY)
+ if(RADIO_CHANNEL_SERVICE)
+ available_channels.Add(RADIO_TOKEN_SERVICE)
+
+ if(headset_to_add.translate_binary)
+ available_channels.Add(MODE_TOKEN_BINARY)
+ else
+ return ..()
/*