ID:1466544
 
Code:
obj/techniques
MouseDrop(var/X)
if(src==X)return
if(istype(X,/obj/techniques/Skill_Slot) || istype(X,/obj/techniques))
var/obj/Y = X
Y.overlays = 0
Y.overlays += src
src.screen_loc=Y.screen_loc
usr.client.screen += src
usr.SkillSlot["SkillSlot[Y:slot_num]"]=src
usr << "Placed [src] on [Y]"




Skill_Slot
icon = 'Skills.dmi'
icon_state = "blank"
layer = 20
var/slot_num = 0


One
New(client/C)
screen_loc = "13,7"
slot_num = 1
if(C)C.screen += src
Two
New(client/C)
screen_loc = "13,6"
slot_num = 2
if(C)C.screen += src
Three
New(client/C)
screen_loc = "13,5"
slot_num = 3
if(C)C.screen += src
Four
New(client/C)
screen_loc = "13,4"
slot_num = 4
if(C)C.screen += src
Five
New(client/C)
screen_loc = "13,3"
slot_num = 5
if(C)C.screen += src
Six
New(client/C)
screen_loc = "13,2"
slot_num = 6
if(C)C.screen += src
OSTSurround
layer=20
Top_Bar
New(client/C)
icon = 'hud.dmi'
icon_state="topbar"
screen_loc = "13,8"
if(C)C.screen += src
Bottom_Bar
New(client/C)
icon = 'hud.dmi'
icon_state="bottombar"
screen_loc = "13,1"
if(C)C.screen += src
Side_Bar
New(client/C)
icon = 'hud.dmi'
icon_state="leftsur"
screen_loc = "12,7 to 12,2"
if(C)C.screen += src
Top_Corner
New(client/C)
icon = 'hud.dmi'
icon_state="topsur"
screen_loc = "12,8"
if(C)C.screen += src
Bottom_Corner
New(client/C)
icon = 'hud.dmi'
icon_state="bottomsur"
screen_loc = "12,1"
if(C)C.screen += src

mob/proc/skilltest()
usr << "[usr.SkillSlot["SkillSlot1"]]"


mob/var/SkillSlot = list("SkillSlot1"=null,"SkillSlot2"=null,"SkillSlot3"=null,"SkillSlot4"=null,"SkillSlot5"=null,"SkillSlot6"=null)

mob/var/HUD = list()
mob/var/hotkeys_loaded = 0

mob/proc/load_slots()
if(src.hotkeys_loaded||!usr||!usr.client)return
var/obj/x = new/obj/techniques/Skill_Slot(usr.client)
usr.HUD += x
usr.hotkeys_loaded = 1


mob/verb
slot1()
set hidden = 1
for(var/obj/x in usr.client.screen)
if(x && x.screen_loc == "13,7")
x.Click()

slot2()
set hidden = 1

for(var/obj/x in usr.client.screen)
if(x && x.screen_loc == "13,6")
x.Click()
slot3()
set hidden = 1

for(var/obj/x in usr.client.screen)
if(x && x.screen_loc == "13,5")
x.Click()
slot4()
set hidden = 1

for(var/obj/x in usr.client.screen)
if(x && x.screen_loc == "13,4")
x.Click()

slot5()
set hidden = 1

for(var/obj/x in usr.client.screen)
if(x && x.screen_loc == "13,3")
x.Click()
slot6()
set hidden = 1

for(var/obj/x in usr.client.screen)
if(x && x.screen_loc == "13,2")
x.Click()



Problem description:

We noticed that the techniques dropped on all slots overlap eachother upon dropping. When we drop the icon in the slot first, it seems like it is working. Upon dropping a new technique into that same slot we find that the techniques are overlapping eachother and actually changing the icon of the skill itself. We are having difficulty determining how to remove the overlay from the hotbar without deleting the actual technique from the game.





If anyone can help us out. please let us know!
Is it just not possible the way we made this? I mean i dont see the point in having to redo the system if we are just running into a overlay issue. i mean if we can put an overlay on the screen, there has to be a way to remove it. Thats the question im asking. Not how to rewrite it.
Issue has been fixed. Found it out on our own. thanks for your help anyways cloud!