Actor Sjas : PlayerPawn
{
	Health 100
	Mass 500
	limitedtoteam 1
	Player.forwardmove 0.675
	Player.sidemove 0.6
	Player.Maxhealth 100
	Player.DisplayName "Sjas"
	Player.ColorRange 112, 127
	Player.startitem "SjasScreamer"
	Player.crouchsprite "SJAS"
	Player.startitem "Sjasport"
	Player.startitem "GhoulAmmo", 1
	Player.startitem "ArrowSingle", 35
	Player.StartItem "ClassID", 10 // 9
	Player.StartItem "GhoulTeam", 1
	Player.scoreicon "SJASST"
	scale 0.8
	gravity 0.0
	bloodcolor "Gray"
	Player.soundclass "sjas"
	DamageFactor "GhostbusterExpander", 0.75
	DamageFactor "marineshotgun", 0.9
	DamageFactor "CyborgPulse", 2.0
	DamageFactor "GhostbusterIceFall", 0.6
	DamageFactor "SentryShoot", 0.9
	DamageFactor "HunterSuperIceArrowTrail2", 0.9
	DamageFactor "GhostbusterEcho", 0.5
	DamageFactor "WarlockLightning", 1.5
	Species "Ghoul"
	+NOSKIN
	+NOICEDEATH
	+QUICKTORETALIATE
	States
	{
	Spawn:
		SJAS B 0
		SJAS B 0 SetPlayerProperty (0, 1, 3)
		SJAS B 0 A_SetTranslucent (0.2, 0)
		SJAS B 1 
		Goto Spawn+2
	See:
		SJAS B 0 A_PlaySound("Sjasact", CHAN_SJAS)
		SJAS B 0 A_SetTranslucent (0.5, 0)
		SJAS B 0 A_GiveInventory("Sjastrail",1)
		SJAS BBBBBBBBBBBBBBBBBBBBB 1
		Goto Spawn+2
	Missile:
		SJAS C 0 A_SetTranslucent (0.85, 0)
		SJAS CDCDCDCDCD 1
		Goto Spawn+2
	Pain:
		SJAS B 1 A_PlaysoundEx("Sjaspain", "Body")
		SJAS B 0 A_jumpifinventory("sjasteleport", 1, "teleport")
		Goto Spawn+2
	Teleport:
		SJAS B 0 a_takeinventory("sjasteleport", 1)
		SJAS B 0 ACS_EXECUTEALWAYS(910)
     	SJAS B 0 A_SpawnItemEx("SjasVanish", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)
		goto Spawn+2
	Pain.HunterIceSpike:
		TNT1 A 0 ACS_ExecuteAlways(451, 0, random(5,8))
		Goto Spawn	
	Pain.FlaskT3:
		TNT1 A 0 A_GiveToTarget("Flask3Heal", 1)
		Goto Pain
	Pain.Maledict:
		SJAS B 1 A_PlaysoundEx("Sjaspain", "Body")
		CHOK A 0 A_JumpIfInventory("MaledictCooldown", 1, 6)
		CHOK A 0 A_PlaySound("MaledictVictim", 5)
		CHOK A 0 A_GiveInventory("MaledictAmpPower", 1)
		CHOK A 0 A_GiveInventory("MaledictCooldown", 1)
		CHOK A 0 A_GiveToTarget("MaledictStart", 1)
		TNT1 A 0 A_Pain
		SJAS B 0 A_jumpifinventory("sjasteleport", 1, "teleport")
		Goto Spawn
		TNT1 A 0
		Goto Spawn
    Pain.Maledict2:
		TNT1 AAAAAAA 0 A_SpawnItemEx("PurpleParticle",0,0,36,random(1,-1),random(1,-1),random(1,-1),random(0,359),0)
        Goto Pain
	Pain.GhostbusterHorror:
		TNT1 A 0 A_GiveInventory("VisionDimEffect", 1)
		Goto Spawn
	Death:
	DeathAnim:
		SJAS A 0 A_GiveToTarget("KilledSjas", 1)
		SJAS A 0 A_GiveToTarget("TotalKillCount", 1)
		SJAS A 0 A_GiveToTarget("GhoulKillCount", 1)
		SJAS A 0 ACS_ExecuteAlways(724, 0)
		TNT1 A 0 A_GiveToTarget("LowHPKill", 1)
		SJAS A 0 A_GiveToTarget("CheckAchievements", 1)
		SJAS E 0 A_SetTranslucent (0.85, 0)
		SJAS F 25 A_PlaysoundEx("Sjaspain", "Body")
		SJAS C 0 A_PlaysoundEx("Sjasdeath", "Body")
		SJAS C 0 A_NoBlocking
		SJAS C 0 A_Gravity
		FIRE A 0 BRIGHT A_CustomMissile("ArchvileFirex",0,0,0,2)
		FIRE A 0 BRIGHT A_CustomMissile("ArchvileFirex",0,0,30,2)
		FIRE A 0 BRIGHT A_CustomMissile("ArchvileFirex",0,0,60,2)
		FIRE A 0 BRIGHT A_CustomMissile("ArchvileFirex",0,0,90,2)
		FIRE A 0 BRIGHT A_CustomMissile("ArchvileFirex",0,0,120,2)
		FIRE A 0 BRIGHT A_CustomMissile("ArchvileFirex",0,0,150,2)
		FIRE A 0 BRIGHT A_CustomMissile("ArchvileFirex",0,0,180,2)
		FIRE A 0 BRIGHT A_CustomMissile("ArchvileFirex",0,0,-30,2)
		FIRE A 0 BRIGHT A_CustomMissile("ArchvileFirex",0,0,-60,2)
		FIRE A 0 BRIGHT A_CustomMissile("ArchvileFirex",0,0,-90,2)
		FIRE A 0 BRIGHT A_CustomMissile("ArchvileFirex",0,0,-120,2)
		FIRE A 0 BRIGHT A_CustomMissile("ArchvileFirex",0,0,-150,2)
		BLAN A -1
		Stop
	BladeDeath:
		TNT1 A 0 A_GiveToTarget("KilledSjas", 1)
		TNT1 A 0 A_GiveToTarget("TotalKillCount", 1)
		TNT1 A 0 A_GiveToTarget("GhoulKillCount", 1)
		TNT1 A 0 ACS_ExecuteAlways(724, 0)
		TNT1 A 0 A_GiveToTarget("LowHPKill", 1)
		TNT1 A 0 A_GiveToTarget("CheckAchievements", 1)
		TNT1 A 0 A_SetTranslucent (0.85, 0)
		TNT1 A 0 A_PlaysoundEx("Sjasdeath", "Body")
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_Gravity
		TNT1 A 0 A_SpawnItemEx("sjashalf1", 0, 0, 0, -7, 0, -2, 0, SXF_TRANSFERTRANSLATION, 0)
		TNT1 A 0 A_SpawnItemEx("sjashalf2", 0, 0, 0, 7, 0, -2, 0, SXF_TRANSFERTRANSLATION, 0)
		BLAN A -1
		Stop
    Death.MarineShotgun:
        SJAS A 0 A_GiveToTarget("MarineShotgunKill", 1)
		TNT1 A 0 A_GiveToTarget("AmmoSatchel2", 1)
        Goto DeathAnim
    Death.MarinePistol:
        SJAS A 0 A_GiveToTarget("MarinePistolKill", 1)
		TNT1 A 0 A_GiveToTarget("AmmoSatchel2", 1)
        Goto DeathAnim
    Death.MarineMachineGun:
        SJAS A 0 A_GiveToTarget("MarineMachineGunKill", 1)
		TNT1 A 0 A_GiveToTarget("AmmoSatchel2", 1)
        Goto DeathAnim
    Death.MarineGrenade:
        SJAS A 0 A_GiveToTarget("MarineGrenadeKill", 1)
        SJAS A 0 A_GiveToTarget("MarineGrenadeMulti", 1)
		TNT1 A 0 A_GiveToTarget("AmmoSatchel2", 1)
        Goto DeathAnim
    Death.MarineSuicideGrenade:
        SJAS A 0 A_GiveToTarget("MarineSuicideGrenadeKill", 1)
        Goto DeathAnim
    Death.HunterFireArrow:
        SJAS A 0 A_GiveToTarget("HunterFireArrowKill", 1)
        SJAS A 0 A_GiveToTarget("HunterFireMulti", 1)
		TNT1 A 0 A_SpawnItemEx("ImmolationEffect", 0, 0, 24)
        Goto DeathAnim
    Death.HunterIceArrow:
        SJAS A 0 A_GiveToTarget("HunterIceArrowKill", 1)
        Goto DeathAnim
    Death.HunterRegularArrow:
        SJAS A 0 A_GiveToTarget("HunterRegularArrowKill", 1)
        Goto DeathAnim
    Death.HunterLightningRail:
        SJAS A 0 A_GiveToTarget("HunterLightningRailKill", 1)
        SJAS A 0 A_GiveToTarget("HunterLightningMulti", 1)
        Goto DeathAnim
    Death.HunterFireMagic:
        SJAS A 0 A_GiveToTarget("HunterFireMagicKill", 1)
		TNT1 A 0 A_SpawnItemEx("ImmolationEffect", 0, 0, 24)
        Goto DeathAnim
    Death.HunterRegularMagic:
        SJAS A 0 A_GiveToTarget("HunterRegularMagicKill", 1)
        Goto DeathAnim
    Death.HunterIceSpike:
        SJAS A 0 A_GiveToTarget("HunterIceSpikeKill", 1)
        Goto DeathAnim
    Death.HunterLightningMagic:
        SJAS A 0 A_GiveToTarget("HunterLightningMagicKill", 1)
        Goto DeathAnim
    Death.HunterSuperFireArrow:
	Death.HunterSuperFireBurn:
        SJAS A 0 A_GiveToTarget("HunterSuperFireArrowKill", 1)
		SJAS A 0 A_GiveToTarget("HunterFireMulti", 1)
		TNT1 A 0 A_SpawnItemEx("ImmolationEffect", 0, 0, 24)
        Goto DeathAnim
    Death.HunterSuperIceArrow:
        SJAS A 0 A_GiveToTarget("HunterSuperIceArrowKill", 1)
        Goto DeathAnim
    Death.HunterSuperIceArrowTrail:
        CHOK A 0 A_GiveToTarget("HunterSuperIceArrowKill", 1)
        Goto DeathAnim
    Death.HunterSuperIceArrowTrail2:
        CHOK A 0 A_GiveToTarget("HunterSuperIceArrowKill", 1)
        Goto DeathAnim	
    Death.HunterSuperRegularArrow:
        SJAS A 0 A_GiveToTarget("HunterSuperRegularArrowKill", 1)
        Goto DeathAnim
    Death.HunterSuperLightningRail:
        SJAS A 0 A_GiveToTarget("HunterSuperLightningRailKill", 1)
		SJAS A 0 A_GiveToTarget("HunterLightningMulti", 1)
        Goto DeathAnim
    Death.CyborgPlasma:
        SJAS A 0 A_GiveToTarget("CyborgPlasmaKill", 1)
		TNT1 A 0 A_giveToTarget("CyborgTaunter", 1)
        Goto DeathAnim
    Death.CyborgCrapPlasma:
        SJAS A 0 A_GiveToTarget("CyborgCrapPlasmaKill", 1)
		TNT1 A 0 A_giveToTarget("CyborgTaunter", 1)
        Goto DeathAnim
	Death.CyborgJetpackFire:
		TNT1 A 0 A_GiveToTarget("JetpackKill", 1)
		TNT1 A 0 A_GiveToTarget("CyborgFuel", 25)
		TNT1 A 0 A_GiveToTarget("CyborgTaunter", 1)
		Goto DeathAnim
    Death.GhostbusterProton:
        SJAS A 0 A_GiveToTarget("GhostbusterProtonKill", 1)
		SJAS A 0 A_GiveToTarget("GBSjasUpgrade", 1)
        Goto DeathAnim
    Death.GhostbusterTrap:
        SJAS A 0 A_GiveToTarget("GhostbusterTrapKill", 1)
		SJAS A 0 A_GiveToTarget("GBSjasUpgrade", 1)
        Goto DeathAnim
	Death.GhostbusterHorror:
		SJAS A 0 A_GiveToTarget("GhostbusterHorrorKill", 1)
	    SJAS A 0 A_GiveToTarget("GBSjasUpgrade", 1)
		Goto DeathAnim
    Death.GhostbusterBlood:
        SJAS A 0 A_GiveToTarget("GhostbusterBloodKill", 1)
		SJAS A 0 A_GiveToTarget("GBSjasUpgrade", 1)
        Goto DeathAnim
    Death.GhostbusterEcho:
        SJAS A 0 A_GiveToTarget("GhostbusterEchoKill", 1)
		SJAS A 0 A_GiveToTarget("GBSjasUpgrade", 1)
        Goto DeathAnim
    Death.GhostbusterSoul:
        SJAS A 0 A_GiveToTarget("GhostbusterSoulKill", 1)
		SJAS A 0 A_GiveToTarget("GBSjasUpgrade", 1)
        Goto DeathAnim
    Death.GhostbusterIceFall:
        SJAS A 0 A_GiveToTarget("GhostbusterIceFallKill", 1)
		SJAS A 0 A_GiveToTarget("GBSjasUpgrade", 1)
        Goto DeathAnim
    Death.GhostbusterDefilerBall:
        SJAS A 0 A_GiveToTarget("GhostbusterDefilerBallKill", 1)
		SJAS A 0 A_GiveToTarget("GBSjasUpgrade", 1)
        Goto DeathAnim
	Death.GhostbusterBoneCannon:
		SJAS A 0 A_GiveToTarget("GhostbusterBoneKill", 1)
		SJAS A 0 A_GiveToTarget("GBSjasUpgrade", 1)
		Goto DeathAnim
	Death.GhostbusterExpander:
		SJAS A 0 A_GiveToTarget("GhostbusterExpanderKill", 1)
		SJAS A 0 A_GiveToTarget("GBSjasUpgrade", 1)
		SJAS A 0 A_GiveToTarget("KilledSjas", 1)
		SJAS A 0 A_GiveToTarget("TotalKillCount", 1)
		SJAS A 0 A_GiveToTarget("GhoulKillCount", 1)
		SJAS A 0 ACS_ExecuteAlways(724, 0)
		TNT1 A 0 A_PlaySound("Ghostbuster/Enlarge")
		TNT1 A 0 A_GiveToTarget("LowHPKill", 1)
		SJAS A 0 A_GiveToTarget("CheckAchievements", 1)
		TNT1 A 0 A_SpawnItem("ExpanderExplosion", 0, 32)
		TNT1 A 0 A_SpawnItemEx("SjasEnlarge_1", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)
		SJAS E 1
		BLAN A -1
		Stop
    Death.EngineerNail:
        SJAS A 0 A_GiveToTarget("EngineerNailKill", 1)
		TNT1 A 0 A_GiveToTarget("WrenchAmmo", 20)
        Goto DeathAnim
    Death.Pulverizer:
        TNT1 A 0 A_GiveToTarget("EngineerPulvKill", 1)
		TNT1 A 0 A_GiveToTarget("WrenchAmmo", 20)
        Goto DeathAnim
	Death.SawBlade:
        TNT1 A 0 A_GiveToTarget("EngineerSawKill", 1)
		TNT1 A 0 A_GiveToTarget("WrenchAmmo", 20)
        Goto BladeDeath
	Death.SentryShoot:
		SJAS A 0 A_GiveToTarget("SentryBulletKills", 1)
		TNT1 A 0 A_GiveToTarget("WrenchAmmo", 20)
		Goto DeathAnim
    Death.WarlockFireball:
        SJAS A 0 A_GiveToTarget("WarlockFireballKill", 1)
		CHOK A 0 A_GiveToTarget("GhoulSouls", 1)
		CHOK A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        TNT1 A 0 A_SpawnItemEx("ImmolationEffect", 0, 0, 24)
		Goto DeathAnim
    Death.WarlockBigFireball:
        SJAS A 0 A_GiveToTarget("WarlockBigFireballKill", 1)
		CHOK A 0 A_GiveToTarget("GhoulSouls", 1)
		CHOK A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        TNT1 A 0 A_SpawnItemEx("ImmolationEffect", 0, 0, 24)
		Goto DeathAnim
    Death.WarlockIceShards:
        SJAS A 0 A_GiveToTarget("WarlockIceShardsKill", 1)
		CHOK A 0 A_GiveToTarget("GhoulSouls", 1)
		CHOK A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        Goto DeathAnim
    Death.WarlockLightning:
        SJAS A 0 A_GiveToTarget("WarlockLightningKill", 1)
		CHOK A 0 A_GiveToTarget("GhoulSouls", 1)
		CHOK A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        Goto DeathAnim
    Death.WarlockMagmaSmall:
        SJAS A 0 A_GiveToTarget("WarlockMagmaSmallKill", 1)
		CHOK A 0 A_GiveToTarget("GhoulSouls", 1)
		CHOK A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        TNT1 A 0 A_SpawnItemEx("ImmolationEffect", 0, 0, 24)
		Goto DeathAnim
	Death.BoneShield:
		TNT1 A 0 A_GiveToTarget("GhoulSouls", 1)
		TNT1 A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
		Goto DeathAnim
	Death.WarlockTeleport:
		TNT1 A 0 A_GiveToTarget("GhoulSouls", 1)
		TNT1 A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
		Goto DeathAnim		
    Death.PurpleMagic:
		CHOK A 0 A_GiveToTarget("GhoulSouls", 1)
		TNT1 A 0 A_GiveToTarget("PurpleMagicKill", 1)
		CHOK A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        Goto DeathAnim	
    Death.Maledict:
		CHOK A 0 A_GiveToTarget("GhoulSouls", 1)
		TNT1 A 0 A_GiveToTarget("PurpleMagicKill", 1)
		CHOK A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        Goto DeathAnim
    Death.ShadowBlast:
		TNT1 A 0 A_GiveToTarget("GhoulSouls", 1)
		TNT1 A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        Goto DeathAnim		
    Death.Maledict2:
		CHOK A 0 A_GiveToTarget("GhoulSouls", 1)
		CHOK A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        Goto DeathAnim			
	Death.CyborgPulseMale:
		TNT1 A 0 A_GiveToTarget("CyborgPulseKill", 1)
		TNT1 A 0 A_Jump(192, 3)
		TNT1 AA 0 A_PlaySoundEx("MaleCyborgPulseKill1", 5)
		GoTo DeathAnim
		TNT1 A 0 A_Jump(192, 3)
		TNT1 AA 0 A_PlaySoundEx("MaleCyborgPulseKill2", 5)
		GoTo DeathAnim
		TNT1 A 0 A_Jump(192, 3)
		TNT1 AA 0 A_PlaySoundEx("MaleCyborgPulseKill3", 5)
		GoTo DeathAnim
		TNT1 AA 0 A_PlaySoundEx("MaleCyborgPulseKill4", 5)
	    GoTo DeathAnim
	Death.CyborgPulseFemale:
		TNT1 A 0 A_GiveToTarget("CyborgPulseKill", 1)
		TNT1 A 0 A_PlaySoundEx("fcybtaunt", 5)
		Goto DeathAnim
	Death.CyborgPulseOther:
		TNT1 A 0 A_GiveToTarget("CyborgPulseKill", 1)
		TNT1 A 0 A_PlaySoundEx("cyblolcopy", 5)
		GoTo DeathAnim	
	Death.PlaneShotgun:
		TNT1 A 0 A_GiveToTarget("PlaneShotKills", 1)
		TNT1 A 0 A_JumpIfInTargetInventory("PlaneWalkCheck", 1, 1)
		Goto DeathAnim
		TNT1 A 0 A_GiveToTarget("PlaneDashKill", 1)
		Goto DeathAnim		
	Death.PlaneVortex:
		TNT1 A 0 A_GiveToTarget("PlaneVortexKills", 1)
		TNT1 A 0 A_JumpIfInTargetInventory("PlaneWalkCheck", 1, 1)
		Goto DeathAnim
		TNT1 A 0 A_giveToTarget("PlaneDashKill", 1)
		Goto DeathAnim	
	Death.PlaneBlade:
		TNT1 A 0 A_GiveToTarget("PlaneBladeKill", 1)
		TNT1 A 0 A_JumpIfInTargetInventory("PlaneWalkCheck", 1, 1)
		Goto BladeDeath
		TNT1 A 0 A_giveToTarget("PlaneDashKill", 1)
		Goto BladeDeath
	Death.FlaskT3:
		TNT1 A 0 A_GivetoTarget("Flask3HealBig", 1)
	Death.FlaskT1:
	Death.FlaskT2:
		TNT1 A 0 A_GiveToTarget("FlaskKill", 1)
		Goto DeathAnim
	Death.DeathDart:
		TNT1 A 0 A_GiveToTarget("DartKill", 1)
		Goto DeathAnim
	Death.HeartSeeker:
		TNT1 A 0 A_GiveToTarget("PelletKill", 1)
		Goto DeathAnim
	Death.ProtectorMissile:
		TNT1 A 0 A_GiveToTarget("ProtMissileKill", 1)
		TNT1 A 0 A_GiveToTarget("ProtectorArmorShard", 1)
		TNT1 A 0 A_GiveToTarget("UpgradeCount", 1)
		Goto DeathAnim
	Death.ProtectorPlasma:
		TNT1 A 0 A_GiveToTarget("ProtPlasmaKill", 1)
		TNT1 A 0 A_GiveToTarget("ProtectorArmorShard", 1)
		TNT1 A 0 A_GiveToTarget("UpgradeCount", 1)
		Goto DeathAnim
	Death.ProtectorLightning:
		TNT1 A 0 A_GiveToTarget("ProtLightningKill", 1)
		TNT1 A 0 A_GiveToTarget("ProtLightningMulti", 1)
		TNT1 A 0 A_GiveToTarget("ProtectorArmorShard", 1)
		TNT1 A 0 A_GiveToTarget("UpgradeCount", 1)
		Goto DeathAnim
	Death.ProtectorDash:
		TNT1 A 0 A_GiveToTarget("UpgradeCount", 1)
		Goto DeathAnim
	}
}

