converted gotos with offsets to labeled gotos
[k8zan.git] / decorate / Weapons / Hellclaw.txt
blobfe8a0e4c552a7cd2268fd3f313826ee131effcc0
1 ACTOR IsDraining : Inventory {
2   Inventory.Amount 1
3   Inventory.MaxAmount 1
4   Inventory.InterHubAmount 0
6   States {
7   Spawn:
8     TNT1 A -1
9     Stop
10   }
15 ACTOR BearzerkHellclaw {
16   Scale 0.35
18   States {
19   Spawn:
20     WHEL B -1
21     Stop
22   }
27 ACTOR HellEnergy : Ammo {
28   Inventory.Amount 30
29   Inventory.MaxAmount 300
30   Ammo.BackpackAmount 60
31   Ammo.BackpackMaxAmount 360
32   Inventory.Icon "WHELB0"
34   States {
35   Spawn:
36     TNT1 A 1
37     Stop
38   }
42 ACTOR Hellclaw : Weapon replaces SuperShotgun {
43   Scale 0.35
44   Radius 22
45   Height 15
46   +INVENTORY.UNDROPPABLE
47   +WEAPON.NOALERT
48   //+WEAPON.NO_AUTO_SWITCH
49   +WEAPON.AMMO_OPTIONAL
50   //+WEAPON.ALT_USES_BOTH
51   Inventory.PickupMessage "Got a Hellclaw."
52   Inventory.PickupSound "Weapons/HellclawPick"
53   Inventory.Icon "WHELA0"
54   Tag "Hellclaw"
55   Weapon.SelectionOrder 4
56   //Weapon.MinSelectionAmmo1 0
57   //Weapon.MinSelectionAmmo2 0
58   Weapon.AmmoType1 "HellEnergy"
59   Weapon.AmmoGive1 30
60   Weapon.AmmoUse1 1
61   Weapon.AmmoType2 "none"
62   Weapon.AmmoGive2 0
63   Weapon.AmmoUse2 0
64   //Weapon.SlotNumber 4
65   Weapon.SlotPriority 0.5
67   States {
68   Spawn:
69     WHEL B -1
70     Stop
72   Select:
73     TNT1 A 0 A_GiveInventory("QuickKickDisabled", 1)
74     TNT1 A 0 A_TakeInventory("PerformQuickKick")
75     TNT1 A 0 A_TakeInventory("QuickKickInProgress")
76     TNT1 A 0 A_GiveInventory("HoldingFists", 1)
77     TNT1 A 0 //A_SetCrosshair(13)
78     TNT1 A 0 A_Raise(666)
79     Goto Ready
81   Deselect:
82     TNT1 A 0 A_GiveInventory("QuickKickDisabled", 1)
83     TNT1 A 0 A_TakeInventory("IsDraining", 1)
84     WHER A 1 Offset(-15, 40)
85     WHER A 1 Offset(-30, 50)
86     WHER A 1 Offset(-50, 65)
87     WHER A 1 Offset(-70, 80)
88     Goto DeselectLoop
90   DeselectLoop:
91     TNT1 A 0 A_TakeInventory("HoldingFists", 1)
92     TNT1 A 1 A_Lower(666)
93     Loop
95   Ready:
96     TNT1 A 8
97     TNT1 A 0 A_PlaySound ("Weapons/HellclawReady", CHAN_AUTO)
98     WHER A 1 Offset(-70, 80)
99     WHER A 1 Offset(-50, 65)
100     WHER A 1 Offset(-30, 50)
101     WHER A 1 Offset(-15, 40)
102     TNT1 A 0 A_TakeInventory("QuickKickDisabled")
103     Goto ReadyIdle
105   ReadyIdle:
106     WHER A 70 A_WeaponReady(WRF_ALLOWRELOAD)
107     WHER BCB 2 A_WeaponReady(WRF_ALLOWRELOAD)
108     WHER A 35 A_WeaponReady(WRF_ALLOWRELOAD)
109     WHER B 4 A_WeaponReady(WRF_ALLOWRELOAD)
110     WHER A 105 A_WeaponReady(WRF_ALLOWRELOAD)
111     WHER BCB 2 A_WeaponReady(WRF_ALLOWRELOAD)
112     WHER A 16 A_WeaponReady(WRF_ALLOWRELOAD)
113     WHER B 4 A_WeaponReady(WRF_ALLOWRELOAD)
114     Loop
116   Fire:
117     TNT1 A 0 A_JumpIfNoAmmo("Reload")
118     TNT1 A 0 A_JumpIfInventory("IsDraining", 1, "Reload")
119     SPGH A 0 A_PlaySound ("Weapons/HellclawFire", CHAN_AUTO)
120     TNT1 A 0 A_SetPitch(-1.0 + pitch)
121     WHEF A 2
122     WHEF B 2
123     TNT1 A 0 A_SetPitch(-0.15 + pitch)
124     TNT1 A 0 A_PlaySound("Weapons/HellclawFire", CHAN_AUTO)
125     WHEF C 2
126     WSPI A 0 A_FireProjectile("HellBall",frandom(-0.5,0.5), 1, 5, 0, FPF_NOAUTOAIM, frandom(-0.5,0.5))
127     TNT1 A 0 A_GunFlash
128     TNT1 A 0 A_SetPitch(0.15 + pitch)
129     WHEF D 2 A_AlertMonsters
130     TNT1 A 0 A_Refire("Firing")
131     TNT1 A 0 A_SetPitch(1.0 + pitch)
132     WHEF CBA 3 A_WeaponReady
133     Goto ReadyIdle
135   Firing:
136     TNT1 A 0 A_JumpIfNoAmmo("Reload")
137     TNT1 A 0 A_SetPitch(-0.15 + pitch)
138     TNT1 A 0 A_PlaySound("Weapons/HellclawFire", CHAN_AUTO)
139     WHEF C 2
140     WSPI A 0 A_FireProjectile("HellBall",frandom(-1.1,1.1), 1, 5, 0, FPF_NOAUTOAIM, frandom(-1.1,1.1))
141     TNT1 A 0 A_GunFlash
142     TNT1 A 0 A_SetPitch(0.15 + pitch)
143     WHEF D 2 A_AlertMonsters
144     TNT1 A 0 A_Refire("Firing")
145     TNT1 A 0 A_SetPitch(1.0 + pitch)
146     WHEF CBA 3 A_WeaponReady
147     Goto ReadyIdle
149   Altfire:
150     TNT1 A 0 A_JumpIfInventory("IsDraining", 1, "Reload")
151     TNT1 A 0 A_JumpIf(CountInv("HellEnergy") < 10, "Reload")
152     TNT1 A 0 A_PlaySound("Weapons/HellclawAltFire", CHAN_AUTO)
153     TNT1 A 0 A_AlertMonsters(128)
154     TNT1 A 0 A_SetPitch(0.6 + pitch)
155     WHEF E 2
156     TNT1 A 0 A_SetPitch(0.6 + pitch)
157     TNT1 A 0 A_SetAngle(-1.0 + angle)
158     WHEF F 2
159     TNT1 A 0 A_SetPitch(0.6 + pitch)
160     WHEF G 2
161     TNT1 A 0 A_SetPitch(0.6 + pitch)
162     TNT1 A 0 A_SetAngle(-1.0 + angle)
163     WHEF H 2
164     TNT1 A 0 A_SetPitch(0.6 + pitch)
165     TNT1 A 6
166     WHEF I 2
167     TNT1 A 0 A_SetPitch(0.6 + pitch)
168     TNT1 A 0 A_SetAngle(-1.0 + angle)
169     WHEF J 2
170     WHEF K 1
171     TNT1 A 0 A_SetPitch(-1.2 + pitch)
172     TNT1 A 0 A_SetAngle(1.0 + angle)
173     WHEF L 1
174     TNT1 A 0 A_SetPitch(-1.2 + pitch)
175     TNT1 A 0 A_SetAngle(1.0 + angle)
176     WSPI A 0 A_FireProjectile("HellMine",0, 1, 5, -5, FPF_NOAUTOAIM, -10)
177     TNT1 A 0 A_TakeInventory("HellEnergy", 10)
178     WHEF D 1
179     TNT1 A 0 A_SetPitch(-1.2 + pitch)
180     TNT1 A 0 A_SetAngle(1.0 + angle)
181     WHEF C 1
182     WHEF B 1
183     WHER A 8 A_WeaponReady(WRF_NOSECONDARY)
184     Goto ReadyIdle
186   Flash:
187     TNT1 A 1 A_Light2
188     TNT1 A 1 A_Light2
189     TNT1 A 1 A_Light1
190     TNT1 A 0 A_Light0
191     Goto LightDone
193   Reload:
194     TNT1 A 0 A_GiveInventory("IsDraining", 1)
195     TNT1 A 0 A_PlaySound("Weapons/HellclawReload", CHAN_AUTO)
196     TNT1 A 0 A_SetPitch(-0.5 + pitch)
197     WHEF N 4
198     TNT1 A 0 A_SetPitch(-0.5 + pitch)
199     TNT1 A 0 A_GunFlash
200     WHEF O 3
201     TNT1 A 0 A_SetPitch(0.5 + pitch)
202     TNT1 A 0 A_AlertMonsters(640)
203     TNT1 A 0 A_CustomPunch(Random(20,30), 1, CPF_PULLIN, "HellclawPuff", 80)
204     WHEF P 4
205     TNT1 A 0 A_SetPitch(0.5 + pitch)
206     WHEF O 3 A_WeaponReady(WRF_ALLOWRELOAD)
207     WHEF N 3 A_TakeInventory("IsDraining", 1)
208     WHEF M 3
209     Goto ReadyIdle
211     stateinclude "decorate/Weapons/QuickKick/QuickKickInclude.txt"
212   }
216 ACTOR HellBall {
217   Scale 0.35
218   Radius 5
219   Height 8
220   Speed 47
221   Projectile
222   ProjectileKickBack 40
223   Damage (3*random(8,8))
224   DamageType "Hellclaw"
225   +THRUGHOST
226   +NOBLOCKMAP
227   +BLOODSPLATTER
228   +THRUSPECIES
229   //+BRIGHT
230   +DONTREFLECT
231   DeathSound "Projectile/HellBallDeath"
232   Obituary "%o was torn apart by %k's hell ball."
233   Decal "HellBallDecal"
234   Species "ID"
236   States {
237   Spawn:
238     PHEB ABCD 3
239     Loop
241   Death:
242     PHEB EFGH 3
243       Stop
244   }
248 ACTOR HellMine {
249   Radius 5
250   Height 5
251   Speed 35
252   Scale 0.35
253   Gravity 1.0
254   Damage (1*random(15,20))
255   DamageType "PoxBlunt"
256   Projectile
257   ProjectileKickBack 150
258   -NOGRAVITY
259   +DONTREFLECT
260   +DONTTHRUST
261   +NOEXTREMEDEATH
262   +RANDOMIZE
263   -BLOODSPLATTER
264   +NOBLOCKMAP
265   +THRUSPECIES
266   +BOUNCEONFLOORS
267   +BOUNCEONWALLS
268   +BOUNCEONCEILINGS
269   +ALLOWBOUNCEONACTORS
270   +BOUNCEONACTORS
271   BounceType Hexen
272   BounceFactor 0.20
273   WallBounceFactor 0.20
274   BounceCount 3
275   BounceSound "HellMine/Bounce"
276   //SeeSound "Weapons/FlameShot"
277   DeathSound "HellMine/Arm"
278   Obituary "%o got smacked by %k."
279   Species "ID"
281   States {
282   Spawn:
283     PHEM ABCD 4
284     TNT1 A 0 A_AlertMonsters(320)
285     Loop
287   Death:
288     TNT1 A 0 A_Scream
289     TNT1 A 0 A_SpawnItemEx("HellMineArmed", 0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
290     Stop
291   }
295 ACTOR HellMineArmed {
296   //Monster
297   Radius 5
298   Height 15
299   Speed 0
300   FloatSpeed 0
301   Scale 0.35
302   Health 15
303   DamageFactor "Aggro", 0.0
304   DamageFactor "Drowning", 0.0
305   DamageFactor "Fire", 0.0
306   DamageFactor "Lava", 0.0
307   DamageFactor "Toxic", 0.0
308   DamageFactor "PoxToxic", 0.0
309   DamageFactor "ForcePull", 0.0
310   //RipLevelMin 1
311   //MeleeThreshold 128
312   MeleeRange 112
313   MinMissileChance 0
314   MeleeDamage 0
315   //+NOGRAVITY
316   +DONTTHRUST
317   +MISSILEMORE
318   +MISSILEEVENMORE
319   +THRUGHOST
320   +LOOKALLAROUND
321   +FLOORCLIP
322   +SHOOTABLE
323   -SOLID
324   -COUNTKILL
325   +NOINFIGHTING
326   +NOTARGET
327   +NEVERTARGET
328   +ISMONSTER
329   +FRIENDLY
330   +NOBLOOD
331   DeathSound "HellMine/Burst"
332   Obituary "%o was torn apart by a Hell Mine."
334   States {
335   Spawn:
336     PHEM F 1
337     Goto See
339   See:
340     TNT1 A 0 A_PlaySound("HellMine/Ping", CHAN_AUTO, 0.4, 0, 3)
341     PHEM FFFFFF 1 A_Chase
342     TNT1 A 0 A_ClearTarget
343     PHEM GGGGGGGGGG 1 A_Chase
344     TNT1 A 0 A_ClearTarget
345     PHEM GGGGGGGGGG 1 A_Chase
346     TNT1 A 0 A_ClearTarget
347     Loop
349   Melee:
350     PHEM F 1 A_Die
351     Goto See
353   Death:
354     TNT1 A 0 A_Scream
355     TNT1 A 0 A_AlertMonsters(1200)
356     PHEM E 1 A_ChangeVelocity(0, 0, 12, CVF_REPLACE)
357     TNT1 A 0 A_SpawnItemEx("DustPuffLarge", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
358     PHEM E 12
359     TNT1 A 0 A_ChangeFlag("NOTONAUTOMAP", 1)
360     TNT1 A 0 A_Explode(random(150,150), 192, XF_HURTSOURCE, True, 160, 0, 0, " ", "Crushbow")
361     TNT1 A 0 A_Explode(random(80,80), 192, XF_HURTSOURCE, True, 160, 0, 0, " ", "Hellclaw")
362     TNT1 A 0 A_JumpIf(WaterLevel>0, "WaterDeath")
363     TNT1 A 0 A_SpawnItemEx("ExplosionLargeRed", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
364     TNT1 A 0 A_SpawnItemEx("BloodCloud", 0, 0, -15, 3, 3, random(-2,2), 0, SXF_NOCHECKPOSITION, 0)
365     TNT1 A 0 A_SpawnItemEx("BloodCloud", 0, 0, -15, -3, -3, random(-2,2), 0, SXF_NOCHECKPOSITION, 0)
366     TNT1 A 0 A_SpawnItemEx("BloodCloud", 0, 0, -15, 3, -3, random(-2,2), 0, SXF_NOCHECKPOSITION, 0)
367     TNT1 A 0 A_SpawnItemEx("BloodCloud", 0, 0, -15, -3, 3, random(-2,2), 0, SXF_NOCHECKPOSITION, 0)
368     TNT1 A 30 A_Quake(3, 30, 0, 1200)
369     Stop
371   WaterDeath:
372     TNT1 A 0 A_SpawnItemEx("UnderwaterBubble",0,0,0,random(-5,5),random(-5,5),random(1,4),0, SXF_NOCHECKPOSITION, 0)
373     TNT1 A 0 A_SpawnItemEx("UnderwaterBubble",0,0,0,random(-5,5),random(-5,5),random(1,4),0, SXF_NOCHECKPOSITION, 0)
374     TNT1 A 0 A_SpawnItemEx("UnderwaterBubble",0,0,0,random(-5,5),random(-5,5),random(1,4),0, SXF_NOCHECKPOSITION, 0)
375     TNT1 A 0 A_SpawnItemEx("UnderwaterBubble",0,0,0,random(-5,5),random(-5,5),random(1,4),0, SXF_NOCHECKPOSITION, 0)
376     TNT1 A 0 A_SpawnItemEx("UnderwaterBubble",0,0,0,random(-5,5),random(-5,5),random(1,4),0, SXF_NOCHECKPOSITION, 0)
377     TNT1 A 0 A_SpawnItemEx("UnderwaterBubble",0,0,0,random(-5,5),random(-5,5),random(1,4),0, SXF_NOCHECKPOSITION, 0)
378     TNT1 A 0 A_SpawnItemEx("UnderwaterBubble",0,0,0,random(-5,5),random(-5,5),random(1,4),0, SXF_NOCHECKPOSITION, 0)
379     TNT1 A 0 A_SpawnItemEx("UnderwaterBubble",0,0,0,random(-5,5),random(-5,5),random(1,4),0, SXF_NOCHECKPOSITION, 0)
380     TNT1 A 0 A_SpawnItemEx("UnderwaterBubble",0,0,0,random(-5,5),random(-5,5),random(1,4),0, SXF_NOCHECKPOSITION, 0)
381     TNT1 A 0 A_SpawnItemEx("UnderwaterBubble",0,0,0,random(-5,5),random(-5,5),random(1,4),0, SXF_NOCHECKPOSITION, 0)
382     TNT1 A 0 A_SpawnItemEx("UnderwaterBubble",0,0,0,random(-5,5),random(-5,5),random(1,4),0, SXF_NOCHECKPOSITION, 0)
383     TNT1 A 0 A_SpawnItemEx("UnderwaterBubble",0,0,0,random(-5,5),random(-5,5),random(1,4),0, SXF_NOCHECKPOSITION, 0)
384     TNT1 A 0 A_SpawnItemEx("UnderwaterBubble",0,0,0,random(-5,5),random(-5,5),random(1,4),0, SXF_NOCHECKPOSITION, 0)
385     TNT1 A 0 A_SpawnItemEx("UnderwaterBubble",0,0,0,random(-5,5),random(-5,5),random(1,4),0, SXF_NOCHECKPOSITION, 0)
386     TNT1 A 0 A_SpawnItemEx("UnderwaterBubble",0,0,0,random(-5,5),random(-5,5),random(1,4),0, SXF_NOCHECKPOSITION, 0)
387     Stop
388   }
392 ACTOR HellclawPuff {
393   Scale 0.5
394   Damage 0
395   DamageType "HellclawDrain"
396   +NOGRAVITY
397   +THRUGHOST
398   +FORCEPAIN
399   +BRIGHT
400   +NOEXTREMEDEATH
401   Species "ID"
403   States {
404   Spawn:
405     PHED ABCD 3
406     Stop
407   }
411 ACTOR HellEnergyGiver {
412   Scale 0.35
413   Monster
414   Renderstyle "Translucent"
415   DamageFactor "Aggro", 0.0
416   Alpha 0.8
417   Health 9999
418   Radius 5
419   Height 5
420   Speed 10
421   FloatSpeed 10
422   MinMissileChance 0
423   MeleeRange 16
424   //Projectile
425   //ProjectileKickBack 0
426   Damage 0
427   +NOINFIGHTING
428   +NEVERTARGET
429   +NOTARGET
430   //+LOOKALLAROUND
431   +MISSILEMORE
432   +MISSILEEVENMORE
433   -ACTIVATEMCROSS
434   -CANUSEWALLS
435   -COUNTKILL
436   -SOLID
437   -SHOOTABLE
438   //+SEEKERMISSILE
439   +FLOAT
440   +NOGRAVITY
441   +THRUGHOST
442   +THRUACTORS
443   +NOBLOCKMAP
444   +NOBLOCKMONST
445   //-BLOODSPLATTER
446   //+BLOODLESSIMPACT
447   //+BRIGHT
448   +NOTIMEFREEZE
449   DeathSound "Projectile/HellBallDeath"
450   //Species "ID"
452   States {
453   Spawn:
454     PHEB AA 1
455     Goto SpawnLoop
457   SpawnLoop:
458     PHEB BBCCDDAA 1 A_LookEx(0, 0, 0, 0, 360)
459     Loop
461   See:
462     TNT1 A 0 A_JumpIfInTargetInventory("TargetIsID", 1, "ClearTarget")
463     PHEB CCDDAABB 1 A_Chase
464     Loop
466   ClearTarget:
467     TNT1 A 0 A_ClearTarget
468     Goto SpawnLoop
470   Melee:
471     TNT1 A 0 A_Scream
472     TNT1 A 0 A_RadiusGive("HellEnergy", 128.0, RGF_PLAYERS, random(3,4))
473     PHEB EFGH 3
474     TNT1 A 0 A_Die
475     Stop
477   Death:
478     TNT1 A 0
479     Stop
480   }