ID:1930315
 
(See the best response by Ter13.)
Code:
turf/TeaShop1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(110,110,3)
M.overlays -= 'Swim.dmi'
turf/TeaShop1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(8,291,5)
M.overlays -= 'Swim.dmi'
turf/TeaShop2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(111,100,3)
M.overlays -= 'Swim.dmi'
turf/TeaShop2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(9,291,5)
M.overlays -= 'Swim.dmi'
turf/Tea1Shop1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(8,291,5)
M.overlays -= 'Swim.dmi'
turf/Tea1Shop1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(110,110,3)
M.overlays -= 'Swim.dmi'
turf/Tea2Shop2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(9,291,5)
M.overlays -= 'Swim.dmi'
turf/Tea2Shop2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(111,100,3)
M.overlays -= 'Swim.dmi'

turf/BlackSmith1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(96,119,3)
M.overlays -= 'Swim.dmi'
turf/BlackSmith1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(6,272,5)
M.overlays -= 'Swim.dmi'
turf/BlackSmith2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(97,119,3)
M.overlays -= 'Swim.dmi'
turf/BlackSmith2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(7,272,5)
M.overlays -= 'Swim.dmi'
turf/WeaponShop1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(125,119,3)
M.overlays -= 'Swim.dmi'
turf/WeaponShop1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(8,281,5)
M.overlays -= 'Swim.dmi'
turf/WeaponShop2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(126,119,3)
M.overlays -= 'Swim.dmi'
turf/WeaponShop2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(9,281,5)
M.overlays -= 'Swim.dmi'
turf/ClothingShop1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(110,127,3)
M.overlays -= 'Swim.dmi'
turf/ClothingShop1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(8,262,5)
M.overlays -= 'Swim.dmi'
turf/ClothingShop2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(111,127,3)
M.overlays -= 'Swim.dmi'
turf/ClothingShop2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(9,262,5)
M.overlays -= 'Swim.dmi'
turf/Prison1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(131,151,3)
M.overlays -= 'Swim.dmi'
turf/Prison1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(65,278,5)
M.overlays -= 'Swim.dmi'
turf/Prison2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(132,151,3)
M.overlays -= 'Swim.dmi'
turf/Prison2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(65,278,5)
M.overlays -= 'Swim.dmi'
turf/Conference1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(160,151,3)
M.overlays -= 'Swim.dmi'
turf/Conference1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(90,270,5)
M.overlays -= 'Swim.dmi'
turf/Conference2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(161,151,3)
M.overlays -= 'Swim.dmi'
turf/Conference2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(91,270,5)
M.overlays -= 'Swim.dmi'
turf/Mansion1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(146,156,3)
M.overlays -= 'Swim.dmi'
turf/Mansion1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(138,250,5)
M.overlays -= 'Swim.dmi'
turf/Mansion2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(146,156,3)
M.overlays -= 'Swim.dmi'
turf/Mansion2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(139,250,5)
M.overlays -= 'Swim.dmi'
turf/MansionTop1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(143,263,5)
M.overlays -= 'Swim.dmi'
turf/MansionTop1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(122,242,5)
M.overlays -= 'Swim.dmi'
turf/MansionTop2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(144,263,5)
M.overlays -= 'Swim.dmi'
turf/MansionTop2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(123,242,5)
M.overlays -= 'Swim.dmi'
turf/MansionTop3_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(145,263,5)
M.overlays -= 'Swim.dmi'
turf/MansionTop3_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(124,242,5)
M.overlays -= 'Swim.dmi'
turf/Academy1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(185,191,3)
M.overlays -= 'Swim.dmi'
turf/Academy1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(196,274,5)
M.overlays -= 'Swim.dmi'
turf/Academy2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(186,191,3)
M.overlays -= 'Swim.dmi'
turf/Academy2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(197,274,5)
M.overlays -= 'Swim.dmi'
turf/AcademyBot1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(206,285,5)
M.overlays -= 'Swim.dmi'
turf/AcademyBot1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(197,270,5)
M.overlays -= 'Swim.dmi'
turf/AcademyBot2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(207,285,5)
M.overlays -= 'Swim.dmi'
turf/AcademyBot2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(198,270,5)
M.overlays -= 'Swim.dmi'
turf/AcademyBot3_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(208,285,5)
M.overlays -= 'Swim.dmi'
turf/AcademyBot3_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(199,270,5)
M.overlays -= 'Swim.dmi'
turf/Inn1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(226,176,3)
M.overlays -= 'Swim.dmi'
turf/Inn1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(134,271,5)
M.overlays -= 'Swim.dmi'
turf/Inn2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(227,176,3)
M.overlays -= 'Swim.dmi'
turf/Inn2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(135,271,5)
M.overlays -= 'Swim.dmi'
turf/Bar1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(250,182,3)
M.overlays -= 'Swim.dmi'
turf/Bar1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(273,282,5)
M.overlays -= 'Swim.dmi'
turf/Bar2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(251,182,3)
M.overlays -= 'Swim.dmi'
turf/Bar2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(274,282,5)
M.overlays -= 'Swim.dmi'
turf/Bar3_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(252,182,3)
M.overlays -= 'Swim.dmi'
turf/Bar3_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(275,282,5)
M.overlays -= 'Swim.dmi'

