       Actor SMARTGUY : GenericHumanScum
       {
  scale 1.0
  obituary "%o was outsmarted by the SMART GUY"
  health 70
  radius 15
  height 54
  mass 100
  speed 10
  +NODROPOFF
  MaxDropOffHeight 64
  painchance 200
  Species "SmartGuy"
  SeeSound "IncGrener/See"
  PainSound "Intellect/pain"
  DeathSound "IncGrener/Death"
  ActiveSound "TestSubject/Test"
  dropitem "Chaingun"
  Tag "THE SMARTEST MAN IN HISTORY OF SMARTEST MEN"
  MONSTER
  +FLOORCLIP
  States
       {
  Spawn:
    FC1B A 10 A_Look
    loop
  See:
    TNT1 A 0 A_Jump (70, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
	TNT1 A 0 A_Jump (180, "MissileCheck")
  SeeLoop:
    TNT1 A 0 A_CheckSight ("CheckReload")
    TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "Reload")
	TNT1 A 0 A_Jump (199, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
	TNT1 A 0 A_JumpIfInTargetLos ("MovingToCoverStart", 15, JLOSF_DEADNOJUMP | JLOSF_CLOSENOJUMP, 1800, 950)
    FC1B AABBCCDD 3 A_Chase
    loop
  MovingToCoverStart:
    TNT1 A 0 A_ChangeFlag ("Frightened", true)
   MovingToCover:
    TNT1 A 0 A_Print ("MovingToCover")
    TNT1 A 0 A_JumpIfTargetInLos ("MissileCheck", 0, JLOSF_DEADNOJUMP, 450)
    FC1B AABBCCDDAABBCCDDAABBCCDD 3 A_Chase
	TNT1 A 0 A_CheckSight ("Bravery")
   Loop	
   Bravery:	
	TNT1 A 0 A_ChangeFlag ("Frightened", false)
	Goto SeeLoop
  CheckReload:
    TNT1 A 0 A_Jump (150, "CheckReload2")
 	Goto SeeLoop+1
  CheckReload2:
    TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "Reload")
	Goto SeeLoop+1
  DodgeCheck:
    TNT1 A 0 A_Jump (255, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB") 
  DodgeLeft:
        TNT1 A 0 A_FaceTarget
	    FC1B AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		TNT1 A 0 A_Jump (50, "DodgeRight")
		Goto SeeLoop+1
	DodgeLeftF:
	    TNT1 A 0 A_FaceTarget

	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil (random (-8,-3))
	    FC1B AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
    DodgeLeftB:
	    TNT1 A 0 A_FaceTarget
		
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil (random (3,8))
	    FC1B AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
	DodgeRight:
	    TNT1 A 0 A_FaceTarget
		
	    FC1B AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
	DodgeRightF:
	    TNT1 A 0 A_FaceTarget
		
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil ( random (-8,-3))
	    FC1B AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
	DodgeRightB:
	    TNT1 A 0 A_FaceTarget
		
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil ( random (3,8))
	    FC1B AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
  MissileCheck:
     TNT1 A 0 A_Jump (175, "GRANATACheck")
    TNT1 A 0 A_JumpIfTargetInLos ("Missile")
	Goto SeeLoop
  Missile:
    FC1B E 7 A_FaceTarget
	TNT1 A 0 A_JumpIfInTargetLos ("MovingToCoverStart", 15, JLOSF_DEADNOJUMP | JLOSF_CLOSENOJUMP, 1500, 1000)
	TNT1 A 0 A_JumpIfTargetInLos ("TriShot", 0, JLOSF_CLOSENOJUMP, 0, 950)
	TNT1 A 0 A_JumpIfTargetInLos ("Accuracy", 0, JLOSF_CLOSENOJUMP, 0, 1500)
  MissileLoop:
    TNT1 A 0 A_PlaySound ("USZRFL")
	FC1B F 2 BRIGHT A_CustomMissile ("AKTracer",32,9,random (-4,4))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "Reload")
	TNT1 A 0 A_JumpIfTargetInLos ("TriShot", 0, JLOSF_DEADNOJUMP | JLOSF_CLOSENOJUMP, 1500, 950)
	TNT1 A 0 A_JumpIfTargetInLos ("Accuracy", 0, JLOSF_DEADNOJUMP | JLOSF_CLOSENOJUMP, 0, 1500)
	TNT1 A 0 A_Jump (50, "SeeLoop")
    FC1B E 3 A_CposRefire
	goto MissileLoop
  Trishot:
    TNT1 A 0 A_PlaySound ("USZRFL")
	FC1B F 2 BRIGHT A_CustomMissile ("AKTracer",32,9,random (-1,0))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "Reload")
	FC1B E 3 A_FaceTarget 
	TNT1 A 0 A_PlaySound ("USZRFL")
	FC1B F 2 BRIGHT A_CustomMissile ("AKTracer",32,9,random (-1,1))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "Reload")
	FC1B E 3 A_FaceTarget
	TNT1 A 0 A_PlaySound ("USZRFL")
	FC1B F 2 BRIGHT A_CustomMissile ("AKTracer",32,9,random (-2,2))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "Reload")
	TNT1 A 0 A_JumpIfTargetInLos ("Accuracy", 0, JLOSF_DEADNOJUMP | JLOSF_CLOSENOJUMP, 0, 1500)
	FC1B E 3 A_CposRefire
	Goto SeeLoop
  Accuracy:
    FC1B E 7 A_FaceTarget
	TNT1 A 0 A_PlaySound ("USZRFL")
	FC1B F 2 BRIGHT A_CustomMissile ("AKTracer",32,9)
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 30, "Reload")
	TNT1 A 0 A_JumpIfTargetInLos ("TriShot", 0, JLOSF_DEADNOJUMP | JLOSF_CLOSENOJUMP, 1500, 950)
	Goto SeeLoop
  GRANATACheck:
    TNT1 A 0
    TNT1 A 0 A_JumpIfTargetInLos ("GRANATA", 30, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 750, 350)