actor SjasFlight : PowerupGiver
{
  inventory.maxamount 0
  powerup.duration 0x7FFFFFFF
  powerup.type "Flight"
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  states
  {
  Spawn:
	TNT1 A 1
    loop
  }
}


actor Flight2 : ArtiFly
{
  +INVENTORY.AUTOACTIVATE
  inventory.icon "MEGAA0"
}


actor Sjastrail : PowerupGiver
{
  inventory.maxamount 0
  powerup.duration 9999999
  powerup.color "00 00 00", 0.0
  powerup.type "Speed"
  Speed 1.5
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  states
  {
  Spawn:
    TNT1 A 6
    loop
  }
}

ACTOR PlayerSpeedTrail2 : PlayerSpeedTrail replaces PlayerSpeedTrail
{
	+CLIENTSIDEONLY 
}

Actor SjasScreamer : Weapon
{
   Weapon.SlotNumber 1
   Weapon.AmmoGive 100
   Weapon.Kickback 100
   Weapon.YAdjust 0
   Weapon.SelectionOrder 350
   Inventory.PickupSound ""
   Inventory.PickupMessage ""
   Obituary "%o was screamed at by %k"
   Inventory.icon "SJASATT"
   +WEAPON.NOAUTOAIM
   +WEAPON.MELEEWEAPON 
   +WEAPON.DONTBOB
   +INVENTORY.UNDROPPABLE
   States
   {
   Spawn:
      BPAK A 400
      Stop
   Ready:
      SJHA ABCDEFGHIJKLMNOPQRSTUVWXYZ 2 A_WeaponReady
	  SJHB ABCDEFGHIJKLMNOPQRST 2 A_WeaponReady
      Loop
   Deselect:
	  SJHA A 1 A_Lower
      Loop
   Select:
      TNT1 A 0 ACS_ExecuteAlways(700, 0, WM_SJAS)
      SJHA A 1 A_Raise
      Goto Select+1
   Fire:
   	  SJHA A 0 A_Playweaponsound("Sjasattack")
  	  SJHA A 1 A_FireCustomMissile("SjasAttack", 0, 0 ,0)
	  SJHB UVWXWVUYZ 1 //50 tics
	  SJHC ABA 1
	  SJHB ZY 1
	  SJHB UVWXWVUYZ 2
	  SJHC ABA 2
	  SJHB ZY 2
	  SJHA A 17//14
      goto Ready
   AltFire:
	    SJHA A 0 A_ChangeFlag("SHOOTABLE",0)
		SJHA A 0 A_Stop
		SJHA A 0 SetPlayerProperty (0, 1, 4)
		TNT1 A 0 A_GiveInventory("SjasUsedReflect", 1)
		SJHA A 0 A_GiveInventory("SjasRepulsion",1)
		SJHA A 0 A_FireCustomMissile("SjasReflect", 0, 0 ,0)
		SJHA A 5 offset (0, 45) A_SpawnItemEx("SjasWave", 14, 0, 16, 0, 0, 0, 0, 32, 0)
		SJHA A 0 A_GiveInventory("SjasRepulsion",1)
		SJHA A 5 offset (0, 50) A_SpawnItemEx("SjasWave", 14, 0, 16, 0, 0, 0, 0, 32, 0)
		SJHA A 0 A_GiveInventory("SjasRepulsion",1)
		SJHA A 5 offset (0, 55) A_SpawnItemEx("SjasWave", 14, 0, 16, 0, 0, 0, 0, 32, 0)
		SJHA A 0 A_GiveInventory("SjasRepulsion",1)
		SJHA A 5 offset (0, 60) A_SpawnItemEx("SjasWave", 14, 0, 16, 0, 0, 0, 0, 32, 0)
		SJHA A 5 offset (0, 55)
		SJHA A 5 offset (0, 50)
		SJHA A 0 SetPlayerProperty (0, 0, 4)
		SJHA A 0 A_ChangeFlag("SHOOTABLE",1)
		SJHA A 5 offset (0, 45)
		SJHA A 5 offset (0, 35)
		SJHA A 5 offset (0, 32)
		SJHA A 30
		goto Ready
    }
}