turf/LargeKaguya1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(117,214,3)
M.overlays -= 'Swim.dmi'
turf/LargeKaguya1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(82,246,5)
M.overlays -= 'Swim.dmi'
turf/LargeKaguya2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(118,214,3)
M.overlays -= 'Swim.dmi'
turf/LargeKaguya2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(83,246,5)
M.overlays -= 'Swim.dmi'
turf/LargeKaguya3_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(117,214,3)
M.overlays -= 'Swim.dmi'
turf/LargeKaguya3_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(84,246,5)
M.overlays -= 'Swim.dmi'

turf/WestKaguya1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(106,219,3)
M.overlays -= 'Swim.dmi'
turf/WestKaguya1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(64,264,5)
M.overlays -= 'Swim.dmi'
turf/WestKaguya2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(107,219,3)
M.overlays -= 'Swim.dmi'
turf/WestKaguya2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(65,264,5)
M.overlays -= 'Swim.dmi'
turf/WestKaguya3_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(108,219,3)
M.overlays -= 'Swim.dmi'
turf/WestKaguya3_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(66,264,5)
M.overlays -= 'Swim.dmi'
turf/WestKaguya4_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(109,219,3)
M.overlays -= 'Swim.dmi'
turf/WestKaguya4_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(67,264,5)
M.overlays -= 'Swim.dmi'

