foxygit / GZDoom Log in
commits tags

/wadsrc/static/zscript/actors/doom/id24/id24vassago.zs · 3.72 KB

raw
/*****************************************************************************
 * Copyright (C) 1993-2024 id Software LLC, a ZeniMax Media company.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 ****************************************************************************/

/*****************************************************************************
 * id1 - decohack - vassago
 ****************************************************************************/

//converted from DECOHACK

class ID24Vassago : Actor
{
	Default
	{
		Health 1000;
		Speed 8;
		Radius 24;
		Height 64;
		ReactionTime 8;
		PainChance 100;
		Mass 1000;
		SplashGroup 1;
		Monster;
		SeeSound "monsters/vassago/sight";
		PainSound "monsters/vassago/pain";
		DeathSound "monsters/vassago/death";
		ActiveSound "monsters/vassago/active";
		Obituary "$ID24_OB_VASSAGO";
		Tag "$ID24_CC_VASSAGO";
	}
	States
	{
	Spawn:
		VASS AB 10 A_Look;
		Loop;
	See:
		VASS AABBCCDD 3 A_Chase;
		Loop;
	Melee:
	Missile:
		VASS E 0 BRIGHT A_StartSound("monsters/vassago/attack");
		VASS E 8 BRIGHT A_FaceTarget;
		VASS FG 4 BRIGHT A_FaceTarget;
		VASS H 8 BRIGHT MBF21_MonsterProjectile("ID24VassagoFlame", 0.0, 0.0, 0.0, 0.0);
		Goto See;
	Pain:
		VASS I 2;
		VASS I 2 A_Pain;
		Goto See;
	Death:
		VASS J 8 BRIGHT;
		VASS K 8 BRIGHT A_Scream;
		VASS L 7 BRIGHT;
		VASS M 6 BRIGHT A_Fall;
		VASS NO 6 BRIGHT;
		VASS P 7 BRIGHT;
		VASS Q -1 A_BossDeath;
		Stop;
	Raise:
		VASS P 8;
		VASS ONMLKJ 8;
		Goto See;
	}
}

class ID24VassagoFlame : Actor
{
	Default
	{
		Damage 5;
		Speed 15;
		FastSpeed 20;
		SplashGroup 1;
		Radius 6;
		Height 16;
		Projectile;
		+ZDOOMTRANS
		RenderStyle "Add";
		SeeSound "monsters/vassago/burn";
		DeathSound "monsters/vassago/shotx";
	}
	States
	{
	Spawn:
		VFLM AB 4 BRIGHT;
		Loop;
	Death:
		VFLM C 0 BRIGHT { bNoGravity = false; }
		VFLM C 0 BRIGHT A_ChangeLinkFlags(0, 0);
		VFLM C 0 BRIGHT A_Jump(128, "DeathSound2");
		VFLM C 0 BRIGHT A_StartSound("monsters/vassago/hot1");
		goto Burninate;
	DeathSound2:
		VFLM C 0 BRIGHT A_StartSound("monsters/vassago/hot2");
		Goto Burninate;
	Burninate:
		VFLM C 4 BRIGHT A_RadiusDamage(10, 128);
		VFLM D 4 BRIGHT;
		VFLM E 4 BRIGHT;
		VFLM F 0 BRIGHT A_StartSound("monsters/vassago/hot3");
		VFLM F 4 BRIGHT A_RadiusDamage(10, 128);
		VFLM G 4 BRIGHT;
		VFLM H 4 BRIGHT;
		VFLM F 0 BRIGHT A_StartSound("monsters/vassago/hot2");
		VFLM F 4 BRIGHT A_RadiusDamage(10, 128);
		VFLM G 4 BRIGHT;
		VFLM H 4 BRIGHT;
		VFLM F 0 BRIGHT A_StartSound("monsters/vassago/hot3");
		VFLM F 4 BRIGHT A_RadiusDamage(10, 128);
		VFLM G 4 BRIGHT;
		VFLM H 4 BRIGHT;
		VFLM F 0 BRIGHT A_StartSound("monsters/vassago/hot1");
		VFLM F 4 BRIGHT A_RadiusDamage(10, 128);
		VFLM G 4 BRIGHT;
		VFLM H 4 BRIGHT;
		VFLM F 0 BRIGHT A_StartSound("monsters/vassago/hot2");
		VFLM F 4 BRIGHT A_RadiusDamage(10, 128);
		VFLM G 4 BRIGHT;
		VFLM H 4 BRIGHT;
		VFLM F 0 BRIGHT A_StartSound("monsters/vassago/hot1");
		VFLM F 4 BRIGHT A_RadiusDamage(10, 128);
		VFLM G 4 BRIGHT;
		VFLM H 4 BRIGHT;
		VFLM F 0 BRIGHT A_StartSound("monsters/vassago/hot2");
		VFLM F 4 BRIGHT A_RadiusDamage(10, 128);
		VFLM G 4 BRIGHT;
		VFLM H 4 BRIGHT;
		VFLM I 0 BRIGHT A_StartSound("monsters/vassago/hot3");
		VFLM I 4 BRIGHT A_RadiusDamage(10, 128);
		VFLM J 4 BRIGHT;
		VFLM K 4 BRIGHT;
		VFLM L 4 BRIGHT A_RadiusDamage(10, 128);
		VFLM MNOPQ 4 BRIGHT;
		Stop;
	}
}