oops; removed forgotten debug output
[k8zan.git] / decorate / Weapons / Fists.txt
blob8c1097306b7548e4e68074acddbfd196deb9f27a
1 ACTOR IsQuickKickingFist : Inventory {
2   Inventory.Amount 1
3   +Inventory.k8AllowConsoleGive
7 ACTOR Fists : Weapon replaces Fist {
8   +INVENTORY.IGNORESKILL
9   +WEAPON.MELEEWEAPON
10   +WEAPON.NOALERT
11   +WEAPON.WIMPY_WEAPON
12   +NOEXTREMEDEATH
13   +THRUGHOST
14   Inventory.PickupMessage "Got a nice pair of fists there..."
15   Inventory.PickupSound "none"
16   Tag "Fists"
17   Weapon.SelectionOrder 13
18   Weapon.SlotNumber 1
19   Weapon.SlotPriority 0
20   Weapon.Kickback 80
21   //AttackSound "Weapons/AxeSwing"
22   //Inventory.Icon "AXEIA0"
23   Obituary "%o was beaten to death by %k."
24   // the two following flags turns on "reset 'NoExtremeDeath' if Target has Berserker" k8vavoom hack
25   +NoFear
26   +StayMorphed
28   States {
29   Ready:
30     TNT1 A 0 A_TakeInventory("ZanPerformQuickKick") // just in case
31     //TNT1 A 0 A_TakeInventory("QuickKickRage") -- this will be taken out by the projectile
32     TNT1 A 0 A_TakeInventory("QuickKickDisabled")
34   ReadyLoop:
35     TNT1 A 1 Offset(10000, 10032) A_WeaponReady
36     Loop
38   Select:
39     stateinclude "QuickKick/QuickKickOnSelectDeselect.txt"
40     TNT1 A 0
41       {
42         A_TakeInventory("IsQuickKickingFist");
43         A_GiveInventory("HoldingFists", 1);
44         if (GetCVarB('k8ZanMod_CustomCrosshairs')) A_SetCrosshair(1);
45       }
46     TNT1 A 0 A_Raise(666)
47     Goto Ready
49   Deselect:
50     stateinclude "QuickKick/QuickKickOnSelectDeselect.txt"
51     TNT1 A 0
52       {
53         A_TakeInventory("IsQuickKickingFist");
54         A_TakeInventory("HoldingFists", 1);
55       }
56     Goto DeselectLoop
58   DeselectLoop:
59     TNT1 A 1 A_Lower(666)  // was zero duration
60     Loop
62   Fire:
63     //TNT1 A 1
64     TNT1 A 0 A_JumpIfInventory("FistSwinging", 2, "Swing1")
65     TNT1 A 0 A_JumpIfInventory("FistSwinging", 1, "Swing2")
66     TNT1 A 0 A_SetAngle(1.0+angle)
67     WFIF A 1 A_SetPitch(-0.8+pitch)
68     WFIF B 1 //A_PlayWeaponSound("Weapons/AxeSwing")
69     WFIF C 2 A_SetPitch(-0.8+pitch)
70     WFIF B 0
71       {
72         A_GiveInventory("FistSwinging", 1);
73         A_CustomPunch(3*(IsPlayerRunning() ? random(10, 14) : random(7, 10)), 1, CPF_NOTURN|CPF_SETTRACER,
74                       "FistHitPuff", 78, 0, 0, "ArmorBonus", "Weapons/FistsHit", "Weapons/FistsMiss",
75                       berserkerMult:(IsPlayerRunning() ? 5 : 4));
76         A_SetAngle(1.0+angle);
77         // if the monster was killed by direct swing, arm Hellclaw
78         if ((IsMonster(AAPTR_TRACER) != 0) && (GetHealth(AAPTR_TRACER) <= 0) && (CountInv("Hellclaw") > 0)) {
79           //A_k8ConLog(va("%C: Killed %C, Health=%s (%s), Master=%C, Target=%C", GetSelf, GetTracer, GetHealth(AAPTR_TRACER), GetSpawnHealth(AAPTR_TRACER), GetMaster, GetTarget));
80           A_GiveInventory("HellEnergy", random(max(4, GetSpawnHealth(AAPTR_TRACER)/20), max(1, GetSpawnHealth(AAPTR_TRACER)/16+6))*(HasBerserk(AAPTR_TARGET) ? 2 : 1));
81         }
82       }
83     WFIF B 1 A_SetPitch(0.8+pitch)
84     WFIF A 1 A_SetPitch(0.8+pitch)
85     TNT1 A 2 A_WeaponReady
86     TNT1 A 1 A_TakeInventory("FistSwinging", 2)
87     //TNT1 A 1 A_Refire
88     Goto ReadyLoop
90   Swing2:
91     TNT1 A 3
92     WFIF D 0 A_SetPitch(-0.8+pitch)
93     WFIF E 0 //A_PlayWeaponSound("Weapons/AxeSwing")
94     WFIF F 0
95       {
96         A_GiveInventory("FistSwinging", 1);
97         A_SetAngle(-1.0+angle);
98       }
99     WFIF D 1 A_SetPitch(-0.4+pitch)
100     WFIF E 1 A_SetPitch(-0.4+pitch)
101     WFIF F 1
102       {
103         A_CustomPunch(3*(IsPlayerRunning() ? random(9, 14) : random(6, 10)), 1, CPF_NOTURN|CPF_SETTRACER,
104                       "FistHitPuff", 80, 0, 0, "ArmorBonus", "Weapons/FistsHit", "Weapons/FistsMiss",
105                       berserkerMult:(IsPlayerRunning() ? 5 : 4));
106         // if the monster was killed by direct swing, arm Hellclaw
107         if ((IsMonster(AAPTR_TRACER) != 0) && (GetHealth(AAPTR_TRACER) <= 0) && (CountInv("Hellclaw") > 0)) {
108           //A_k8ConLog(va("%C: Killed %C, Health=%s (%s), Master=%C, Target=%C", GetSelf, GetTracer, GetHealth(AAPTR_TRACER), GetSpawnHealth(AAPTR_TRACER), GetMaster, GetTarget));
109           A_GiveInventory("HellEnergy", random(max(4, GetSpawnHealth(AAPTR_TRACER)/20), max(1, GetSpawnHealth(AAPTR_TRACER)/16+6))*(HasBerserk(AAPTR_TARGET) ? 2 : 1));
110         }
111       }
112     WFIF F 1 A_SetAngle(-1.0+angle)
113     WFIF E 1 A_SetPitch(0.8+pitch)
114     WFIF D 1 A_SetPitch(0.8+pitch)
115     TNT1 A 3 A_WeaponReady
116     TNT1 A 1 A_TakeInventory("FistSwinging", 2)
117     //TNT1 A 1 A_Refire
118     Goto ReadyLoop
120   Swing1:
121     TNT1 A 4
122     TNT1 A 0 A_SetAngle(1.0+angle)
123     WFIF A 1 A_TakeInventory("FistSwinging", 1)
124     WFIF B 1 A_SetPitch(-0.8+pitch)
125     WFIF C 1 A_SetPitch(-0.8+pitch)
126     WFIF C 1
127       {
128         A_CustomPunch(3*(IsPlayerRunning() ? random(10, 14) : random(7, 10)), 1, CPF_NOTURN|CPF_SETTRACER,
129                       "FistHitPuff", 78, 0, 0, "ArmorBonus", "Weapons/FistsHit", "Weapons/FistsMiss",
130                       berserkerMult:(IsPlayerRunning() ? 5 : 4));
131         // if the monster was killed by direct swing, arm Hellclaw
132         if ((IsMonster(AAPTR_TRACER) != 0) && (GetHealth(AAPTR_TRACER) <= 0) && (CountInv("Hellclaw") > 0)) {
133           //A_k8ConLog(va("%C: Killed %C, Health=%s (%s), Master=%C, Target=%C", GetSelf, GetTracer, GetHealth(AAPTR_TRACER), GetSpawnHealth(AAPTR_TRACER), GetMaster, GetTarget));
134           A_GiveInventory("HellEnergy", random(max(4, GetSpawnHealth(AAPTR_TRACER)/20), max(1, GetSpawnHealth(AAPTR_TRACER)/16+6))*(HasBerserk(AAPTR_TARGET) ? 2 : 1));
135         }
136       }
137     TNT1 A 0 A_SetAngle(1.0+angle)
138     WFIF B 1 A_SetPitch(0.8+pitch)
139     WFIF A 1 A_SetPitch(0.8+pitch)
140     TNT1 A 2 A_WeaponReady
141     TNT1 A 1 A_TakeInventory("FistSwinging", 2)
142     //TNT1 A 1 A_Refire
143     Goto ReadyLoop
145   Altfire:
146     TNT1 A 0 A_JumpIfInventory("QuickKickInProgress", 1, "AltfireCompleteNoTake")
147     TNT1 A 0 A_JumpIfInventory("QuickKickDisabled", 1, "AltfireCompleteNoTake")
148     TNT1 A 0 A_GiveInventory("IsQuickKickingFist")
149   AltfireQuickKick:
150     stateinclude "QuickKick/QuickKickIncludeCommon.txt"
151     TNT1 A 0 A_JumpIfInventory("IsQuickKickingFist", 1, "AltfireComplete")
152     Goto DisplayOverlayBack
153   AltfireComplete:
154     // A_WeaponReady is done in quickkick code
155     TNT1 A 0 A_TakeInventory("IsQuickKickingFist")
156     Goto ReadyLoop
157   AltfireCompleteNoTake:
158     TNT1 A 8 A_WeaponReady(WRF_NOSECONDARY)
159     Goto ReadyLoop
161   DisplayOverlayBack:
162     TNT1 A 0 A_JumpIfNotInventory("ZanStartQuickKick", +2)
163     TNT1 A 0 A_GiveInventory("ZanPerformQuickKick")
164     TNT1 A 1
165     TNT1 A 0 A_JumpIfInventory("ZanPerformQuickKick", 1, "QuickKickReadyFist")
166     Loop
168   QuickKickReadyFist:
169     TNT1 A 1 A_TakeInventory("ZanPerformQuickKick")
170     TNT1 A 0 A_JumpIfInventory("QuickKickInProgress", 1, "DisplayOverlayBack")
171     TNT1 A 0 A_JumpIfInventory("QuickKickDisabled", 1, "DisplayOverlayBack")
172     TNT1 A 0 A_TakeInventory("IsQuickKickingFist")  // just in case
173     Goto AltfireQuickKick
174   }
178 ACTOR FistSwinging : Ammo {
179   +INVENTORY.IGNORESKILL
180   Inventory.MaxAmount 2
181   Ammo.BackpackAmount 0
182   Ammo.BackpackMaxAmount 0
186 ACTOR FistHitPuff {
187   AttackSound "Weapons/FistsHit"
188   DamageType "Fists"
189   +NOEXTREMEDEATH
190   +MISSILE
191   +THRUSPECIES
192   +NOBLOCKMAP
193   +THRUGHOST
194   +NoTeleport
195   +k8AllowSimpleTick
196   Species "ZanSpecie"
198   States {
199   Spawn:
200     TNT1 A 1
201     Stop
203   Death:
204     TNT1 A 0
205     Stop
206   }