turf/EastKaguya1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(129,219,3)
M.overlays -= 'Swim.dmi'
turf/EastKaguya1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(64,246,5)
M.overlays -= 'Swim.dmi'
turf/EastKaguya2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(130,219,3)
M.overlays -= 'Swim.dmi'
turf/EastKaguya2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(65,246,5)
M.overlays -= 'Swim.dmi'
turf/EastKaguya3_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(131,219,3)
M.overlays -= 'Swim.dmi'
turf/EastKaguya3_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(66,246,5)
M.overlays -= 'Swim.dmi'
turf/EastKaguya4_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(132,219,3)
M.overlays -= 'Swim.dmi'
turf/EastKaguya4_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(66,246,5)
M.overlays -= 'Swim.dmi'
turf/LargeHozuki_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(220,273,3)
M.overlays -= 'Swim.dmi'
turf/LargeHozuki_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(98,246,5)
M.overlays -= 'Swim.dmi'
turf/LargeHozuki2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(220,273,3)
M.overlays -= 'Swim.dmi'
turf/LargeHozuki2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(99,246,5)
M.overlays -= 'Swim.dmi'
turf/WestHozuki1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(209,278,3)
M.overlays -= 'Swim.dmi'
turf/WestHozuki1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(37,232,5)
M.overlays -= 'Swim.dmi'
turf/WestHozuki2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(210,278,3)
M.overlays -= 'Swim.dmi'
turf/WestHozuki2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(38,232,5)
M.overlays -= 'Swim.dmi'
turf/EastHozuki1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(232,278,3)
M.overlays -= 'Swim.dmi'
turf/EastHozuki1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(37,214,5)
M.overlays -= 'Swim.dmi'
turf/EastHozuki2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(233,278,3)
M.overlays -= 'Swim.dmi'
turf/EastHozuki2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(38,214,5)
M.overlays -= 'Swim.dmi'
turf/LargeYuki1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(231,43,3)
M.overlays -= 'Swim.dmi'
turf/LargeYuki1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(82,222,5)
M.overlays -= 'Swim.dmi'
turf/LargeYuki2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(231,43,3)
M.overlays -= 'Swim.dmi'
turf/LargeYuki2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(83,222,5)
M.overlays -= 'Swim.dmi'
turf/WestYuki1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(220,48,3)
M.overlays -= 'Swim.dmi'
turf/WestYuki1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(64,228,5)
M.overlays -= 'Swim.dmi'
turf/WestYuki2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(221,48,3)
M.overlays -= 'Swim.dmi'
turf/WestYuki2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(65,228,5)
M.overlays -= 'Swim.dmi'
turf/EastYuki1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(243,48,3)
M.overlays -= 'Swim.dmi'
turf/EastYuki1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(64,210,5)
M.overlays -= 'Swim.dmi'
turf/EastYuki2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(244,48,3)
M.overlays -= 'Swim.dmi'
turf/EastYuki2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(65,210,5)
M.overlays -= 'Swim.dmi'

turf/HoshigakiCave1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(196,118,3)
M.overlays -= 'Swim.dmi'
turf/HoshigakiCave1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(31,248,5)
M.overlays -= 'Swim.dmi'
turf/HoshigakiCave2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(197,118,3)
M.overlays -= 'Swim.dmi'
turf/HoshigakiCave2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(32,248,5)
M.overlays -= 'Swim.dmi'
turf/Hospital1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(110,182,3)
M.overlays -= 'Swim.dmi'
turf/Hospital1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(31,269,5)
M.overlays -= 'Swim.dmi'
turf/Hospital2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(110,182,3)
M.overlays -= 'Swim.dmi'
turf/Hospital2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(32,269,5)
M.overlays -= 'Swim.dmi'
turf/HospitalTop1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(31,280,5)
M.overlays -= 'Swim.dmi'
turf/HospitalTop1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(49,293,5)
M.overlays -= 'Swim.dmi'
turf/HospitalTop2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(32,280,5)
M.overlays -= 'Swim.dmi'
turf/HospitalTop2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(50,293,5)
M.overlays -= 'Swim.dmi'

turf/Large1House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(93,148,3)
M.overlays -= 'Swim.dmi'
turf/Large1House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(138,219,5)
M.overlays -= 'Swim.dmi'
turf/Large1House2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(93,148,3)
M.overlays -= 'Swim.dmi'
turf/Large1House2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(139,219,5)
M.overlays -= 'Swim.dmi'

turf/Large2House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(134,187,3)
M.overlays -= 'Swim.dmi'
turf/Large2House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(161,218,5)
M.overlays -= 'Swim.dmi'
turf/Large2House2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(134,187,3)
M.overlays -= 'Swim.dmi'
turf/Large2House2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(162,218,5)
M.overlays -= 'Swim.dmi'
turf/Large3House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(181,144,3)
M.overlays -= 'Swim.dmi'
turf/Large3House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(160,242,5)
M.overlays -= 'Swim.dmi'
turf/Large3House2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(181,144,3)
M.overlays -= 'Swim.dmi'
turf/Large3House2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(161,242,5)
M.overlays -= 'Swim.dmi'
turf/Large4House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(193,94,3)
M.overlays -= 'Swim.dmi'
turf/Large4House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(103,222,5)
M.overlays -= 'Swim.dmi'

