1//**************************************************************************
2//**
3//**    ##   ##    ##    ##   ##   ####     ####   ###     ###
4//**    ##   ##  ##  ##  ##   ##  ##  ##   ##  ##  ####   ####
5//**     ## ##  ##    ##  ## ##  ##    ## ##    ## ## ## ## ##
6//**     ## ##  ########  ## ##  ##    ## ##    ## ##  ###  ##
7//**      ###   ##    ##   ###    ##  ##   ##  ##  ##       ##
8//**       #    ##    ##    #      ####     ####   ##       ##
9//**
10//**    $Id: PhoenixRod.vc 4325 2010-07-15 23:11:16Z firebrand_kh $
11//**
12//**    Copyright (C) 1999-2006 Jānis Legzdiņš
13//**
14//**    This program is free software; you can redistribute it and/or
15//**  modify it under the terms of the GNU General Public License
16//**  as published by the Free Software Foundation; either version 2
17//**  of the License, or (at your option) any later version.
18//**
19//**    This program is distributed in the hope that it will be useful,
20//**  but WITHOUT ANY WARRANTY; without even the implied warranty of
21//**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22//**  GNU General Public License for more details.
23//**
24//**************************************************************************
25
26class PhoenixRod : HereticWeapon
27	game(GAME_Heretic)
28	__mobjinfo__(2003)
29	__scriptid__(29);
30
31int FlameCount;	// for flame thrower duration
32
33//===========================================================================
34//
35//  A_FirePhoenixPL1
36//
37//===========================================================================
38
39final void A_FirePhoenixPL1() self(Actor)
40{
41	TVec vforward;
42
43	if (!bIsPlayer)
44	{
45		return;
46	}
47	Weapon Wpn = PlayerEx(Player).ReadyWeapon;
48
49	Wpn.DepleteAmmo(Wpn.FireMode);
50	SpawnPlayerMissile(PhoenixFX1);
51	AngleVector(&Angles, &vforward);
52	Velocity -= vforward * 140.0;
53}
54
55states
56{
57Ready:
58	PHNX A 1 DoReadyWeapon
59	Loop
60Deselect:
61	PHNX A 1 A_Lower
62	Loop
63Select:
64	PHNX A 1 A_Raise
65	Loop
66Fire:
67	PHNX B 5
68	PHNX C 7 A_FirePhoenixPL1
69	PHNX DB 4
70	PHNX B 0 A_ReFire
71	Goto Ready
72Spawn:
73	WPHX A -1
74	Stop
75}
76
77defaultproperties
78{
79	SelectionOrder = 2600;
80	AmmoType1 = PhoenixRodAmmo;
81	AmmoUse1 = 1;
82	AmmoGive1 = 2;
83	PSpriteSY = 15.0;
84	PickupMessage = "$txt_wpnphoenixrod";
85	SisterWeaponType = PhoenixRodPowered;
86	BotCombatDist = 256.0;
87	bNoAutoFire = true;
88	bBotProjectile = true;
89}
90