return Def.ActorFrame{
  Name= "actor_cic",
  InitCommand= function(self) self:SetDrawByZPosition(true) end,
  Def.ActorFrame{
    Name= "actor_dic",
    HideCommand= cmd(bouncebegin,0.2;zoomy,0;zoomx,3),
    HideQCommand= cmd(zoomy,0;zoomx,3),
    InitCommand= function (self) char_sans=self; self:zoomx(3); self:zoomy(0); end,
    SpawnCommand= cmd(z,0;bounceend,0.3;zoom,1),
    SpawnQCommand= cmd(z,0;zoom,1),
    SpawnQZCommand= cmd(z,1;zoom,1),
    Def.ActorFrame{
      Name= "actor_eic",
      OnCommand= cmd(zoom,1),
      Def.ActorFrame{
        Name= "actor_fic",
        OnCommand= cmd(zoom,1.6;spin;effectmagnitude,0,0,90),
        Def.Sprite{
          Name= "actor_gic",
          CastCommand= function (self)
					self:zoom(1.1);
					self:linear(0.8);
					self:diffusealpha(1);
					self:zoom(0.9);
					self:linear(1);
					self:zoom(0.7);
					self:linear(0.8);
					self:diffusealpha(0);
					self:zoom(0.5);
				end,
          OnCommand= cmd(blend,"BlendMode_Add";diffusealpha,0),
          Texture= "casting.png",
        },
      },
      Def.Sprite{
        Name= "actor_hic",
        HurtCommand= cmd(setstate,1),
        IdleCommand= cmd(setstate,0),--Unconverted y pos. -Kid
        OnCommand= cmd(animate,0;setstate,0;y,70),
        Texture= "sans/legs 2x1.png",
      },
      --Unconverted x & y pos. -Kid
      Def.ActorFrame{
        Name= "actor_iic",
        Cast2Command= cmd(finishtweening;playcommand,"Up";decelerate,0.1;y,5;sleep,0;y,-10;linear,0.25;y,0),
        CastCommand= cmd(finishtweening;playcommand,"Up";decelerate,0.1;y,5;sleep,0;y,-10;linear,0.25;y,0),
        HurtCommand= cmd(effectperiod,16;playcommand,"Hurt2"),
        OnCommand= cmd(bob;effectmagnitude,2,0,0;effectperiod,8;effectclock,"bgm";effectoffset,0),
        SlamDownCommand= cmd(finishtweening;playcommand,"Down";decelerate,0.1;y,-5;sleep,0;y,10;linear,0.25;y,0),
        SlamLeftCommand= cmd(finishtweening;playcommand,"Left";decelerate,0.1;x,5;sleep,0;x,-10;linear,0.25;x,0),
        SlamRightCommand= cmd(finishtweening;playcommand,"Right";decelerate,0.1;x,-5;sleep,0;x,10;linear,0.25;x,0),
        SlamUpCommand= cmd(finishtweening;playcommand,"Up";decelerate,0.1;y,5;sleep,0;y,-10;linear,0.25;y,0),
        StopCommand= cmd(playcommand,"Stop2";stopeffect),
        Def.Sprite{
          Name= "actor_jic",
          Down2Command= cmd(setstate,4;sleep,0.066;queuecommand,"Down3"),
          Down3Command= cmd(setstate,5),
          DownCommand= cmd(setstate,7;sleep,0.1;queuecommand,"Down2"),
          Hurt2Command= cmd(setstate,10;effectperiod,8),
          IdleCommand= cmd(setstate,0),
          Left2Command= cmd(setstate,2;sleep,0.066;queuecommand,"Left3"),
          Left3Command= cmd(setstate,0),
          LeftCommand= cmd(setstate,3;sleep,0.1;queuecommand,"Left2"),
          OnCommand= cmd(bob;effectmagnitude,0,3,0;effectperiod,4;effectclock,"bgm";animate,0;setstate,0;x,20;y,-30),
          Right2Command= cmd(setstate,8;sleep,0.066;queuecommand,"Right3"),
          Right3Command= cmd(setstate,9),
          RightCommand= cmd(setstate,0;sleep,0.1;queuecommand,"Right2"),
          ShrugCommand= cmd(setstate,1),
          Stop2Command= cmd(stopeffect),
          Texture= "sans/body 4x3.png",
          Up2Command= cmd(setstate,6;sleep,0.066;queuecommand,"Up3"),
          Up3Command= cmd(setstate,7),
          UpCommand= cmd(setstate,5;sleep,0.1;queuecommand,"Up2"),
        },
        Def.Sprite{
          Name= "actor_kic",
          BlinkCommand= cmd(setstate,1),
          Cast2Command= function(self)
						sans_casttime = 0;
						sans_eyecol = 1;
						self:setstate(7);
						self:sleep(0.066);
						self:queuecommand('Eye');
					end,
          CastCommand= function(self)
						sans_casttime = 0;
						sans_eyecol = 1;
						self:setstate(7);
						self:sleep(0.066);
						self:queuecommand('Eye');
					end,
          EyeCommand= function(self)
						sans_casttime = sans_casttime+0.066;
						if sans_eyecol == 1 then
							self:setstate(6);
							sans_eyecol = 2;
						else
							self:setstate(7);
							sans_eyecol = 1;
						end
						self:sleep(0.066);
						if sans_casttime<2 then
							self:queuecommand('Eye');
						else
							self:queuecommand('HeadIdle');
						end
					end,
          HappyCommand= cmd(setstate,4),
          HeadIdleCommand= cmd(setstate,0),
          Hurt2Command= cmd(setstate,8;effectperiod,8),
          NoEyeCommand= cmd(setstate,5),
          OnCommand= cmd(bob;effectmagnitude,0,3,0;effectperiod,4;effectclock,"bgm";effectoffset,-0.3;animate,0;setstate,0;y,-76),
          SadCommand= cmd(setstate,3),
          Stop2Command= cmd(stopeffect;setstate,1),
          Texture= "sans/head 3x3.png",
          WinkCommand= cmd(setstate,2),
        },
        Def.Sprite{
          Name= "actor_lic",
          Hurt2Command= cmd(effectperiod,8),
          NoSweatCommand= cmd(visible,false),
          OnCommand= cmd(visible,false;bob;effectmagnitude,0,3,0;effectperiod,4;effectclock,"bgm";effectoffset,-0.3;animate,0;setstate,0;y,-76),
          Stop2Command= cmd(stopeffect;visible,false),
          SweatCommand= cmd(visible,true),
          Texture= "sans/sweat.png",
        },
      },
    },
  },
  Def.Quad{
    Name= "actor_mic",
    FireCommand= function(self) GasterSound('gaster_fire') end,
    InitCommand= function(self)
	
		char_sans_gaster_snd = self
	
		function GasterSound(str)
			local songName = GAMESTATE:GetCurrentSong():GetSongDir();
			SOUND:PlayOnce(songName..'lua/chara/sans/'..str..'.ogg');
		end
	
	end,
    OnCommand= cmd(visible,false),
    SpawnCommand= function(self) GasterSound('gaster_spawn') end,
  },
  Def.Quad{
    Name= "actor_nic",
    InitCommand= function(self)
	
		char_sans_gptr = 1;
		char_sans_gasters = {}
		function GetNewGaster()
			local a = char_sans_gasters[char_sans_gptr]
			
			char_sans_gptr = char_sans_gptr+1
			if char_sans_gptr > table.getn(char_sans_gasters) then
				char_sans_gptr = 1;
			end
			
			if a then
				a:visible(true);
				a:playcommand('Reset');
				return a
			else
				char_sans_missing:visible(true)
				return char_sans_missing
			end
		end
		
		function GetGaster(n)
			local a = char_sans_gasters[n]
			
			if a then
				a:visible(true);
				a:playcommand('Reset');
				return a
			else
				char_sans_missing:visible(true)
				return char_sans_missing
			end
		end		
		
	end,
    OnCommand= cmd(visible,false),
  },
  Def.Quad{
    Name= "actor_oic",
    DoneCommand= cmd(visible,false),
    InitCommand= function(self) char_sans_missing = self end,
    OnCommand= cmd(visible,false;diffuse,color('1,0,1,1');zoomto,64,64),
  },
  Def.ActorFrame{
    Name= "actor_pic",
    Def.ActorFrame{
      Name= "actor_qic",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_ric",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_sic",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_tic",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_uic",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_vic",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_wic",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_xic",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_yic",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_zic",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_Aic",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_Bic",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_Cic",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_Dic",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_Eic",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_Fic",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_ajc",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_bjc",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_cjc",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_djc",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_ejc",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_fjc",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_gjc",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_hjc",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_ijc",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_jjc",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_kjc",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_ljc",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_mjc",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_njc",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_ojc",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_pjc",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_qjc",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_rjc",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_sjc",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_tjc",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_ujc",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_vjc",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_wjc",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_xjc",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_yjc",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_zjc",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_Ajc",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_Bjc",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_Cjc",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_Djc",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_Ejc",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_Fjc",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_akc",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_bkc",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_ckc",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
    Def.ActorFrame{
      Name= "actor_dkc",
      DoneCommand= cmd(visible,false),
      OnCommand= cmd(visible,false;sleep,0.02;queuecommand,"SetMe"),
      SetMeCommand= function(self) table.insert(char_sans_gasters,self) end,
      Def.Quad{
        Name= "actor_ekc",
        FireCommand= cmd(diffusealpha,1;zoomx,0;spring,0.4;zoomx,64;linear,0.6;zoomx,56;accelerate,0.6;zoomx,0;diffusealpha,-0.2),
        OnCommand= cmd(vertalign,top;y,24;zoomx,0;zoomy,10000;diffusealpha,1),
      },
      Def.Sprite{
        Name= "actor_fkc",
        FireCommand= cmd(setstate,1;zoom,1.3;decelerate,0.2;addy,-10;zoom,1),
        OnCommand= cmd(animate,0;setstate,0),
        ResetCommand= cmd(y,0;setstate,0),
        Texture= "sans/gaster 2x1.png",
      },
    },
  },
}