turf/Small1House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(157,199,3)
M.overlays -= 'Swim.dmi'
turf/Small1House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(87,201,5)
M.overlays -= 'Swim.dmi'
turf/Small1House2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(158,199,3)
M.overlays -= 'Swim.dmi'
turf/Small1House2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(88,201,5)
M.overlays -= 'Swim.dmi'

turf/Small2House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(166,90,3)
M.overlays -= 'Swim.dmi'
turf/Small2House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(103,201,5)
M.overlays -= 'Swim.dmi'
turf/Small2House2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(167,90,3)
M.overlays -= 'Swim.dmi'
turf/Small2House2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(104,201,5)
M.overlays -= 'Swim.dmi'

turf/Small3House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(176,97,3)
M.overlays -= 'Swim.dmi'
turf/Small3House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(119,201,5)
M.overlays -= 'Swim.dmi'
turf/Small3House2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(177,97,3)
M.overlays -= 'Swim.dmi'
turf/Small3House2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(120,201,5)
M.overlays -= 'Swim.dmi'

turf/Small4House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(206,131,3)
M.overlays -= 'Swim.dmi'
turf/Small4House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(135,197,5)
M.overlays -= 'Swim.dmi'
turf/Small4House2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(207,131,3)
M.overlays -= 'Swim.dmi'
turf/Small4House2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(136,197,5)
M.overlays -= 'Swim.dmi'

turf/Small5House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(221,138,3)
M.overlays -= 'Swim.dmi'
turf/Small5House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(151,197,5)
M.overlays -= 'Swim.dmi'
turf/Small5House2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(222,139,3)
M.overlays -= 'Swim.dmi'
turf/Small5House2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(152,198,5)
M.overlays -= 'Swim.dmi'

turf/Small6House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(208,144,3)
M.overlays -= 'Swim.dmi'
turf/Small6House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(167,197,5)
M.overlays -= 'Swim.dmi'
turf/Small6House2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(209,144,3)
M.overlays -= 'Swim.dmi'
turf/Small6House2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(168,197,5)
M.overlays -= 'Swim.dmi'

turf/Small7House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(159,204,3)
M.overlays -= 'Swim.dmi'
turf/Small7House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(183,211,5)
M.overlays -= 'Swim.dmi'
turf/Small7House2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(160,204,3)
M.overlays -= 'Swim.dmi'
turf/Small7House2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(184,211,5)
M.overlays -= 'Swim.dmi'

turf/Small8House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(174,216,3)
M.overlays -= 'Swim.dmi'
turf/Small8House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(199,211,5)
M.overlays -= 'Swim.dmi'
turf/Small8House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(175,216,3)
M.overlays -= 'Swim.dmi'
turf/Small8House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(200,211,5)
M.overlays -= 'Swim.dmi'

turf/Small9House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(160,217,3)
M.overlays -= 'Swim.dmi'
turf/Small9House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(215,211,5)
M.overlays -= 'Swim.dmi'
turf/Small9House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(161,217,3)
M.overlays -= 'Swim.dmi'
turf/Small9House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(216,211,5)
M.overlays -= 'Swim.dmi'

turf/Small10House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(233,215,3)
M.overlays -= 'Swim.dmi'
turf/Small10House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(183,190,5)
M.overlays -= 'Swim.dmi'
turf/Small10House2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(234,215,3)
M.overlays -= 'Swim.dmi'
turf/Small10House2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(184,190,5)
M.overlays -= 'Swim.dmi'

