Reimplement Hellblazer. Everything's working again.

This commit is contained in:
Mari the Deer 2022-10-08 01:51:06 +02:00
commit c0dccaf870
7 changed files with 236 additions and 785 deletions

View file

@ -35,12 +35,12 @@ More weapons, because we need 'em. In addition, all the "easy to implement" mini
- ✓ Buttslam lines
* ☑ **Additional Collectibles:**
- ✓ Saya's Mug
* ***"Trimming the fat"*:**
* ***"Trimming the fat"*:**
- ✓ Remove all shell types except buckshot and golden shells
- ✓ Spreadgun loads golden shells with altfire, like in IA3
- ✓ Wallbuster tops up buckshot one cylinder at a time until stopped
- Remove all missile types except blazers, and rewrite the absolute mess of code the Hellblazer currently is
- Remove fat chodes
- Remove all missile types except blazers, and rewrite the absolute mess of code the Hellblazer currently is
- Remove fat chodes
## 1.4 update *(Fine Refinements)*:

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r547 \cu(Fri 7 Oct 20:14:38 CEST 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r547 \cu(2022-10-07 20:14:38)\c-";
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r548 \cu(Sat 8 Oct 01:51:06 CEST 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r548 \cu(2022-10-08 01:51:06)\c-";

View file

@ -41,36 +41,6 @@ Model "Hellblazer"
FrameIndex XZW1 A 0 0
}
// individual missiles for pickup model
Model "HellblazerXSub"
{
Path "models"
Model 0 "HellblazerPickup_d.3d"
Scale 0.11 0.11 0.11
AngleOffset 180
ZOffset 20
ROTATING
// Missiles
SurfaceSkin 0 6 "HellblazerMissile.png"
FrameIndex XZW1 A 0 0
SurfaceSkin 0 6 ""
SurfaceSkin 0 7 "HellblazerMissile.png"
FrameIndex XZW1 B 0 0
SurfaceSkin 0 7 ""
SurfaceSkin 0 8 "HellblazerMissile.png"
FrameIndex XZW1 C 0 0
SurfaceSkin 0 8 ""
SurfaceSkin 0 9 "HellblazerMissile.png"
FrameIndex XZW1 D 0 0
SurfaceSkin 0 9 ""
SurfaceSkin 0 10 "HellblazerMissile.png"
FrameIndex XZW1 E 0 0
SurfaceSkin 0 10 ""
SurfaceSkin 0 11 "HellblazerMissile.png"
FrameIndex XZW1 F 0 0
}
Model "HellblazerX"
{
Path "models"
@ -87,7 +57,7 @@ Model "HellblazerX"
}
// translucent part
/*Model "Hellblazer"
Model "Hellblazer"
{
Path "models"
@ -99,167 +69,148 @@ Model "HellblazerX"
Offset -2 2 1
// Still / Deselect
FrameIndex XZWL S 2 0
FrameIndex XZWL T 2 1
FrameIndex XZWL U 2 2
FrameIndex XZWL V 2 3
FrameIndex XZWL W 2 4
FrameIndex XZWL X 2 5
FrameIndex XZWL Y 2 6
FrameIndex XZWL Z 2 7
FrameIndex XZWM A 2 8 // Select
FrameIndex XZWM B 2 9
FrameIndex XZWM C 2 10
FrameIndex XZWM D 2 11
FrameIndex XZWM E 2 12
FrameIndex XZWM F 2 13
FrameIndex XZWM G 2 14
FrameIndex XZWM H 2 15
FrameIndex XZW7 A 2 0
FrameIndex XZW7 B 2 1
FrameIndex XZW7 C 2 2
FrameIndex XZW7 D 2 3
FrameIndex XZW7 E 2 4
FrameIndex XZW7 F 2 5
FrameIndex XZW7 G 2 6
FrameIndex XZW7 H 2 7
FrameIndex XZW7 I 2 8 // Select
FrameIndex XZW7 J 2 9
FrameIndex XZW7 K 2 10
FrameIndex XZW7 L 2 11
FrameIndex XZW7 M 2 12
FrameIndex XZW7 N 2 13
FrameIndex XZW7 O 2 14
FrameIndex XZW7 P 2 15
// Fire
FrameIndex XZWM I 2 17
FrameIndex XZWM J 2 18
FrameIndex XZWM K 2 19
FrameIndex XZWM L 2 20
FrameIndex XZWM M 2 21
FrameIndex XZWM N 2 22
FrameIndex XZWM O 2 23
FrameIndex XZW7 Q 2 17
FrameIndex XZW7 R 2 18
FrameIndex XZW7 S 2 19
FrameIndex XZW7 T 2 20
FrameIndex XZW7 U 2 21
FrameIndex XZW7 V 2 22
FrameIndex XZW7 W 2 23
// AltFire
FrameIndex XZWM P 2 25
FrameIndex XZWM Q 2 26
FrameIndex XZWM R 2 27
FrameIndex XZWM S 2 28
FrameIndex XZWM T 2 29
FrameIndex XZWM U 2 30
FrameIndex XZWM V 2 31
FrameIndex XZW7 X 2 25
FrameIndex XZW7 Y 2 26
FrameIndex XZW7 Z 2 27
FrameIndex XZW8 A 2 28
FrameIndex XZW8 B 2 29
FrameIndex XZW8 C 2 30
FrameIndex XZW8 D 2 31
// CycleStart/End
FrameIndex XZWM W 2 33
FrameIndex XZW8 E 2 33
// Cycle1
FrameIndex XZWM X 2 37
FrameIndex XZWM Y 2 38
FrameIndex XZWM Z 2 39
FrameIndex XZWN A 2 40
// Cycle2
FrameIndex XZWN B 2 41
FrameIndex XZWN C 2 42
FrameIndex XZWN D 2 43
FrameIndex XZWN E 2 44
FrameIndex XZWN F 2 45
FrameIndex XZWN G 2 46
FrameIndex XZWN H 2 47
// Cycle3
FrameIndex XZWN I 2 48
FrameIndex XZWN J 2 49
FrameIndex XZWN K 2 50
FrameIndex XZWN L 2 51
FrameIndex XZWN M 2 52
FrameIndex XZWN N 2 53
FrameIndex XZWN O 2 54
FrameIndex XZWN P 2 55
FrameIndex XZWN Q 2 56
FrameIndex XZWN R 2 57
FrameIndex XZW8 F 2 37
FrameIndex XZW8 G 2 38
FrameIndex XZW8 H 2 39
FrameIndex XZW8 I 2 40
// Unload
FrameIndex XZWN S 2 59
FrameIndex XZWN T 2 60
FrameIndex XZWN U 2 61
FrameIndex XZWN V 2 62
FrameIndex XZWN W 2 63
FrameIndex XZWN X 2 64
FrameIndex XZWN Y 2 65
FrameIndex XZWN Z 2 66
FrameIndex XZWO A 2 67
FrameIndex XZWO B 2 68
FrameIndex XZWO C 2 69
FrameIndex XZWO D 2 70
FrameIndex XZWO E 2 71
FrameIndex XZWO F 2 72
FrameIndex XZWO G 2 73
FrameIndex XZWO H 2 74
FrameIndex XZWO I 2 75
FrameIndex XZWO J 2 76
FrameIndex XZWO K 2 77
FrameIndex XZWO L 2 78
FrameIndex XZWO M 2 79
FrameIndex XZWO N 2 80
FrameIndex XZWO O 2 81
FrameIndex XZWO P 2 82
FrameIndex XZWO Q 2 83
FrameIndex XZWO R 2 84
FrameIndex XZW8 J 2 59
FrameIndex XZW8 K 2 60
FrameIndex XZW8 L 2 61
FrameIndex XZW8 M 2 62
FrameIndex XZW8 N 2 63
FrameIndex XZW8 O 2 64
FrameIndex XZW8 P 2 65
FrameIndex XZW8 Q 2 66
FrameIndex XZW8 R 2 67
FrameIndex XZW8 S 2 68
FrameIndex XZW8 T 2 69
FrameIndex XZW8 U 2 70
FrameIndex XZW8 V 2 71
FrameIndex XZW8 W 2 72
FrameIndex XZW8 X 2 73
FrameIndex XZW8 Y 2 74
FrameIndex XZW8 Z 2 75
FrameIndex XZW9 A 2 76
FrameIndex XZW9 B 2 77
FrameIndex XZW9 C 2 78
FrameIndex XZW9 D 2 79
FrameIndex XZW9 E 2 80
FrameIndex XZW9 F 2 81
FrameIndex XZW9 G 2 82
FrameIndex XZW9 H 2 83
FrameIndex XZW9 I 2 84
// Load
FrameIndex XZWO S 2 85
FrameIndex XZWO T 2 86
FrameIndex XZWO U 2 87
FrameIndex XZWO V 2 88
FrameIndex XZWO W 2 89
FrameIndex XZWO X 2 90
FrameIndex XZWO Y 2 91
FrameIndex XZWO Z 2 92
FrameIndex XZWP A 2 93
FrameIndex XZWP B 2 94
FrameIndex XZWP C 2 95
FrameIndex XZWP D 2 96
FrameIndex XZWP E 2 97
FrameIndex XZWP F 2 98
FrameIndex XZWP G 2 99
FrameIndex XZWP H 2 100
FrameIndex XZWP I 2 101
FrameIndex XZWP J 2 102
FrameIndex XZWP K 2 103
FrameIndex XZWP L 2 104
FrameIndex XZWP M 2 105
FrameIndex XZWP N 2 106
FrameIndex XZWP O 2 107
FrameIndex XZWP P 2 108
FrameIndex XZWP Q 2 109
FrameIndex XZWP R 2 110
FrameIndex XZWP S 2 111
FrameIndex XZW9 J 2 85
FrameIndex XZW9 K 2 86
FrameIndex XZW9 L 2 87
FrameIndex XZW9 M 2 88
FrameIndex XZW9 N 2 89
FrameIndex XZW9 O 2 90
FrameIndex XZW9 P 2 91
FrameIndex XZW9 Q 2 92
FrameIndex XZW9 R 2 93
FrameIndex XZW9 S 2 94
FrameIndex XZW9 T 2 95
FrameIndex XZW9 U 2 96
FrameIndex XZW9 V 2 97
FrameIndex XZW9 W 2 98
FrameIndex XZW9 X 2 99
FrameIndex XZW9 Y 2 100
FrameIndex XZW9 Z 2 101
FrameIndex XZWA A 2 102
FrameIndex XZWA B 2 103
FrameIndex XZWA C 2 104
FrameIndex XZWA D 2 105
FrameIndex XZWA E 2 106
FrameIndex XZWA F 2 107
FrameIndex XZWA G 2 108
FrameIndex XZWA H 2 109
FrameIndex XZWA I 2 110
FrameIndex XZWA J 2 111
// Idle
FrameIndex XZWP T 2 113
FrameIndex XZWP U 2 114
FrameIndex XZWP V 2 115
FrameIndex XZWP W 2 116
FrameIndex XZWP X 2 117
FrameIndex XZWP Y 2 118
FrameIndex XZWP Z 2 119
FrameIndex XZWQ A 2 120
FrameIndex XZWQ B 2 121
FrameIndex XZWQ C 2 122
FrameIndex XZWQ D 2 123
FrameIndex XZWQ E 2 124
FrameIndex XZWQ F 2 125
FrameIndex XZWQ G 2 126
FrameIndex XZWQ H 2 127
FrameIndex XZWQ I 2 128
FrameIndex XZWQ J 2 129
FrameIndex XZWA K 2 113
FrameIndex XZWA L 2 114
FrameIndex XZWA M 2 115
FrameIndex XZWA N 2 116
FrameIndex XZWA O 2 117
FrameIndex XZWA P 2 118
FrameIndex XZWA Q 2 119
FrameIndex XZWA R 2 120
FrameIndex XZWA S 2 121
FrameIndex XZWA T 2 122
FrameIndex XZWA U 2 123
FrameIndex XZWA V 2 124
FrameIndex XZWA W 2 125
FrameIndex XZWA X 2 126
FrameIndex XZWA Y 2 127
FrameIndex XZWA Z 2 128
FrameIndex XZWB A 2 129
// Melee
FrameIndex XZWQ K 2 131
FrameIndex XZWQ L 2 132
FrameIndex XZWQ M 2 133
FrameIndex XZWQ N 2 134
FrameIndex XZWQ O 2 135
FrameIndex XZWQ P 2 136
FrameIndex XZWQ Q 2 137
FrameIndex XZWQ R 2 138
FrameIndex XZWQ S 2 139
FrameIndex XZWQ T 2 140
FrameIndex XZWQ U 2 141
FrameIndex XZWQ V 2 142
FrameIndex XZWQ W 2 143
FrameIndex XZWQ X 2 144
FrameIndex XZWQ Y 2 145
FrameIndex XZWQ Z 2 146
FrameIndex XZWR A 2 147
FrameIndex XZWR B 2 148
FrameIndex XZWR C 2 149
FrameIndex XZWR D 2 150
FrameIndex XZWB B 2 131
FrameIndex XZWB C 2 132
FrameIndex XZWB D 2 133
FrameIndex XZWB E 2 134
FrameIndex XZWB F 2 135
FrameIndex XZWB G 2 136
FrameIndex XZWB H 2 137
FrameIndex XZWB I 2 138
FrameIndex XZWB J 2 139
FrameIndex XZWB K 2 140
FrameIndex XZWB L 2 141
FrameIndex XZWB M 2 142
FrameIndex XZWB N 2 143
FrameIndex XZWB O 2 144
FrameIndex XZWB P 2 145
FrameIndex XZWB Q 2 146
FrameIndex XZWB R 2 147
FrameIndex XZWB S 2 148
FrameIndex XZWB T 2 149
FrameIndex XZWB U 2 150
// ReloadInter
FrameIndex XZWR E 2 153
FrameIndex XZWR F 2 154
FrameIndex XZWR G 2 155
FrameIndex XZWR H 2 156
FrameIndex XZWR I 2 157
}*/
FrameIndex XZWB V 2 153
FrameIndex XZWB W 2 154
FrameIndex XZWB X 2 155
FrameIndex XZWB Y 2 156
FrameIndex XZWB Z 2 157
}
/*Model "Hellblazer"
Model "Hellblazer"
{
Path "models"
@ -273,7 +224,6 @@ Model "HellblazerX"
Scale -0.005 0.0025 0.005
Offset -2 2 1
////// MISSILES
SurfaceSkin 1 5 "HellblazerAmmo.png"
SurfaceSkin 1 6 "HellblazerAmmo.png"
SurfaceSkin 1 7 "HellblazerAmmo.png"
@ -412,443 +362,14 @@ Model "HellblazerX"
FrameIndex XZW6 S 1 148
FrameIndex XZW6 T 1 149
FrameIndex XZW6 U 1 150
////// CRACKSHOTS
SurfaceSkin 1 5 "HellblazerAmmo_Cluster.png"
SurfaceSkin 1 6 ""
SurfaceSkin 1 7 "HellblazerAmmo_Cluster.png"
SurfaceSkin 1 8 ""
// Still / Deselect
FrameIndex XZW6 V 1 0
FrameIndex XZW6 W 1 1
FrameIndex XZW6 X 1 2
FrameIndex XZW6 Y 1 3
FrameIndex XZW6 Z 1 4
FrameIndex XZW7 A 1 5
FrameIndex XZW7 B 1 6
FrameIndex XZW7 C 1 7
FrameIndex XZW7 D 1 8 // Select
FrameIndex XZW7 E 1 9
FrameIndex XZW7 F 1 10
FrameIndex XZW7 G 1 11
FrameIndex XZW7 H 1 12
FrameIndex XZW7 I 1 13
FrameIndex XZW7 J 1 14
FrameIndex XZW7 K 1 15
// Fire
FrameIndex XZW7 L 1 17
FrameIndex XZW7 M 1 18
FrameIndex XZW7 N 1 19
FrameIndex XZW7 O 1 20
FrameIndex XZW7 P 1 21
FrameIndex XZW7 Q 1 22
FrameIndex XZW7 R 1 23
// AltFire
FrameIndex XZW7 S 1 25
FrameIndex XZW7 T 1 26
FrameIndex XZW7 U 1 27
FrameIndex XZW7 V 1 28
FrameIndex XZW7 W 1 29
FrameIndex XZW7 X 1 30
FrameIndex XZW7 Y 1 31
// CycleStart/End
FrameIndex XZW7 Z 1 33
// Cycle2
FrameIndex XZW8 A 1 41
FrameIndex XZW8 B 1 42
FrameIndex XZW8 C 1 43
FrameIndex XZW8 D 1 44
FrameIndex XZW8 E 1 45
FrameIndex XZW8 F 1 46
FrameIndex XZW8 G 1 47
// Unload
FrameIndex XZW8 H 1 59
FrameIndex XZW8 I 1 60
FrameIndex XZW8 J 1 61
FrameIndex XZW8 K 1 62
FrameIndex XZW8 L 1 63
FrameIndex XZW8 M 1 64
FrameIndex XZW8 N 1 65
FrameIndex XZW8 O 1 66
FrameIndex XZW8 P 1 67
FrameIndex XZW8 Q 1 68
FrameIndex XZW8 R 1 69
FrameIndex XZW8 S 1 70
FrameIndex XZW8 T 1 71
FrameIndex XZW8 U 1 72
FrameIndex XZW8 V 1 73
FrameIndex XZW8 W 1 74
FrameIndex XZW8 X 1 75
FrameIndex XZW8 Y 1 76
FrameIndex XZW8 Z 1 77
FrameIndex XZW9 A 1 78
FrameIndex XZW9 B 1 79
FrameIndex XZW9 C 1 80
FrameIndex XZW9 D 1 81
FrameIndex XZW9 E 1 82
FrameIndex XZW9 F 1 83
FrameIndex XZW9 G 1 84
// Load
FrameIndex XZW9 H 1 85
FrameIndex XZW9 I 1 86
FrameIndex XZW9 J 1 87
FrameIndex XZW9 K 1 88
FrameIndex XZW9 L 1 89
FrameIndex XZW9 M 1 90
FrameIndex XZW9 N 1 91
FrameIndex XZW9 O 1 92
FrameIndex XZW9 P 1 93
FrameIndex XZW9 Q 1 94
FrameIndex XZW9 R 1 95
FrameIndex XZW9 S 1 96
FrameIndex XZW9 T 1 97
FrameIndex XZW9 U 1 98
FrameIndex XZW9 V 1 99
FrameIndex XZW9 W 1 100
FrameIndex XZW9 X 1 101
FrameIndex XZW9 Y 1 102
FrameIndex XZW9 Z 1 103
FrameIndex XZWA A 1 104
FrameIndex XZWA B 1 105
FrameIndex XZWA C 1 106
FrameIndex XZWA D 1 107
FrameIndex XZWA E 1 108
FrameIndex XZWA F 1 109
FrameIndex XZWA G 1 110
FrameIndex XZWA H 1 111
// Idle
FrameIndex XZWA I 1 113
FrameIndex XZWA J 1 114
FrameIndex XZWA K 1 115
FrameIndex XZWA L 1 116
FrameIndex XZWA M 1 117
FrameIndex XZWA N 1 118
FrameIndex XZWA O 1 119
FrameIndex XZWA P 1 120
FrameIndex XZWA Q 1 121
FrameIndex XZWA R 1 122
FrameIndex XZWA S 1 123
FrameIndex XZWA T 1 124
FrameIndex XZWA U 1 125
FrameIndex XZWA V 1 126
FrameIndex XZWA W 1 127
FrameIndex XZWA X 1 128
FrameIndex XZWA Y 1 129
// Melee
FrameIndex XZWA Z 1 131
FrameIndex XZWB A 1 132
FrameIndex XZWB B 1 133
FrameIndex XZWB C 1 134
FrameIndex XZWB D 1 135
FrameIndex XZWB E 1 136
FrameIndex XZWB F 1 137
FrameIndex XZWB G 1 138
FrameIndex XZWB H 1 139
FrameIndex XZWB I 1 140
FrameIndex XZWB J 1 141
FrameIndex XZWB K 1 142
FrameIndex XZWB L 1 143
FrameIndex XZWB M 1 144
FrameIndex XZWB N 1 145
FrameIndex XZWB O 1 146
FrameIndex XZWB P 1 147
FrameIndex XZWB Q 1 148
FrameIndex XZWB R 1 149
FrameIndex XZWB S 1 150
////// RAVAGERS
SurfaceSkin 1 5 "HellblazerAmmo_Fire.png"
SurfaceSkin 1 6 ""
SurfaceSkin 1 7 "HellblazerAmmo_Fire.png"
SurfaceSkin 1 8 ""
// Still / Deselect
FrameIndex XZWB T 1 0
FrameIndex XZWB U 1 1
FrameIndex XZWB V 1 2
FrameIndex XZWB W 1 3
FrameIndex XZWB X 1 4
FrameIndex XZWB Y 1 5
FrameIndex XZWB Z 1 6
FrameIndex XZWC A 1 7
FrameIndex XZWC B 1 8 // Select
FrameIndex XZWC C 1 9
FrameIndex XZWC D 1 10
FrameIndex XZWC E 1 11
FrameIndex XZWC F 1 12
FrameIndex XZWC G 1 13
FrameIndex XZWC H 1 14
FrameIndex XZWC I 1 15
// Fire
FrameIndex XZWC J 1 17
FrameIndex XZWC K 1 18
FrameIndex XZWC L 1 19
FrameIndex XZWC M 1 20
FrameIndex XZWC N 1 21
FrameIndex XZWC O 1 22
FrameIndex XZWC P 1 23
// AltFire
FrameIndex XZWC Q 1 25
FrameIndex XZWC R 1 26
FrameIndex XZWC S 1 27
FrameIndex XZWC T 1 28
FrameIndex XZWC U 1 29
FrameIndex XZWC V 1 30
FrameIndex XZWC W 1 31
// CycleStart/End
FrameIndex XZWC X 1 33
// Cycle2
FrameIndex XZWC Y 1 41
FrameIndex XZWC Z 1 42
FrameIndex XZWD A 1 43
FrameIndex XZWD B 1 44
FrameIndex XZWD C 1 45
FrameIndex XZWD D 1 46
FrameIndex XZWD E 1 47
// Unload
FrameIndex XZWD F 1 59
FrameIndex XZWD G 1 60
FrameIndex XZWD H 1 61
FrameIndex XZWD I 1 62
FrameIndex XZWD J 1 63
FrameIndex XZWD K 1 64
FrameIndex XZWD L 1 65
FrameIndex XZWD M 1 66
FrameIndex XZWD N 1 67
FrameIndex XZWD O 1 68
FrameIndex XZWD P 1 69
FrameIndex XZWD Q 1 70
FrameIndex XZWD R 1 71
FrameIndex XZWD S 1 72
FrameIndex XZWD T 1 73
FrameIndex XZWD U 1 74
FrameIndex XZWD V 1 75
FrameIndex XZWD W 1 76
FrameIndex XZWD X 1 77
FrameIndex XZWD Y 1 78
FrameIndex XZWD Z 1 79
FrameIndex XZWE A 1 80
FrameIndex XZWE B 1 81
FrameIndex XZWE C 1 82
FrameIndex XZWE D 1 83
FrameIndex XZWE E 1 84
// Load
FrameIndex XZWE F 1 85
FrameIndex XZWE G 1 86
FrameIndex XZWE H 1 87
FrameIndex XZWE I 1 88
FrameIndex XZWE J 1 89
FrameIndex XZWE K 1 90
FrameIndex XZWE L 1 91
FrameIndex XZWE M 1 92
FrameIndex XZWE N 1 93
FrameIndex XZWE O 1 94
FrameIndex XZWE P 1 95
FrameIndex XZWE Q 1 96
FrameIndex XZWE R 1 97
FrameIndex XZWE S 1 98
FrameIndex XZWE T 1 99
FrameIndex XZWE U 1 100
FrameIndex XZWE V 1 101
FrameIndex XZWE W 1 102
FrameIndex XZWE X 1 103
FrameIndex XZWE Y 1 104
FrameIndex XZWE Z 1 105
FrameIndex XZWF A 1 106
FrameIndex XZWF B 1 107
FrameIndex XZWF C 1 108
FrameIndex XZWF D 1 109
FrameIndex XZWF E 1 110
FrameIndex XZWF F 1 111
// Idle
FrameIndex XZWF G 1 113
FrameIndex XZWF H 1 114
FrameIndex XZWF I 1 115
FrameIndex XZWF J 1 116
FrameIndex XZWF K 1 117
FrameIndex XZWF L 1 118
FrameIndex XZWF M 1 119
FrameIndex XZWF N 1 120
FrameIndex XZWF O 1 121
FrameIndex XZWF P 1 122
FrameIndex XZWF Q 1 123
FrameIndex XZWF R 1 124
FrameIndex XZWF S 1 125
FrameIndex XZWF T 1 126
FrameIndex XZWF U 1 127
FrameIndex XZWF V 1 128
FrameIndex XZWF W 1 129
// Melee
FrameIndex XZWF X 1 131
FrameIndex XZWF Y 1 132
FrameIndex XZWF Z 1 133
FrameIndex XZWG A 1 134
FrameIndex XZWG B 1 135
FrameIndex XZWG C 1 136
FrameIndex XZWG D 1 137
FrameIndex XZWG E 1 138
FrameIndex XZWG F 1 139
FrameIndex XZWG G 1 140
FrameIndex XZWG H 1 141
FrameIndex XZWG I 1 142
FrameIndex XZWG J 1 143
FrameIndex XZWG K 1 144
FrameIndex XZWG L 1 145
FrameIndex XZWG M 1 146
FrameIndex XZWG N 1 147
FrameIndex XZWG O 1 148
FrameIndex XZWG P 1 149
FrameIndex XZWG Q 1 150
////// WARHEADS
SurfaceSkin 1 5 "HellblazerAmmo_Nuke.png"
SurfaceSkin 1 6 ""
SurfaceSkin 1 7 ""
SurfaceSkin 1 8 "HellblazerAmmo_Nuke.png"
// Still / Deselect
FrameIndex XZWG R 1 0
FrameIndex XZWG S 1 1
FrameIndex XZWG T 1 2
FrameIndex XZWG U 1 3
FrameIndex XZWG V 1 4
FrameIndex XZWG W 1 5
FrameIndex XZWG X 1 6
FrameIndex XZWG Y 1 7
FrameIndex XZWG Z 1 8 // Select
FrameIndex XZWH A 1 9
FrameIndex XZWH B 1 10
FrameIndex XZWH C 1 11
FrameIndex XZWH D 1 12
FrameIndex XZWH E 1 13
FrameIndex XZWH F 1 14
FrameIndex XZWH G 1 15
// Fire
FrameIndex XZWH H 1 17
FrameIndex XZWH I 1 18
FrameIndex XZWH J 1 19
FrameIndex XZWH K 1 20
FrameIndex XZWH L 1 21
FrameIndex XZWH M 1 22
FrameIndex XZWH N 1 23
// AltFire
FrameIndex XZWH O 1 25
FrameIndex XZWH P 1 26
FrameIndex XZWH Q 1 27
FrameIndex XZWH R 1 28
FrameIndex XZWH S 1 29
FrameIndex XZWH T 1 30
FrameIndex XZWH U 1 31
// CycleStart/End
FrameIndex XZWH V 1 33
// Cycle3
FrameIndex XZWH W 1 48
FrameIndex XZWH X 1 49
FrameIndex XZWH Y 1 50
FrameIndex XZWH Z 1 51
FrameIndex XZWI A 1 52
FrameIndex XZWI B 1 53
FrameIndex XZWI C 1 54
FrameIndex XZWI D 1 55
FrameIndex XZWI E 1 56
FrameIndex XZWI F 1 57
// Unload
FrameIndex XZWI G 1 59
FrameIndex XZWI H 1 60
FrameIndex XZWI I 1 61
FrameIndex XZWI J 1 62
FrameIndex XZWI K 1 63
FrameIndex XZWI L 1 64
FrameIndex XZWI M 1 65
FrameIndex XZWI N 1 66
FrameIndex XZWI O 1 67
FrameIndex XZWI P 1 68
FrameIndex XZWI Q 1 69
FrameIndex XZWI R 1 70
FrameIndex XZWI S 1 71
FrameIndex XZWI T 1 72
FrameIndex XZWI U 1 73
FrameIndex XZWI V 1 74
FrameIndex XZWI W 1 75
FrameIndex XZWI X 1 76
FrameIndex XZWI Y 1 77
FrameIndex XZWI Z 1 78
FrameIndex XZWJ A 1 79
FrameIndex XZWJ B 1 80
FrameIndex XZWJ C 1 81
FrameIndex XZWJ D 1 82
FrameIndex XZWJ E 1 83
FrameIndex XZWJ F 1 84
// Load
FrameIndex XZWJ G 1 85
FrameIndex XZWJ H 1 86
FrameIndex XZWJ I 1 87
FrameIndex XZWJ J 1 88
FrameIndex XZWJ K 1 89
FrameIndex XZWJ L 1 90
FrameIndex XZWJ M 1 91
FrameIndex XZWJ N 1 92
FrameIndex XZWJ O 1 93
FrameIndex XZWJ P 1 94
FrameIndex XZWJ Q 1 95
FrameIndex XZWJ R 1 96
FrameIndex XZWJ S 1 97
FrameIndex XZWJ T 1 98
FrameIndex XZWJ U 1 99
FrameIndex XZWJ V 1 100
FrameIndex XZWJ W 1 101
FrameIndex XZWJ X 1 102
FrameIndex XZWJ Y 1 103
FrameIndex XZWJ Z 1 104
FrameIndex XZWK A 1 105
FrameIndex XZWK B 1 106
FrameIndex XZWK C 1 107
FrameIndex XZWK D 1 108
FrameIndex XZWK E 1 109
FrameIndex XZWK F 1 110
FrameIndex XZWK G 1 111
// Idle
FrameIndex XZWK H 1 113
FrameIndex XZWK I 1 114
FrameIndex XZWK J 1 115
FrameIndex XZWK K 1 116
FrameIndex XZWK L 1 117
FrameIndex XZWK M 1 118
FrameIndex XZWK N 1 119
FrameIndex XZWK O 1 120
FrameIndex XZWK P 1 121
FrameIndex XZWK Q 1 122
FrameIndex XZWK R 1 123
FrameIndex XZWK S 1 124
FrameIndex XZWK T 1 125
FrameIndex XZWK U 1 126
FrameIndex XZWK V 1 127
FrameIndex XZWK W 1 128
FrameIndex XZWK X 1 129
// Melee
FrameIndex XZWK Y 1 131
FrameIndex XZWK Z 1 132
FrameIndex XZWL A 1 133
FrameIndex XZWL B 1 134
FrameIndex XZWL C 1 135
FrameIndex XZWL D 1 136
FrameIndex XZWL E 1 137
FrameIndex XZWL F 1 138
FrameIndex XZWL G 1 139
FrameIndex XZWL H 1 140
FrameIndex XZWL I 1 141
FrameIndex XZWL J 1 142
FrameIndex XZWL K 1 143
FrameIndex XZWL L 1 144
FrameIndex XZWL M 1 145
FrameIndex XZWL N 1 146
FrameIndex XZWL O 1 147
FrameIndex XZWL P 1 148
FrameIndex XZWL Q 1 149
FrameIndex XZWL R 1 150
// ReloadInter
SurfaceSkin 1 5 ""
SurfaceSkin 1 6 ""
SurfaceSkin 1 7 ""
SurfaceSkin 1 8 ""
FrameIndex XZWR J 1 153
FrameIndex XZWR K 1 154
FrameIndex XZWR L 1 155
FrameIndex XZWR M 1 156
FrameIndex XZWR N 1 157
}*/
FrameIndex XZW6 V 1 153
FrameIndex XZW6 W 1 154
FrameIndex XZW6 X 1 155
FrameIndex XZW6 Y 1 156
FrameIndex XZW6 Z 1 157
}