Goto MissileCheck+1	
  GRANATA:
    FC1B E 8
	//TNT1 A 0 A_Print ("PINGAS!!!!") 
	FC1B D 6 A_CustomMissile ("GreenHandGrenade", 42, 9, random (-3,3), CMF_OFFSETPITCH, random (8,12))
	TNT1 A 0 A_ChangeFlag ("Frightneted", true)
	FC1B AABBCCDDAABBCCDDAABBCCDDAABBCCDD 2 A_Chase
	TNT1 A 0 A_ChangeFlag ("Frightneted", false)
	Goto SeeLoop
  Reload:
    TNT1 A 0 A_JumpIfCloser (550, "PardonMeNeedToReload") 
    FC1B D 10
	TNT1 A 0 A_TakeInventory ("AKShotCounter", 30)
	FC1B E 10
	TNT1 A 0 A_ChangeFlag ("Frightneted", false)
	FC1B D 6
	Goto SeeLoop
  PardonMeNeedToReload:
    TNT1 A 0 A_ChangeFlag ("Frightened", true)
	FC1B AABBCCDDAABBCCDD 2 A_Chase
	TNT1 A 0 A_JumpIfTargetInLOS ("Reload", 0, JLOSF_DEADNOJUMP, 350)
	TNT1 A 0 A_CheckSight ("Reload")
   Loop
  Pain:
    FC1B G 3
    FC1B G 3 A_Pain
    goto SeeLoop
  Death:
  	//TNT1 A 0 A_Jump(20, "Suren")
    FC1B H 5 A_Scream
    FC1B I 5
    FC1B J 5 A_NoBlocking
    FC1B K 5
    FC1B L -1
    stop
  XDeath:
    FC1B U 5
    FC1B V 5 A_XScream
    PGIB A 5 A_NoBlocking
    PGIB BCD 5
    PGIB E -1
    Stop
  Idle:
    FC1B AA 4 A_Wander
    FC1B A 0 A_Look
    FC1B BB 4 A_Wander
    FC1B A 0 A_Look
    FC1B CC 4 A_Wander
    FC1B A 0 A_Look
    FC1B DD 4 A_Wander
    FC1B A 0 A_Look
    loop
  }
	   }
	
	
	
	
	
	
	
	
	Actor TestRock 
	{
   Monster
   Health 380
   Radius 15
   Height 56
   Mass 400
   Species "Reva"
+DONTHARMSPECIES
   Speed 12
   BloodType "DASBLUT"
   PainChance 110
   +NODROPOFF
   MaxDropOffHeight 69
   Monster
   +FLOORCLIP
   SeeSound "Armored/See"
   PainSound "Armored/Pain"
   DeathSound "Armored/Death"
   ActiveSound "Armored/Active"
   Obituary "%o got the party fireworks by the Rocketeer"
   States
        {
         Spawn:
			  TNT1 A 0
			  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("STFUCheck") == 1, "STFU")
		  Spawn2:	  
		      ROCM C 4 A_Look
			Loop
		 STFU:
     TNT1 A 0
	 TNT1 A 0 ACS_NamedExecute ("STFUArmored")
	 Goto Spawn+2	
	      See:
			TNT1 A 0 A_Jump (70, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
			TNT1 A 0 A_Jump (180, "MissileCheck")	
	      SeeLoop:
		      TNT1 A 0 A_Jump (199, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
		      ROCM ABCD 3 A_Chase
			 Loop
	  DodgeLeft:
        TNT1 A 0 A_FaceTarget
	    ROCM AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		TNT1 A 0 A_Jump (50, "DodgeRight")
		Goto SeeLoop+1
	DodgeLeftF:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil (random (-8,-3))
	    ROCM AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
    DodgeLeftB:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil (random (3,8))
	    ROCM AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
	DodgeRight:
	    TNT1 A 0 A_FaceTarget
	    ROCM AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
	DodgeRightF:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil ( random (-8,-3)) 
	    ROCM AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
	DodgeRightB:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil ( random (3,8)) 
	    ROCM AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
  MissileCheck:
    TNT1 A 0 A_JumpIfTargetInLos ("Missile", 30, JLOSF_DEADNOJUMP)
	Goto SeeLoop		 
		  Missile:
			  TNT1 A 0 
			  ROCM E 20 A_FaceTarget
			  TNT1 A 0 A_Playsound ("RLAUNCH1", CHAN_Weapon)
			  ROCM F 4 Bright A_CustomMissile ("TestMIRVRocket", 36, -4)
			 Goto SeeLoop	
		   Pain:
		      ROCM AB 10 A_Pain
			  Goto SeeLoop
		   Death:
		      ROCM I 7 A_Noblocking
			  ROCM J 6 A_Scream
			  ROCM KLM 5
			  ROCM N -1
			 Stop
			Raise:
			  TNT1 A 0 
			  TNT1 A 0 A_SpawnItemEx ("NanoResEffect", 0, 0, 15, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			  ROCM NMLKJI 5
			 Goto See  
		  
		
		}
}
	
	
	
	
	
	
	
	
	
	
	
	
	
	Actor TestMIRVRocket
      {
 Projectile
 +BLOODSPLATTER
 Radius 8
 Height 8
 +SEEKERMISSILE
 Scale 0.7
 Speed 10
 Damage (10)
       States
	        {
			 Spawn:
              TNT1 A 0 A_SpawnItemEx("CSMiniMissileTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			  TNT1 A 0 A_Playsound ("rockfly",7,1.0,true)
              FBRS A 4 Bright A_SeekerMissile (11, 15, 0, 0, 1)
			  //TNT1 A 0 A_TransferPointer (AAPTR_DEFAULT, AAPTR_TRACER, AAPTR_TARGET, AAPTR_TARGET)
			  //TNT1 A 0 A_JumpIfTargetInLos ("TestState", 0, JLOSF_DEADNOJUMP, 300, 0)
			  TNT1 A 0 A_JumpIfTracerCloser (220, "TestState")
               loop
			TestState:
			  TNT1 A 0
			  TNT1 A 0 A_PrintBold ("IT WORKS")
            Death:
             TNT1 A 0
             TNT1 A 0 A_PlaySound("misc/boom",5)
             TNT1 A 0 A_PlaySound("misc/distanceboom",6,1.0,0,0)
             TNT1 A 0 A_Explode((45),69, 0, 0,40)
             TNT1 AAAAA 0 A_CustomMissile ("CSMiniMissileExplosionFlame", 0, 0, random (0, 360), 2, random (0, 360))
             TNT1 AAAAAAAAA 0 A_CustomMissile ("CSMiniMissileBoomSmoke", 0, 0, random (0, 360), 2, random (0, 360))
             TNT1 A 1 Radius_Quake (2,4,0,7,0)
			 TNT1 A 0 A_StopSound (7)
             TNT1 A 20
               stop
			}
}
	
	
	
	
	
	