turf/Small11House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(244,215,3)
M.overlays -= 'Swim.dmi'
turf/Small11House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(199,190,5)
M.overlays -= 'Swim.dmi'
turf/Small11House2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(245,215,3)
M.overlays -= 'Swim.dmi'
turf/Small11House2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(200,190,5)
M.overlays -= 'Swim.dmi'

turf/Small12House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(255,215,3)
M.overlays -= 'Swim.dmi'
turf/Small12House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(215,190,5)
M.overlays -= 'Swim.dmi'
turf/Small12House2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(256,215,3)
M.overlays -= 'Swim.dmi'
turf/Small12House2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(216,190,5)
M.overlays -= 'Swim.dmi'

turf/Small13House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(238,204,3)
M.overlays -= 'Swim.dmi'
turf/Small13House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(225,232,5)
M.overlays -= 'Swim.dmi'
turf/Small13House2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(239,204,3)
M.overlays -= 'Swim.dmi'
turf/Small13House2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(226,232,5)
M.overlays -= 'Swim.dmi'

turf/Small14House1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(250,204,3)
M.overlays -= 'Swim.dmi'
turf/Small14House1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(241,250,5)
M.overlays -= 'Swim.dmi'
turf/Small14House2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(251,204,3)
M.overlays -= 'Swim.dmi'
turf/Small14House2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(242,250,5)
M.overlays -= 'Swim.dmi'


//Suna stuff
turf/SunaClothingShop_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(154,191,10)
M.overlays -= 'Swim.dmi'
turf/SunaClothingShop_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(270,1,5)
M.overlays -= 'Swim.dmi'

turf/SunaTeaShop_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(137,191,10)
M.overlays -= 'Swim.dmi'
turf/SunaTeaShop_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(285,11,5)
M.overlays -= 'Swim.dmi'

turf/SunaWeaponShop_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(82,191,10)
M.overlays -= 'Swim.dmi'
turf/SunaWeaponShop_Out //Double Check This
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(285,11,5)
M.overlays -= 'Swim.dmi'

turf/SunaInn_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(82,178,10)
M.overlays -= 'Swim.dmi'
turf/SunaInn_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(164,1,5)
M.overlays -= 'Swim.dmi'

turf/SunaHospital_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(82,165,10)
M.overlays -= 'Swim.dmi'
turf/SunaHospital_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(254,1,5)
M.overlays -= 'Swim.dmi'
turf/SunaHospitalTop1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(253,12,5)
M.overlays -= 'Swim.dmi'
turf/SunaHospitalTop1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(259,25,5)
M.overlays -= 'Swim.dmi'
turf/SunaHospitalTop2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(254,12,5)
M.overlays -= 'Swim.dmi'
turf/SunaHospitalTop2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(260,25,5)
M.overlays -= 'Swim.dmi'

turf/SunaAcademy_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(141,165,10)
M.overlays -= 'Swim.dmi'
turf/SunaAcademy_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(201,1,5)
M.overlays -= 'Swim.dmi'

turf/SunaMansion_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(112,210,10)
M.overlays -= 'Swim.dmi'
turf/SunaMansion_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(287,30,5)
M.overlays -= 'Swim.dmi'
turf/SunaMansionTop1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(281,43,5)
M.overlays -= 'Swim.dmi'
turf/SunaMansionTop1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(270,22,5)
M.overlays -= 'Swim.dmi'
turf/SunaMansionTop2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(282,43,5)
M.overlays -= 'Swim.dmi'
turf/SunaMansionTop2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(271,22,5)
M.overlays -= 'Swim.dmi'
turf/SunaMansionTop3_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(283,43,5)
M.overlays -= 'Swim.dmi'
turf/SunaMansionTop3_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(272,22,5)
M.overlays -= 'Swim.dmi'
turf/SunaMansionR1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(291,43,5)
M.overlays -= 'Swim.dmi'
turf/SunaMansionR1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(113,226,10)
M.overlays -= 'Swim.dmi'
turf/SunaMansionR2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(292,43,5)
M.overlays -= 'Swim.dmi'
turf/SunaMansionR2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(113,226,10)
M.overlays -= 'Swim.dmi'
turf/SunaMansionR3_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(293,43,5)
M.overlays -= 'Swim.dmi'
turf/SunaMansionR3_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(113,226,10)
M.overlays -= 'Swim.dmi'

