ID:269609
 
I need a Overlay/Underlay List similar to the one in Icon Chatterz when you attempt to remove an Over/Underlayer.
This is not something I've done before but how about....

obj
standardoverlay

mob
verb
Add_Overlay()
var/icon/Ico = "Whatever goes here"//Not sure what goes here, I've -NEVER- done anything like this before
src.overlays += Create_Overlay(Ico, src)
proc
Create_Overlay(icon/I, mob/M)
var/obj/over = new /obj/standardoverlay
over.icon = I
over.name = "Overlay[M.overlays.len]"
return over

mob
verb
Remove_Overlays()
src.overlays -= input(src, "What overlay?") as obj in src.overlays


Or if that doesnt work...

obj
standardoverlay

mob
var
list
hasoverlay = new
verb
Add_Overlay()
var/icon/Ico = "Whatever goes here"//Not sure what goes here, I've -NEVER- done anything like this before
src.overlays += Create_Overlay(Ico, src)
proc
Create_Overlay(icon/I, mob/M)
var/obj/over = new /obj/standardoverlay
over.icon = I
over.name = "Overlay[M.overlays.len]"
M.hasoverlay += over
return over.icon

mob
verb
Remove_Overlays()
var/obj/N = input(src, "What") as obj in src.hasoverlay
src.hasoverlay.Remove(N)
src.overlays -= N.icon