View file

@ -18,7 +18,7 @@ Model "SilverBulletMag"
Path "models"
Model 0 "SilverbulletMag_d.3d"
Skin 0 "SilverbulletAmmo_EmptyMag.png"
Skin 0 "SilverbulletAmmo_Empty.png"
Scale 0.2 0.2 0.2
USEACTORPITCH
USEACTORROLL

View file

@ -2246,8 +2246,7 @@ Class SWWMUtility
// rocket launcher spawn
static Class<Weapon> PickSWWMSlot6()
{
return PickPair('Quadravol','Hellblazer'); // temporarily swapped until Hellblazer is re-implemented
//return PickPair('Hellblazer','Quadravol');
return PickPair('Hellblazer','Quadravol');
}
// first plasma rifle spawn
static Class<Weapon> PickSWWMSlot7()

View file

@ -11,49 +11,12 @@ Class HellblazerX : GhostArtifactX
}
}
// I'll do this properly in 1.4, for now it's gross-looking
Class HellblazerXSub : GhostArtifactX
{
Hellblazer weap;
int ridx;
Default
{
RenderStyle "Normal";
}
void UpdateMe()
{
if ( !weap.bInitialized )
{
// not initialized, default to 3 loaded rockets
if ( ridx < 3 ) SetState(SpawnState+1+ridx);
else Setstate(SpawnState);
return;
}
int idx = ridx-weap.magpos;
if ( idx > 5 ) idx -= 6;
else if ( idx < 0 ) idx += 6;
if ( weap.magstate[ridx] ) SetState(SpawnState);
else SetState(SpawnState+1+idx);
}
States
{
Spawn:
TNT1 A -1;
Stop;
Missiles:
XZW1 ABCDEF -1;
Stop;
}
}
Class Hellblazer : SWWMWeapon
{
int clipcount;
bool magstate[6]; // true: rocket was spent
int magpos; // current rotation
int spinskipped;
HellblazerXSub pickuprockets[6];
int preload; // additional loaded missiles (up to 2)
Actor seektarget[3];
int seekcnt;
@ -62,7 +25,7 @@ Class Hellblazer : SWWMWeapon
transient ui SWWMProjectionData projdata;
ui TextureID LockIcon;
/*override void RenderUnderlay( RenderEvent e )
override void RenderUnderlay( RenderEvent e )
{
Super.RenderUnderlay(e);
if ( !LockIcon ) LockIcon = TexMan.CheckForTexture("graphics/HUD/HellblazerMissileLock.png");
@ -158,9 +121,8 @@ Class Hellblazer : SWWMWeapon
A_OverlayRenderStyle(PSP_WEAPON+1,STYLE_Add);
}
action state A_JumpX( StateLabel a, StateLabel g, StateLabel o = null )
action state A_JumpX( StateLabel a, StateLabel g )
{
A_Overlay(-9999,o);
A_GlassOverlay(g);
return invoker.FindState(a);
}
@ -207,7 +169,7 @@ Class Hellblazer : SWWMWeapon
int takeamt = invoker.LoadedCapacity()-invoker.clipcount;
invoker.clipcount = invoker.LoadedCapacity();
if ( !sv_infiniteammo && !FindInventory('PowerInfiniteAmmo',true) )
Ammo1.Amount = max(0,Ammo1.Amount-takeamt);
invoker.Ammo1.Amount = max(0,invoker.Ammo1.Amount-takeamt);
invoker.magpos = 0;
for ( int i=0; i<6; i++ )
invoker.magstate[i] = !(invoker.clipcount > i);
@ -218,7 +180,7 @@ Class Hellblazer : SWWMWeapon
{
int flg = WRF_ALLOWRELOAD|WRF_ALLOWZOOM|WRF_ALLOWUSER1;
// can we fire?
bool canfire = (invoker.clipcount > 0) || (Ammo1.Amount > 0);
bool canfire = (invoker.clipcount > 0) || (invoker.Ammo1.Amount > 0);
if ( !canfire ) flg |= WRF_NOPRIMARY|WRF_NOSECONDARY;
A_WeaponReady(flg);
if ( player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK) )
@ -235,26 +197,28 @@ Class Hellblazer : SWWMWeapon
// do the spin
invoker.magpos = (invoker.magpos+invoker.spinskipped)%6;
invoker.spinskipped = 0;
}*/
}
action void A_UpdatePickup()
{
for ( int i=0; i<6; i++ )
{
if ( !invoker.pickuprockets[i] )
if ( !invoker.bInitialized )
{
invoker.pickuprockets[i] = HellblazerXSub(Spawn("HellblazerXSub",pos));
invoker.pickuprockets[i].angle = angle;
invoker.pickuprockets[i].target = invoker;
invoker.pickuprockets[i].weap = invoker;
invoker.pickuprockets[i].FloatBobPhase = FloatBobPhase;
invoker.pickuprockets[i].ridx = i;
// not initialized, default to 3 loaded rockets
if ( i < 3 ) A_ChangeModel("",0,"","",6+i,"models","HellblazerMissile.png",CMDL_USESURFACESKIN,-1);
else A_ChangeModel("",0,"","",6+i,"models","",CMDL_USESURFACESKIN,-1);
continue;
}
invoker.pickuprockets[i].UpdateMe();
int idx = i-invoker.magpos;
if ( idx > 5 ) idx -= 6;
else if ( idx < 0 ) idx += 6;
if ( invoker.magstate[i] ) A_ChangeModel("",0,"","",6+idx,"models","",CMDL_USESURFACESKIN,-1);
else A_ChangeModel("",0,"","",6+idx,"models","HellblazerMissile.png",CMDL_USESURFACESKIN,-1);
}
}
/*action void A_CheckLockOn()
action void A_CheckLockOn()
{
if ( invoker.seekcnt > invoker.preload ) return;
Vector3 x, y, z, x2, y2, z2, dir;
@ -316,7 +280,7 @@ Class Hellblazer : SWWMWeapon
invoker.seekcnt++;
A_StartSound("hellblazer/lock",CHAN_WEAPON,CHANF_OVERLAP);
}
}*/
}
override void PreTravelled()
{
@ -393,7 +357,7 @@ Class Hellblazer : SWWMWeapon
Spawn:
XZW1 A -1 NoDelay A_UpdatePickup();
Stop;
/*Select:
Select:
XZW2 I 2
{
A_CheckSpinSkip();
@ -403,7 +367,7 @@ Class Hellblazer : SWWMWeapon
XZW2 JKLMNOP 2;
Goto Ready;
Select_G:
XZWM ABCDEFGH 2;
XZW7 IJKLMNOP 2;
Goto Ready_G;
Deselect:
XZW2 A 2
@ -415,15 +379,14 @@ Class Hellblazer : SWWMWeapon
XZW2 I -1 A_FullLower();
Stop;
Deselect_G:
XZWL STUVWXYZ 2;
XZWM A 2;
XZW7 ABCDEFGHI 2;
Stop;
Ready:
XZW2 A 0 A_GlassOverlay("Ready_G");
XZW2 A 1 A_HellblazerReady();
Wait;
Ready_G:
XZWL S 1;
XZW7 A 1;
Wait;
Fire:
#### # 0
@ -434,29 +397,23 @@ Class Hellblazer : SWWMWeapon
#### # 1
{
if ( invoker.clipcount <= 0 )
{
A_GlassOverlay("Unload_G");
return ResolveState("Unload");
}
return A_JumpX("Unload","Unload_G");
if ( player.cmd.buttons&BT_ATTACK )
{
invoker.preloadcnt++;
if ( (player.cmd.buttons&BT_ALTATTACK) || ((invoker.clipcount < 2) && (invoker.preloadcnt >= 10)) )
{
invoker.preloadcnt = 0;
A_GlassOverlay("Ready_G");
return ResolveState("PreFire");
return A_JumpX("PreFire","Ready_G");
}
if ( invoker.preloadcnt >= 10 )
{
invoker.preloadcnt = 0;
A_GlassOverlay("Ready_G");
return ResolveState("PreLoad");
return A_JumpX("PreLoad","Ready_G");
}
return ResolveState(null);
}
A_GlassOverlay("DoFire_G");
return ResolveState("DoFire");
return A_JumpX("DoFire","DoFire_G");
}
Wait;
DoFire:
@ -469,15 +426,14 @@ Class Hellblazer : SWWMWeapon
{
invoker.preload--;
invoker.spinskipped--;
A_GlassOverlay("DoFire_G");
return ResolveState("DoFire");
return A_JumpX("DoFire","DoFire_G");
}
return ResolveState(null);
}
Goto Cycle;
DoFire_G:
XZWL S 1;
XZWM IJKLMNO 2;
XZW7 A 1;
XZW7 QRSTUVW 2;
Goto Ready_G; // state jump to cycling is done elsewhere
AltFire:
#### # 0
@ -488,29 +444,23 @@ Class Hellblazer : SWWMWeapon
#### # 1
{
if ( invoker.clipcount <= 0 )
{
A_GlassOverlay("Unload_G");
return ResolveState("Unload");
}
return A_JumpX("Unload","Unload_G");
if ( player.cmd.buttons&BT_ALTATTACK )
{
invoker.preloadcnt++;
if ( (player.cmd.buttons&BT_ATTACK) || ((invoker.clipcount < 2) && (invoker.preloadcnt >= 10)) )
{
invoker.preloadcnt = 0;
A_GlassOverlay("Ready_G");
return ResolveState("PreAltFire");
return A_JumpX("PreAltFire","Ready_G");
}
if ( invoker.preloadcnt >= 10 )
{
invoker.preloadcnt = 0;
A_GlassOverlay("Ready_G");
return ResolveState("PreAltLoad");
return A_JumpX("PreAltLoad","Ready_G");
}
return ResolveState(null);
}
A_GlassOverlay("DoAltFire_G");
return ResolveState("DoAltFire");
return A_JumpX("DoAltFire","DoAltFire_G");
}
Wait;
DoAltFire:
@ -524,14 +474,15 @@ Class Hellblazer : SWWMWeapon
{
invoker.preload--;
invoker.spinskipped--;
return A_JumpByAmmoType("AltFire_1","AltFire_2","AltFire_3","AltFire_4","AltFire_G");
return A_JumpX("AltFire","AltFire_G");
}
return ResolveState(null);
}
Goto Cycle;
DoAltFire_G:
XZWL S 1;
XZWM PQRSTUV 2;
XZW7 A 1;
XZW7 XYZ 2;
XZW8 ABCD 2;
Goto Ready_G; // state jump to cycling is done elsewhere
PreLoad:
XZW2 A 10 A_StartSound("hellblazer/preload",CHAN_WEAPON,CHANF_OVERLAP);
@ -548,16 +499,10 @@ Class Hellblazer : SWWMWeapon
XZW2 A 1
{
if ( !(player.cmd.buttons&BT_ATTACK) )
{
A_GlassOverlay("DoFire_G");
return ResolveState("DoFire");
}
return A_JumpX("DoFire","DoFire_G");
if ( (player.cmd.buttons&BT_ALTATTACK) || (invoker.preload >= min(invoker.clipcount-1,2)) )
{
A_GlassOverlay("Ready_G");
return ResolveState("PreFire");
}
return ResolveState("PreLoad");
return A_JumpX("PreFire","Ready_G");
return A_JumpX("PreLoad","Ready_G");
}
Wait;
PreAltLoad:
@ -575,16 +520,10 @@ Class Hellblazer : SWWMWeapon
XZW2 A 1
{
if ( !(player.cmd.buttons&BT_ALTATTACK) )
{
A_GlassOverlay("DoAltFire_G");
return ResolveState("DoAltFire");
}
return A_JumpX("DoAltFire","DoAltFire_G");
if ( (player.cmd.buttons&BT_ATTACK) || (invoker.preload >= min(invoker.clipcount-1,2)) )
{
A_GlassOverlay("Ready_G");
return ResolveState("PreAltFire");
}
return ResolveState("PreAltLoad");
return A_JumpX("PreAltFire","Ready_G");
return A_JumpX("PreAltLoad","Ready_G");
}
Wait;
PreFire:
@ -596,10 +535,7 @@ Class Hellblazer : SWWMWeapon
XZW2 A 1
{
if ( !(player.cmd.buttons&BT_ATTACK) )
{
A_GlassOverlay("DoFire_G");
return ResolveState("DoFire");
}
return A_JumpX("DoFire","DoFire_G");
A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH);
if ( (player.cmd.buttons&BT_ZOOM) && !(player.oldbuttons&BT_ZOOM) )
A_CheckLockOn();
@ -621,10 +557,7 @@ Class Hellblazer : SWWMWeapon
XZW2 A 1
{
if ( !(player.cmd.buttons&BT_ALTATTACK) )
{
A_GlassOverlay("DoAltFire_G");
return ResolveState("DoAltFire");
}
return A_JumpX("DoAltFire","DoAltFire_G");
A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH);
if ( (player.cmd.buttons&BT_ZOOM) && !(player.oldbuttons&BT_ZOOM) )
A_CheckLockOn();
@ -650,55 +583,53 @@ Class Hellblazer : SWWMWeapon
XZW3 FE 2;
Goto Ready;
Cycle_G:
XZWL S 2 A_StartSound("hellblazer/shift",CHAN_WEAPON,CHANF_OVERLAP);
XZWM W 2;
XZWM X 2 A_StartSound("hellblazer/spin",CHAN_WEAPON,CHANF_OVERLAP);
XZWM YZ 2;
XZWN A 2;
XZWN A 0 A_StartSound("hellblazer/shift",CHAN_WEAPON,CHANF_OVERLAP);
XZWM XW 2;
XZW7 A 2 A_StartSound("hellblazer/shift",CHAN_WEAPON,CHANF_OVERLAP);
XZW8 E 2;
XZW8 F 2 A_StartSound("hellblazer/spin",CHAN_WEAPON,CHANF_OVERLAP);
XZW8 GH 2;
XZW8 I 2;
XZW8 I 0 A_StartSound("hellblazer/shift",CHAN_WEAPON,CHANF_OVERLAP);
XZW8 FE 2;
Goto Ready_G;
Reload:
XZW2 A 2
{
if ( invoker.clipcount >= invoker.LoadedCapacity() )
{
A_GlassOverlay("Zoom_G");
return ResolveState("Zoom");
}
A_GlassOverlay("Unload_G");
return ResolveState("Unload");
return A_JumpX("Zoom","Zoom_G");
return A_JumpX("Unload","Unload_G");
}
Goto Ready;
Unload:
XZW2 A 2;
XZW3 JKLMNOPQRSTUVWXYZ 2;
XZW4 ABCDEFGHIJ 2;
XZWR JKLMN 3;
XZW6 VWXYZ 3;
XZW4 J 0 A_SwapAmmo();
Goto Load;
Unload_G:
XZWL S 2 A_StartSound("hellblazer/meleestart",CHAN_WEAPON,CHANF_OVERLAP);
XZWN STU 2;
XZWN V 2 A_StartSound("hellblazer/open",CHAN_WEAPON,CHANF_OVERLAP);
XZWN WXYZ 2;
XZWO ABCDEFGH 2;
XZWO I 2 A_StartSound("hellblazer/magout",CHAN_WEAPON,CHANF_OVERLAP);
XZWO JKLMNOPQRS 2;
XZWR EFGHI 3;
XZW7 A 2 A_StartSound("hellblazer/meleestart",CHAN_WEAPON,CHANF_OVERLAP);
XZW8 JKL 2;
XZW8 M 2 A_StartSound("hellblazer/open",CHAN_WEAPON,CHANF_OVERLAP);
XZW8 NOPQ 2;
XZW8 RSTUVWXY 2;
XZW8 Z 2 A_StartSound("hellblazer/magout",CHAN_WEAPON,CHANF_OVERLAP);
XZW9 ABCDEFGHIJ 2;
XZWB VWXYZ 3;
Goto Load_G;
Load:
XZW4 JKLMNOPQRSTUVWXYZ 2;
XZW5 ABCDEFGHIJ 2;
Goto Ready;
Load_G:
XZWO S 2 A_PlayerReload();
XZWO TUVWXY 2;
XZWO Z 2 A_StartSound("hellblazer/magin",CHAN_WEAPON,CHANF_OVERLAP);
XZWP ABCDEFG 2;
XZWP H 2 A_StartSound("hellblazer/close",CHAN_WEAPON,CHANF_OVERLAP);
XZWP IJKL 2;
XZWP M 2 A_StartSound("hellblazer/meleestop",CHAN_WEAPON,CHANF_OVERLAP);
XZWP NOPQRS 2;
XZW9 J 2 A_PlayerReload();
XZW9 KLMNOP 2;
XZW9 Q 2 A_StartSound("hellblazer/magin",CHAN_WEAPON,CHANF_OVERLAP);
XZW9 RSTUVWX 2;
XZW9 Y 2 A_StartSound("hellblazer/close",CHAN_WEAPON,CHANF_OVERLAP);
XZW9 Z 2;
XZWA ABC 2;
XZWA D 2 A_StartSound("hellblazer/meleestop",CHAN_WEAPON,CHANF_OVERLAP);
XZWA EFGHIJ 2;
Goto Ready_G;
Zoom:
XZW2 A 2 A_GlassOverlay("Zoom_G");
@ -706,15 +637,16 @@ Class Hellblazer : SWWMWeapon
XZW6 A 2;
Goto Ready;
Zoom_G:
XZWL S 2
XZW7 A 2
{
A_StartSound("hellblazer/idle",CHAN_WEAPON,CHANF_OVERLAP);
A_PlayerCheckGun();
}
XZWP TUVWX 2;
XZWP Y 2 A_StartSound("hellblazer/dustoff",CHAN_WEAPON,CHANF_OVERLAP);
XZWP Z 2;
XZWQ ABCDEFGHIJ 2;
XZWA KLMNO 2;
XZWA P 2 A_StartSound("hellblazer/dustoff",CHAN_WEAPON,CHANF_OVERLAP);
XZWA Q 2;
XZWA RSTUVWXYZ 2;
XZWB A 2;
Goto Ready_G;
User1:
XZW2 A 2 A_GlassOverlay("User_G");
@ -724,20 +656,19 @@ Class Hellblazer : SWWMWeapon
XZW6 LMNOPQRSTU 2;
Goto Ready;
User1_G:
XZWL S 2
XZW7 A 2
{
A_StartSound("hellblazer/meleestart",CHAN_WEAPON,CHANF_OVERLAP);
A_StartSound("demolitionist/wswing",CHAN_WEAPON,CHANF_OVERLAP);
A_PlayerMelee();
}
XZWQ KLM 2;
XZWQ N 2 A_Parry(9);
XZWQ OP 1;
XZWQ Q 1 A_Melee(75,"demolitionist/whitl",1.05,1.2,1.2);
XZWQ RSTUV 2;
XZWQ W 2 A_StartSound("hellblazer/meleeend",CHAN_WEAPON,CHANF_OVERLAP);
XZWQ XYZ 2;
XZWR ABCD 2;
Goto Ready_G;*/
XZWB BCD 2;
XZWB E 2 A_Parry(9);
XZWB FG 1;
XZWB H 1 A_Melee(75,"demolitionist/whitl",1.05,1.2,1.2);
XZWB IJKLM 2;
XZWB N 2 A_StartSound("hellblazer/meleeend",CHAN_WEAPON,CHANF_OVERLAP);
XZWB OPQRSTU 2;
Goto Ready_G;
}
}