turf/SunaBlackSmith_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(105,171,10)
M.overlays -= 'Swim.dmi'
turf/SunaBlackSmith_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(273,11,5)
M.overlays -= 'Swim.dmi'

turf/SunaHouse1_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(87,142,10)
M.overlays -= 'Swim.dmi'
turf/SunaHouse1_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(7,1,5)
M.overlays -= 'Swim.dmi'

turf/SunaHouse2_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(97,142,10)
M.overlays -= 'Swim.dmi'
turf/SunaHouse2_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(7,22,5)
M.overlays -= 'Swim.dmi'


turf/SunaHouse3_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(82,153,10)
M.overlays -= 'Swim.dmi'
turf/SunaHouse3_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(23,22,5)
M.overlays -= 'Swim.dmi'

turf/SunaHouse4_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(92,153,10)
M.overlays -= 'Swim.dmi'
turf/SunaHouse4_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(23,1,5)
M.overlays -= 'Swim.dmi'

turf/SunaHouse5_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(102,153,10)
M.overlays -= 'Swim.dmi'
turf/SunaHouse5_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(39,1,5)
M.overlays -= 'Swim.dmi'

turf/SunaHouse6_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(77,219,10)
M.overlays -= 'Swim.dmi'
turf/SunaHouse6_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(39,22,5)
M.overlays -= 'Swim.dmi'

turf/SunaHouse7_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(91,219,10)
M.overlays -= 'Swim.dmi'
turf/SunaHouse7_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(55,22,5)
M.overlays -= 'Swim.dmi'

turf/SunaHouse8_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(71,131,10)
M.overlays -= 'Swim.dmi'
turf/SunaHouse8_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(55,1,5)
M.overlays -= 'Swim.dmi'

turf/SunaHouse9_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(84,231,10)
M.overlays -= 'Swim.dmi'
turf/SunaHouse9_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(71,22,5)
M.overlays -= 'Swim.dmi'

turf/SunaHouse10_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(97,231,10)
M.overlays -= 'Swim.dmi'
turf/SunaHouse10_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(71,1,5)
M.overlays -= 'Swim.dmi'

turf/SunaHouse11_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(136,221,10)
M.overlays -= 'Swim.dmi'
turf/SunaHouse11_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(87,22,5)
M.overlays -= 'Swim.dmi'

turf/SunaHouse12_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(150,221,10)
M.overlays -= 'Swim.dmi'
turf/SunaHouse12_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(87,1,5)
M.overlays -= 'Swim.dmi'

turf/SunaHouse13_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(129,231,10)
M.overlays -= 'Swim.dmi'
turf/SunaHouse13_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(103,1,5)
M.overlays -= 'Swim.dmi'

turf/SunaHouse14_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(143,231,10)
M.overlays -= 'Swim.dmi'
turf/SunaHouse14_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(119,1,5)
M.overlays -= 'Swim.dmi'

turf/SunaHouse15_In
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(157,231,10)
M.overlays -= 'Swim.dmi'
turf/SunaHouse15_Out
Enter(mob/M)
if(istype(M, /mob/))
if(M.client)
M.loc = locate(135,1,5)
M.overlays -= 'Swim.dmi'


Problem description:
Basically what I'm trying to do is get the player from coordinate "in" to coordinate "out". I've placed the teleporter on the map but the "in" teleporter doesn't lead to the proper . The way I coded it, I don't know if it's wrong, "in" coordinate should go to "out" coordinate, "out" should go back to "in".
Best response
You are doing *way* too much work.

