equip(where, obj/equip/what,menu=1) if(where=="rhand") if(lhand && (("Twohanded" in lhand.effects)||("Twohanded" in what.effects))){soundeffect(src,SOUND_WRONG);return} if(what.ammo_need.len&&lhand&&!(lhand.kind in what.ammo_need)){soundeffect(src,SOUND_WRONG);return} if(lhand&&lhand.ammo_need.len&&!(what.kind in lhand.ammo_need)){soundeffect(src,SOUND_WRONG);return} if(istype(what,/obj/equip/shield)&&istype(lhand,/obj/equip/shield)){soundeffect(src,SOUND_WRONG);return} if(istype(what,/obj/equip/weapon)&&istype(lhand,/obj/equip/weapon)&&!((class in lhand.equip_sidearm) || (lhand.kind in equip_sidearm))) if(((src.dual_wield||src.check_traits(list("Dualwielding"))&&((class in what.equip)||(what.kind in equips)))||(class in what.equip_sidearm) || (what.kind in equip_sidearm)||(lhand.kind in what.ammo_need)||(what.kind in lhand.ammo_need))) random_soundeffect(src,"cursorlist") var/obj/old = rhand if(old) if(!istype(old,/obj/equip/weapon/Ammo)) old.suffix=null old.suffix2 = null if(!istype(what,/obj/equip/weapon/Ammo)) what.suffix="Equipped" what.suffix2 = "Equipped" rhand=what if(menu){close_screen("equiplist");close_screen("equip_attrib");screen("equiprefresh")} return soundeffect(src,SOUND_WRONG) return else if((class in what.equip)||(what.kind in equips)||(!lhand&&((class in what.equip_sidearm)||(what.kind in equip_sidearm)))) random_soundeffect(src,"cursorlist") var/obj/old = rhand if(old) if(!istype(old,/obj/equip/weapon/Ammo)) old.suffix=null old.suffix2 = null if(!istype(what,/obj/equip/weapon/Ammo)) what.suffix="Equipped" what.suffix2 = "Equipped" rhand=what if(menu){close_screen("equiplist");close_screen("equip_attrib");screen("equiprefresh")} return else soundeffect(src,SOUND_WRONG) return