View file

@ -151,7 +151,7 @@ Class HellblazerArm : Actor
TNT1 A 1
{
Spawn("HellblazerArmTrail",pos);
SWWMUtility.DoExplosion(self,5+reactiontime/2,300+50*reactiontime,60+4*reactiontime);
SWWMUtility.DoExplosion(self,12+reactiontime,3000+500*reactiontime,80+10*reactiontime);
Vector3 pvel = SWWMUtility.Vec3FromAngles(FRandom[ExploS](0,360),FRandom[ExploS](-90,90))*FRandom[ExploS](1,5);
let s = Spawn("SWWMHalfSmoke",pos);
s.vel = pvel+vel*.2;
@ -358,7 +358,7 @@ Class HellblazerMissile : Actor
A_SetRenderStyle(1.0,STYLE_Add);
A_SprayDecal("BigRocketBlast",50);
A_SetScale(4.5);
SWWMUtility.DoExplosion(self,320,320000,200,90);
SWWMUtility.DoExplosion(self,300,320000,150,100);
A_NoGravity();
A_QuakeEx(5,5,5,15,0,1500,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:500,rollIntensity:.8);
A_StopSound(CHAN_BODY);
@ -398,7 +398,7 @@ Class HellblazerMissile : Actor
void A_SubExpl( double xscale = 1. )
{
if ( special1 < 8 ) SWWMUtility.DoExplosion(self,80-special1*10,30000-special1*3000,180+special1*15,damagetype:'Fire');
if ( special1 < 15 ) SWWMUtility.DoExplosion(self,100-special1*5,30000-special1*2000,100+special1*10,damagetype:'Fire');
special1++;
if ( (special1 <= 8) && !(special1%2) )
{