Code:
Equip(/obj/Inventory/Equipment/E)
if(!istype(E) || !E.AllowEquip() || !(E.slot in src.vars) || src.vars["[E.slot]"])
return 0
src << "You equip {E}."
src.vars ["[E.slot]"] = E
E.suffix = "Equipped"
Unequip(obj/Inventory/Equipment/E)
if(!istype(E) || !E.AllowUnequip() || !(E.slot in src.vars) || src.vars["[E.slot]"]!=E)
return 0
src << "You unequip [E]"
src.vars ["[E.slot]"] = null
E.suffix = ""
Upon compile I get this error report:
loading World.dme
loading Nyerface.dmf
World.dm:27:error: E: undefined var
World.dm:27:error: E.AllowEquip: undefined var
World.dm:27:error: E.slot: undefined var
World.dm:27:error: E.slot: undefined var
World.dm:30:error: E.slot: undefined var
World.dm:30:error: E: undefined var
World.dm:31:error: E.suffix: undefined var
World.dm:33:error: E.AllowUnequip: undefined proc
World.dmb - 8 errors, 0 warnings
Further details
These are mob procs called by objs, Obviously E is equipment which is obj, E.AllowEquip is actually a boolean, and slot of course is the item identifier to determine which slot on the equipment list the item would take up.