atom
movable
//ForceMove is just like Move, but it cannot fail. It does not call Enter(), Exit(), Cross(), or Uncross().
//ForceMove still calls Exited(), Entered(), Crossed(), and Uncrossed() as normal.
ForceMove(atom/NewLoc,Dir=0,Step_x=0,Step_y=0)
//get the objects this movable is overlapping
var/list/oloc
if(loc&&isturf(loc))
oloc = obounds(src)
var/ol = loc
//forcibly change the location
loc = NewLoc
step_x = Step_x
step_y = Step_y
if(Dir) dir = Dir
//prepare lists for stuff we've stopped/started overlapping
var/list/nloc
var/list/cloc
//if we're in a turf, get the new stuff we're overlapping
if(loc&&isturf(loc))
nloc = obounds(src)
if(oloc)
cloc = oloc - nloc
else
cloc = nloc
var/atom/o
//call Exited() on any atoms we left; Uncrossed() on any objects we stopped overlapping
if(oloc)
for(var/area/a in oloc)
a.Exited(src,loc)
for(var/turf/t in oloc)
t.Exited(src,loc)
for(var/atom/movable/a in oloc)
a.Uncrossed(src)
else if(ol)
o = ol
o.Exited(src,loc)
//call Entered() on any atoms we entered; Crossed() on any objects we started overlapping
if(cloc)
for(var/area/a in cloc)
a.Entered(src,loc)
for(var/turf/t in cloc)
t.Entered(src,ol)
for(var/atom/movable/a in cloc)
a.Crossed(src)
else if(loc)
o = loc
o.Entered(src,ol)
return 1

mob
var/tmp
teleporting = 0 //this variable is set to the time that the last teleport happened. This is useful for checking if the current movement involves a teleport.


var
list/loc_flag_ids = list()
list/flagged_locs = list()
loc_flags = 0

//teleport flag objects are placed on the map. They destroy themselves when they are created.
//set the name as a unique id of the teleport location
//the mob will be moved to the location of the teleport_flag object, and their dir set to the dir of the teleport_flag object.
//if the name is non-unique, the location/direction of the old name will be replaced with the location/direction of this object.
//create new instances of these in the map editor. You don't need to subclass these at all.
obj
teleport_flag
New()
if(loc)
if(!loc_flag_ids[name])
loc_flag_ids[name] = ++loc_flags
flagged_locs.Add(loc,dir,step_x,step_y)
else
var/pos = loc_flag_ids[name]
flagged_locs[pos] = loc
flagged_locs[pos+1] = dir
flagged_locs[pos+2] = step_x
flagged_locs[pos+3] = step_y
loc = null

//teleporters will teleport the player when stepped on.
//create new instances of these in the map editor and set target_flag to the name of the teleport_flag object you want to move the player to.
//you shouldn't need to subclass these at all.
turf
teleporter
var
target_flag

//when the mob successfully steps on this turf
Entered(mob/M)
//make certain the mob is a player, isn't already teleporting this frame, and there's a target flag set.
if(istype(M)&&M.client&&M.teleporting!=world.time&&target_flag)
//get the position in the target flag list.
var/pos = loc_flag_ids[target_flag]
if(pos)
//inform M that it is teleporting and forcibly move it in place.
M.teleporting = world.time
M.ForceMove(flagged_locs[pos],flagged_locs[pos+1],flagged_locs[pos+2],flagged_locs[pos+3])


The above approach will remove all the dozens of subtypes you created completely and allow you to create teleport locations based on an easy to remember name. Just create a new instance of the teleporter flag in the map editor, give it a unique name, and place it where you want the player to be teleported to.

For teleporters themselves, simply create a new instance in the map editor, and set the target_flag variable to the teleport_flag object that you want to link to.

Since Exited(), Uncrossed(), etc. is always called by this new approach, you don't need to remove the swim icon_state from M.overlays in every single teleporter either. Just make sure that the simming icon_state is applied by the area they are in, and add/remove it on area Entered()/Exited().