converted gotos with offsets to labeled gotos
[k8zan.git] / decorate / Weapons / HatchetAndShield.txt
blob63558d453685043ff6a74e9111ef8079475ae26d
1 ACTOR HatchetAndShield : Weapon /*6011*/ {
2   +INVENTORY.IGNORESKILL
3   +WEAPON.NOALERT
4   +IGNORESKILL
5   +THRUGHOST
6   +MOVEWITHSECTOR
7   //+NOEXTREMEDEATH
8   Scale 0.5
9   Radius 30
10   Height 20
11   Inventory.PickupMessage "Got a Hatchet and Shield."
12   Inventory.PickupSound "none"
13   Tag "Hatchet and Shield"
14   Weapon.SelectionOrder 1
15   //Weapon.SlotNumber 1
16   Weapon.SlotPriority 1
17   Weapon.Kickback 150
18   //AttackSound "Weapons/AxeSwing"
19   Inventory.Icon "WHATA0"
20   Obituary "%o was split by %k's Hatchet."
22   States {
23   Spawn:
24     WHAT B -1
25     Stop
27   Select:
28     TNT1 A 0 A_GiveInventory("QuickKickDisabled", 1)
29     TNT1 A 0 A_TakeInventory("PerformQuickKick")
30     TNT1 A 0 A_TakeInventory("QuickKickInProgress")
31     TNT1 A 0 A_GiveInventory("HoldingAxe", 1)
32     TNT1 A 0 //A_SetCrosshair(9)
33     TNT1 A 0 A_Raise(666)
34     Goto Ready
36   Deselect:
37     TNT1 A 0 A_TakeInventory("ShieldBlockOn",1)
38     WHAR A 1 Offset (-15, 40)
39     WHAR A 1 Offset (-40, 55)
40     WHAR A 1 Offset (-70, 80)
41     Goto DeselectLoop
43   DeselectLoop:
44     TNT1 A 0 A_TakeInventory("HoldingAxe", 1)
45     TNT1 A 1 A_Lower(666)
46     Loop
48   Ready:
49     TNT1 A 0 A_PlaySound("Weapons/ShieldBlock3", CHAN_AUTO, 0.4)
50     WHAR A 1 Offset(-70, 80)
51     TNT1 A 0 A_SpawnItemEx("ShieldBlockPassive", 14, -13, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
52     WHAR A 1 Offset(-50, 65)
53     WHAR A 1 Offset(-30, 50)
54     WHAR A 1 Offset(-15, 40)
55     TNT1 A 0 A_TakeInventory("QuickKickDisabled")
56     Goto ReadyIdle
58   ReadyIdle:
59     WSPI A 0 A_JumpIfInventory("ShieldBlockOn",1,"ReadyBlocking")
60     WHAR A 1 A_WeaponReady
61     TNT1 A 0 A_SpawnItemEx("ShieldBlockPassive", 14, -13, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
62     TNT1 A 0 A_GiveInventory("ShieldArmorPassive", 1)
63     Loop
65   ReadyBlocking:
66     TNT1 A 0 A_TakeInventory("QuickKickDisabled")
67     WHAS B 1 A_WeaponReady
68     TNT1 A 0 A_SpawnItemEx("ShieldBlockActive", 46, 0, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
69     TNT1 A 0 A_GiveInventory("ShieldArmorActive", 1)
70     Goto ReadyIdle
72   Fire:
73     WHAS A 0 A_JumpIfInventory("ShieldBlockOn",1,"ShieldBash")
74     TNT1 A 0 A_TakeInventory("ShieldBlockOn",1)
75     TNT1 A 0 A_GiveInventory("ShieldArmorPassive", 1)
76     WHAR A 1 A_SpawnItemEx("ShieldBlockPassive", 14, -13, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
77     TNT1 A 0 A_Jump(10, "Rage")
78   FireNoRage:
79     TNT1 A 0 A_SetPitch(1.5+pitch)
80     TNT1 A 0 A_SetAngle(0.4+angle)
81     WHAF A 1 A_PlaySound("Weapons/AxeSwing", CHAN_AUTO)
82     TNT1 A 0 A_SetPitch(1.5+pitch)
83     TNT1 A 0 A_AlertMonsters(640)
84     WHAF B 1 A_SetPitch(1.5+pitch)
85     TNT1 A 0 A_SetAngle(0.4+angle)
86     WHAF B 1 A_SetPitch(1.5+pitch)
87     WHAF C 1 A_CustomPunch(6*random(8,14),1,CPF_NOTURN,"HatchetSlashPuff", 144,0,0,"ArmorBonus","Weapons/AxeMelee")
88     TNT1 A 0 A_FireProjectile("AxeCleave", 0 , 0, 0, 0, FPF_NOAUTOAIM, 0)
89     TNT1 A 0 A_SetPitch(-1.5+pitch)
90     WHAF C 1 A_SpawnItemEx("ShieldBlockPassive", 14, -13, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
91     TNT1 A 0 A_SetPitch(-1.5+pitch)
92     WHAF D 1 A_SetAngle(-0.4+angle)
93     WHAF E 1 A_SetPitch(-1.5+pitch)
94     WHAF F 1 A_SetPitch(-1.5+pitch)
95     TNT1 A 0 A_SetAngle(-0.4+angle)
96     TNT1 A 0 A_WeaponReady(WRF_NOPRIMARY | WRF_NOBOB)
97     WHAR A 2 A_SpawnItemEx("ShieldBlockPassive", 14, -13, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
98     TNT1 A 0 A_WeaponReady(WRF_NOPRIMARY | WRF_NOBOB)
99     WHAR A 2 A_SpawnItemEx("ShieldBlockPassive", 14, -13, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
100     TNT1 A 0 A_WeaponReady(WRF_NOPRIMARY | WRF_NOBOB)
101     WHAR A 2 A_SpawnItemEx("ShieldBlockPassive", 14, -13, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
102     TNT1 A 0 A_WeaponReady(WRF_NOPRIMARY | WRF_NOBOB)
103     WHAR A 2 A_SpawnItemEx("ShieldBlockPassive", 14, -13, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
104     TNT1 A 0 A_Refire
105     Goto ReadyIdle
107   ShieldBash:
108     TNT1 A 0 A_GiveInventory("ShieldArmorActive", 1)
109     TNT1 A 0 A_SpawnItemEx("ShieldBlockActive", 22, 0, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
110     TNT1 A 0 A_Jump(20, "AltRage")
111   ShieldBashNoRage:
112     TNT1 A 0 A_SetPitch(-1.5+pitch)
113     TNT1 A 0 A_SetAngle(-0.4+angle)
114     WHAS B 1 A_PlaySound("Weapons/GreatAxeSwing", CHAN_AUTO, 0.4)
115     TNT1 A 0 A_AlertMonsters(320)
116     TNT1 A 0 A_SetPitch(-1.5+pitch)
117     WHAS C 1
118     TNT1 A 0 A_SetPitch(-1.5+pitch)
119     TNT1 A 0 A_SetAngle(-0.4+angle)
120     WHAS D 1 A_SpawnItemEx("ShieldBlockActive", 22, 0, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
121     TNT1 A 0 A_SetPitch(1.5+pitch)
122     WHAS E 1 //A_CustomPunch(6*random(6,10),1,0,"ShieldBashPuff", 128,0,0,"ArmorBonus")//,"Weapons/ShieldBlock")
123     TNT1 A 0 A_FireProjectile("ShieldBash", 0 , 0, 0, 0, FPF_NOAUTOAIM, 0)
124     WHAS E 1 A_SpawnItemEx("ShieldBlockActive", 22, 0, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
125     TNT1 A 0 A_SetPitch(1.5+pitch)
126     WHAS D 1 A_SetAngle(0.8+angle)
127     WHAS C 1 A_SetPitch(1.5+pitch)
128     WHAS B 3 A_WeaponReady(WRF_NOPRIMARY)
129     TNT1 A 0 A_SpawnItemEx("ShieldBlockActive", 22, 0, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
130     WHAS B 3 A_WeaponReady(WRF_NOPRIMARY)
131     TNT1 A 0 A_SpawnItemEx("ShieldBlockActive", 22, 0, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
132     WHAS B 3 A_WeaponReady(WRF_NOPRIMARY)
133     TNT1 A 0 A_SpawnItemEx("ShieldBlockActive", 22, 0, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
134     Goto ReadyBlocking
136   /*AttackBlock:
137      TNT1 A 0 A_GiveInventory("ShieldArmorActive", 1)
138      WHAR A 1 A_SpawnItemEx("ShieldBlockPassive", 14, -11, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
139      TNT1 A 0 A_Jump(10, "Rage")
140      TNT1 A 0 A_SetPitch(1.5+pitch)
141      TNT1 A 0 A_SetAngle(0.4+angle)
142      WHAF A 1 A_PlaySound("Weapons/AxeSwing", CHAN_AUTO)
143      TNT1 A 0 A_AlertMonsters(640)
144      TNT1 A 0 A_SetPitch(1.5+pitch)
145      WHAF B 1 A_GiveInventory("AxeSwinging",1)
146      TNT1 A 0 A_SetPitch(1.5+pitch)
147      TNT1 A 0 A_SetAngle(0.4+angle)
148      WHAF B 1
149      TNT1 A 0 A_SetPitch(-1.5+pitch)
150      WHAF C 1 A_CustomPunch(6*random(8,12),1,CPF_NOTURN,"HatchetSlashPuff", 144,0,0,"ArmorBonus","Weapons/AxeMelee")
151      TNT1 A 0 A_FireProjectile("AxeCleave", 0 , 0, 0, 0, FPF_NOAUTOAIM, 0)
152      WHAF C 1 A_SpawnItemEx("ShieldBlockPassive", 14, -11, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
153      TNT1 A 0 A_SetPitch(-1.5+pitch)
154      WHAF E 1 A_SetAngle(-0.8+angle)
155      WHAF F 1 A_SetPitch(-1.5+pitch)
156      WHAR A 2 A_SpawnItemEx("ShieldBlockPassive", 14, -11, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
157      WHAS A 2 A_SpawnItemEx("ShieldBlockPassive", 14, -11, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
158      WHAS B 2 A_SpawnItemEx("ShieldBlockPassive", 14, -11, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
159      WHAS B 2 A_SpawnItemEx("ShieldBlockPassive", 14, -11, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
160      WHAS B 2 A_SpawnItemEx("ShieldBlockPassive", 14, -11, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
161      //TNT1 A 1 A_Refire
162      Goto ReadyBlocking
163   */
165   Rage:
166     TNT1 A 0 A_PlaySound("Character/ZanRage", CHAN_VOICE)
167     Goto FireNoRage
169   AltRage:
170     TNT1 A 0 A_PlaySound("Character/ZanRage", CHAN_VOICE)
171     Goto ShieldBashNoRage
173   AltFire:
174     WHAS A 0 A_JumpIfInventory("ShieldBlockOn",1,"StopBlocking")
175     WHAS A 1 A_SpawnItemEx("ShieldBlockPassive", 14, -13, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
176     WHAS B 2 A_SpawnItemEx("ShieldBlockActive", 22, 0, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
177     WHAS B 2 A_SpawnItemEx("ShieldBlockActive", 22, 0, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
178     TNT1 A 0 A_GiveInventory("ShieldBlockOn",1)
179     Goto ReadyIdle
181   StopBlocking:
182     TNT1 A 0 A_TakeInventory("ShieldBlockOn",1)
183     WHAS A 2 A_SpawnItemEx("ShieldBlockPassive", 14, -13, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
184     WHAR A 3 A_SpawnItemEx("ShieldBlockPassive", 14, -13, 8, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0)
185     Goto ReadyIdle
187     stateinclude "decorate/Weapons/QuickKick/QuickKickInclude.txt"
188   }
192 ACTOR ShieldBlockOn : Inventory {
193   Inventory.MaxAmount 1
197 ACTOR HatchetSlashPuff {
198   AttackSound "Weapons/AxeMelee4"
199   DamageType "Axe"
200   +THRUGHOST
201   +THRUSPECIES
202   //+NOEXTREMEDEATH
203   Species "ID"
205   States {
206   Spawn:
207     TNT1 A 1 A_SpawnItem("HatchetSlashWall")
208     Stop
209   }
213 ACTOR HatchetSlashWall {
214   States {
215   Spawn:
216     TNT1 A 0
217   }
221 ACTOR ShieldBashPuff {
222   AttackSound "Weapons/ShieldBlock1"
223   DamageType "KickPushback"
224   +THRUGHOST
225   +THRUSPECIES
226   +NOEXTREMEDEATH
227   Species "ID"
228   ProjectileKickback 500
230   States {
231   Spawn:
232     TNT1 A 1 A_SpawnItem("ShieldSmashWall")
233     Stop
234   }
238 ACTOR ShieldSmashWall {
239   States {
240   Spawn:
241     TNT1 A 0
242   }
246 ACTOR ShieldBlockPassive {
247   //Monster
248   Radius 13
249   Height 56
250   Speed 0
251   Health 99999
252   Painchance 256
253   RipLevelMin 0
254   Painchance "Aggro", 0
255   Painchance "Fire", 0
256   Painchance "PoxToxic", 0
257   DamageFactor "Lava", 0
258   DamageFactor "Acid", 0
259   DamageFactor "Toxic", 0
260   DamageFactor "Mind", 0
261   DamageFactor "Aggro", 0.0
262   +DONTSPLASH
263   +NOTELEPORT
264   -COUNTKILL
265   +NOGRAVITY
266   +SHOOTABLE
267   -SOLID
268   //+ALLOWPAIN
269   +DONTTHRUST
270   +REFLECTIVE
271   +SHIELDREFLECT
272   //+DEFLECT
273   +NOTARGET
274   +NOBLOOD
275   -BLOODSPLATTER
276   +NOTONAUTOMAP
277   +FRIENDLY
278   //+NOCLIP
279   PainSound "Weapons/ShieldBlock"
280   Species "ID"
282   States {
283     Spawn:
284     TNT1 A 3 A_Die
285     Loop
287   Pain:
288     TNT1 A 1 A_Pain
289     TNT1 A 0 A_Quake(5, 20, 0, 128, "Misc/Silence")
290     Goto Spawn
292   Death:
293     TNT1 A 1
294     Stop
295   }
299 ACTOR ShieldBlockActive : ShieldBlockPassive {
300   Radius 22
301   Height 60
302   +MIRRORREFLECT
303   //-DEFLECT
307 ACTOR ShieldArmorPassive : PowerupGiver {
308   Powerup.Type "ShieldArmorA"
309   +INVENTORY.AUTOACTIVATE
311   States {
312   Spawn:
313     TNT1 A 1
314     Stop
315   }
319 ACTOR PowerShieldArmorA : PowerProtection {
320   Powerup.Duration -1
321   -Powerup.k8ShowTimer
322   DamageFactor "Melee", 0.25
326 ACTOR ShieldArmorActive : PowerupGiver {
327   Powerup.Type "ShieldArmorB"
328   +INVENTORY.AUTOACTIVATE
330   States {
331   Spawn:
332     TNT1 A -1
333     Stop
334   }
338 ACTOR PowerShieldArmorB : PowerProtection {
339   ActiveSound "Weapons/ShieldBlock"
340   -Powerup.k8ShowTimer
341   Powerup.Duration -1
342   DamageFactor "Melee", 0.1
346 ACTOR ShieldBash : FastProjectile {
347   Radius 12
348   Height 24
349   Speed 46
350   Projectile
351   DamageType "KickPushback"
352   Species "ID"
353   +THRUGHOST
354   +THRUSPECIES
355   +FORCEPAIN
356   +NOEXTREMEDEATH
357   Decal "ShieldSmash"
358   ProjectileKickback 700
359   DeathSound "Weapons/ShieldBash"
361   States {
362   Spawn:
363     TNT1 A 2
364     Stop
366   Death:
367     TNT1 A 0 A_Explode(6*random(8,10), 48, 0, False, 48, 0, 0, " ", "KickPushback")
368     TNT1 A 0 A_Scream
369     TNT1 A 0 A_Quake(6, 24, 0, 48, "misc/silence")
370     TNT1 A 8
371     Stop
372   }