ACTOR SjasReflect
{
	- SOLID
	+NOBLOCKMAP
	+NOGRAVITY
	height 1
	radius 1
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1 A_Playsound("Sjasreflect")
		Stop
	}
}

ACTOR SjasWave
{
	- SOLID
	//+NOBLOCKMAP
	+NOGRAVITY
	+NOBLOOD
	+SHOOTABLE
	+NODAMAGE
	+GHOST
	+REFLECTIVE
	Health 5
	translation "112:127=80:95"
	height 50
	radius 50
	mass 99999999999
	scale 1.2
	renderstyle translucent
	alpha 1.0
	States
	{
	Spawn:
		PR2E A 0
		PR2E ABCDEFGHIJKLMNO 2 bright A_FadeOut(0.04)
		Stop
	}
}

ACTOR SjasRepulsion : ArtiBlastRadius
{
	+AUTOACTIVATE
}

Actor SjasAttack
{
	damagetype "SjasScream"
	PROJECTILE
	Speed 2
	Radius 2
	Height 2
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1 A_Explode(164, 130, 0)
		Stop
	}
}

actor ReflectCooldown : PowerDamage
{
	damagefactor "nothing", 1.0
	powerup.duration -3
}

actor WaveCooldown : PowerDamage
{
	damagefactor "nothing", 1.0
	powerup.duration 45
}

