actor ArachnotronClass : Playerpawn
{
  health 500
  radius 56
  height 56
  mass 600
  speed 0.30
  painchance 128
  Player.DisplayName "Arachnotron"
  Player.MaxHealth 500
  Player.ViewHeight 48
  Player.SoundClass "ArachnotronClass"
  Player.JumpZ 0
  Player.MorphWeapon "ArPlasmaGun"
  Player.WeaponSlot 1, ArPlasmaGun
  
  DamageFactor "MarineDamage", 1
  DamageFactor "MarineRLDamage", 1
  
  DamageFactor "ImpBallDamage", 0
  DamageFactor "CacoDamage", 0
  DamageFactor "SkelDamage", 0
  DamageFactor "FatsoDamage", 0
  DamageFactor "KnightDamage", 0
  DamageFactor "ArachDamage", 0
  DamageFactor "viledamage", 0
  DamageFactor "Control", 0
  DamageFactor "ZombiesDamage", 0
  DamageFactor "Slime", 0
  
  -PICKUP
  +NOSKIN
  +NOPAIN
  -FRIENDLY
  +NOTARGET
  states
  {
  Spawn:
    BSPI A 5 A_PlaySoundEx ("baby/active","body")
    BSPI B 5 // add some here
	BSPI A -1 	
	loop
  See:
    BSPI A 20
    BSPI A 3 A_PlaySoundEx ("baby/walk","body") 
    BSPI ABBCC 3 
    BSPI D 3 A_PlaySoundEx ("baby/walk","body") 
    BSPI DEEFF 3 
    goto See+1
  Missile:
    BSPI G 3 bright 
    BSPI H 3 bright
    BSPI H 10 bright 
    goto Spawn	
  Death:
    NULL A 0 A_GiveToTarget ("MarineExp",6)
    BSPI J 20 A_PlaySoundEx ("baby/death","body")
    BSPI K 7 A_NoBlocking
    BSPI LMNO 7 
	NULL A 0 A_SpawnItemEx ("MDeathGhost",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
  DeathWait:
	BSPI P  1 A_CheckSight("Removecorpse")
    loop
  Removecorpse:
	TNT1 A 0 Thing_Remove (0)
	stop
  }
}

// Weapon

actor ArPlasmaGun : Weapon
{
  obituary "%o let %k get %h."
  weapon.kickback 100
  weapon.ammouse 0
  +WEAPON.NOALERT
  +Ammo_Optional
  +WEAPON.DONTBOB
  +WEAPON.CHEATNOTWEAPON

  states
  {
  Deselect:
    ARPL A 1 A_Lower
    loop
  Select:
    ARPL A 1 A_Raise
    loop
  Ready:
	ARPL ABCDCB 1 A_WeaponReady
	NULL A 0 A_JumpIfInventory ("Mskull",0,1)
    Loop
	NULL A 0 HealThing(1)
	goto ready 
  Fire:
    NULL A 0 SetPlayerProperty (0, 1, 0)
    ARPL E 2 bright A_Light1
	ARPL F 2 bright A_Light2  
	ARPL G 3 bright A_FireCustomMissile ("ArPlasm",0,1,0,0,0)
	NULL A 0 A_refire    
	NULL A 0 SetPlayerProperty (0, 0, 0)
	Goto Ready
   AltFire: 
	ARPL A 3 ACS_ExecuteAlways (419,0,10) 
   Goto Ready
	Spawn:
    TNT1 A 0 Thing_Remove (0)
    Stop
  }
}

//    Projectile

actor ArPlasm
{
  radius 13
  height 8
  speed 28
  damage 5
  renderstyle Add
  Alpha 0.75
  seesound "baby/attack"
  deathsound "baby/shotx"
  DamageType "ArachDamage"
  PROJECTILE
  +RANDOMIZE
  states
  {
  Spawn:
    APLS AB 3 bright
    loop
  Death:
    APBX ABCDE 5 bright
    stop
  }
}