1//**************************************************************************
2//**
3//**    ##   ##    ##    ##   ##   ####     ####   ###     ###
4//**    ##   ##  ##  ##  ##   ##  ##  ##   ##  ##  ####   ####
5//**     ## ##  ##    ##  ## ##  ##    ## ##    ## ## ## ## ##
6//**     ## ##  ########  ## ##  ##    ## ##    ## ##  ###  ##
7//**      ###   ##    ##   ###    ##  ##   ##  ##  ##       ##
8//**       #    ##    ##    #      ####     ####   ##       ##
9//**
10//**    $Id: MWeapBloodscourge.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 MWeapBloodscourge : MageWeapon;
27
28int				CShift;
29
30//==========================================================================
31//
32//	GetBlend
33//
34//==========================================================================
35
36int GetBlend()
37{
38	return CShift;
39}
40
41//==========================================================================
42//
43//  A_MStaffPalette1
44//
45//==========================================================================
46
47final void A_MStaffPalette1() self(Actor)
48{
49	if (!bIsPlayer)
50	{
51		return;
52	}
53	Weapon Wpn = PlayerEx(Player).ReadyWeapon;
54
55	MWeapBloodscourge(Wpn).CShift = RGBA(255, 187, 4, 63);
56}
57
58//==========================================================================
59//
60//  A_MStaffPalette2
61//
62//==========================================================================
63
64final void A_MStaffPalette2() self(Actor)
65{
66	if (!bIsPlayer)
67	{
68		return;
69	}
70	Weapon Wpn = PlayerEx(Player).ReadyWeapon;
71
72	MWeapBloodscourge(Wpn).CShift = RGBA(255, 187, 4, 51);
73}
74
75//==========================================================================
76//
77//  A_MStaffPalette3
78//
79//==========================================================================
80
81final void A_MStaffPalette3() self(Actor)
82{
83	if (!bIsPlayer)
84	{
85		return;
86	}
87	Weapon Wpn = PlayerEx(Player).ReadyWeapon;
88
89	// reset back to original playpal
90	MWeapBloodscourge(Wpn).CShift = 0;
91}
92
93states
94{
95Ready:
96	MSTF AAAAAABBBBBBCCCCCCDDDDDDEEEEEEFFFFF 1 DoReadyWeapon
97	Loop
98Deselect:
99	MSTF A 1 A_Lower
100	Loop
101Select:
102	MSTF A 1 A_Raise
103	Loop
104Fire:
105	MSTF G 4 Offset(0, 40)
106	MSTF H 4 Bright Offset(0, 48) A_MStaffAttack
107	MSTF H 2 Bright Offset(0, 48) A_MStaffPalette1
108	MSTF I 2 Offset(0, 48) A_MStaffPalette2
109	MSTF I 2 Offset(0, 48) A_MStaffPalette3
110	MSTF I 1 Offset(0, 40)
111	MSTF J 5 Offset(0, 36)
112	Goto Ready
113}
114
115defaultproperties
116{
117	SelectionOrder = 3100;
118	AmmoType1 = Mana1;
119	AmmoType2 = Mana2;
120	AmmoUse1 = 15;
121	AmmoUse2 = 15;
122	AmmoGive1 = 20;
123	AmmoGive2 = 20;
124	PSpriteSY = 20.0;
125	PickupMessage = "$txt_weapon_m4";
126	BotCombatDist= 384.0;
127	bBotProjectile = true;
128	bExtremeDeath = true;
129	bPrimaryUsesBoth = true;
130}
131