actor SjasEcho
{
	Radius 15
	Speed 30
	Height 15
	damage (60)
	PROJECTILE
	renderstyle none
	seesound "echobounce"
	+DOOMBOUNCE
	bouncecount 6
	bouncefactor 1.0
	reactiontime 100
	wallbouncefactor 1.0
	damagetype "SjasScream"
	Obituary "%o was screamed at by %k"
	+DONTREFLECT
	states
	{
	Spawn:
		TNT1 A 0 A_CountDown
		TNT1 A 1 A_SpawnItem("SjasEchoWave")
		loop
	}
}

actor SjasEchoWave
{
	+CLIENTSIDEONLY
	- SOLID
	+NOGRAVITY
	height 1
	radius 1
	scale 0.4
	renderstyle translucent
	alpha 1.0
	//translation "112:127=224:231" defa
	//translation "160:167=96:111" avf3
	translation "112:127=80:95"
	states
	{
	Spawn:
		PR2E OMKIGECA 1 bright A_FadeOut(0.04)
		stop
	}
}

ACTOR DecSjasWave
{
	- SOLID
	//+NOBLOCKMAP
	+NOGRAVITY
	+NOBLOOD
	-SHOOTABLE
	+NODAMAGE
	+GHOST
	-REFLECTIVE
	Health 5
	translation "112:127=80:95"
	height 50
	radius 50
	mass 99999999999
	scale 1.2
	renderstyle translucent
	alpha 1.0
	States
	{
	Spawn:
		PR2E A 0
		PR2E ABCDEFGHIJKLMNO 2 bright A_FadeOut(0.04)
		Stop
	}
}

Actor SjasSjasSparkleSpawner
{
	Radius 1
	Height 1
	+NOCLIP
	+NOGRAVITY
	-SOLID
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("SjasSparkle", 0, 0, 0, random(-15,15), random(-15,15), random(-15,15))
		TNT1 A 1
		Stop
	}
}

Actor SjasSparkle
{
	+Missile
	+NoGravity
	+NoBlockmap
	+NoInteraction
	-Solid
	Radius 0
	Height 0
	RenderStyle Add
	Alpha 0.9
	Scale 0.35
	Translation "112:127=176:191"
	States
	{
	Spawn:
		SKFX A 3 Bright A_FadeOut(0.1)   
		Loop
	}
}

ACTOR Sjasvanish
{
	-SOLID
	+NOGRAVITY
	+NOCLIP
	+NOBLOCKMAP
	Renderstyle None
	States
	{
		Spawn:
		TNT1 A 1 A_Playsound("Sjaspain")
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("SjasVapor", 0, 0, random(0,360), 2, random(-100,100))
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("SjasVapor", 0, 0, random(0,360), 2, random(-100,100))
		stop
	}
}

ACTOR SjasVapor
{
   Speed 6
   Damage 0
   PROJECTILE
   Radius 2
   +DONTSPLASH
   Height 2
   RENDERSTYLE TRANSLUCENT
   ALPHA 0.2
   States
   {
   Spawn:
      PDBA ABCDEFGHIJKLMNOPQRSTUVWXYZ 1
      DEBR ABC 1
      Stop
   } 
}

actor SjasTelePoint
{
  Height 1
  Radius 1
  +NOBLOCKMAP
  +NOGRAVITY
  +CLIENTSIDEONLY
  +floatbob
  scale 0.28
  Alpha 0.75
  FloatSpeed 1
  renderstyle ADD
  VisibleToTeam 1
  states
  {
  Spawn:
    SRRO A -1 bright
    stop
  }
}

Actor SjasPort : CustomInventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
	+INVBAR
	+INVENTORY.UNDROPPABLE
	inventory.icon "SJASTEL"
	States
	{
		Spawn:
		TNT1 A 0
		Stop
		Use:
		TNT1 A 1 acs_executealways(911, 0, 0, 0, 0)
		stop
	}
}

actor sjasteleport : inventory 
{ 
	inventory.maxamount 1
}

Actor IjustTeleported : Inventory
{
	inventory.maxamount 1
}

ACTOR sjashalf1
{
	Height 10
	Radius 10
	-SOLID
	+NOGRAVITY
	Scale 0.8
	alpha 1.0
	renderstyle translucent
	Speed 5
	States
	{
	Spawn:
		SSJS A 0
		SSJS A 0
		SSJS A 1 A_FadeOut(0.05)
		SSJS A 0 A_SpawnItemEx ("ArchvileFirex", 0, 0, 0, 0, 0, 0, 0, 32, 0) 
		Goto spawn+2
	}
}

ACTOR sjashalf2
{
	Height 10
	Radius 10
	-SOLID
	+NOGRAVITY
	Scale 0.8
	alpha 1.0
	renderstyle translucent
	Speed 5
	States
	{
	Spawn:
		SSJS B 0
		SSJS B 0
		SSJS B 1 A_FadeOut(0.05)
		SSJS B 0 A_SpawnItemEx ("ArchvileFirex", 0, 0, 0, 0, 0, 0, 0, 32, 0) 
		Goto spawn+2
	}
}