Finally add player models (sorta rudimentary but they work).
Updated blood and gore code, it's less WIP now. Updated readme with some additional notes. Removed Heretic compat player classes as they are no longer needed.
24
Readme.md
|
|
@ -12,7 +12,7 @@ This mod requires GZDoom 4.1 or later.
|
||||||
- Redeemer (slot 0)
|
- Redeemer (slot 0)
|
||||||
- 6 Degrees of Freedom movement with manual tilt (reload/zoom buttons)
|
- 6 Degrees of Freedom movement with manual tilt (reload/zoom buttons)
|
||||||
- GES Biorifle (slot 3)
|
- GES Biorifle (slot 3)
|
||||||
- Pulsegun (slot 5) (with beta animations)
|
- Pulsegun (slot 5) (with optional beta reload)
|
||||||
- Health
|
- Health
|
||||||
- Big Keg O' Health (soulsphere)
|
- Big Keg O' Health (soulsphere)
|
||||||
- Beta Super Health (medkit)
|
- Beta Super Health (medkit)
|
||||||
|
|
@ -31,12 +31,16 @@ This mod requires GZDoom 4.1 or later.
|
||||||
- Computer Map (computer area map)
|
- Computer Map (computer area map)
|
||||||
- Searchlight (light amplification visor)
|
- Searchlight (light amplification visor)
|
||||||
- Enhanced Shock Rifle (slot 4, limited ammo, invulnerability sphere)
|
- Enhanced Shock Rifle (slot 4, limited ammo, invulnerability sphere)
|
||||||
|
- Instagib DM mode
|
||||||
- UT HUD
|
- UT HUD
|
||||||
- Impact Hammer (slot 1)
|
- Impact Hammer (slot 1)
|
||||||
- Chainsaw (slot 1)
|
- Chainsaw (slot 1)
|
||||||
|
- Option to make chainsaw use ammo (random drop from enemies killed without it)
|
||||||
- Translocator (slot 1)
|
- Translocator (slot 1)
|
||||||
|
- Option to make it use regenerating ammo like in UT2k4
|
||||||
- Enforcer (slot 2)
|
- Enforcer (slot 2)
|
||||||
- Dual Enforcers (slot 2)
|
- Dual Enforcers (slot 2)
|
||||||
|
- Restored reloading (optional)
|
||||||
- Ripper (slot 6)
|
- Ripper (slot 6)
|
||||||
- Jump Boots (radsuit, has "iron boots" powerup effect to compensate)
|
- Jump Boots (radsuit, has "iron boots" powerup effect to compensate)
|
||||||
- Minigun (slot 7)
|
- Minigun (slot 7)
|
||||||
|
|
@ -48,22 +52,22 @@ This mod requires GZDoom 4.1 or later.
|
||||||
- Visual recoil affecting aim (improved A_Swing from Soundless Mound, can be
|
- Visual recoil affecting aim (improved A_Swing from Soundless Mound, can be
|
||||||
toggled)
|
toggled)
|
||||||
- UT-like weapon dropping style
|
- UT-like weapon dropping style
|
||||||
- UT player classes (sound only, no models yet)
|
- UT player classes
|
||||||
- Heretic compatibility
|
- Heretic compatibility
|
||||||
- Spanish localization
|
- Spanish localization
|
||||||
|
- UT gore system (toggleable)
|
||||||
|
|
||||||
## In progress
|
## In progress
|
||||||
|
|
||||||
- General polishing, bugfixing and rebalancing
|
- General polishing, bugfixing and rebalancing
|
||||||
- Add some more effects
|
- Add some more effects
|
||||||
- Lava/Slime footstep sounds?
|
- Lava/Slime footstep sounds?
|
||||||
- UT gore system (toggleable)
|
- French, Italian and German localizations (I'll need help for these)
|
||||||
- French localization
|
|
||||||
- Italian localization
|
|
||||||
|
|
||||||
## Ideas
|
## Ideas
|
||||||
|
|
||||||
- Chainsaw balancing (maybe give it ammo?)
|
- Figure out some alternative invincibility item. Kinda like how I improvised
|
||||||
|
the backpack replacement.
|
||||||
|
|
||||||
## Future plans
|
## Future plans
|
||||||
|
|
||||||
|
|
@ -72,14 +76,14 @@ This mod requires GZDoom 4.1 or later.
|
||||||
- Recenter the backpack mesh (it was a complete hack job to begin with)
|
- Recenter the backpack mesh (it was a complete hack job to begin with)
|
||||||
- Add ammo counters to Pulsegun, Minigun, Flak Cannon and Rocket Launcher once
|
- Add ammo counters to Pulsegun, Minigun, Flak Cannon and Rocket Launcher once
|
||||||
scripted textures are implemented
|
scripted textures are implemented
|
||||||
- Add player models once GZDoom gets a well deserved model animation system
|
- Redo player models once GZDoom gets a well deserved model animation system
|
||||||
overhaul (at the moment this would require a monumental amount of work in
|
overhaul (mainly to clean up the current, messy implementation of this)
|
||||||
the current state-tied system)
|
|
||||||
- Add weapon attachment support to player models when that is also added in
|
- Add weapon attachment support to player models when that is also added in
|
||||||
|
(at the moment all player models have an integrated placeholder weapon)
|
||||||
- Unreal 1 weapons mod and maybe also a monsters mod
|
- Unreal 1 weapons mod and maybe also a monsters mod
|
||||||
- Port some of my UT weapon mods (and maybe also some of my personal faves by
|
- Port some of my UT weapon mods (and maybe also some of my personal faves by
|
||||||
others, such as Psi Weapon Dreams)
|
others, such as Psi Weapon Dreams)
|
||||||
- Hexen compatibility ???
|
- Hexen/Strife compatibility ???
|
||||||
- Relics?
|
- Relics?
|
||||||
|
|
||||||
## Known bugs
|
## Known bugs
|
||||||
|
|
|
||||||
BIN
brightmaps/boss3.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
brightmaps/boss4.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
|
@ -1,9 +0,0 @@
|
||||||
GameInfo
|
|
||||||
{
|
|
||||||
AddEventHandlers = "RedeemerHUDHandler", "UTMainHandler"
|
|
||||||
PlayerClasses = "UTPlayerHereticCompatTMale1", "UTPlayerHereticCompatTMale2", "UTPlayerHereticCompatTFemale1", "UTPlayerHereticCompatTFemale2", "UTPlayerHereticCompatTBoss"
|
|
||||||
StatusBarClass = "UTHud"
|
|
||||||
BackpackType = "UTBackpack"
|
|
||||||
BorderFlat = "TEMPBG"
|
|
||||||
Border = 0,0,"","","","","","","",""
|
|
||||||
}
|
|
||||||
12
gldefs.txt
|
|
@ -27,6 +27,18 @@ HardwareShader Texture "models/bossheadT.png"
|
||||||
Shader "shaders/glsl/AmbientGlow_Brightmapped.fp"
|
Shader "shaders/glsl/AmbientGlow_Brightmapped.fp"
|
||||||
Texture "brighttex" "brightmaps/bossheadT.png"
|
Texture "brighttex" "brightmaps/bossheadT.png"
|
||||||
}
|
}
|
||||||
|
Brightmap Texture "models/bossgibT.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/bossheadT.png"
|
||||||
|
}
|
||||||
|
Brightmap Texture "models/boss3.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/boss3.png"
|
||||||
|
}
|
||||||
|
Brightmap Texture "models/boss4.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/boss4.png"
|
||||||
|
}
|
||||||
HardwareShader Texture "models/JBRifle2.png"
|
HardwareShader Texture "models/JBRifle2.png"
|
||||||
{
|
{
|
||||||
Shader "shaders/glsl/AmbientGlow_Brightmapped.fp"
|
Shader "shaders/glsl/AmbientGlow_Brightmapped.fp"
|
||||||
|
|
|
||||||
308
modeldef.boss
Normal file
|
|
@ -0,0 +1,308 @@
|
||||||
|
Model "UTPlayerTBoss"
|
||||||
|
{
|
||||||
|
Path "models"
|
||||||
|
Model 0 "Boss_d.3d"
|
||||||
|
SurfaceSkin 0 0 "boss1.png"
|
||||||
|
SurfaceSkin 0 1 "boss2.png"
|
||||||
|
SurfaceSkin 0 2 "boss3.png"
|
||||||
|
SurfaceSkin 0 3 "boss4.png"
|
||||||
|
SurfaceSkin 0 5 "GunPick1.png"
|
||||||
|
Scale 0.256 0.23 0.23
|
||||||
|
Offset 0 -5 29
|
||||||
|
RollOffset -90
|
||||||
|
AngleOffset -90
|
||||||
|
IGNORETRANSLATION // I'll figure out eventually how to make color changes work, but for now this is it
|
||||||
|
// Still
|
||||||
|
FrameIndex PLAY A 0 373
|
||||||
|
FrameIndex PLAY B 0 374
|
||||||
|
FrameIndex PLAY C 0 375
|
||||||
|
FrameIndex PLAY D 0 376
|
||||||
|
FrameIndex PLAY E 0 377
|
||||||
|
FrameIndex PLAY F 0 378
|
||||||
|
FrameIndex PLAY G 0 379
|
||||||
|
// Still (Air)
|
||||||
|
FrameIndex PLYA A 0 91
|
||||||
|
// Land
|
||||||
|
FrameIndex PLYL A 0 93
|
||||||
|
// Still (Swim)
|
||||||
|
FrameIndex PLYS A 0 235
|
||||||
|
FrameIndex PLYS B 0 237
|
||||||
|
FrameIndex PLYS C 0 239
|
||||||
|
FrameIndex PLYS D 0 241
|
||||||
|
FrameIndex PLYS E 0 243
|
||||||
|
FrameIndex PLYS F 0 245
|
||||||
|
FrameIndex PLYS G 0 247
|
||||||
|
// Run
|
||||||
|
FrameIndex PLAY H 0 137
|
||||||
|
FrameIndex PLAY I 0 139
|
||||||
|
FrameIndex PLAY J 0 141
|
||||||
|
FrameIndex PLAY K 0 143
|
||||||
|
FrameIndex PLAY L 0 145
|
||||||
|
// Run (Swim)
|
||||||
|
FrameIndex PLYS H 0 205
|
||||||
|
FrameIndex PLYS I 0 208
|
||||||
|
FrameIndex PLYS J 0 211
|
||||||
|
FrameIndex PLYS K 0 214
|
||||||
|
FrameIndex PLYS L 0 217
|
||||||
|
// Fire (Loop)
|
||||||
|
FrameIndex PLAY R 0 177
|
||||||
|
FrameIndex PLAY S 0 179
|
||||||
|
FrameIndex PLAY T 0 181
|
||||||
|
FrameIndex PLAY U 0 183
|
||||||
|
FrameIndex PLAY V 0 185
|
||||||
|
// Fire (Single)
|
||||||
|
FrameIndex PLAY M 0 187
|
||||||
|
FrameIndex PLAY N 0 189
|
||||||
|
FrameIndex PLAY O 0 191
|
||||||
|
FrameIndex PLAY P 0 193
|
||||||
|
FrameIndex PLAY Q 0 195
|
||||||
|
// Pain
|
||||||
|
FrameIndex PLAY W 0 0 // gut
|
||||||
|
FrameIndex PLAY X 0 90 // head
|
||||||
|
FrameIndex PLAY Y 0 95 // left
|
||||||
|
FrameIndex PLAY Z 0 136 // right
|
||||||
|
// Reload
|
||||||
|
FrameIndex PLYR A 0 400
|
||||||
|
FrameIndex PLYR B 0 401
|
||||||
|
FrameIndex PLYR C 0 402
|
||||||
|
FrameIndex PLYR D 0 403
|
||||||
|
FrameIndex PLYR E 0 404
|
||||||
|
FrameIndex PLYR F 0 405
|
||||||
|
FrameIndex PLYR G 0 406
|
||||||
|
FrameIndex PLYR H 0 407
|
||||||
|
// Crouch
|
||||||
|
FrameIndex PLYC A 0 60
|
||||||
|
FrameIndex PLYC B 0 63
|
||||||
|
FrameIndex PLYC C 0 66
|
||||||
|
FrameIndex PLYC D 0 69
|
||||||
|
FrameIndex PLYC E 0 72
|
||||||
|
// Turn
|
||||||
|
FrameIndex PLYT A 0 298
|
||||||
|
FrameIndex PLYT B 0 299
|
||||||
|
// Dead1 (Backflip)
|
||||||
|
FrameIndex PLD1 A 0 525
|
||||||
|
FrameIndex PLD1 B 0 526
|
||||||
|
FrameIndex PLD1 C 0 527
|
||||||
|
FrameIndex PLD1 D 0 528
|
||||||
|
FrameIndex PLD1 E 0 529
|
||||||
|
FrameIndex PLD1 F 0 530
|
||||||
|
FrameIndex PLD1 G 0 531
|
||||||
|
FrameIndex PLD1 H 0 532
|
||||||
|
FrameIndex PLD1 I 0 533
|
||||||
|
FrameIndex PLD1 J 0 534
|
||||||
|
FrameIndex PLD1 K 0 535
|
||||||
|
FrameIndex PLD1 L 0 536
|
||||||
|
FrameIndex PLD1 M 0 537
|
||||||
|
// Dead2 (Falling back)
|
||||||
|
FrameIndex PLD2 A 0 538
|
||||||
|
FrameIndex PLD2 B 0 539
|
||||||
|
FrameIndex PLD2 C 0 540
|
||||||
|
FrameIndex PLD2 D 0 541
|
||||||
|
FrameIndex PLD2 E 0 542
|
||||||
|
FrameIndex PLD2 F 0 543
|
||||||
|
FrameIndex PLD2 G 0 544
|
||||||
|
FrameIndex PLD2 H 0 545
|
||||||
|
FrameIndex PLD2 I 0 546
|
||||||
|
FrameIndex PLD2 J 0 547
|
||||||
|
FrameIndex PLD2 K 0 548
|
||||||
|
FrameIndex PLD2 L 0 549
|
||||||
|
FrameIndex PLD2 M 0 550
|
||||||
|
FrameIndex PLD2 N 0 551
|
||||||
|
FrameIndex PLD2 O 0 552
|
||||||
|
FrameIndex PLD2 P 0 553
|
||||||
|
// Dead3 (Falling forward)
|
||||||
|
FrameIndex PLD3 A 0 554
|
||||||
|
FrameIndex PLD3 B 0 555
|
||||||
|
FrameIndex PLD3 C 0 556
|
||||||
|
FrameIndex PLD3 D 0 557
|
||||||
|
FrameIndex PLD3 E 0 558
|
||||||
|
FrameIndex PLD3 F 0 559
|
||||||
|
FrameIndex PLD3 G 0 560
|
||||||
|
FrameIndex PLD3 H 0 561
|
||||||
|
FrameIndex PLD3 I 0 562
|
||||||
|
FrameIndex PLD3 J 0 563
|
||||||
|
FrameIndex PLD3 K 0 564
|
||||||
|
FrameIndex PLD3 L 0 565
|
||||||
|
FrameIndex PLD3 M 0 566
|
||||||
|
// Dead4 (Decapitate)
|
||||||
|
FrameIndex PLD4 A 0 567
|
||||||
|
FrameIndex PLD4 B 0 568
|
||||||
|
FrameIndex PLD4 C 0 569
|
||||||
|
FrameIndex PLD4 D 0 570
|
||||||
|
FrameIndex PLD4 E 0 571
|
||||||
|
FrameIndex PLD4 F 0 572
|
||||||
|
FrameIndex PLD4 G 0 573
|
||||||
|
FrameIndex PLD4 H 0 574
|
||||||
|
FrameIndex PLD4 I 0 575
|
||||||
|
FrameIndex PLD4 J 0 576
|
||||||
|
FrameIndex PLD4 K 0 577
|
||||||
|
FrameIndex PLD4 L 0 578
|
||||||
|
FrameIndex PLD4 M 0 579
|
||||||
|
FrameIndex PLD4 N 0 580
|
||||||
|
FrameIndex PLD4 O 0 581
|
||||||
|
FrameIndex PLD4 P 0 582
|
||||||
|
// Dead7 (Headshot)
|
||||||
|
FrameIndex PLD7 A 0 583
|
||||||
|
FrameIndex PLD7 B 0 584
|
||||||
|
FrameIndex PLD7 C 0 585
|
||||||
|
FrameIndex PLD7 D 0 586
|
||||||
|
FrameIndex PLD7 E 0 587
|
||||||
|
FrameIndex PLD7 F 0 588
|
||||||
|
FrameIndex PLD7 G 0 589
|
||||||
|
FrameIndex PLD7 H 0 590
|
||||||
|
FrameIndex PLD7 I 0 591
|
||||||
|
FrameIndex PLD7 J 0 592
|
||||||
|
FrameIndex PLD7 K 0 593
|
||||||
|
FrameIndex PLD7 L 0 594
|
||||||
|
FrameIndex PLD7 M 0 595
|
||||||
|
FrameIndex PLD7 N 0 596
|
||||||
|
FrameIndex PLD7 O 0 597
|
||||||
|
FrameIndex PLD7 P 0 598
|
||||||
|
FrameIndex PLD7 Q 0 599
|
||||||
|
FrameIndex PLD7 R 0 600
|
||||||
|
FrameIndex PLD7 S 0 601
|
||||||
|
FrameIndex PLD7 T 0 602
|
||||||
|
FrameIndex PLD7 U 0 603
|
||||||
|
// Dead8 (Stomach)
|
||||||
|
FrameIndex PLD8 A 0 604
|
||||||
|
FrameIndex PLD8 B 0 605
|
||||||
|
FrameIndex PLD8 C 0 606
|
||||||
|
FrameIndex PLD8 D 0 607
|
||||||
|
FrameIndex PLD8 E 0 608
|
||||||
|
FrameIndex PLD8 F 0 609
|
||||||
|
FrameIndex PLD8 G 0 610
|
||||||
|
FrameIndex PLD8 H 0 611
|
||||||
|
FrameIndex PLD8 I 0 612
|
||||||
|
FrameIndex PLD8 J 0 613
|
||||||
|
FrameIndex PLD8 K 0 614
|
||||||
|
FrameIndex PLD8 L 0 615
|
||||||
|
FrameIndex PLD8 M 0 616
|
||||||
|
FrameIndex PLD8 N 0 617
|
||||||
|
FrameIndex PLD8 O 0 618
|
||||||
|
FrameIndex PLD8 P 0 619
|
||||||
|
FrameIndex PLD8 Q 0 620
|
||||||
|
FrameIndex PLD8 R 0 621
|
||||||
|
// Dead9 (Zapped)
|
||||||
|
FrameIndex PLD9 A 0 622
|
||||||
|
FrameIndex PLD9 B 0 623
|
||||||
|
FrameIndex PLD9 C 0 624
|
||||||
|
FrameIndex PLD9 D 0 625
|
||||||
|
FrameIndex PLD9 E 0 626
|
||||||
|
FrameIndex PLD9 F 0 627
|
||||||
|
FrameIndex PLD9 G 0 628
|
||||||
|
FrameIndex PLD9 H 0 629
|
||||||
|
FrameIndex PLD9 I 0 630
|
||||||
|
FrameIndex PLD9 J 0 631
|
||||||
|
FrameIndex PLD9 K 0 632
|
||||||
|
FrameIndex PLD9 L 0 633
|
||||||
|
FrameIndex PLD9 M 0 634
|
||||||
|
FrameIndex PLD9 N 0 635
|
||||||
|
FrameIndex PLD9 O 0 636
|
||||||
|
FrameIndex PLD9 P 0 637
|
||||||
|
FrameIndex PLD9 Q 0 638
|
||||||
|
FrameIndex PLD9 R 0 639
|
||||||
|
FrameIndex PLD9 S 0 640
|
||||||
|
FrameIndex PLD9 T 0 641
|
||||||
|
//
|
||||||
|
FrameIndex PD9B A 0 642
|
||||||
|
FrameIndex PD9B B 0 643
|
||||||
|
FrameIndex PD9B C 0 644
|
||||||
|
FrameIndex PD9B D 0 645
|
||||||
|
FrameIndex PD9B E 0 646
|
||||||
|
FrameIndex PD9B F 0 647
|
||||||
|
FrameIndex PD9B G 0 648
|
||||||
|
FrameIndex PD9B H 0 649
|
||||||
|
FrameIndex PD9B I 0 650
|
||||||
|
FrameIndex PD9B J 0 651
|
||||||
|
// Dead11 (Spinning)
|
||||||
|
FrameIndex PD11 A 0 652
|
||||||
|
FrameIndex PD11 B 0 653
|
||||||
|
FrameIndex PD11 C 0 654
|
||||||
|
FrameIndex PD11 D 0 655
|
||||||
|
FrameIndex PD11 E 0 656
|
||||||
|
FrameIndex PD11 F 0 657
|
||||||
|
FrameIndex PD11 G 0 658
|
||||||
|
FrameIndex PD11 H 0 659
|
||||||
|
FrameIndex PD11 I 0 660
|
||||||
|
FrameIndex PD11 J 0 661
|
||||||
|
FrameIndex PD11 K 0 662
|
||||||
|
FrameIndex PD11 L 0 663
|
||||||
|
FrameIndex PD11 M 0 664
|
||||||
|
FrameIndex PD11 N 0 665
|
||||||
|
FrameIndex PD11 O 0 666
|
||||||
|
FrameIndex PD11 P 0 667
|
||||||
|
FrameIndex PD11 Q 0 668
|
||||||
|
FrameIndex PD11 R 0 669
|
||||||
|
// Taunt1
|
||||||
|
FrameIndex PLT1 A 0 5
|
||||||
|
FrameIndex PLT1 B 0 6
|
||||||
|
FrameIndex PLT1 C 0 7
|
||||||
|
FrameIndex PLT1 D 0 8
|
||||||
|
FrameIndex PLT1 E 0 9
|
||||||
|
FrameIndex PLT1 F 0 10
|
||||||
|
FrameIndex PLT1 G 0 11
|
||||||
|
FrameIndex PLT1 H 0 12
|
||||||
|
FrameIndex PLT1 I 0 13
|
||||||
|
FrameIndex PLT1 J 0 14
|
||||||
|
FrameIndex PLT1 K 0 15
|
||||||
|
FrameIndex PLT1 L 0 16
|
||||||
|
FrameIndex PLT1 M 0 17
|
||||||
|
FrameIndex PLT1 N 0 18
|
||||||
|
FrameIndex PLT1 O 0 19
|
||||||
|
FrameIndex PLT1 P 0 20
|
||||||
|
FrameIndex PLT1 Q 0 21
|
||||||
|
FrameIndex PLT1 R 0 22
|
||||||
|
FrameIndex PLT1 S 0 23
|
||||||
|
FrameIndex PLT1 T 0 24
|
||||||
|
// Victory
|
||||||
|
FrameIndex PLT2 A 0 265
|
||||||
|
FrameIndex PLT2 B 0 266
|
||||||
|
FrameIndex PLT2 C 0 267
|
||||||
|
FrameIndex PLT2 D 0 268
|
||||||
|
FrameIndex PLT2 E 0 269
|
||||||
|
FrameIndex PLT2 F 0 270
|
||||||
|
FrameIndex PLT2 G 0 271
|
||||||
|
FrameIndex PLT2 H 0 272
|
||||||
|
FrameIndex PLT2 I 0 273
|
||||||
|
FrameIndex PLT2 J 0 274
|
||||||
|
FrameIndex PLT2 K 0 275
|
||||||
|
FrameIndex PLT2 L 0 276
|
||||||
|
FrameIndex PLT2 M 0 277
|
||||||
|
FrameIndex PLT2 N 0 278
|
||||||
|
FrameIndex PLT2 O 0 279
|
||||||
|
FrameIndex PLT2 P 0 280
|
||||||
|
FrameIndex PLT2 Q 0 281
|
||||||
|
FrameIndex PLT2 R 0 282
|
||||||
|
// Wave
|
||||||
|
FrameIndex PLT3 A 0 448
|
||||||
|
FrameIndex PLT3 B 0 449
|
||||||
|
FrameIndex PLT3 C 0 450
|
||||||
|
FrameIndex PLT3 D 0 451
|
||||||
|
FrameIndex PLT3 E 0 452
|
||||||
|
FrameIndex PLT3 F 0 453
|
||||||
|
FrameIndex PLT3 G 0 454
|
||||||
|
FrameIndex PLT3 H 0 455
|
||||||
|
FrameIndex PLT3 I 0 456
|
||||||
|
FrameIndex PLT3 J 0 457
|
||||||
|
FrameIndex PLT3 K 0 458
|
||||||
|
FrameIndex PLT3 L 0 459
|
||||||
|
FrameIndex PLT3 M 0 460
|
||||||
|
FrameIndex PLT3 N 0 461
|
||||||
|
FrameIndex PLT3 O 0 462
|
||||||
|
// Thrust
|
||||||
|
FrameIndex PLT4 A 0 486
|
||||||
|
FrameIndex PLT4 B 0 487
|
||||||
|
FrameIndex PLT4 C 0 488
|
||||||
|
FrameIndex PLT4 D 0 489
|
||||||
|
FrameIndex PLT4 E 0 490
|
||||||
|
FrameIndex PLT4 F 0 491
|
||||||
|
FrameIndex PLT4 G 0 492
|
||||||
|
FrameIndex PLT4 H 0 493
|
||||||
|
FrameIndex PLT4 I 0 494
|
||||||
|
FrameIndex PLT4 J 0 495
|
||||||
|
FrameIndex PLT4 K 0 496
|
||||||
|
FrameIndex PLT4 L 0 497
|
||||||
|
FrameIndex PLT4 M 0 498
|
||||||
|
FrameIndex PLT4 N 0 499
|
||||||
|
FrameIndex PLT4 O 0 500
|
||||||
|
}
|
||||||
308
modeldef.commando
Normal file
|
|
@ -0,0 +1,308 @@
|
||||||
|
Model "UTPlayerTMale1"
|
||||||
|
{
|
||||||
|
Path "models"
|
||||||
|
Model 0 "Commando_d.3d"
|
||||||
|
SurfaceSkin 0 0 "cmdo1.png"
|
||||||
|
SurfaceSkin 0 1 "cmdo2.png"
|
||||||
|
SurfaceSkin 0 2 "cmdo3.png"
|
||||||
|
SurfaceSkin 0 3 "cmdo4.png"
|
||||||
|
SurfaceSkin 0 5 "GunPick1.png"
|
||||||
|
Scale 0.256 0.23 0.23
|
||||||
|
Offset 0 -5 29
|
||||||
|
RollOffset -90
|
||||||
|
AngleOffset -90
|
||||||
|
IGNORETRANSLATION // I'll figure out eventually how to make color changes work, but for now this is it
|
||||||
|
// Still
|
||||||
|
FrameIndex PLAY A 0 373
|
||||||
|
FrameIndex PLAY B 0 374
|
||||||
|
FrameIndex PLAY C 0 375
|
||||||
|
FrameIndex PLAY D 0 376
|
||||||
|
FrameIndex PLAY E 0 377
|
||||||
|
FrameIndex PLAY F 0 378
|
||||||
|
FrameIndex PLAY G 0 379
|
||||||
|
// Still (Air)
|
||||||
|
FrameIndex PLYA A 0 91
|
||||||
|
// Land
|
||||||
|
FrameIndex PLYL A 0 93
|
||||||
|
// Still (Swim)
|
||||||
|
FrameIndex PLYS A 0 235
|
||||||
|
FrameIndex PLYS B 0 237
|
||||||
|
FrameIndex PLYS C 0 239
|
||||||
|
FrameIndex PLYS D 0 241
|
||||||
|
FrameIndex PLYS E 0 243
|
||||||
|
FrameIndex PLYS F 0 245
|
||||||
|
FrameIndex PLYS G 0 247
|
||||||
|
// Run
|
||||||
|
FrameIndex PLAY H 0 137
|
||||||
|
FrameIndex PLAY I 0 139
|
||||||
|
FrameIndex PLAY J 0 141
|
||||||
|
FrameIndex PLAY K 0 143
|
||||||
|
FrameIndex PLAY L 0 145
|
||||||
|
// Run (Swim)
|
||||||
|
FrameIndex PLYS H 0 205
|
||||||
|
FrameIndex PLYS I 0 208
|
||||||
|
FrameIndex PLYS J 0 211
|
||||||
|
FrameIndex PLYS K 0 214
|
||||||
|
FrameIndex PLYS L 0 217
|
||||||
|
// Fire (Loop)
|
||||||
|
FrameIndex PLAY R 0 177
|
||||||
|
FrameIndex PLAY S 0 179
|
||||||
|
FrameIndex PLAY T 0 181
|
||||||
|
FrameIndex PLAY U 0 183
|
||||||
|
FrameIndex PLAY V 0 185
|
||||||
|
// Fire (Single)
|
||||||
|
FrameIndex PLAY M 0 187
|
||||||
|
FrameIndex PLAY N 0 189
|
||||||
|
FrameIndex PLAY O 0 191
|
||||||
|
FrameIndex PLAY P 0 193
|
||||||
|
FrameIndex PLAY Q 0 195
|
||||||
|
// Pain
|
||||||
|
FrameIndex PLAY W 0 0 // gut
|
||||||
|
FrameIndex PLAY X 0 90 // head
|
||||||
|
FrameIndex PLAY Y 0 95 // left
|
||||||
|
FrameIndex PLAY Z 0 136 // right
|
||||||
|
// Reload
|
||||||
|
FrameIndex PLYR A 0 400
|
||||||
|
FrameIndex PLYR B 0 401
|
||||||
|
FrameIndex PLYR C 0 402
|
||||||
|
FrameIndex PLYR D 0 403
|
||||||
|
FrameIndex PLYR E 0 404
|
||||||
|
FrameIndex PLYR F 0 405
|
||||||
|
FrameIndex PLYR G 0 406
|
||||||
|
FrameIndex PLYR H 0 407
|
||||||
|
// Crouch
|
||||||
|
FrameIndex PLYC A 0 60
|
||||||
|
FrameIndex PLYC B 0 63
|
||||||
|
FrameIndex PLYC C 0 66
|
||||||
|
FrameIndex PLYC D 0 69
|
||||||
|
FrameIndex PLYC E 0 72
|
||||||
|
// Turn
|
||||||
|
FrameIndex PLYT A 0 298
|
||||||
|
FrameIndex PLYT B 0 299
|
||||||
|
// Dead1 (Backflip)
|
||||||
|
FrameIndex PLD1 A 0 525
|
||||||
|
FrameIndex PLD1 B 0 526
|
||||||
|
FrameIndex PLD1 C 0 527
|
||||||
|
FrameIndex PLD1 D 0 528
|
||||||
|
FrameIndex PLD1 E 0 529
|
||||||
|
FrameIndex PLD1 F 0 530
|
||||||
|
FrameIndex PLD1 G 0 531
|
||||||
|
FrameIndex PLD1 H 0 532
|
||||||
|
FrameIndex PLD1 I 0 533
|
||||||
|
FrameIndex PLD1 J 0 534
|
||||||
|
FrameIndex PLD1 K 0 535
|
||||||
|
FrameIndex PLD1 L 0 536
|
||||||
|
FrameIndex PLD1 M 0 537
|
||||||
|
// Dead2 (Falling back)
|
||||||
|
FrameIndex PLD2 A 0 538
|
||||||
|
FrameIndex PLD2 B 0 539
|
||||||
|
FrameIndex PLD2 C 0 540
|
||||||
|
FrameIndex PLD2 D 0 541
|
||||||
|
FrameIndex PLD2 E 0 542
|
||||||
|
FrameIndex PLD2 F 0 543
|
||||||
|
FrameIndex PLD2 G 0 544
|
||||||
|
FrameIndex PLD2 H 0 545
|
||||||
|
FrameIndex PLD2 I 0 546
|
||||||
|
FrameIndex PLD2 J 0 547
|
||||||
|
FrameIndex PLD2 K 0 548
|
||||||
|
FrameIndex PLD2 L 0 549
|
||||||
|
FrameIndex PLD2 M 0 550
|
||||||
|
FrameIndex PLD2 N 0 551
|
||||||
|
FrameIndex PLD2 O 0 552
|
||||||
|
FrameIndex PLD2 P 0 553
|
||||||
|
// Dead3 (Falling forward)
|
||||||
|
FrameIndex PLD3 A 0 554
|
||||||
|
FrameIndex PLD3 B 0 555
|
||||||
|
FrameIndex PLD3 C 0 556
|
||||||
|
FrameIndex PLD3 D 0 557
|
||||||
|
FrameIndex PLD3 E 0 558
|
||||||
|
FrameIndex PLD3 F 0 559
|
||||||
|
FrameIndex PLD3 G 0 560
|
||||||
|
FrameIndex PLD3 H 0 561
|
||||||
|
FrameIndex PLD3 I 0 562
|
||||||
|
FrameIndex PLD3 J 0 563
|
||||||
|
FrameIndex PLD3 K 0 564
|
||||||
|
FrameIndex PLD3 L 0 565
|
||||||
|
FrameIndex PLD3 M 0 566
|
||||||
|
// Dead4 (Decapitate)
|
||||||
|
FrameIndex PLD4 A 0 567
|
||||||
|
FrameIndex PLD4 B 0 568
|
||||||
|
FrameIndex PLD4 C 0 569
|
||||||
|
FrameIndex PLD4 D 0 570
|
||||||
|
FrameIndex PLD4 E 0 571
|
||||||
|
FrameIndex PLD4 F 0 572
|
||||||
|
FrameIndex PLD4 G 0 573
|
||||||
|
FrameIndex PLD4 H 0 574
|
||||||
|
FrameIndex PLD4 I 0 575
|
||||||
|
FrameIndex PLD4 J 0 576
|
||||||
|
FrameIndex PLD4 K 0 577
|
||||||
|
FrameIndex PLD4 L 0 578
|
||||||
|
FrameIndex PLD4 M 0 579
|
||||||
|
FrameIndex PLD4 N 0 580
|
||||||
|
FrameIndex PLD4 O 0 581
|
||||||
|
FrameIndex PLD4 P 0 582
|
||||||
|
// Dead7 (Headshot)
|
||||||
|
FrameIndex PLD7 A 0 583
|
||||||
|
FrameIndex PLD7 B 0 584
|
||||||
|
FrameIndex PLD7 C 0 585
|
||||||
|
FrameIndex PLD7 D 0 586
|
||||||
|
FrameIndex PLD7 E 0 587
|
||||||
|
FrameIndex PLD7 F 0 588
|
||||||
|
FrameIndex PLD7 G 0 589
|
||||||
|
FrameIndex PLD7 H 0 590
|
||||||
|
FrameIndex PLD7 I 0 591
|
||||||
|
FrameIndex PLD7 J 0 592
|
||||||
|
FrameIndex PLD7 K 0 593
|
||||||
|
FrameIndex PLD7 L 0 594
|
||||||
|
FrameIndex PLD7 M 0 595
|
||||||
|
FrameIndex PLD7 N 0 596
|
||||||
|
FrameIndex PLD7 O 0 597
|
||||||
|
FrameIndex PLD7 P 0 598
|
||||||
|
FrameIndex PLD7 Q 0 599
|
||||||
|
FrameIndex PLD7 R 0 600
|
||||||
|
FrameIndex PLD7 S 0 601
|
||||||
|
FrameIndex PLD7 T 0 602
|
||||||
|
FrameIndex PLD7 U 0 603
|
||||||
|
// Dead8 (Stomach)
|
||||||
|
FrameIndex PLD8 A 0 604
|
||||||
|
FrameIndex PLD8 B 0 605
|
||||||
|
FrameIndex PLD8 C 0 606
|
||||||
|
FrameIndex PLD8 D 0 607
|
||||||
|
FrameIndex PLD8 E 0 608
|
||||||
|
FrameIndex PLD8 F 0 609
|
||||||
|
FrameIndex PLD8 G 0 610
|
||||||
|
FrameIndex PLD8 H 0 611
|
||||||
|
FrameIndex PLD8 I 0 612
|
||||||
|
FrameIndex PLD8 J 0 613
|
||||||
|
FrameIndex PLD8 K 0 614
|
||||||
|
FrameIndex PLD8 L 0 615
|
||||||
|
FrameIndex PLD8 M 0 616
|
||||||
|
FrameIndex PLD8 N 0 617
|
||||||
|
FrameIndex PLD8 O 0 618
|
||||||
|
FrameIndex PLD8 P 0 619
|
||||||
|
FrameIndex PLD8 Q 0 620
|
||||||
|
FrameIndex PLD8 R 0 621
|
||||||
|
// Dead9 (Zapped)
|
||||||
|
FrameIndex PLD9 A 0 622
|
||||||
|
FrameIndex PLD9 B 0 623
|
||||||
|
FrameIndex PLD9 C 0 624
|
||||||
|
FrameIndex PLD9 D 0 625
|
||||||
|
FrameIndex PLD9 E 0 626
|
||||||
|
FrameIndex PLD9 F 0 627
|
||||||
|
FrameIndex PLD9 G 0 628
|
||||||
|
FrameIndex PLD9 H 0 629
|
||||||
|
FrameIndex PLD9 I 0 630
|
||||||
|
FrameIndex PLD9 J 0 631
|
||||||
|
FrameIndex PLD9 K 0 632
|
||||||
|
FrameIndex PLD9 L 0 633
|
||||||
|
FrameIndex PLD9 M 0 634
|
||||||
|
FrameIndex PLD9 N 0 635
|
||||||
|
FrameIndex PLD9 O 0 636
|
||||||
|
FrameIndex PLD9 P 0 637
|
||||||
|
FrameIndex PLD9 Q 0 638
|
||||||
|
FrameIndex PLD9 R 0 639
|
||||||
|
FrameIndex PLD9 S 0 640
|
||||||
|
FrameIndex PLD9 T 0 641
|
||||||
|
//
|
||||||
|
FrameIndex PD9B A 0 642
|
||||||
|
FrameIndex PD9B B 0 643
|
||||||
|
FrameIndex PD9B C 0 644
|
||||||
|
FrameIndex PD9B D 0 645
|
||||||
|
FrameIndex PD9B E 0 646
|
||||||
|
FrameIndex PD9B F 0 647
|
||||||
|
FrameIndex PD9B G 0 648
|
||||||
|
FrameIndex PD9B H 0 649
|
||||||
|
FrameIndex PD9B I 0 650
|
||||||
|
FrameIndex PD9B J 0 651
|
||||||
|
// Dead11 (Spinning)
|
||||||
|
FrameIndex PD11 A 0 652
|
||||||
|
FrameIndex PD11 B 0 653
|
||||||
|
FrameIndex PD11 C 0 654
|
||||||
|
FrameIndex PD11 D 0 655
|
||||||
|
FrameIndex PD11 E 0 656
|
||||||
|
FrameIndex PD11 F 0 657
|
||||||
|
FrameIndex PD11 G 0 658
|
||||||
|
FrameIndex PD11 H 0 659
|
||||||
|
FrameIndex PD11 I 0 660
|
||||||
|
FrameIndex PD11 J 0 661
|
||||||
|
FrameIndex PD11 K 0 662
|
||||||
|
FrameIndex PD11 L 0 663
|
||||||
|
FrameIndex PD11 M 0 664
|
||||||
|
FrameIndex PD11 N 0 665
|
||||||
|
FrameIndex PD11 O 0 666
|
||||||
|
FrameIndex PD11 P 0 667
|
||||||
|
FrameIndex PD11 Q 0 668
|
||||||
|
FrameIndex PD11 R 0 669
|
||||||
|
// Taunt1
|
||||||
|
FrameIndex PLT1 A 0 5
|
||||||
|
FrameIndex PLT1 B 0 6
|
||||||
|
FrameIndex PLT1 C 0 7
|
||||||
|
FrameIndex PLT1 D 0 8
|
||||||
|
FrameIndex PLT1 E 0 9
|
||||||
|
FrameIndex PLT1 F 0 10
|
||||||
|
FrameIndex PLT1 G 0 11
|
||||||
|
FrameIndex PLT1 H 0 12
|
||||||
|
FrameIndex PLT1 I 0 13
|
||||||
|
FrameIndex PLT1 J 0 14
|
||||||
|
FrameIndex PLT1 K 0 15
|
||||||
|
FrameIndex PLT1 L 0 16
|
||||||
|
FrameIndex PLT1 M 0 17
|
||||||
|
FrameIndex PLT1 N 0 18
|
||||||
|
FrameIndex PLT1 O 0 19
|
||||||
|
FrameIndex PLT1 P 0 20
|
||||||
|
FrameIndex PLT1 Q 0 21
|
||||||
|
FrameIndex PLT1 R 0 22
|
||||||
|
FrameIndex PLT1 S 0 23
|
||||||
|
FrameIndex PLT1 T 0 24
|
||||||
|
// Victory
|
||||||
|
FrameIndex PLT2 A 0 265
|
||||||
|
FrameIndex PLT2 B 0 266
|
||||||
|
FrameIndex PLT2 C 0 267
|
||||||
|
FrameIndex PLT2 D 0 268
|
||||||
|
FrameIndex PLT2 E 0 269
|
||||||
|
FrameIndex PLT2 F 0 270
|
||||||
|
FrameIndex PLT2 G 0 271
|
||||||
|
FrameIndex PLT2 H 0 272
|
||||||
|
FrameIndex PLT2 I 0 273
|
||||||
|
FrameIndex PLT2 J 0 274
|
||||||
|
FrameIndex PLT2 K 0 275
|
||||||
|
FrameIndex PLT2 L 0 276
|
||||||
|
FrameIndex PLT2 M 0 277
|
||||||
|
FrameIndex PLT2 N 0 278
|
||||||
|
FrameIndex PLT2 O 0 279
|
||||||
|
FrameIndex PLT2 P 0 280
|
||||||
|
FrameIndex PLT2 Q 0 281
|
||||||
|
FrameIndex PLT2 R 0 282
|
||||||
|
// Wave
|
||||||
|
FrameIndex PLT3 A 0 448
|
||||||
|
FrameIndex PLT3 B 0 449
|
||||||
|
FrameIndex PLT3 C 0 450
|
||||||
|
FrameIndex PLT3 D 0 451
|
||||||
|
FrameIndex PLT3 E 0 452
|
||||||
|
FrameIndex PLT3 F 0 453
|
||||||
|
FrameIndex PLT3 G 0 454
|
||||||
|
FrameIndex PLT3 H 0 455
|
||||||
|
FrameIndex PLT3 I 0 456
|
||||||
|
FrameIndex PLT3 J 0 457
|
||||||
|
FrameIndex PLT3 K 0 458
|
||||||
|
FrameIndex PLT3 L 0 459
|
||||||
|
FrameIndex PLT3 M 0 460
|
||||||
|
FrameIndex PLT3 N 0 461
|
||||||
|
FrameIndex PLT3 O 0 462
|
||||||
|
// Thrust
|
||||||
|
FrameIndex PLT4 A 0 486
|
||||||
|
FrameIndex PLT4 B 0 487
|
||||||
|
FrameIndex PLT4 C 0 488
|
||||||
|
FrameIndex PLT4 D 0 489
|
||||||
|
FrameIndex PLT4 E 0 490
|
||||||
|
FrameIndex PLT4 F 0 491
|
||||||
|
FrameIndex PLT4 G 0 492
|
||||||
|
FrameIndex PLT4 H 0 493
|
||||||
|
FrameIndex PLT4 I 0 494
|
||||||
|
FrameIndex PLT4 J 0 495
|
||||||
|
FrameIndex PLT4 K 0 496
|
||||||
|
FrameIndex PLT4 L 0 497
|
||||||
|
FrameIndex PLT4 M 0 498
|
||||||
|
FrameIndex PLT4 N 0 499
|
||||||
|
FrameIndex PLT4 O 0 500
|
||||||
|
}
|
||||||
283
modeldef.fcommando
Normal file
|
|
@ -0,0 +1,283 @@
|
||||||
|
Model "UTPlayerTFemale1"
|
||||||
|
{
|
||||||
|
Path "models"
|
||||||
|
Model 0 "FCommando_d.3d"
|
||||||
|
SurfaceSkin 0 0 "fcmd1.png"
|
||||||
|
SurfaceSkin 0 1 "fcmd2.png"
|
||||||
|
SurfaceSkin 0 2 "fcmd4.png"
|
||||||
|
SurfaceSkin 0 4 "GunPick1.png"
|
||||||
|
Scale 0.256 0.23 0.23
|
||||||
|
Offset -3 3 36
|
||||||
|
RollOffset -90
|
||||||
|
AngleOffset -90
|
||||||
|
IGNORETRANSLATION // I'll figure out eventually how to make color changes work, but for now this is it
|
||||||
|
// Still
|
||||||
|
FrameIndex PLAY A 0 359
|
||||||
|
FrameIndex PLAY B 0 360
|
||||||
|
FrameIndex PLAY C 0 361
|
||||||
|
FrameIndex PLAY D 0 362
|
||||||
|
FrameIndex PLAY E 0 363
|
||||||
|
FrameIndex PLAY F 0 364
|
||||||
|
FrameIndex PLAY G 0 365
|
||||||
|
// Still (Air)
|
||||||
|
FrameIndex PLYA A 0 84
|
||||||
|
// Land
|
||||||
|
FrameIndex PLYL A 0 86
|
||||||
|
// Still (Swim)
|
||||||
|
FrameIndex PLYS A 0 229
|
||||||
|
FrameIndex PLYS B 0 231
|
||||||
|
FrameIndex PLYS C 0 233
|
||||||
|
FrameIndex PLYS D 0 235
|
||||||
|
FrameIndex PLYS E 0 237
|
||||||
|
FrameIndex PLYS F 0 239
|
||||||
|
FrameIndex PLYS G 0 241
|
||||||
|
// Run
|
||||||
|
FrameIndex PLAY H 0 125
|
||||||
|
FrameIndex PLAY I 0 127
|
||||||
|
FrameIndex PLAY J 0 129
|
||||||
|
FrameIndex PLAY K 0 131
|
||||||
|
FrameIndex PLAY L 0 133
|
||||||
|
// Run (Swim)
|
||||||
|
FrameIndex PLYS H 0 193
|
||||||
|
FrameIndex PLYS I 0 196
|
||||||
|
FrameIndex PLYS J 0 199
|
||||||
|
FrameIndex PLYS K 0 202
|
||||||
|
FrameIndex PLYS L 0 205
|
||||||
|
// Fire (Loop)
|
||||||
|
FrameIndex PLAY R 0 165
|
||||||
|
FrameIndex PLAY S 0 167
|
||||||
|
FrameIndex PLAY T 0 169
|
||||||
|
FrameIndex PLAY U 0 171
|
||||||
|
FrameIndex PLAY V 0 173
|
||||||
|
// Fire (Single)
|
||||||
|
FrameIndex PLAY M 0 175
|
||||||
|
FrameIndex PLAY N 0 177
|
||||||
|
FrameIndex PLAY O 0 179
|
||||||
|
FrameIndex PLAY P 0 181
|
||||||
|
FrameIndex PLAY Q 0 183
|
||||||
|
// Pain
|
||||||
|
FrameIndex PLAY W 0 0 // gut
|
||||||
|
FrameIndex PLAY X 0 83 // head
|
||||||
|
FrameIndex PLAY Y 0 88 // left
|
||||||
|
FrameIndex PLAY Z 0 124 // right
|
||||||
|
// Reload
|
||||||
|
FrameIndex PLYR A 0 386
|
||||||
|
FrameIndex PLYR B 0 387
|
||||||
|
FrameIndex PLYR C 0 388
|
||||||
|
FrameIndex PLYR D 0 389
|
||||||
|
FrameIndex PLYR E 0 390
|
||||||
|
FrameIndex PLYR F 0 391
|
||||||
|
// Crouch
|
||||||
|
FrameIndex PLYC A 0 53
|
||||||
|
FrameIndex PLYC B 0 56
|
||||||
|
FrameIndex PLYC C 0 59
|
||||||
|
FrameIndex PLYC D 0 62
|
||||||
|
FrameIndex PLYC E 0 75
|
||||||
|
// Turn
|
||||||
|
FrameIndex PLYT A 0 284
|
||||||
|
FrameIndex PLYT B 0 285
|
||||||
|
// Dead1 (Stomach)
|
||||||
|
FrameIndex PLD1 A 0 573
|
||||||
|
FrameIndex PLD1 B 0 574
|
||||||
|
FrameIndex PLD1 C 0 575
|
||||||
|
FrameIndex PLD1 D 0 576
|
||||||
|
FrameIndex PLD1 E 0 577
|
||||||
|
FrameIndex PLD1 F 0 578
|
||||||
|
FrameIndex PLD1 G 0 579
|
||||||
|
FrameIndex PLD1 H 0 580
|
||||||
|
FrameIndex PLD1 I 0 581
|
||||||
|
FrameIndex PLD1 J 0 582
|
||||||
|
FrameIndex PLD1 K 0 583
|
||||||
|
FrameIndex PLD1 L 0 584
|
||||||
|
FrameIndex PLD1 M 0 585
|
||||||
|
FrameIndex PLD1 N 0 586
|
||||||
|
FrameIndex PLD1 O 0 587
|
||||||
|
FrameIndex PLD1 P 0 588
|
||||||
|
FrameIndex PLD1 Q 0 589
|
||||||
|
FrameIndex PLD1 R 0 590
|
||||||
|
FrameIndex PLD1 S 0 591
|
||||||
|
FrameIndex PLD1 T 0 592
|
||||||
|
FrameIndex PLD1 U 0 593
|
||||||
|
FrameIndex PLD1 V 0 594
|
||||||
|
FrameIndex PLD1 W 0 595
|
||||||
|
// Dead2 (Spin back)
|
||||||
|
FrameIndex PLD2 A 0 515
|
||||||
|
FrameIndex PLD2 B 0 516
|
||||||
|
FrameIndex PLD2 C 0 517
|
||||||
|
FrameIndex PLD2 D 0 518
|
||||||
|
FrameIndex PLD2 E 0 519
|
||||||
|
FrameIndex PLD2 F 0 520
|
||||||
|
FrameIndex PLD2 G 0 521
|
||||||
|
FrameIndex PLD2 H 0 522
|
||||||
|
FrameIndex PLD2 I 0 523
|
||||||
|
FrameIndex PLD2 J 0 524
|
||||||
|
FrameIndex PLD2 K 0 525
|
||||||
|
FrameIndex PLD2 L 0 526
|
||||||
|
FrameIndex PLD2 M 0 527
|
||||||
|
FrameIndex PLD2 N 0 528
|
||||||
|
FrameIndex PLD2 O 0 529
|
||||||
|
FrameIndex PLD2 P 0 530
|
||||||
|
FrameIndex PLD2 Q 0 531
|
||||||
|
FrameIndex PLD2 R 0 532
|
||||||
|
// Dead3 (Fall back)
|
||||||
|
FrameIndex PLD3 A 0 533
|
||||||
|
FrameIndex PLD3 B 0 534
|
||||||
|
FrameIndex PLD3 C 0 535
|
||||||
|
FrameIndex PLD3 D 0 536
|
||||||
|
FrameIndex PLD3 E 0 537
|
||||||
|
FrameIndex PLD3 F 0 538
|
||||||
|
FrameIndex PLD3 G 0 539
|
||||||
|
FrameIndex PLD3 H 0 540
|
||||||
|
FrameIndex PLD3 I 0 541
|
||||||
|
FrameIndex PLD3 J 0 542
|
||||||
|
FrameIndex PLD3 K 0 543
|
||||||
|
FrameIndex PLD3 L 0 544
|
||||||
|
FrameIndex PLD3 M 0 545
|
||||||
|
FrameIndex PLD3 N 0 546
|
||||||
|
FrameIndex PLD3 O 0 547
|
||||||
|
FrameIndex PLD3 P 0 548
|
||||||
|
// Dead4 (Fall forward)
|
||||||
|
FrameIndex PLD4 A 0 549
|
||||||
|
FrameIndex PLD4 B 0 550
|
||||||
|
FrameIndex PLD4 C 0 551
|
||||||
|
FrameIndex PLD4 D 0 552
|
||||||
|
FrameIndex PLD4 E 0 553
|
||||||
|
FrameIndex PLD4 F 0 554
|
||||||
|
FrameIndex PLD4 G 0 555
|
||||||
|
FrameIndex PLD4 H 0 556
|
||||||
|
FrameIndex PLD4 I 0 557
|
||||||
|
FrameIndex PLD4 J 0 558
|
||||||
|
FrameIndex PLD4 K 0 559
|
||||||
|
FrameIndex PLD4 L 0 560
|
||||||
|
FrameIndex PLD4 M 0 561
|
||||||
|
// Dead5 (Leg blown)
|
||||||
|
FrameIndex PLD5 A 0 596
|
||||||
|
FrameIndex PLD5 B 0 597
|
||||||
|
FrameIndex PLD5 C 0 598
|
||||||
|
FrameIndex PLD5 D 0 599
|
||||||
|
FrameIndex PLD5 E 0 600
|
||||||
|
FrameIndex PLD5 F 0 601
|
||||||
|
FrameIndex PLD5 G 0 602
|
||||||
|
FrameIndex PLD5 H 0 603
|
||||||
|
FrameIndex PLD5 I 0 604
|
||||||
|
FrameIndex PLD5 J 0 605
|
||||||
|
FrameIndex PLD5 K 0 606
|
||||||
|
FrameIndex PLD5 L 0 607
|
||||||
|
FrameIndex PLD5 M 0 608
|
||||||
|
// Dead6 (Decapitate)
|
||||||
|
FrameIndex PLD6 A 0 562
|
||||||
|
FrameIndex PLD6 B 0 563
|
||||||
|
FrameIndex PLD6 C 0 564
|
||||||
|
FrameIndex PLD6 D 0 565
|
||||||
|
FrameIndex PLD6 E 0 566
|
||||||
|
FrameIndex PLD6 F 0 567
|
||||||
|
FrameIndex PLD6 G 0 568
|
||||||
|
FrameIndex PLD6 H 0 569
|
||||||
|
FrameIndex PLD6 I 0 570
|
||||||
|
FrameIndex PLD6 J 0 571
|
||||||
|
FrameIndex PLD6 K 0 572
|
||||||
|
// Dead7 (Turn and fall)
|
||||||
|
FrameIndex PLD7 A 0 640
|
||||||
|
FrameIndex PLD7 B 0 641
|
||||||
|
FrameIndex PLD7 C 0 642
|
||||||
|
FrameIndex PLD7 D 0 643
|
||||||
|
FrameIndex PLD7 E 0 644
|
||||||
|
FrameIndex PLD7 F 0 645
|
||||||
|
FrameIndex PLD7 G 0 646
|
||||||
|
FrameIndex PLD7 H 0 647
|
||||||
|
FrameIndex PLD7 I 0 648
|
||||||
|
FrameIndex PLD7 J 0 649
|
||||||
|
FrameIndex PLD7 K 0 650
|
||||||
|
// Dead9 (Zapped)
|
||||||
|
FrameIndex PLD9 A 0 609
|
||||||
|
FrameIndex PLD9 B 0 610
|
||||||
|
FrameIndex PLD9 C 0 611
|
||||||
|
FrameIndex PLD9 D 0 612
|
||||||
|
FrameIndex PLD9 E 0 613
|
||||||
|
FrameIndex PLD9 F 0 614
|
||||||
|
FrameIndex PLD9 G 0 615
|
||||||
|
FrameIndex PLD9 H 0 616
|
||||||
|
FrameIndex PLD9 I 0 617
|
||||||
|
FrameIndex PLD9 J 0 618
|
||||||
|
FrameIndex PLD9 K 0 619
|
||||||
|
FrameIndex PLD9 L 0 620
|
||||||
|
FrameIndex PLD9 M 0 621
|
||||||
|
FrameIndex PLD9 N 0 622
|
||||||
|
FrameIndex PLD9 O 0 623
|
||||||
|
FrameIndex PLD9 P 0 624
|
||||||
|
FrameIndex PLD9 Q 0 625
|
||||||
|
FrameIndex PLD9 R 0 626
|
||||||
|
FrameIndex PLD9 S 0 627
|
||||||
|
FrameIndex PLD9 T 0 628
|
||||||
|
//
|
||||||
|
FrameIndex PD9B A 0 629
|
||||||
|
FrameIndex PD9B B 0 630
|
||||||
|
FrameIndex PD9B C 0 631
|
||||||
|
FrameIndex PD9B D 0 632
|
||||||
|
FrameIndex PD9B E 0 633
|
||||||
|
FrameIndex PD9B F 0 634
|
||||||
|
FrameIndex PD9B G 0 635
|
||||||
|
FrameIndex PD9B H 0 636
|
||||||
|
FrameIndex PD9B I 0 637
|
||||||
|
FrameIndex PD9B J 0 638
|
||||||
|
FrameIndex PD9B K 0 639
|
||||||
|
// Taunt1
|
||||||
|
FrameIndex PLT1 A 0 5
|
||||||
|
FrameIndex PLT1 B 0 6
|
||||||
|
FrameIndex PLT1 C 0 7
|
||||||
|
FrameIndex PLT1 D 0 8
|
||||||
|
FrameIndex PLT1 E 0 9
|
||||||
|
FrameIndex PLT1 F 0 10
|
||||||
|
FrameIndex PLT1 G 0 11
|
||||||
|
FrameIndex PLT1 H 0 12
|
||||||
|
FrameIndex PLT1 I 0 13
|
||||||
|
FrameIndex PLT1 J 0 14
|
||||||
|
FrameIndex PLT1 K 0 15
|
||||||
|
FrameIndex PLT1 L 0 16
|
||||||
|
FrameIndex PLT1 M 0 17
|
||||||
|
FrameIndex PLT1 N 0 18
|
||||||
|
FrameIndex PLT1 O 0 19
|
||||||
|
// Victory
|
||||||
|
FrameIndex PLT2 A 0 259
|
||||||
|
FrameIndex PLT2 B 0 260
|
||||||
|
FrameIndex PLT2 C 0 261
|
||||||
|
FrameIndex PLT2 D 0 262
|
||||||
|
FrameIndex PLT2 E 0 263
|
||||||
|
FrameIndex PLT2 F 0 264
|
||||||
|
FrameIndex PLT2 G 0 265
|
||||||
|
FrameIndex PLT2 H 0 266
|
||||||
|
FrameIndex PLT2 I 0 267
|
||||||
|
FrameIndex PLT2 J 0 268
|
||||||
|
// Wave
|
||||||
|
FrameIndex PLT3 A 0 427
|
||||||
|
FrameIndex PLT3 B 0 428
|
||||||
|
FrameIndex PLT3 C 0 429
|
||||||
|
FrameIndex PLT3 D 0 430
|
||||||
|
FrameIndex PLT3 E 0 431
|
||||||
|
FrameIndex PLT3 F 0 432
|
||||||
|
FrameIndex PLT3 G 0 433
|
||||||
|
FrameIndex PLT3 H 0 434
|
||||||
|
FrameIndex PLT3 I 0 435
|
||||||
|
FrameIndex PLT3 J 0 436
|
||||||
|
FrameIndex PLT3 K 0 437
|
||||||
|
FrameIndex PLT3 L 0 438
|
||||||
|
FrameIndex PLT3 M 0 439
|
||||||
|
FrameIndex PLT3 N 0 440
|
||||||
|
FrameIndex PLT3 O 0 441
|
||||||
|
// Thrust
|
||||||
|
FrameIndex PLT4 A 0 465
|
||||||
|
FrameIndex PLT4 B 0 466
|
||||||
|
FrameIndex PLT4 C 0 467
|
||||||
|
FrameIndex PLT4 D 0 468
|
||||||
|
FrameIndex PLT4 E 0 469
|
||||||
|
FrameIndex PLT4 F 0 470
|
||||||
|
FrameIndex PLT4 G 0 471
|
||||||
|
FrameIndex PLT4 H 0 472
|
||||||
|
FrameIndex PLT4 I 0 473
|
||||||
|
FrameIndex PLT4 J 0 474
|
||||||
|
FrameIndex PLT4 K 0 475
|
||||||
|
FrameIndex PLT4 L 0 476
|
||||||
|
FrameIndex PLT4 M 0 477
|
||||||
|
FrameIndex PLT4 N 0 478
|
||||||
|
FrameIndex PLT4 O 0 479
|
||||||
|
}
|
||||||
|
|
@ -130,7 +130,7 @@ Model "UTFemaleArm"
|
||||||
Path "models"
|
Path "models"
|
||||||
Model 0 "femalearmm_d.3d"
|
Model 0 "femalearmm_d.3d"
|
||||||
Skin 0 "femalearmT.png"
|
Skin 0 "femalearmT.png"
|
||||||
Scale 0.16 0.16 0.192
|
Scale 0.2 0.2 0.24
|
||||||
Offset 0 0 1.5
|
Offset 0 0 1.5
|
||||||
USEACTORPITCH
|
USEACTORPITCH
|
||||||
USEACTORROLL
|
USEACTORROLL
|
||||||
|
|
@ -145,7 +145,7 @@ Model "UTFemaleFoot"
|
||||||
Path "models"
|
Path "models"
|
||||||
Model 0 "femalefootm_d.3d"
|
Model 0 "femalefootm_d.3d"
|
||||||
Skin 0 "femalefootT.png"
|
Skin 0 "femalefootT.png"
|
||||||
Scale 0.16 0.16 0.192
|
Scale 0.2 0.2 0.24
|
||||||
Offset 0 0 1.5
|
Offset 0 0 1.5
|
||||||
USEACTORPITCH
|
USEACTORPITCH
|
||||||
USEACTORROLL
|
USEACTORROLL
|
||||||
|
|
@ -160,7 +160,7 @@ Model "UTFemaleTorso"
|
||||||
Path "models"
|
Path "models"
|
||||||
Model 0 "femaletorsom_d.3d"
|
Model 0 "femaletorsom_d.3d"
|
||||||
Skin 0 "femaletorsoT.png"
|
Skin 0 "femaletorsoT.png"
|
||||||
Scale 0.16 0.16 0.192
|
Scale 0.2 0.2 0.24
|
||||||
Offset 0 0 4
|
Offset 0 0 4
|
||||||
USEACTORPITCH
|
USEACTORPITCH
|
||||||
USEACTORROLL
|
USEACTORROLL
|
||||||
|
|
@ -175,7 +175,7 @@ Model "UTMaleArm"
|
||||||
Path "models"
|
Path "models"
|
||||||
Model 0 "malearmm_d.3d"
|
Model 0 "malearmm_d.3d"
|
||||||
Skin 0 "malearmT.png"
|
Skin 0 "malearmT.png"
|
||||||
Scale 0.16 0.16 0.192
|
Scale 0.2 0.2 0.24
|
||||||
Offset 0 0 1.5
|
Offset 0 0 1.5
|
||||||
USEACTORPITCH
|
USEACTORPITCH
|
||||||
USEACTORROLL
|
USEACTORROLL
|
||||||
|
|
@ -190,7 +190,7 @@ Model "UTMaleFoot"
|
||||||
Path "models"
|
Path "models"
|
||||||
Model 0 "malefootm_d.3d"
|
Model 0 "malefootm_d.3d"
|
||||||
Skin 0 "malefootT.png"
|
Skin 0 "malefootT.png"
|
||||||
Scale 0.16 0.16 0.192
|
Scale 0.2 0.2 0.24
|
||||||
Offset 0 0 1.5
|
Offset 0 0 1.5
|
||||||
USEACTORPITCH
|
USEACTORPITCH
|
||||||
USEACTORROLL
|
USEACTORROLL
|
||||||
|
|
@ -205,7 +205,7 @@ Model "UTMaleTorso"
|
||||||
Path "models"
|
Path "models"
|
||||||
Model 0 "maletorsom_d.3d"
|
Model 0 "maletorsom_d.3d"
|
||||||
Skin 0 "maletorsoT.png"
|
Skin 0 "maletorsoT.png"
|
||||||
Scale 0.16 0.16 0.192
|
Scale 0.2 0.2 0.24
|
||||||
Offset 0 0 4
|
Offset 0 0 4
|
||||||
USEACTORPITCH
|
USEACTORPITCH
|
||||||
USEACTORROLL
|
USEACTORROLL
|
||||||
|
|
@ -215,12 +215,42 @@ Model "UTMaleTorso"
|
||||||
FrameIndex UGIB A 0 0
|
FrameIndex UGIB A 0 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Model "UTBossArm"
|
||||||
|
{
|
||||||
|
Path "models"
|
||||||
|
Model 0 "bossarmm_d.3d"
|
||||||
|
Skin 0 "bossgibT.png"
|
||||||
|
Scale 0.12 0.12 0.144
|
||||||
|
Offset 0 0 1.5
|
||||||
|
USEACTORPITCH
|
||||||
|
USEACTORROLL
|
||||||
|
USEROTATIONCENTER
|
||||||
|
Rotation-Center 0 0 1.5
|
||||||
|
|
||||||
|
FrameIndex UGIB A 0 0
|
||||||
|
}
|
||||||
|
|
||||||
|
Model "UTBossFoot"
|
||||||
|
{
|
||||||
|
Path "models"
|
||||||
|
Model 0 "bossthighm_d.3d"
|
||||||
|
Skin 0 "bossgibT.png"
|
||||||
|
Scale 0.12 0.12 0.144
|
||||||
|
Offset 0 0 1.5
|
||||||
|
USEACTORPITCH
|
||||||
|
USEACTORROLL
|
||||||
|
USEROTATIONCENTER
|
||||||
|
Rotation-Center 0 0 1.5
|
||||||
|
|
||||||
|
FrameIndex UGIB A 0 0
|
||||||
|
}
|
||||||
|
|
||||||
Model "UTHeadFemale"
|
Model "UTHeadFemale"
|
||||||
{
|
{
|
||||||
Path "models"
|
Path "models"
|
||||||
Model 0 "HeadFemaleM_d.3d"
|
Model 0 "HeadFemaleM_d.3d"
|
||||||
Skin 0 "FMT1.png"
|
Skin 0 "FMT1.png"
|
||||||
Scale 0.14 0.14 0.168
|
Scale 0.2 0.2 0.24
|
||||||
Offset 0 0 3
|
Offset 0 0 3
|
||||||
AngleOffset -90
|
AngleOffset -90
|
||||||
USEACTORPITCH
|
USEACTORPITCH
|
||||||
|
|
@ -236,7 +266,23 @@ Model "UTHeadMale"
|
||||||
Path "models"
|
Path "models"
|
||||||
Model 0 "headmalem_d.3d"
|
Model 0 "headmalem_d.3d"
|
||||||
Skin 0 "MMT1.png"
|
Skin 0 "MMT1.png"
|
||||||
Scale 0.14 0.14 0.168
|
Scale 0.2 0.2 0.24
|
||||||
|
Offset 0 0 3
|
||||||
|
AngleOffset -90
|
||||||
|
USEACTORPITCH
|
||||||
|
USEACTORROLL
|
||||||
|
USEROTATIONCENTER
|
||||||
|
Rotation-Center 0 0 3
|
||||||
|
|
||||||
|
FrameIndex UGIB A 0 0
|
||||||
|
}
|
||||||
|
|
||||||
|
Model "UTHeadBoss"
|
||||||
|
{
|
||||||
|
Path "models"
|
||||||
|
Model 0 "bossheadm_d.3d"
|
||||||
|
Skin 0 "bossgibT.png"
|
||||||
|
Scale 0.07 0.07 0.084
|
||||||
Offset 0 0 3
|
Offset 0 0 3
|
||||||
AngleOffset -90
|
AngleOffset -90
|
||||||
USEACTORPITCH
|
USEACTORPITCH
|
||||||
|
|
|
||||||
284
modeldef.sgirl
Normal file
|
|
@ -0,0 +1,284 @@
|
||||||
|
Model "UTPlayerTFemale2"
|
||||||
|
{
|
||||||
|
Path "models"
|
||||||
|
Model 0 "SGirl_d.3d"
|
||||||
|
SurfaceSkin 0 0 "army1.png"
|
||||||
|
SurfaceSkin 0 1 "army2.png"
|
||||||
|
SurfaceSkin 0 2 "army3.png"
|
||||||
|
SurfaceSkin 0 3 "army4.png"
|
||||||
|
SurfaceSkin 0 5 "GunPick1.png"
|
||||||
|
Scale 0.256 0.23 0.23
|
||||||
|
Offset -3 3 36
|
||||||
|
RollOffset -90
|
||||||
|
AngleOffset -90
|
||||||
|
IGNORETRANSLATION // I'll figure out eventually how to make color changes work, but for now this is it
|
||||||
|
// Still
|
||||||
|
FrameIndex PLAY A 0 359
|
||||||
|
FrameIndex PLAY B 0 360
|
||||||
|
FrameIndex PLAY C 0 361
|
||||||
|
FrameIndex PLAY D 0 362
|
||||||
|
FrameIndex PLAY E 0 363
|
||||||
|
FrameIndex PLAY F 0 364
|
||||||
|
FrameIndex PLAY G 0 365
|
||||||
|
// Still (Air)
|
||||||
|
FrameIndex PLYA A 0 84
|
||||||
|
// Land
|
||||||
|
FrameIndex PLYL A 0 86
|
||||||
|
// Still (Swim)
|
||||||
|
FrameIndex PLYS A 0 229
|
||||||
|
FrameIndex PLYS B 0 231
|
||||||
|
FrameIndex PLYS C 0 233
|
||||||
|
FrameIndex PLYS D 0 235
|
||||||
|
FrameIndex PLYS E 0 237
|
||||||
|
FrameIndex PLYS F 0 239
|
||||||
|
FrameIndex PLYS G 0 241
|
||||||
|
// Run
|
||||||
|
FrameIndex PLAY H 0 125
|
||||||
|
FrameIndex PLAY I 0 127
|
||||||
|
FrameIndex PLAY J 0 129
|
||||||
|
FrameIndex PLAY K 0 131
|
||||||
|
FrameIndex PLAY L 0 133
|
||||||
|
// Run (Swim)
|
||||||
|
FrameIndex PLYS H 0 193
|
||||||
|
FrameIndex PLYS I 0 196
|
||||||
|
FrameIndex PLYS J 0 199
|
||||||
|
FrameIndex PLYS K 0 202
|
||||||
|
FrameIndex PLYS L 0 205
|
||||||
|
// Fire (Loop)
|
||||||
|
FrameIndex PLAY R 0 165
|
||||||
|
FrameIndex PLAY S 0 167
|
||||||
|
FrameIndex PLAY T 0 169
|
||||||
|
FrameIndex PLAY U 0 171
|
||||||
|
FrameIndex PLAY V 0 173
|
||||||
|
// Fire (Single)
|
||||||
|
FrameIndex PLAY M 0 175
|
||||||
|
FrameIndex PLAY N 0 177
|
||||||
|
FrameIndex PLAY O 0 179
|
||||||
|
FrameIndex PLAY P 0 181
|
||||||
|
FrameIndex PLAY Q 0 183
|
||||||
|
// Pain
|
||||||
|
FrameIndex PLAY W 0 0 // gut
|
||||||
|
FrameIndex PLAY X 0 83 // head
|
||||||
|
FrameIndex PLAY Y 0 88 // left
|
||||||
|
FrameIndex PLAY Z 0 124 // right
|
||||||
|
// Reload
|
||||||
|
FrameIndex PLYR A 0 386
|
||||||
|
FrameIndex PLYR B 0 387
|
||||||
|
FrameIndex PLYR C 0 388
|
||||||
|
FrameIndex PLYR D 0 389
|
||||||
|
FrameIndex PLYR E 0 390
|
||||||
|
FrameIndex PLYR F 0 391
|
||||||
|
// Crouch
|
||||||
|
FrameIndex PLYC A 0 53
|
||||||
|
FrameIndex PLYC B 0 56
|
||||||
|
FrameIndex PLYC C 0 59
|
||||||
|
FrameIndex PLYC D 0 62
|
||||||
|
FrameIndex PLYC E 0 75
|
||||||
|
// Turn
|
||||||
|
FrameIndex PLYT A 0 284
|
||||||
|
FrameIndex PLYT B 0 285
|
||||||
|
// Dead1 (Stomach)
|
||||||
|
FrameIndex PLD1 A 0 573
|
||||||
|
FrameIndex PLD1 B 0 574
|
||||||
|
FrameIndex PLD1 C 0 575
|
||||||
|
FrameIndex PLD1 D 0 576
|
||||||
|
FrameIndex PLD1 E 0 577
|
||||||
|
FrameIndex PLD1 F 0 578
|
||||||
|
FrameIndex PLD1 G 0 579
|
||||||
|
FrameIndex PLD1 H 0 580
|
||||||
|
FrameIndex PLD1 I 0 581
|
||||||
|
FrameIndex PLD1 J 0 582
|
||||||
|
FrameIndex PLD1 K 0 583
|
||||||
|
FrameIndex PLD1 L 0 584
|
||||||
|
FrameIndex PLD1 M 0 585
|
||||||
|
FrameIndex PLD1 N 0 586
|
||||||
|
FrameIndex PLD1 O 0 587
|
||||||
|
FrameIndex PLD1 P 0 588
|
||||||
|
FrameIndex PLD1 Q 0 589
|
||||||
|
FrameIndex PLD1 R 0 590
|
||||||
|
FrameIndex PLD1 S 0 591
|
||||||
|
FrameIndex PLD1 T 0 592
|
||||||
|
FrameIndex PLD1 U 0 593
|
||||||
|
FrameIndex PLD1 V 0 594
|
||||||
|
FrameIndex PLD1 W 0 595
|
||||||
|
// Dead2 (Spin back)
|
||||||
|
FrameIndex PLD2 A 0 515
|
||||||
|
FrameIndex PLD2 B 0 516
|
||||||
|
FrameIndex PLD2 C 0 517
|
||||||
|
FrameIndex PLD2 D 0 518
|
||||||
|
FrameIndex PLD2 E 0 519
|
||||||
|
FrameIndex PLD2 F 0 520
|
||||||
|
FrameIndex PLD2 G 0 521
|
||||||
|
FrameIndex PLD2 H 0 522
|
||||||
|
FrameIndex PLD2 I 0 523
|
||||||
|
FrameIndex PLD2 J 0 524
|
||||||
|
FrameIndex PLD2 K 0 525
|
||||||
|
FrameIndex PLD2 L 0 526
|
||||||
|
FrameIndex PLD2 M 0 527
|
||||||
|
FrameIndex PLD2 N 0 528
|
||||||
|
FrameIndex PLD2 O 0 529
|
||||||
|
FrameIndex PLD2 P 0 530
|
||||||
|
FrameIndex PLD2 Q 0 531
|
||||||
|
FrameIndex PLD2 R 0 532
|
||||||
|
// Dead3 (Fall back)
|
||||||
|
FrameIndex PLD3 A 0 533
|
||||||
|
FrameIndex PLD3 B 0 534
|
||||||
|
FrameIndex PLD3 C 0 535
|
||||||
|
FrameIndex PLD3 D 0 536
|
||||||
|
FrameIndex PLD3 E 0 537
|
||||||
|
FrameIndex PLD3 F 0 538
|
||||||
|
FrameIndex PLD3 G 0 539
|
||||||
|
FrameIndex PLD3 H 0 540
|
||||||
|
FrameIndex PLD3 I 0 541
|
||||||
|
FrameIndex PLD3 J 0 542
|
||||||
|
FrameIndex PLD3 K 0 543
|
||||||
|
FrameIndex PLD3 L 0 544
|
||||||
|
FrameIndex PLD3 M 0 545
|
||||||
|
FrameIndex PLD3 N 0 546
|
||||||
|
FrameIndex PLD3 O 0 547
|
||||||
|
FrameIndex PLD3 P 0 548
|
||||||
|
// Dead4 (Fall forward)
|
||||||
|
FrameIndex PLD4 A 0 549
|
||||||
|
FrameIndex PLD4 B 0 550
|
||||||
|
FrameIndex PLD4 C 0 551
|
||||||
|
FrameIndex PLD4 D 0 552
|
||||||
|
FrameIndex PLD4 E 0 553
|
||||||
|
FrameIndex PLD4 F 0 554
|
||||||
|
FrameIndex PLD4 G 0 555
|
||||||
|
FrameIndex PLD4 H 0 556
|
||||||
|
FrameIndex PLD4 I 0 557
|
||||||
|
FrameIndex PLD4 J 0 558
|
||||||
|
FrameIndex PLD4 K 0 559
|
||||||
|
FrameIndex PLD4 L 0 560
|
||||||
|
FrameIndex PLD4 M 0 561
|
||||||
|
// Dead5 (Leg blown)
|
||||||
|
FrameIndex PLD5 A 0 596
|
||||||
|
FrameIndex PLD5 B 0 597
|
||||||
|
FrameIndex PLD5 C 0 598
|
||||||
|
FrameIndex PLD5 D 0 599
|
||||||
|
FrameIndex PLD5 E 0 600
|
||||||
|
FrameIndex PLD5 F 0 601
|
||||||
|
FrameIndex PLD5 G 0 602
|
||||||
|
FrameIndex PLD5 H 0 603
|
||||||
|
FrameIndex PLD5 I 0 604
|
||||||
|
FrameIndex PLD5 J 0 605
|
||||||
|
FrameIndex PLD5 K 0 606
|
||||||
|
FrameIndex PLD5 L 0 607
|
||||||
|
FrameIndex PLD5 M 0 608
|
||||||
|
// Dead6 (Decapitate)
|
||||||
|
FrameIndex PLD6 A 0 562
|
||||||
|
FrameIndex PLD6 B 0 563
|
||||||
|
FrameIndex PLD6 C 0 564
|
||||||
|
FrameIndex PLD6 D 0 565
|
||||||
|
FrameIndex PLD6 E 0 566
|
||||||
|
FrameIndex PLD6 F 0 567
|
||||||
|
FrameIndex PLD6 G 0 568
|
||||||
|
FrameIndex PLD6 H 0 569
|
||||||
|
FrameIndex PLD6 I 0 570
|
||||||
|
FrameIndex PLD6 J 0 571
|
||||||
|
FrameIndex PLD6 K 0 572
|
||||||
|
// Dead7 (Turn and fall)
|
||||||
|
FrameIndex PLD7 A 0 640
|
||||||
|
FrameIndex PLD7 B 0 641
|
||||||
|
FrameIndex PLD7 C 0 642
|
||||||
|
FrameIndex PLD7 D 0 643
|
||||||
|
FrameIndex PLD7 E 0 644
|
||||||
|
FrameIndex PLD7 F 0 645
|
||||||
|
FrameIndex PLD7 G 0 646
|
||||||
|
FrameIndex PLD7 H 0 647
|
||||||
|
FrameIndex PLD7 I 0 648
|
||||||
|
FrameIndex PLD7 J 0 649
|
||||||
|
FrameIndex PLD7 K 0 650
|
||||||
|
// Dead9 (Zapped)
|
||||||
|
FrameIndex PLD9 A 0 609
|
||||||
|
FrameIndex PLD9 B 0 610
|
||||||
|
FrameIndex PLD9 C 0 611
|
||||||
|
FrameIndex PLD9 D 0 612
|
||||||
|
FrameIndex PLD9 E 0 613
|
||||||
|
FrameIndex PLD9 F 0 614
|
||||||
|
FrameIndex PLD9 G 0 615
|
||||||
|
FrameIndex PLD9 H 0 616
|
||||||
|
FrameIndex PLD9 I 0 617
|
||||||
|
FrameIndex PLD9 J 0 618
|
||||||
|
FrameIndex PLD9 K 0 619
|
||||||
|
FrameIndex PLD9 L 0 620
|
||||||
|
FrameIndex PLD9 M 0 621
|
||||||
|
FrameIndex PLD9 N 0 622
|
||||||
|
FrameIndex PLD9 O 0 623
|
||||||
|
FrameIndex PLD9 P 0 624
|
||||||
|
FrameIndex PLD9 Q 0 625
|
||||||
|
FrameIndex PLD9 R 0 626
|
||||||
|
FrameIndex PLD9 S 0 627
|
||||||
|
FrameIndex PLD9 T 0 628
|
||||||
|
//
|
||||||
|
FrameIndex PD9B A 0 629
|
||||||
|
FrameIndex PD9B B 0 630
|
||||||
|
FrameIndex PD9B C 0 631
|
||||||
|
FrameIndex PD9B D 0 632
|
||||||
|
FrameIndex PD9B E 0 633
|
||||||
|
FrameIndex PD9B F 0 634
|
||||||
|
FrameIndex PD9B G 0 635
|
||||||
|
FrameIndex PD9B H 0 636
|
||||||
|
FrameIndex PD9B I 0 637
|
||||||
|
FrameIndex PD9B J 0 638
|
||||||
|
FrameIndex PD9B K 0 639
|
||||||
|
// Taunt1
|
||||||
|
FrameIndex PLT1 A 0 5
|
||||||
|
FrameIndex PLT1 B 0 6
|
||||||
|
FrameIndex PLT1 C 0 7
|
||||||
|
FrameIndex PLT1 D 0 8
|
||||||
|
FrameIndex PLT1 E 0 9
|
||||||
|
FrameIndex PLT1 F 0 10
|
||||||
|
FrameIndex PLT1 G 0 11
|
||||||
|
FrameIndex PLT1 H 0 12
|
||||||
|
FrameIndex PLT1 I 0 13
|
||||||
|
FrameIndex PLT1 J 0 14
|
||||||
|
FrameIndex PLT1 K 0 15
|
||||||
|
FrameIndex PLT1 L 0 16
|
||||||
|
FrameIndex PLT1 M 0 17
|
||||||
|
FrameIndex PLT1 N 0 18
|
||||||
|
FrameIndex PLT1 O 0 19
|
||||||
|
// Victory
|
||||||
|
FrameIndex PLT2 A 0 259
|
||||||
|
FrameIndex PLT2 B 0 260
|
||||||
|
FrameIndex PLT2 C 0 261
|
||||||
|
FrameIndex PLT2 D 0 262
|
||||||
|
FrameIndex PLT2 E 0 263
|
||||||
|
FrameIndex PLT2 F 0 264
|
||||||
|
FrameIndex PLT2 G 0 265
|
||||||
|
FrameIndex PLT2 H 0 266
|
||||||
|
FrameIndex PLT2 I 0 267
|
||||||
|
FrameIndex PLT2 J 0 268
|
||||||
|
// Wave
|
||||||
|
FrameIndex PLT3 A 0 427
|
||||||
|
FrameIndex PLT3 B 0 428
|
||||||
|
FrameIndex PLT3 C 0 429
|
||||||
|
FrameIndex PLT3 D 0 430
|
||||||
|
FrameIndex PLT3 E 0 431
|
||||||
|
FrameIndex PLT3 F 0 432
|
||||||
|
FrameIndex PLT3 G 0 433
|
||||||
|
FrameIndex PLT3 H 0 434
|
||||||
|
FrameIndex PLT3 I 0 435
|
||||||
|
FrameIndex PLT3 J 0 436
|
||||||
|
FrameIndex PLT3 K 0 437
|
||||||
|
FrameIndex PLT3 L 0 438
|
||||||
|
FrameIndex PLT3 M 0 439
|
||||||
|
FrameIndex PLT3 N 0 440
|
||||||
|
FrameIndex PLT3 O 0 441
|
||||||
|
// Thrust
|
||||||
|
FrameIndex PLT4 A 0 465
|
||||||
|
FrameIndex PLT4 B 0 466
|
||||||
|
FrameIndex PLT4 C 0 467
|
||||||
|
FrameIndex PLT4 D 0 468
|
||||||
|
FrameIndex PLT4 E 0 469
|
||||||
|
FrameIndex PLT4 F 0 470
|
||||||
|
FrameIndex PLT4 G 0 471
|
||||||
|
FrameIndex PLT4 H 0 472
|
||||||
|
FrameIndex PLT4 I 0 473
|
||||||
|
FrameIndex PLT4 J 0 474
|
||||||
|
FrameIndex PLT4 K 0 475
|
||||||
|
FrameIndex PLT4 L 0 476
|
||||||
|
FrameIndex PLT4 M 0 477
|
||||||
|
FrameIndex PLT4 N 0 478
|
||||||
|
FrameIndex PLT4 O 0 479
|
||||||
|
}
|
||||||
325
modeldef.soldier
Normal file
|
|
@ -0,0 +1,325 @@
|
||||||
|
Model "UTPlayerTMale2"
|
||||||
|
{
|
||||||
|
Path "models"
|
||||||
|
Model 0 "Soldier_d.3d"
|
||||||
|
SurfaceSkin 0 0 "sldr1.png"
|
||||||
|
SurfaceSkin 0 1 "sldr2.png"
|
||||||
|
SurfaceSkin 0 2 "sldr3.png"
|
||||||
|
SurfaceSkin 0 3 "sldr4.png"
|
||||||
|
SurfaceSkin 0 5 "GunPick1.png"
|
||||||
|
Scale 0.256 0.23 0.23
|
||||||
|
Offset 0 -5 29
|
||||||
|
RollOffset -90
|
||||||
|
AngleOffset -90
|
||||||
|
IGNORETRANSLATION // I'll figure out eventually how to make color changes work, but for now this is it
|
||||||
|
// Still
|
||||||
|
FrameIndex PLAY A 0 373
|
||||||
|
FrameIndex PLAY B 0 374
|
||||||
|
FrameIndex PLAY C 0 375
|
||||||
|
FrameIndex PLAY D 0 376
|
||||||
|
FrameIndex PLAY E 0 377
|
||||||
|
FrameIndex PLAY F 0 378
|
||||||
|
FrameIndex PLAY G 0 379
|
||||||
|
// Still (Air)
|
||||||
|
FrameIndex PLYA A 0 91
|
||||||
|
// Land
|
||||||
|
FrameIndex PLYL A 0 93
|
||||||
|
// Still (Swim)
|
||||||
|
FrameIndex PLYS A 0 235
|
||||||
|
FrameIndex PLYS B 0 237
|
||||||
|
FrameIndex PLYS C 0 239
|
||||||
|
FrameIndex PLYS D 0 241
|
||||||
|
FrameIndex PLYS E 0 243
|
||||||
|
FrameIndex PLYS F 0 245
|
||||||
|
FrameIndex PLYS G 0 247
|
||||||
|
// Run
|
||||||
|
FrameIndex PLAY H 0 137
|
||||||
|
FrameIndex PLAY I 0 139
|
||||||
|
FrameIndex PLAY J 0 141
|
||||||
|
FrameIndex PLAY K 0 143
|
||||||
|
FrameIndex PLAY L 0 145
|
||||||
|
// Run (Swim)
|
||||||
|
FrameIndex PLYS H 0 205
|
||||||
|
FrameIndex PLYS I 0 208
|
||||||
|
FrameIndex PLYS J 0 211
|
||||||
|
FrameIndex PLYS K 0 214
|
||||||
|
FrameIndex PLYS L 0 217
|
||||||
|
// Fire (Loop)
|
||||||
|
FrameIndex PLAY R 0 177
|
||||||
|
FrameIndex PLAY S 0 179
|
||||||
|
FrameIndex PLAY T 0 181
|
||||||
|
FrameIndex PLAY U 0 183
|
||||||
|
FrameIndex PLAY V 0 185
|
||||||
|
// Fire (Single)
|
||||||
|
FrameIndex PLAY M 0 187
|
||||||
|
FrameIndex PLAY N 0 189
|
||||||
|
FrameIndex PLAY O 0 191
|
||||||
|
FrameIndex PLAY P 0 193
|
||||||
|
FrameIndex PLAY Q 0 195
|
||||||
|
// Pain
|
||||||
|
FrameIndex PLAY W 0 0 // gut
|
||||||
|
FrameIndex PLAY X 0 90 // head
|
||||||
|
FrameIndex PLAY Y 0 95 // left
|
||||||
|
FrameIndex PLAY Z 0 136 // right
|
||||||
|
// Reload
|
||||||
|
FrameIndex PLYR A 0 400
|
||||||
|
FrameIndex PLYR B 0 401
|
||||||
|
FrameIndex PLYR C 0 402
|
||||||
|
FrameIndex PLYR D 0 403
|
||||||
|
FrameIndex PLYR E 0 404
|
||||||
|
FrameIndex PLYR F 0 405
|
||||||
|
FrameIndex PLYR G 0 406
|
||||||
|
FrameIndex PLYR H 0 407
|
||||||
|
// Crouch
|
||||||
|
FrameIndex PLYC A 0 60
|
||||||
|
FrameIndex PLYC B 0 63
|
||||||
|
FrameIndex PLYC C 0 66
|
||||||
|
FrameIndex PLYC D 0 69
|
||||||
|
FrameIndex PLYC E 0 72
|
||||||
|
// Turn
|
||||||
|
FrameIndex PLYT A 0 298
|
||||||
|
FrameIndex PLYT B 0 299
|
||||||
|
// Dead1 (Backflip)
|
||||||
|
FrameIndex PLD1 A 0 525
|
||||||
|
FrameIndex PLD1 B 0 526
|
||||||
|
FrameIndex PLD1 C 0 527
|
||||||
|
FrameIndex PLD1 D 0 528
|
||||||
|
FrameIndex PLD1 E 0 529
|
||||||
|
FrameIndex PLD1 F 0 530
|
||||||
|
FrameIndex PLD1 G 0 531
|
||||||
|
FrameIndex PLD1 H 0 532
|
||||||
|
FrameIndex PLD1 I 0 533
|
||||||
|
FrameIndex PLD1 J 0 534
|
||||||
|
FrameIndex PLD1 K 0 535
|
||||||
|
FrameIndex PLD1 L 0 536
|
||||||
|
FrameIndex PLD1 M 0 537
|
||||||
|
// Dead2 (Falling back)
|
||||||
|
FrameIndex PLD2 A 0 538
|
||||||
|
FrameIndex PLD2 B 0 539
|
||||||
|
FrameIndex PLD2 C 0 540
|
||||||
|
FrameIndex PLD2 D 0 541
|
||||||
|
FrameIndex PLD2 E 0 542
|
||||||
|
FrameIndex PLD2 F 0 543
|
||||||
|
FrameIndex PLD2 G 0 544
|
||||||
|
FrameIndex PLD2 H 0 545
|
||||||
|
FrameIndex PLD2 I 0 546
|
||||||
|
FrameIndex PLD2 J 0 547
|
||||||
|
FrameIndex PLD2 K 0 548
|
||||||
|
FrameIndex PLD2 L 0 549
|
||||||
|
FrameIndex PLD2 M 0 550
|
||||||
|
FrameIndex PLD2 N 0 551
|
||||||
|
FrameIndex PLD2 O 0 552
|
||||||
|
FrameIndex PLD2 P 0 553
|
||||||
|
// Dead3 (Falling forward)
|
||||||
|
FrameIndex PLD3 A 0 554
|
||||||
|
FrameIndex PLD3 B 0 555
|
||||||
|
FrameIndex PLD3 C 0 556
|
||||||
|
FrameIndex PLD3 D 0 557
|
||||||
|
FrameIndex PLD3 E 0 558
|
||||||
|
FrameIndex PLD3 F 0 559
|
||||||
|
FrameIndex PLD3 G 0 560
|
||||||
|
FrameIndex PLD3 H 0 561
|
||||||
|
FrameIndex PLD3 I 0 562
|
||||||
|
FrameIndex PLD3 J 0 563
|
||||||
|
FrameIndex PLD3 K 0 564
|
||||||
|
FrameIndex PLD3 L 0 565
|
||||||
|
FrameIndex PLD3 M 0 566
|
||||||
|
// Dead4 (Decapitate)
|
||||||
|
FrameIndex PLD4 A 0 567
|
||||||
|
FrameIndex PLD4 B 0 568
|
||||||
|
FrameIndex PLD4 C 0 569
|
||||||
|
FrameIndex PLD4 D 0 570
|
||||||
|
FrameIndex PLD4 E 0 571
|
||||||
|
FrameIndex PLD4 F 0 572
|
||||||
|
FrameIndex PLD4 G 0 573
|
||||||
|
FrameIndex PLD4 H 0 574
|
||||||
|
FrameIndex PLD4 I 0 575
|
||||||
|
FrameIndex PLD4 J 0 576
|
||||||
|
FrameIndex PLD4 K 0 577
|
||||||
|
FrameIndex PLD4 L 0 578
|
||||||
|
FrameIndex PLD4 M 0 579
|
||||||
|
FrameIndex PLD4 N 0 580
|
||||||
|
FrameIndex PLD4 O 0 581
|
||||||
|
FrameIndex PLD4 P 0 582
|
||||||
|
// Dead7 (Headshot)
|
||||||
|
FrameIndex PLD7 A 0 583
|
||||||
|
FrameIndex PLD7 B 0 584
|
||||||
|
FrameIndex PLD7 C 0 585
|
||||||
|
FrameIndex PLD7 D 0 586
|
||||||
|
FrameIndex PLD7 E 0 587
|
||||||
|
FrameIndex PLD7 F 0 588
|
||||||
|
FrameIndex PLD7 G 0 589
|
||||||
|
FrameIndex PLD7 H 0 590
|
||||||
|
FrameIndex PLD7 I 0 591
|
||||||
|
FrameIndex PLD7 J 0 592
|
||||||
|
FrameIndex PLD7 K 0 593
|
||||||
|
FrameIndex PLD7 L 0 594
|
||||||
|
FrameIndex PLD7 M 0 595
|
||||||
|
FrameIndex PLD7 N 0 596
|
||||||
|
FrameIndex PLD7 O 0 597
|
||||||
|
FrameIndex PLD7 P 0 598
|
||||||
|
FrameIndex PLD7 Q 0 599
|
||||||
|
FrameIndex PLD7 R 0 600
|
||||||
|
FrameIndex PLD7 S 0 601
|
||||||
|
FrameIndex PLD7 T 0 602
|
||||||
|
FrameIndex PLD7 U 0 603
|
||||||
|
// Dead8 (Stomach)
|
||||||
|
FrameIndex PLD8 A 0 604
|
||||||
|
FrameIndex PLD8 B 0 605
|
||||||
|
FrameIndex PLD8 C 0 606
|
||||||
|
FrameIndex PLD8 D 0 607
|
||||||
|
FrameIndex PLD8 E 0 608
|
||||||
|
FrameIndex PLD8 F 0 609
|
||||||
|
FrameIndex PLD8 G 0 610
|
||||||
|
FrameIndex PLD8 H 0 611
|
||||||
|
FrameIndex PLD8 I 0 612
|
||||||
|
FrameIndex PLD8 J 0 613
|
||||||
|
FrameIndex PLD8 K 0 614
|
||||||
|
FrameIndex PLD8 L 0 615
|
||||||
|
FrameIndex PLD8 M 0 616
|
||||||
|
FrameIndex PLD8 N 0 617
|
||||||
|
FrameIndex PLD8 O 0 618
|
||||||
|
FrameIndex PLD8 P 0 619
|
||||||
|
FrameIndex PLD8 Q 0 620
|
||||||
|
FrameIndex PLD8 R 0 621
|
||||||
|
// Dead9 (Zapped)
|
||||||
|
FrameIndex PLD9 A 0 622
|
||||||
|
FrameIndex PLD9 B 0 623
|
||||||
|
FrameIndex PLD9 C 0 624
|
||||||
|
FrameIndex PLD9 D 0 625
|
||||||
|
FrameIndex PLD9 E 0 626
|
||||||
|
FrameIndex PLD9 F 0 627
|
||||||
|
FrameIndex PLD9 G 0 628
|
||||||
|
FrameIndex PLD9 H 0 629
|
||||||
|
FrameIndex PLD9 I 0 630
|
||||||
|
FrameIndex PLD9 J 0 631
|
||||||
|
FrameIndex PLD9 K 0 632
|
||||||
|
FrameIndex PLD9 L 0 633
|
||||||
|
FrameIndex PLD9 M 0 634
|
||||||
|
FrameIndex PLD9 N 0 635
|
||||||
|
FrameIndex PLD9 O 0 636
|
||||||
|
FrameIndex PLD9 P 0 637
|
||||||
|
FrameIndex PLD9 Q 0 638
|
||||||
|
FrameIndex PLD9 R 0 639
|
||||||
|
FrameIndex PLD9 S 0 640
|
||||||
|
FrameIndex PLD9 T 0 641
|
||||||
|
//
|
||||||
|
FrameIndex PD9B A 0 642
|
||||||
|
FrameIndex PD9B B 0 643
|
||||||
|
FrameIndex PD9B C 0 644
|
||||||
|
FrameIndex PD9B D 0 645
|
||||||
|
FrameIndex PD9B E 0 646
|
||||||
|
FrameIndex PD9B F 0 647
|
||||||
|
FrameIndex PD9B G 0 648
|
||||||
|
FrameIndex PD9B H 0 649
|
||||||
|
FrameIndex PD9B I 0 650
|
||||||
|
FrameIndex PD9B J 0 651
|
||||||
|
// Dead11 (Spinning)
|
||||||
|
FrameIndex PD11 A 0 652
|
||||||
|
FrameIndex PD11 B 0 653
|
||||||
|
FrameIndex PD11 C 0 654
|
||||||
|
FrameIndex PD11 D 0 655
|
||||||
|
FrameIndex PD11 E 0 656
|
||||||
|
FrameIndex PD11 F 0 657
|
||||||
|
FrameIndex PD11 G 0 658
|
||||||
|
FrameIndex PD11 H 0 659
|
||||||
|
FrameIndex PD11 I 0 660
|
||||||
|
FrameIndex PD11 J 0 661
|
||||||
|
FrameIndex PD11 K 0 662
|
||||||
|
FrameIndex PD11 L 0 663
|
||||||
|
FrameIndex PD11 M 0 664
|
||||||
|
FrameIndex PD11 N 0 665
|
||||||
|
FrameIndex PD11 O 0 666
|
||||||
|
FrameIndex PD11 P 0 667
|
||||||
|
FrameIndex PD11 Q 0 668
|
||||||
|
FrameIndex PD11 R 0 669
|
||||||
|
// Taunt1
|
||||||
|
FrameIndex PLT1 A 0 5
|
||||||
|
FrameIndex PLT1 B 0 6
|
||||||
|
FrameIndex PLT1 C 0 7
|
||||||
|
FrameIndex PLT1 D 0 8
|
||||||
|
FrameIndex PLT1 E 0 9
|
||||||
|
FrameIndex PLT1 F 0 10
|
||||||
|
FrameIndex PLT1 G 0 11
|
||||||
|
FrameIndex PLT1 H 0 12
|
||||||
|
FrameIndex PLT1 I 0 13
|
||||||
|
FrameIndex PLT1 J 0 14
|
||||||
|
FrameIndex PLT1 K 0 15
|
||||||
|
FrameIndex PLT1 L 0 16
|
||||||
|
FrameIndex PLT1 M 0 17
|
||||||
|
FrameIndex PLT1 N 0 18
|
||||||
|
FrameIndex PLT1 O 0 19
|
||||||
|
FrameIndex PLT1 P 0 20
|
||||||
|
FrameIndex PLT1 Q 0 21
|
||||||
|
FrameIndex PLT1 R 0 22
|
||||||
|
FrameIndex PLT1 S 0 23
|
||||||
|
FrameIndex PLT1 T 0 24
|
||||||
|
// Victory
|
||||||
|
FrameIndex PLT2 A 0 265
|
||||||
|
FrameIndex PLT2 B 0 266
|
||||||
|
FrameIndex PLT2 C 0 267
|
||||||
|
FrameIndex PLT2 D 0 268
|
||||||
|
FrameIndex PLT2 E 0 269
|
||||||
|
FrameIndex PLT2 F 0 270
|
||||||
|
FrameIndex PLT2 G 0 271
|
||||||
|
FrameIndex PLT2 H 0 272
|
||||||
|
FrameIndex PLT2 I 0 273
|
||||||
|
FrameIndex PLT2 J 0 274
|
||||||
|
FrameIndex PLT2 K 0 275
|
||||||
|
FrameIndex PLT2 L 0 276
|
||||||
|
FrameIndex PLT2 M 0 277
|
||||||
|
FrameIndex PLT2 N 0 278
|
||||||
|
FrameIndex PLT2 O 0 279
|
||||||
|
FrameIndex PLT2 P 0 280
|
||||||
|
FrameIndex PLT2 Q 0 281
|
||||||
|
FrameIndex PLT2 R 0 282
|
||||||
|
// Wave
|
||||||
|
FrameIndex PLT3 A 0 448
|
||||||
|
FrameIndex PLT3 B 0 449
|
||||||
|
FrameIndex PLT3 C 0 450
|
||||||
|
FrameIndex PLT3 D 0 451
|
||||||
|
FrameIndex PLT3 E 0 452
|
||||||
|
FrameIndex PLT3 F 0 453
|
||||||
|
FrameIndex PLT3 G 0 454
|
||||||
|
FrameIndex PLT3 H 0 455
|
||||||
|
FrameIndex PLT3 I 0 456
|
||||||
|
FrameIndex PLT3 J 0 457
|
||||||
|
FrameIndex PLT3 K 0 458
|
||||||
|
FrameIndex PLT3 L 0 459
|
||||||
|
FrameIndex PLT3 M 0 460
|
||||||
|
FrameIndex PLT3 N 0 461
|
||||||
|
FrameIndex PLT3 O 0 462
|
||||||
|
// Thrust
|
||||||
|
FrameIndex PLT4 A 0 486
|
||||||
|
FrameIndex PLT4 B 0 487
|
||||||
|
FrameIndex PLT4 C 0 488
|
||||||
|
FrameIndex PLT4 D 0 489
|
||||||
|
FrameIndex PLT4 E 0 490
|
||||||
|
FrameIndex PLT4 F 0 491
|
||||||
|
FrameIndex PLT4 G 0 492
|
||||||
|
FrameIndex PLT4 H 0 493
|
||||||
|
FrameIndex PLT4 I 0 494
|
||||||
|
FrameIndex PLT4 J 0 495
|
||||||
|
FrameIndex PLT4 K 0 496
|
||||||
|
FrameIndex PLT4 L 0 497
|
||||||
|
FrameIndex PLT4 M 0 498
|
||||||
|
FrameIndex PLT4 N 0 499
|
||||||
|
FrameIndex PLT4 O 0 500
|
||||||
|
}
|
||||||
|
|
||||||
|
// Will use Soldier model
|
||||||
|
Model "TranslocatorAfterimage"
|
||||||
|
{
|
||||||
|
Path "models"
|
||||||
|
Model 0 "Soldier_d.3d"
|
||||||
|
SurfaceSkin 0 0 "sldr1.png"
|
||||||
|
SurfaceSkin 0 1 "sldr2.png"
|
||||||
|
SurfaceSkin 0 2 "sldr3.png"
|
||||||
|
SurfaceSkin 0 3 "sldr4.png"
|
||||||
|
SurfaceSkin 0 5 "GunPick1.png"
|
||||||
|
Scale 0.256 0.23 0.23
|
||||||
|
Offset 0 -5 29
|
||||||
|
RollOffset -90
|
||||||
|
AngleOffset -90
|
||||||
|
FrameIndex PLAY A 0 187
|
||||||
|
}
|
||||||
BIN
models/Boss_a.3d
Normal file
BIN
models/Boss_d.3d
Normal file
BIN
models/Commando_a.3d
Normal file
BIN
models/Commando_d.3d
Normal file
BIN
models/FCommando_a.3d
Normal file
BIN
models/FCommando_d.3d
Normal file
BIN
models/GunPick1.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
models/JPulse3rd_01.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
models/SGirl_a.3d
Normal file
BIN
models/SGirl_d.3d
Normal file
BIN
models/Soldier_a.3d
Normal file
BIN
models/Soldier_d.3d
Normal file
BIN
models/army1.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
models/army2.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
models/army3.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
models/army4.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
models/boss1.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
models/boss2.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
models/boss3.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
models/boss4.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
models/bossarmm_a.3d
Normal file
BIN
models/bossarmm_d.3d
Normal file
BIN
models/bossgibT.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
models/bossthighm_a.3d
Normal file
BIN
models/bossthighm_d.3d
Normal file
BIN
models/cmdo1.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
models/cmdo2.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
models/cmdo3.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
models/cmdo4.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
models/fcmd1.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
models/fcmd2.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
models/fcmd4.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
models/sldr1.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
models/sldr2.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
models/sldr3.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
models/sldr4.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
|
|
@ -42,7 +42,7 @@ $playeralias tmale1 neutral *pain50 ut/malepain3
|
||||||
$playeralias tmale1 neutral *pain25 ut/malepain4
|
$playeralias tmale1 neutral *pain25 ut/malepain4
|
||||||
$playeralias tmale1 neutral *grunt ut/malegrunt
|
$playeralias tmale1 neutral *grunt ut/malegrunt
|
||||||
$playeralias tmale1 neutral *land DSEMPTY
|
$playeralias tmale1 neutral *land DSEMPTY
|
||||||
$playeralias tmale1 neutral *uland ut/land1
|
$playeralias tmale1 neutral *uland ut/land
|
||||||
$playeralias tmale1 neutral *jump ut/malejump1
|
$playeralias tmale1 neutral *jump ut/malejump1
|
||||||
$playeralias tmale1 neutral *usefail ut/malehump1
|
$playeralias tmale1 neutral *usefail ut/malehump1
|
||||||
$playeralias tmale1 neutral *surface ut/malesurface
|
$playeralias tmale1 neutral *surface ut/malesurface
|
||||||
|
|
|
||||||
|
|
@ -807,6 +807,8 @@ Class BioRifle : UTWeapon
|
||||||
invoker.charge = min(5.1,invoker.charge+0.1);
|
invoker.charge = min(5.1,invoker.charge+0.1);
|
||||||
A_Overlay(-9999,null);
|
A_Overlay(-9999,null);
|
||||||
A_WeaponOffset(0,32); // fix sudden psprite lowering
|
A_WeaponOffset(0,32); // fix sudden psprite lowering
|
||||||
|
if ( self is 'UTPlayer' )
|
||||||
|
UTPlayer(self).PlayAttacking3();
|
||||||
}
|
}
|
||||||
BIOF A 2 A_BioFire(true);
|
BIOF A 2 A_BioFire(true);
|
||||||
BIOF BCDEFGHI 2;
|
BIOF BCDEFGHI 2;
|
||||||
|
|
|
||||||
|
|
@ -251,159 +251,3 @@ Class ActMedBox : UTActivatableHealth
|
||||||
Stop;
|
Stop;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Alternative player classes for compatibility with Heretic sprites
|
|
||||||
Class UTPlayerHereticCompat : UTPlayer
|
|
||||||
{
|
|
||||||
Default
|
|
||||||
{
|
|
||||||
Player.ColorRange 225, 240;
|
|
||||||
Player.Colorset 0, "Green", 225, 240, 238;
|
|
||||||
Player.Colorset 1, "Yellow", 114, 129, 127;
|
|
||||||
Player.Colorset 2, "Red", 145, 160, 158;
|
|
||||||
Player.Colorset 3, "Blue", 190, 205, 203;
|
|
||||||
Player.Colorset 4, "Brown", 67, 82, 80;
|
|
||||||
Player.Colorset 5, "Light Gray", 9, 24, 22;
|
|
||||||
Player.Colorset 6, "Light Brown", 74, 89, 87;
|
|
||||||
Player.Colorset 7, "Light Red", 150, 165, 163;
|
|
||||||
Player.Colorset 8, "Light Blue", 192, 207, 205;
|
|
||||||
Player.Colorset 9, "Beige", 95, 110, 108;
|
|
||||||
}
|
|
||||||
States
|
|
||||||
{
|
|
||||||
Spawn:
|
|
||||||
PLAY A -1;
|
|
||||||
Stop;
|
|
||||||
See:
|
|
||||||
PLAY ABCD 4;
|
|
||||||
Loop;
|
|
||||||
Melee:
|
|
||||||
Missile:
|
|
||||||
PLAY F 6 BRIGHT;
|
|
||||||
PLAY E 12;
|
|
||||||
Goto Spawn;
|
|
||||||
Pain:
|
|
||||||
PLAY G 4;
|
|
||||||
PLAY G 4 A_Pain;
|
|
||||||
Goto Spawn;
|
|
||||||
Death:
|
|
||||||
PLAY H 6 A_PlayerSkinCheck("AltSkinDeath");
|
|
||||||
PLAY I 6 A_PlayerScream;
|
|
||||||
PLAY JK 6;
|
|
||||||
PLAY L 6 A_NoBlocking;
|
|
||||||
PLAY MNO 6;
|
|
||||||
PLAY P -1;
|
|
||||||
Stop;
|
|
||||||
XDeath:
|
|
||||||
PLAY Q 0 A_PlayerSkinCheck("AltSkinXDeath");
|
|
||||||
PLAY Q 5 A_PlayerScream;
|
|
||||||
PLAY R 0 A_NoBlocking;
|
|
||||||
PLAY R 5 A_SkullPop;
|
|
||||||
PLAY STUVWX 5;
|
|
||||||
PLAY Y -1;
|
|
||||||
Stop;
|
|
||||||
Burn:
|
|
||||||
FDTH A 5 BRIGHT A_PlaySound("*burndeath");
|
|
||||||
FDTH B 4 BRIGHT;
|
|
||||||
FDTH C 5 BRIGHT;
|
|
||||||
FDTH D 4 BRIGHT A_PlayerScream;
|
|
||||||
FDTH E 5 BRIGHT;
|
|
||||||
FDTH F 4 BRIGHT;
|
|
||||||
FDTH G 5 BRIGHT A_PlaySound("*burndeath");
|
|
||||||
FDTH H 4 BRIGHT;
|
|
||||||
FDTH I 5 BRIGHT;
|
|
||||||
FDTH J 4 BRIGHT;
|
|
||||||
FDTH K 5 BRIGHT;
|
|
||||||
FDTH L 4 BRIGHT;
|
|
||||||
FDTH M 5 BRIGHT;
|
|
||||||
FDTH N 4 BRIGHT;
|
|
||||||
FDTH O 5 BRIGHT A_NoBlocking;
|
|
||||||
FDTH P 4 BRIGHT;
|
|
||||||
FDTH Q 5 BRIGHT;
|
|
||||||
FDTH R 4 BRIGHT;
|
|
||||||
ACLO E 35 A_CheckPlayerDone;
|
|
||||||
Wait;
|
|
||||||
AltSkinDeath:
|
|
||||||
PLAY H 10;
|
|
||||||
PLAY I 10 A_PlayerScream;
|
|
||||||
PLAY J 10 A_NoBlocking;
|
|
||||||
PLAY KLM 10;
|
|
||||||
PLAY N -1;
|
|
||||||
Stop;
|
|
||||||
AltSkinXDeath:
|
|
||||||
PLAY O 5;
|
|
||||||
PLAY P 5 A_XScream;
|
|
||||||
PLAY Q 5 A_NoBlocking;
|
|
||||||
PLAY RSTUV 5;
|
|
||||||
PLAY W -1;
|
|
||||||
Stop;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Class UTPlayerHereticCompatTMale1 : UTPlayerHereticCompat
|
|
||||||
{
|
|
||||||
Default
|
|
||||||
{
|
|
||||||
Player.SoundClass "tmale1";
|
|
||||||
Player.DisplayName "$N_TMALE1";
|
|
||||||
Player.Portrait "Blake";
|
|
||||||
UTPlayer.VoiceType VOICE_MaleOne;
|
|
||||||
-NOMENU;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Class UTPlayerHereticCompatTMale2 : UTPlayerHereticCompat
|
|
||||||
{
|
|
||||||
Default
|
|
||||||
{
|
|
||||||
Player.SoundClass "tmale2";
|
|
||||||
Player.DisplayName "$N_TMALE2";
|
|
||||||
Player.Portrait "Brock";
|
|
||||||
UTPlayer.VoiceType VOICE_MaleTwo;
|
|
||||||
-NOMENU;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Class UTPlayerHereticCompatTFemale1 : UTPlayerHereticCompat
|
|
||||||
{
|
|
||||||
Default
|
|
||||||
{
|
|
||||||
Player.SoundClass "tfemale";
|
|
||||||
Player.DisplayName "$N_TFEMALE1";
|
|
||||||
Player.Portrait "Ivana";
|
|
||||||
UTPlayer.DollType DOLL_Female;
|
|
||||||
UTPlayer.VoiceType VOICE_FemaleOne;
|
|
||||||
-NOMENU;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Class UTPlayerHereticCompatTFemale2 : UTPlayerHereticCompat
|
|
||||||
{
|
|
||||||
Default
|
|
||||||
{
|
|
||||||
Player.SoundClass "tfemale";
|
|
||||||
Player.DisplayName "$N_TFEMALE2";
|
|
||||||
Player.Portrait "Lauren";
|
|
||||||
UTPlayer.DollType DOLL_Female;
|
|
||||||
UTPlayer.VoiceType VOICE_FemaleTwo;
|
|
||||||
-NOMENU;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Class UTPlayerHereticCompatTBoss : UTPlayerHereticCompat
|
|
||||||
{
|
|
||||||
transient CVar bossfootsteps;
|
|
||||||
Default
|
|
||||||
{
|
|
||||||
Player.SoundClass "tboss";
|
|
||||||
Player.DisplayName "$N_TBOSS";
|
|
||||||
Player.Portrait "Xan";
|
|
||||||
UTPlayer.DollType DOLL_Boss;
|
|
||||||
UTPlayer.VoiceType VOICE_Boss;
|
|
||||||
// should have NOBLOOD, but Xan did bleed in vanilla UT so...
|
|
||||||
// (this is what gave birth to the theory that Xan was actually Jerl Liandri himself)
|
|
||||||
-NOMENU;
|
|
||||||
}
|
|
||||||
override void PlayFootstep( double vol )
|
|
||||||
{
|
|
||||||
if ( !bossfootsteps ) bossfootsteps = CVar.GetCVar('flak_bossfootsteps',players[consoleplayer]);
|
|
||||||
if ( bossfootsteps.GetBool() ) A_PlaySound("ut/bossfootstep",CHAN_5,vol);
|
|
||||||
else Super.PlayFootstep(vol);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -360,6 +360,8 @@ Class UTRocketLauncher : UTWeapon
|
||||||
else A_PlaySound("utrl/fire",CHAN_WEAPON);
|
else A_PlaySound("utrl/fire",CHAN_WEAPON);
|
||||||
invoker.FireEffect();
|
invoker.FireEffect();
|
||||||
UTMainHandler.DoFlash(self,Color(64,255,0,0),1);
|
UTMainHandler.DoFlash(self,Color(64,255,0,0),1);
|
||||||
|
if ( self is 'UTPlayer' )
|
||||||
|
UTPlayer(self).PlayAttacking3();
|
||||||
A_AlertMonsters();
|
A_AlertMonsters();
|
||||||
A_QuakeEx(2+num,2+num,2+num,6+num,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1+num*0.05);
|
A_QuakeEx(2+num,2+num,2+num,6+num,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1+num*0.05);
|
||||||
for ( int i=0; i<num; i++ )
|
for ( int i=0; i<num; i++ )
|
||||||
|
|
|
||||||
|
|
@ -536,7 +536,12 @@ Class Enforcer : UTWeapon
|
||||||
}
|
}
|
||||||
ENFR ABCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
ENFR ABCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
||||||
ENR2 AB 1;
|
ENR2 AB 1;
|
||||||
ENR2 B 30 A_PlaySound("enforcer/reload",CHAN_WEAPON);
|
ENR2 B 30
|
||||||
|
{
|
||||||
|
A_PlaySound("enforcer/reload",CHAN_WEAPON);
|
||||||
|
if ( self is 'UTPlayer' )
|
||||||
|
UTPlayer(self).PlayReloading();
|
||||||
|
}
|
||||||
ENFS A 0 A_PlaySound("enforcer/select",CHAN_WEAPON);
|
ENFS A 0 A_PlaySound("enforcer/select",CHAN_WEAPON);
|
||||||
Goto Ready;
|
Goto Ready;
|
||||||
LeftReload:
|
LeftReload:
|
||||||
|
|
@ -549,7 +554,12 @@ Class Enforcer : UTWeapon
|
||||||
}
|
}
|
||||||
2NFR ABCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
2NFR ABCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
||||||
2NR2 AB 1;
|
2NR2 AB 1;
|
||||||
2NR2 B 30 A_PlaySound("enforcer/reload",CHAN_6);
|
2NR2 B 30
|
||||||
|
{
|
||||||
|
A_PlaySound("enforcer/reload",CHAN_6);
|
||||||
|
if ( self is 'UTPlayer' )
|
||||||
|
UTPlayer(self).PlayReloading();
|
||||||
|
}
|
||||||
2NFS A 0 A_PlaySound("enforcer/select",CHAN_6);
|
2NFS A 0 A_PlaySound("enforcer/select",CHAN_6);
|
||||||
Goto LeftReady;
|
Goto LeftReady;
|
||||||
Deselect:
|
Deselect:
|
||||||
|
|
|
||||||
|
|
@ -291,7 +291,12 @@ Class ImpactHammer : UTWeapon
|
||||||
IMPR A 0 A_ImpactRefire("Hold");
|
IMPR A 0 A_ImpactRefire("Hold");
|
||||||
Goto Release;
|
Goto Release;
|
||||||
Release:
|
Release:
|
||||||
IMPF A 0 A_FireBlast();
|
IMPF A 0
|
||||||
|
{
|
||||||
|
if ( self is 'UTPlayer' )
|
||||||
|
UTPlayer(self).PlayAttacking3();
|
||||||
|
A_FireBlast();
|
||||||
|
}
|
||||||
IMPF AABCCDEEFGGHIIJKKLMMNOOP 1;
|
IMPF AABCCDEEFGGHIIJKKLMMNOOP 1;
|
||||||
Goto Idle;
|
Goto Idle;
|
||||||
AltFire:
|
AltFire:
|
||||||
|
|
|
||||||
|
|
@ -802,7 +802,12 @@ Class PulseGun : UTWeapon
|
||||||
Reload:
|
Reload:
|
||||||
PGNI A 1;
|
PGNI A 1;
|
||||||
PGNI A 0 A_JumpIf(invoker.clipcount >= Min(50,invoker.Ammo1.Amount),"Idle");
|
PGNI A 0 A_JumpIf(invoker.clipcount >= Min(50,invoker.Ammo1.Amount),"Idle");
|
||||||
PGNR A 1 A_Reloading();
|
PGNR A 1
|
||||||
|
{
|
||||||
|
A_Reloading();
|
||||||
|
if ( self is 'UTPlayer' )
|
||||||
|
UTPlayer(self).PlayReloading();
|
||||||
|
}
|
||||||
PGNR BCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
PGNR BCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
||||||
PGR2 ABCDEFGHIJKLMNOPQRSTUVWX 1;
|
PGR2 ABCDEFGHIJKLMNOPQRSTUVWX 1;
|
||||||
Goto Idle;
|
Goto Idle;
|
||||||
|
|
|
||||||
|
|
@ -267,8 +267,6 @@ Class TranslocatorAfterimage : Actor
|
||||||
angle = target.angle;
|
angle = target.angle;
|
||||||
pitch = target.pitch;
|
pitch = target.pitch;
|
||||||
roll = target.roll;
|
roll = target.roll;
|
||||||
sprite = target.sprite;
|
|
||||||
frame = target.frame;
|
|
||||||
vel = (FRandom[Transloc](-.5,.5),FRandom[Transloc](-.5,.5),FRandom[Transloc](-.5,.5));
|
vel = (FRandom[Transloc](-.5,.5),FRandom[Transloc](-.5,.5),FRandom[Transloc](-.5,.5));
|
||||||
}
|
}
|
||||||
action void A_Spread()
|
action void A_Spread()
|
||||||
|
|
@ -279,8 +277,8 @@ Class TranslocatorAfterimage : Actor
|
||||||
States
|
States
|
||||||
{
|
{
|
||||||
Spawn:
|
Spawn:
|
||||||
#### # 10 A_SetTics(Random[Transloc](20,50));
|
PLAY A 10 A_SetTics(Random[Transloc](20,50));
|
||||||
#### # 1 A_Spread();
|
PLAY A 1 A_Spread();
|
||||||
Wait;
|
Wait;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ Class UTPlayer : DoomPlayer
|
||||||
|
|
||||||
int tempslide;
|
int tempslide;
|
||||||
double ssup;
|
double ssup;
|
||||||
|
int corpsetime;
|
||||||
|
|
||||||
int dolltype, voicetype;
|
int dolltype, voicetype;
|
||||||
|
|
||||||
|
|
@ -177,7 +178,7 @@ Class UTPlayer : DoomPlayer
|
||||||
let type = (class<Inventory>)(AllActorClasses[i]);
|
let type = (class<Inventory>)(AllActorClasses[i]);
|
||||||
if ( !type ) continue;
|
if ( !type ) continue;
|
||||||
let def = GetDefaultByType(type);
|
let def = GetDefaultByType(type);
|
||||||
if ( !(self is "UTPlayerHereticCompat")
|
if ( !(gameinfo.gametype&GAME_Raven)
|
||||||
&& ((type is "UTActivatable") || (type is "UTActivatableHealth")) )
|
&& ((type is "UTActivatable") || (type is "UTActivatableHealth")) )
|
||||||
continue; // don't give these outside of Heretic/Hexen
|
continue; // don't give these outside of Heretic/Hexen
|
||||||
if ( def.Icon.isValid() && (def.MaxAmount > 1) &&
|
if ( def.Icon.isValid() && (def.MaxAmount > 1) &&
|
||||||
|
|
@ -242,6 +243,7 @@ Class UTPlayer : DoomPlayer
|
||||||
else A_PlaySound("*uland",CHAN_AUTO,vol);
|
else A_PlaySound("*uland",CHAN_AUTO,vol);
|
||||||
}
|
}
|
||||||
else forcefootstep = true;
|
else forcefootstep = true;
|
||||||
|
if ( Health > 0 ) PlayLanding();
|
||||||
}
|
}
|
||||||
if ( tempslide )
|
if ( tempslide )
|
||||||
{
|
{
|
||||||
|
|
@ -506,6 +508,7 @@ Class UTPlayer : DoomPlayer
|
||||||
if ( vel.length() > terminalvelocity/TICRATE ) vel = vel.unit()*(terminalvelocity/TICRATE);
|
if ( vel.length() > terminalvelocity/TICRATE ) vel = vel.unit()*(terminalvelocity/TICRATE);
|
||||||
player.vel *= 0;
|
player.vel *= 0;
|
||||||
player.jumptics = -2;
|
player.jumptics = -2;
|
||||||
|
if ( !(player.cheats & CF_PREDICTING) ) PlayIdle();
|
||||||
}
|
}
|
||||||
else if ( (bFly && bFlyCheat) || (player.cheats&CF_NOCLIP2) )
|
else if ( (bFly && bFlyCheat) || (player.cheats&CF_NOCLIP2) )
|
||||||
{
|
{
|
||||||
|
|
@ -708,6 +711,380 @@ Class UTPlayer : DoomPlayer
|
||||||
{
|
{
|
||||||
A_PlaySound("ut/playerfootstep",CHAN_5,vol);
|
A_PlaySound("ut/playerfootstep",CHAN_5,vol);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override void PlayIdle()
|
||||||
|
{
|
||||||
|
if ( (player && (player.mo == self)) && (player.crouchdir == -1) )
|
||||||
|
{
|
||||||
|
// Crouching
|
||||||
|
if ( !InStateSequence(CurState,FindState("SpawnCrouch")) )
|
||||||
|
SetStateLabel("SpawnCrouch");
|
||||||
|
}
|
||||||
|
else if ( !bNoGravity && player.onground && (waterlevel < 2) )
|
||||||
|
{
|
||||||
|
// Ground
|
||||||
|
if ( (player && (player.mo == self)) && player.cmd.yaw )
|
||||||
|
{
|
||||||
|
if ( InStateSequence(CurState,FindState("See"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeAir"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeSwim"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeCrouch"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnAir"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnSwim"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnCrouch"))
|
||||||
|
|| InStateSequence(CurState,FindState("Spawn")+1) )
|
||||||
|
SetStateLabel("Turn");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ( InStateSequence(CurState,FindState("See"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeAir"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeSwim"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeCrouch"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnAir"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnSwim"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnCrouch")) )
|
||||||
|
SetStateLabel("Spawn");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if ( !bNoGravity && (waterlevel < 2) )
|
||||||
|
{
|
||||||
|
// Falling
|
||||||
|
if ( InStateSequence(CurState,FindState("See"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeAir"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeSwim"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeCrouch"))
|
||||||
|
|| InStateSequence(CurState,FindState("Spawn"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnSwim"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnCrouch"))
|
||||||
|
|| InStateSequence(CurState,FindState("Turn")) )
|
||||||
|
SetStateLabel("SpawnAir");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Swimming
|
||||||
|
if ( InStateSequence(CurState,FindState("See"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeAir"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeSwim"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeCrouch"))
|
||||||
|
|| InStateSequence(CurState,FindState("Spawn"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnAir"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnCrouch"))
|
||||||
|
|| InStateSequence(CurState,FindState("Turn")) )
|
||||||
|
SetStateLabel("SpawnSwim");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override void PlayRunning()
|
||||||
|
{
|
||||||
|
if ( (player && (player.mo == self)) && (player.crouchdir == -1) )
|
||||||
|
{
|
||||||
|
// Crouching
|
||||||
|
if ( !InStateSequence(CurState,FindState("SeeCrouch")) )
|
||||||
|
SetStateLabel("SeeCrouch");
|
||||||
|
}
|
||||||
|
else if ( !bNoGravity && player.onground && (waterlevel < 2) )
|
||||||
|
{
|
||||||
|
// Ground
|
||||||
|
if ( InStateSequence(CurState,FindState("Spawn"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnAir"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnSwim"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnCrouch"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeAir"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeSwim"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeCrouch"))
|
||||||
|
|| InStateSequence(CurState,FindState("Turn")) )
|
||||||
|
SetStateLabel("See");
|
||||||
|
}
|
||||||
|
else if ( !bNoGravity && (waterlevel < 2) )
|
||||||
|
{
|
||||||
|
// Falling
|
||||||
|
if ( InStateSequence(CurState,FindState("Spawn"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnAir"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnSwim"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnCrouch"))
|
||||||
|
|| InStateSequence(CurState,FindState("See"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeSwim"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeCrouch"))
|
||||||
|
|| InStateSequence(CurState,FindState("Turn")) )
|
||||||
|
SetStateLabel("SeeAir");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Swimming
|
||||||
|
if ( InStateSequence(CurState,FindState("Spawn"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnAir"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnSwim"))
|
||||||
|
|| InStateSequence(CurState,FindState("SpawnCrouch"))
|
||||||
|
|| InStateSequence(CurState,FindState("See"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeAir"))
|
||||||
|
|| InStateSequence(CurState,FindState("SeeCrouch"))
|
||||||
|
|| InStateSequence(CurState,FindState("Turn")) )
|
||||||
|
SetStateLabel("SeeSwim");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override void PlayAttacking()
|
||||||
|
{
|
||||||
|
// no animation if crouched
|
||||||
|
if ( (player && (player.mo == self)) && (player.crouchdir == -1) ) return;
|
||||||
|
// check weapon type
|
||||||
|
if ( (player.ReadyWeapon is 'SniperRifle') && (player.buttons&BT_ALTATTACK) )
|
||||||
|
return;
|
||||||
|
if ( ((player.ReadyWeapon is 'BioRifle') && (player.buttons&BT_ALTATTACK))
|
||||||
|
|| (player.ReadyWeapon is 'UTRocketLauncher') )
|
||||||
|
{
|
||||||
|
if ( !InStateSequence(CurState,FindState("MissileRepStill")) )
|
||||||
|
SetStateLabel("MissileRepStill");
|
||||||
|
}
|
||||||
|
else if ( ((player.ReadyWeapon is 'ImpactHammer') && (player.buttons&BT_ATTACK))
|
||||||
|
|| ((player.ReadyWeapon is 'UTChainsaw') && (player.buttons&BT_ATTACK))
|
||||||
|
|| (player.ReadyWeapon is 'PulseGun')
|
||||||
|
|| (player.ReadyWeapon is 'Minigun') )
|
||||||
|
{
|
||||||
|
if ( !InStateSequence(CurState,FindState("MissileRep")) )
|
||||||
|
SetStateLabel("MissileRep");
|
||||||
|
}
|
||||||
|
else SetStateLabel("Missile");
|
||||||
|
}
|
||||||
|
|
||||||
|
override void PlayAttacking2()
|
||||||
|
{
|
||||||
|
PlayAttacking();
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void PlayAttacking3()
|
||||||
|
{
|
||||||
|
if ( (player && (player.mo == self)) && (player.crouchdir == -1) ) return;
|
||||||
|
SetStateLabel("Missile");
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void PlayReloading()
|
||||||
|
{
|
||||||
|
if ( (player && (player.mo == self)) && (player.crouchdir == -1) ) return;
|
||||||
|
SetStateLabel("Reload");
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void PlayLanding()
|
||||||
|
{
|
||||||
|
if ( (player && (player.mo == self)) && (player.crouchdir == -1) ) return;
|
||||||
|
SetStateLabel("Landing");
|
||||||
|
}
|
||||||
|
|
||||||
|
void A_HeadPop()
|
||||||
|
{
|
||||||
|
Class<UTHead> hclass = "UTHeadMale";
|
||||||
|
if ( DollType == DOLL_Boss ) hclass = "UTHeadBoss";
|
||||||
|
else if ( DollType == DOLL_Female ) hclass = "UTHeadFemale";
|
||||||
|
let h = UTHead(Spawn(hclass,Vec3Offset(0,0,viewheight)));
|
||||||
|
if ( player )
|
||||||
|
{
|
||||||
|
h.headowner = player;
|
||||||
|
player.camera = h;
|
||||||
|
}
|
||||||
|
double ang = FRandom[Blod](0,360);
|
||||||
|
double pt = FRandom[Blod](-90,-30);
|
||||||
|
Vector3 dir = (cos(pt)*cos(ang),cos(pt)*sin(ang),sin(-pt));
|
||||||
|
h.vel = vel*0.6+dir*FRandom[Blod](8.0,12.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void A_GibMe()
|
||||||
|
{
|
||||||
|
let a = Actor.Spawn("UTPlayerGibber",pos);
|
||||||
|
a.vel = vel;
|
||||||
|
a.Scale = Scale;
|
||||||
|
a.A_SetSize(radius,height);
|
||||||
|
UTGibber(a).Gibbed = self;
|
||||||
|
}
|
||||||
|
|
||||||
|
void A_DMFade()
|
||||||
|
{
|
||||||
|
if ( !deathmatch || player ) return;
|
||||||
|
corpsetime++;
|
||||||
|
if ( corpsetime > 350 ) A_FadeOut(0.03);
|
||||||
|
}
|
||||||
|
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
#### # 5;
|
||||||
|
PLAY ABCDEFG 8;
|
||||||
|
Goto Spawn+1;
|
||||||
|
Turn:
|
||||||
|
#### # 6;
|
||||||
|
PLYT A 0 A_JumpIf(!player||!player.cmd.yaw,"Spawn");
|
||||||
|
PLYT A 6;
|
||||||
|
PLYT A 0 A_JumpIf(!player||!player.cmd.yaw,"Spawn");
|
||||||
|
PLYT A 6;
|
||||||
|
PLYT B 0 A_JumpIf(!player||!player.cmd.yaw,"Spawn");
|
||||||
|
PLYT B 6;
|
||||||
|
PLYT B 0 A_JumpIf(!player||!player.cmd.yaw,"Spawn");
|
||||||
|
PLYT B 6;
|
||||||
|
Goto Turn+1;
|
||||||
|
SpawnAir:
|
||||||
|
#### # 5;
|
||||||
|
PLYA A 50;
|
||||||
|
PLYL A 50;
|
||||||
|
Goto SpawnAir+1;
|
||||||
|
SpawnSwim:
|
||||||
|
#### # 5;
|
||||||
|
PLYS ABCDEFG 6;
|
||||||
|
Goto SpawnSwim+1;
|
||||||
|
SpawnCrouch:
|
||||||
|
#### # 5;
|
||||||
|
PLYC A -1;
|
||||||
|
Wait;
|
||||||
|
See:
|
||||||
|
#### # 5;
|
||||||
|
PLAY HIJKL 4;
|
||||||
|
Goto See+1;
|
||||||
|
SeeAir:
|
||||||
|
#### # 5;
|
||||||
|
PLYA A 50;
|
||||||
|
PLYL A 50;
|
||||||
|
Goto SeeAir+1;
|
||||||
|
SeeSwim:
|
||||||
|
#### # 5;
|
||||||
|
PLYS HIJKL 4;
|
||||||
|
Goto SeeSwim+1;
|
||||||
|
SeeCrouch:
|
||||||
|
#### # 5;
|
||||||
|
PLYC ABCDE 4;
|
||||||
|
Goto SeeCrouch+1;
|
||||||
|
Missile:
|
||||||
|
#### # 2;
|
||||||
|
PLAY MNOPQA 3;
|
||||||
|
Goto Spawn;
|
||||||
|
MissileRep:
|
||||||
|
#### # 2;
|
||||||
|
PLAY R 2;
|
||||||
|
PLAY S 0 A_JumpIf(!player||!(player.buttons&(BT_ATTACK|BT_ALTATTACK)),"Spawn");
|
||||||
|
PLAY S 2;
|
||||||
|
PLAY T 0 A_JumpIf(!player||!(player.buttons&(BT_ATTACK|BT_ALTATTACK)),"Spawn");
|
||||||
|
PLAY T 2;
|
||||||
|
PLAY U 0 A_JumpIf(!player||!(player.buttons&(BT_ATTACK|BT_ALTATTACK)),"Spawn");
|
||||||
|
PLAY U 2;
|
||||||
|
PLAY V 0 A_JumpIf(!player||!(player.buttons&(BT_ATTACK|BT_ALTATTACK)),"Spawn");
|
||||||
|
PLAY V 2;
|
||||||
|
PLAY R 0 A_JumpIf(!player||!(player.buttons&(BT_ATTACK|BT_ALTATTACK)),"Spawn");
|
||||||
|
Goto MissileRep+1;
|
||||||
|
MissileRepStill:
|
||||||
|
#### # 2;
|
||||||
|
PLAY R 2;
|
||||||
|
PLAY R 0 A_JumpIf(!player||!(player.buttons&(BT_ATTACK|BT_ALTATTACK)),"Spawn");
|
||||||
|
Goto MissileRepStill+1;
|
||||||
|
Reload:
|
||||||
|
#### # 3;
|
||||||
|
PLYR ABCDEFGH 4;
|
||||||
|
Goto Spawn;
|
||||||
|
Landing:
|
||||||
|
#### # 4;
|
||||||
|
PLYL A 3;
|
||||||
|
Goto Spawn;
|
||||||
|
Pain:
|
||||||
|
#### # 0 A_Jump(256,1,3,5,7);
|
||||||
|
#### # 2;
|
||||||
|
PLAY W 3 A_Pain();
|
||||||
|
Goto Spawn;
|
||||||
|
#### # 2;
|
||||||
|
PLAY Y 3 A_Pain();
|
||||||
|
Goto Spawn;
|
||||||
|
#### # 2;
|
||||||
|
PLAY Z 3 A_Pain();
|
||||||
|
Goto Spawn;
|
||||||
|
Pain.Decapitated:
|
||||||
|
#### # 2;
|
||||||
|
PLAY X 3 A_Pain();
|
||||||
|
Goto Spawn;
|
||||||
|
Death.Decapitated:
|
||||||
|
#### # 0 A_HeadPop();
|
||||||
|
PLD4 A 3 A_PlayerScream();
|
||||||
|
PLD4 B 3 A_NoBlocking();
|
||||||
|
PLD4 CDEFGHIJKLMNO 3;
|
||||||
|
PLD4 P 1 A_DMFade();
|
||||||
|
Wait;
|
||||||
|
Death:
|
||||||
|
#### # 0 A_JumpIf(vel.length()>20,"Death11");
|
||||||
|
#### # 0 A_JumpIf(vel.length()>10,"Death1");
|
||||||
|
#### # 0 A_Jump(256,"Death2","Death3","Death7","Death8");
|
||||||
|
Death11:
|
||||||
|
#### # 3;
|
||||||
|
PD11 A 3 A_PlayerScream();
|
||||||
|
PD11 B 3 A_NoBlocking();
|
||||||
|
PD11 CDEFGHIJKLMNOPQ 3;
|
||||||
|
PD11 R 1 A_DMFade();
|
||||||
|
Wait;
|
||||||
|
Death.Zapped:
|
||||||
|
#### # 3;
|
||||||
|
PLD9 A 3 A_PlayerScream();
|
||||||
|
PLD9 B 3 A_NoBlocking();
|
||||||
|
PLD9 CDEFGHIJKLMNOPQRST 2;
|
||||||
|
PD9B ABCDEFGHI 2;
|
||||||
|
PD9B J 1 A_DMFade();
|
||||||
|
Wait;
|
||||||
|
Death8:
|
||||||
|
#### # 3;
|
||||||
|
PLD8 A 3 A_PlayerScream();
|
||||||
|
PLD8 B 3 A_NoBlocking();
|
||||||
|
PLD8 CDEFGHIJKLMNOPQ 3;
|
||||||
|
PLD8 R 1 A_DMFade();
|
||||||
|
Wait;
|
||||||
|
Death7:
|
||||||
|
#### # 3;
|
||||||
|
PLD7 A 3 A_PlayerScream();
|
||||||
|
PLD7 B 3 A_NoBlocking();
|
||||||
|
PLD7 CDEFGHIJKLMNOPQRST 3;
|
||||||
|
PLD7 U 1 A_DMFade();
|
||||||
|
Wait;
|
||||||
|
Death3:
|
||||||
|
#### # 3;
|
||||||
|
PLD3 A 3 A_PlayerScream();
|
||||||
|
PLD3 B 3 A_NoBlocking();
|
||||||
|
PLD3 CDEFGHIJKL 3;
|
||||||
|
PLD3 M 1 A_DMFade();
|
||||||
|
Wait;
|
||||||
|
Death2:
|
||||||
|
#### # 3;
|
||||||
|
PLD2 A 3 A_PlayerScream();
|
||||||
|
PLD2 B 3 A_NoBlocking();
|
||||||
|
PLD2 CDEFGHIJKLMNO 3;
|
||||||
|
PLD2 P 1 A_DMFade();
|
||||||
|
Wait;
|
||||||
|
Death1:
|
||||||
|
#### # 3;
|
||||||
|
PLD1 A 3 A_PlayerScream();
|
||||||
|
PLD1 B 3 A_NoBlocking();
|
||||||
|
PLD1 CDEFGHIJKL 3;
|
||||||
|
PLD1 M 1 A_DMFade();
|
||||||
|
Wait;
|
||||||
|
XDeath:
|
||||||
|
TNT1 A 1
|
||||||
|
{
|
||||||
|
A_XScream();
|
||||||
|
A_NoBlocking();
|
||||||
|
A_GibMe();
|
||||||
|
}
|
||||||
|
TNT1 A 1 A_CheckPlayerDone();
|
||||||
|
Wait;
|
||||||
|
Taunt1:
|
||||||
|
#### # 5;
|
||||||
|
PLT1 ABCDEFGHIJKLMNOPQRST 3;
|
||||||
|
Goto Spawn;
|
||||||
|
Taunt2:
|
||||||
|
#### # 5;
|
||||||
|
PLT2 ABCDEFGHIJKLMNOPQR 4;
|
||||||
|
PLT2 R 8;
|
||||||
|
PLAY A 3;
|
||||||
|
Goto Spawn;
|
||||||
|
Taunt3:
|
||||||
|
#### # 5;
|
||||||
|
PLT3 ABCDEFGHIJKLMNO 3;
|
||||||
|
Goto Spawn;
|
||||||
|
Taunt4:
|
||||||
|
#### # 5;
|
||||||
|
PLT4 ABCDEFGHIJKLMNO 3;
|
||||||
|
Goto Spawn;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// these only exist for sound
|
// these only exist for sound
|
||||||
|
|
@ -734,26 +1111,118 @@ Class UTPlayerTMale2 : UTPlayer
|
||||||
-NOMENU;
|
-NOMENU;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Class UTPlayerTFemale1 : UTPlayer
|
Class UTPlayerTFemale : UTPlayer
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
UTPlayer.DollType DOLL_Female;
|
||||||
|
}
|
||||||
|
|
||||||
|
void A_LegPop()
|
||||||
|
{
|
||||||
|
let a = Actor.Spawn("UTFemaleLegGibber",pos);
|
||||||
|
a.vel = vel;
|
||||||
|
a.Scale = Scale;
|
||||||
|
a.A_SetSize(radius,height);
|
||||||
|
UTGibber(a).Gibbed = self;
|
||||||
|
}
|
||||||
|
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Reload:
|
||||||
|
#### # 3;
|
||||||
|
PLYR ABCDEF 4;
|
||||||
|
Goto Spawn;
|
||||||
|
Taunt1:
|
||||||
|
#### # 5;
|
||||||
|
PLT1 ABCDEFGHIJKLMNO 3;
|
||||||
|
Goto Spawn;
|
||||||
|
Taunt2:
|
||||||
|
#### # 5;
|
||||||
|
PLT2 ABCDEFGHIJ 6;
|
||||||
|
PLAY A 3;
|
||||||
|
Goto Spawn;
|
||||||
|
Death.Decapitated:
|
||||||
|
#### # 0 A_HeadPop();
|
||||||
|
PLD6 A 3 A_PlayerScream();
|
||||||
|
PLD6 B 3 A_NoBlocking();
|
||||||
|
PLD6 CDEFGHIJ 3;
|
||||||
|
PLD6 K 1 A_DMFade();
|
||||||
|
Wait;
|
||||||
|
Death.Zapped:
|
||||||
|
#### # 3;
|
||||||
|
PLD9 A 3 A_PlayerScream();
|
||||||
|
PLD9 B 3 A_NoBlocking();
|
||||||
|
PLD9 CDEFGHIJKLMNOPQRST 2;
|
||||||
|
PD9B ABCDEFGHIJ 2;
|
||||||
|
PD9B K 1 A_DMFade();
|
||||||
|
Wait;
|
||||||
|
Death:
|
||||||
|
#### # 0 A_JumpIf(vel.length()>20,"Death5");
|
||||||
|
#### # 0 A_JumpIf(vel.length()>10,"Death2");
|
||||||
|
#### # 0 A_Jump(256,"Death1","Death3","Death4","Death7");
|
||||||
|
Death7:
|
||||||
|
#### # 3;
|
||||||
|
PLD7 A 3 A_PlayerScream();
|
||||||
|
PLD7 B 3 A_NoBlocking();
|
||||||
|
PLD7 CDEFGHIJ 3;
|
||||||
|
PLD7 K 1 A_DMFade();
|
||||||
|
Wait;
|
||||||
|
Death5:
|
||||||
|
#### # 0 A_LegPop();
|
||||||
|
PLD5 A 3 A_PlayerScream();
|
||||||
|
PLD5 B 3 A_NoBlocking();
|
||||||
|
PLD5 CDEFGHIJKL 3;
|
||||||
|
PLD5 M 1 A_DMFade();
|
||||||
|
Wait;
|
||||||
|
Death4:
|
||||||
|
#### # 3;
|
||||||
|
PLD4 A 3 A_PlayerScream();
|
||||||
|
PLD4 B 3 A_NoBlocking();
|
||||||
|
PLD4 CDEFGHIJKL 3;
|
||||||
|
PLD4 M 1 A_DMFade();
|
||||||
|
Wait;
|
||||||
|
Death3:
|
||||||
|
#### # 3;
|
||||||
|
PLD3 A 3 A_PlayerScream();
|
||||||
|
PLD3 B 3 A_NoBlocking();
|
||||||
|
PLD3 CDEFGHIJKLMNO 3;
|
||||||
|
PLD3 P 1 A_DMFade();
|
||||||
|
Wait;
|
||||||
|
Death2:
|
||||||
|
#### # 3;
|
||||||
|
PLD2 A 3 A_PlayerScream();
|
||||||
|
PLD2 B 3 A_NoBlocking();
|
||||||
|
PLD2 CDEFGHIJKLMNOPQ 3;
|
||||||
|
PLD2 R 1 A_DMFade();
|
||||||
|
Wait;
|
||||||
|
Death1:
|
||||||
|
#### # 3;
|
||||||
|
PLD1 A 3 A_PlayerScream();
|
||||||
|
PLD1 B 3 A_NoBlocking();
|
||||||
|
PLD1 CDEFGHIJKLMNOPQRSTUV 3;
|
||||||
|
PLD1 W 1 A_DMFade();
|
||||||
|
Wait;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Class UTPlayerTFemale1 : UTPlayerTFemale
|
||||||
{
|
{
|
||||||
Default
|
Default
|
||||||
{
|
{
|
||||||
Player.SoundClass "tfemale";
|
Player.SoundClass "tfemale";
|
||||||
Player.DisplayName "$N_TFEMALE1";
|
Player.DisplayName "$N_TFEMALE1";
|
||||||
Player.Portrait "Ivana";
|
Player.Portrait "Ivana";
|
||||||
UTPlayer.DollType DOLL_Female;
|
|
||||||
UTPlayer.VoiceType VOICE_FemaleOne;
|
UTPlayer.VoiceType VOICE_FemaleOne;
|
||||||
-NOMENU;
|
-NOMENU;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Class UTPlayerTFemale2 : UTPlayer
|
Class UTPlayerTFemale2 : UTPlayerTFemale
|
||||||
{
|
{
|
||||||
Default
|
Default
|
||||||
{
|
{
|
||||||
Player.SoundClass "tfemale";
|
Player.SoundClass "tfemale";
|
||||||
Player.DisplayName "$N_TFEMALE2";
|
Player.DisplayName "$N_TFEMALE2";
|
||||||
Player.Portrait "Lauren";
|
Player.Portrait "Lauren";
|
||||||
UTPlayer.DollType DOLL_Female;
|
|
||||||
UTPlayer.VoiceType VOICE_FemaleTwo;
|
UTPlayer.VoiceType VOICE_FemaleTwo;
|
||||||
-NOMENU;
|
-NOMENU;
|
||||||
}
|
}
|
||||||
|
|
@ -1580,8 +2049,8 @@ Class GenericFlash : HUDMessageBase
|
||||||
}
|
}
|
||||||
override bool Tick()
|
override bool Tick()
|
||||||
{
|
{
|
||||||
alpha -= 1./duration;
|
if ( duration > 0 ) alpha -= 1./duration;
|
||||||
return (alpha<=0);
|
return (alpha<=0)||(!cam);
|
||||||
}
|
}
|
||||||
override void Draw( int bottom, int visibility )
|
override void Draw( int bottom, int visibility )
|
||||||
{
|
{
|
||||||
|
|
@ -2059,6 +2528,27 @@ Class UTMainHandler : EventHandler
|
||||||
for ( int i=0; i<MAXPLAYERS; i++ ) if ( playeringame[i] ) players[i].mo.TakeInventory("Translocator",1);
|
for ( int i=0; i<MAXPLAYERS; i++ ) if ( playeringame[i] ) players[i].mo.TakeInventory("Translocator",1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if ( e.Name ~== "uttaunt" )
|
||||||
|
{
|
||||||
|
if ( (e.player == -1) || !playeringame[e.player] || !players[e.player].mo ) return;
|
||||||
|
let mo = players[e.player].mo;
|
||||||
|
if ( (mo.Health <= 0) || !(mo is 'UTPlayer') ) return;
|
||||||
|
switch ( e.Args[0] )
|
||||||
|
{
|
||||||
|
case 2:
|
||||||
|
mo.SetStateLabel("Taunt2");
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
mo.SetStateLabel("Taunt3");
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
mo.SetStateLabel("Taunt4");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
mo.SetStateLabel("Taunt1");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override void WorldTick()
|
override void WorldTick()
|
||||||
|
|
@ -2106,12 +2596,8 @@ Class UTMainHandler : EventHandler
|
||||||
// gibbers
|
// gibbers
|
||||||
if ( flak_gibs && !e.Thing.bNOBLOOD && (e.Thing.FindState("XDeath") || e.Thing.FindState("Death.Extreme")) && ((e.Inflictor && e.Inflictor.bEXTREMEDEATH) || (e.Thing.Health < e.Thing.GetGibHealth())) && (!e.Inflictor || !e.Inflictor.bNOEXTREMEDEATH) )
|
if ( flak_gibs && !e.Thing.bNOBLOOD && (e.Thing.FindState("XDeath") || e.Thing.FindState("Death.Extreme")) && ((e.Inflictor && e.Inflictor.bEXTREMEDEATH) || (e.Thing.Health < e.Thing.GetGibHealth())) && (!e.Inflictor || !e.Inflictor.bNOEXTREMEDEATH) )
|
||||||
{
|
{
|
||||||
// players have special gibbing
|
// players use their own gibber
|
||||||
if ( e.Thing.player )
|
if ( e.Thing is 'UTPlayer' ) return;
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// generic gibbing
|
// generic gibbing
|
||||||
let a = Actor.Spawn("UTGibber",e.Thing.pos);
|
let a = Actor.Spawn("UTGibber",e.Thing.pos);
|
||||||
a.vel = e.Thing.vel;
|
a.vel = e.Thing.vel;
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ Class UTBloodDrop : Actor
|
||||||
}
|
}
|
||||||
void A_BloodDie()
|
void A_BloodDie()
|
||||||
{
|
{
|
||||||
// TODO
|
// TODO leave decals
|
||||||
}
|
}
|
||||||
States
|
States
|
||||||
{
|
{
|
||||||
|
|
@ -112,9 +112,12 @@ Class UTBloodSpurt : Actor
|
||||||
str = FRandom[Blood](2.0,3.2)*args[0];
|
str = FRandom[Blood](2.0,3.2)*args[0];
|
||||||
int sz = 7*args[0];
|
int sz = 7*args[0];
|
||||||
double ang, pt;
|
double ang, pt;
|
||||||
|
if ( !flak_blood ) sz /= 3;
|
||||||
for ( int i=0; i<sz; i++ )
|
for ( int i=0; i<sz; i++ )
|
||||||
{
|
{
|
||||||
let d = Spawn("UTBloodDrop",pos);
|
Actor d;
|
||||||
|
if ( flak_blood ) d = Spawn("UTBloodDrop",pos);
|
||||||
|
else d = Spawn("Blood",pos,ALLOW_REPLACE);
|
||||||
d.translation = translation;
|
d.translation = translation;
|
||||||
d.SetShade(fillcolor);
|
d.SetShade(fillcolor);
|
||||||
ang = angle+FRandom[Blood](-3,3)*str;
|
ang = angle+FRandom[Blood](-3,3)*str;
|
||||||
|
|
@ -160,9 +163,12 @@ Class UTBloodTrail : Actor
|
||||||
if ( !target ) return;
|
if ( !target ) return;
|
||||||
SetOrigin(target.pos,true);
|
SetOrigin(target.pos,true);
|
||||||
double ang, pt;
|
double ang, pt;
|
||||||
for ( int i=0; i<3; i++ )
|
int max = flak_blood?3:Random[Blood](-2,1);
|
||||||
|
for ( int i=0; i<max; i++ )
|
||||||
{
|
{
|
||||||
let d = Spawn("UTBloodDrop",pos);
|
Actor d;
|
||||||
|
if ( flak_blood ) d = Spawn("UTBloodDrop",pos);
|
||||||
|
else d = Spawn("Blood",pos,ALLOW_REPLACE);
|
||||||
d.translation = translation;
|
d.translation = translation;
|
||||||
d.SetShade(fillcolor);
|
d.SetShade(fillcolor);
|
||||||
ang = FRandom[Blood](0,360);
|
ang = FRandom[Blood](0,360);
|
||||||
|
|
@ -232,7 +238,7 @@ Class UTGibber : Actor
|
||||||
bool dummy;
|
bool dummy;
|
||||||
for ( int i=0; i<gibsize; i++ )
|
for ( int i=0; i<gibsize; i++ )
|
||||||
{
|
{
|
||||||
let a = Spawn(gibcls[Random[Blod](0,3)],pos+(FRandom[Blod](-0.5,0.5)*radius,FRandom[Blod](-0.5,0.5)*radius,FRandom[Blod](0.2,0.8)*height));
|
let a = Spawn(gibcls[Random[Blod](0,3)],Vec3Offset(FRandom[Blod](-0.5,0.5)*radius,FRandom[Blod](-0.5,0.5)*radius,FRandom[Blod](0.2,0.8)*height));
|
||||||
a.translation = translation;
|
a.translation = translation;
|
||||||
a.SetShade(fillcolor);
|
a.SetShade(fillcolor);
|
||||||
a.scale *= FRandom[Blod](1.7,2.3)*scale.x;
|
a.scale *= FRandom[Blod](1.7,2.3)*scale.x;
|
||||||
|
|
@ -243,7 +249,7 @@ Class UTGibber : Actor
|
||||||
}
|
}
|
||||||
for ( int i=0; i<gibsize; i++ )
|
for ( int i=0; i<gibsize; i++ )
|
||||||
{
|
{
|
||||||
let a = Spawn("UTBloodPuff",pos+(FRandom[Blod](-0.8,0.8)*radius,FRandom[Blod](-0.8,0.8)*radius,FRandom[Blod](0.1,0.9)*height));
|
let a = Spawn("UTBloodPuff",Vec3Offset(FRandom[Blod](-12,12),FRandom[Blod](-12,12),FRandom[Blod](0.1,0.9)*height));
|
||||||
a.translation = translation;
|
a.translation = translation;
|
||||||
a.SetShade(fillcolor);
|
a.SetShade(fillcolor);
|
||||||
a.scale *= FRandom[Blod](1.8,2.3)*scale.x;
|
a.scale *= FRandom[Blod](1.8,2.3)*scale.x;
|
||||||
|
|
@ -282,6 +288,152 @@ Class UTGibber : Actor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Class UTFemaleLegGibber : UTGibber
|
||||||
|
{
|
||||||
|
bool firstgib;
|
||||||
|
|
||||||
|
override void BurstGibs()
|
||||||
|
{
|
||||||
|
static const class<Actor> parts[] = {"UTFemaleFoot","UTThigh"};
|
||||||
|
static const double partofsy[] = {9,8};
|
||||||
|
static const double partofsz[] = {9,20};
|
||||||
|
Actor a;
|
||||||
|
double ang, pt;
|
||||||
|
Vector3 dir;
|
||||||
|
if ( !firstgib )
|
||||||
|
{
|
||||||
|
firstgib = true;
|
||||||
|
for ( int i=0; i<2; i++ )
|
||||||
|
{
|
||||||
|
Actor a = Spawn(parts[i],Vec3Offset(-partofsy[i]*sin(angle),partofsy[i]*cos(angle),partofsz[i]));
|
||||||
|
ang = FRandom[Blod](0,360);
|
||||||
|
pt = FRandom[Blod](-90,90);
|
||||||
|
dir = (cos(pt)*cos(ang),cos(pt)*sin(ang),sin(-pt));
|
||||||
|
a.vel = rvel*0.6+dir*FRandom[Blod](8.0,12.0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for ( int i=0; i<gibsize; i++ )
|
||||||
|
{
|
||||||
|
Vector3 box = (FRandom[Blod](-8,8),FRandom[Blod](7,12),FRandom[Blod](5,18));
|
||||||
|
let a = Spawn("UTBloodPuff",Vec3Offset(box.x*cos(angle)-box.y*sin(angle),box.x*sin(angle)+box.y*cos(angle),box.z));
|
||||||
|
ang = FRandom[Blod](0,360);
|
||||||
|
pt = FRandom[Blod](-90,90);
|
||||||
|
dir = (cos(pt)*cos(ang),cos(pt)*sin(ang),sin(-pt));
|
||||||
|
a.vel = rvel*0.2+dir*FRandom[Blod](1.5,3.0);
|
||||||
|
}
|
||||||
|
A_CountDown();
|
||||||
|
}
|
||||||
|
override void PostBeginPlay()
|
||||||
|
{
|
||||||
|
Super.PostBeginPlay();
|
||||||
|
gibsize = 3;
|
||||||
|
reactiontime = 5;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
TNT1 A 0 NoDelay; // no sound, done by player
|
||||||
|
TNT1 A 1 BurstGibs();
|
||||||
|
Wait;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class UTPlayerGibber : UTGibber
|
||||||
|
{
|
||||||
|
bool firstgib;
|
||||||
|
|
||||||
|
override void BurstGibs()
|
||||||
|
{
|
||||||
|
static const class<Actor> bossparts[] = {"UTBossArm","UTBossArm","UTBossFoot","UTBossFoot","UTMaleTorso","UTHeadBoss"};
|
||||||
|
static const class<Actor> maleparts[] = {"UTMaleArm","UTMaleArm","UTMaleFoot","UTMaleFoot","UTMaleTorso","UTHeadMale"};
|
||||||
|
static const class<Actor> femaleparts[] = {"UTFemaleArm","UTFemaleArm","UTFemaleFoot","UTFemaleFoot","UTFemaleTorso","UTHeadFemale"};
|
||||||
|
static const class<Actor> extraparts[] = {"UTThigh","UTThigh","UTHeart","UTLiver","UTStomach"};
|
||||||
|
static const double partofsy[] =
|
||||||
|
{
|
||||||
|
14,
|
||||||
|
-14,
|
||||||
|
9,
|
||||||
|
-9,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
8,
|
||||||
|
-8,
|
||||||
|
-2,
|
||||||
|
5,
|
||||||
|
-3
|
||||||
|
};
|
||||||
|
static const double partofsz[] =
|
||||||
|
{
|
||||||
|
36,
|
||||||
|
36,
|
||||||
|
9,
|
||||||
|
9,
|
||||||
|
32,
|
||||||
|
48,
|
||||||
|
20,
|
||||||
|
20,
|
||||||
|
40,
|
||||||
|
32,
|
||||||
|
35
|
||||||
|
};
|
||||||
|
Actor a;
|
||||||
|
double ang, pt;
|
||||||
|
Vector3 dir;
|
||||||
|
if ( !firstgib )
|
||||||
|
{
|
||||||
|
firstgib = true;
|
||||||
|
for ( int i=0; i<11; i++ )
|
||||||
|
{
|
||||||
|
Actor a;
|
||||||
|
if ( i < 6 )
|
||||||
|
{
|
||||||
|
if ( UTPlayer(Gibbed).DollType == UTPlayer.DOLL_Boss )
|
||||||
|
a = Spawn(bossparts[i],Vec3Offset(-partofsy[i]*sin(angle),partofsy[i]*cos(angle),partofsz[i]));
|
||||||
|
else if ( UTPlayer(Gibbed).DollType == UTPlayer.DOLL_Female )
|
||||||
|
a = Spawn(femaleparts[i],Vec3Offset(-partofsy[i]*sin(angle),partofsy[i]*cos(angle),partofsz[i]));
|
||||||
|
else a = Spawn(maleparts[i],Vec3Offset(-partofsy[i]*sin(angle),partofsy[i]*cos(angle),partofsz[i]));
|
||||||
|
}
|
||||||
|
else a = Spawn(extraparts[i-6],Vec3Offset(-partofsy[i]*sin(angle),partofsy[i]*cos(angle),partofsz[i]));
|
||||||
|
ang = FRandom[Blod](0,360);
|
||||||
|
pt = FRandom[Blod](-90,90);
|
||||||
|
if ( a is 'UTHead' )
|
||||||
|
{
|
||||||
|
pt = FRandom[Blod](-90,-15);
|
||||||
|
if ( UTPlayer(Gibbed).player )
|
||||||
|
{
|
||||||
|
UTPlayer(Gibbed).player.Camera = a;
|
||||||
|
UTHead(a).headowner = UTPlayer(Gibbed).player;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dir = (cos(pt)*cos(ang),cos(pt)*sin(ang),sin(-pt));
|
||||||
|
a.vel = rvel*0.6+dir*FRandom[Blod](8.0,12.0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for ( int i=0; i<gibsize; i++ )
|
||||||
|
{
|
||||||
|
let a = Spawn("UTBloodPuff",Vec3Offset(FRandom[Blod](-0.8,0.8)*radius,FRandom[Blod](-0.8,0.8)*radius,FRandom[Blod](0.1,0.9)*height));
|
||||||
|
ang = FRandom[Blod](0,360);
|
||||||
|
pt = FRandom[Blod](-90,90);
|
||||||
|
dir = (cos(pt)*cos(ang),cos(pt)*sin(ang),sin(-pt));
|
||||||
|
a.vel = rvel*0.2+dir*FRandom[Blod](1.5,3.0);
|
||||||
|
}
|
||||||
|
A_CountDown();
|
||||||
|
}
|
||||||
|
override void PostBeginPlay()
|
||||||
|
{
|
||||||
|
Super.PostBeginPlay();
|
||||||
|
gibsize = 3;
|
||||||
|
reactiontime = 5;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
TNT1 A 0 NoDelay; // no sound, done by player
|
||||||
|
TNT1 A 1 BurstGibs();
|
||||||
|
Wait;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Chunks
|
// Chunks
|
||||||
Class UTGib : Actor
|
Class UTGib : Actor
|
||||||
{
|
{
|
||||||
|
|
@ -312,9 +464,9 @@ Class UTGib : Actor
|
||||||
if ( bloodcolor ) tracer.SetShade(bloodcolor);
|
if ( bloodcolor ) tracer.SetShade(bloodcolor);
|
||||||
else tracer.SetShade(gameinfo.defaultbloodcolor);
|
else tracer.SetShade(gameinfo.defaultbloodcolor);
|
||||||
tracer.translation = bloodtranslation;
|
tracer.translation = bloodtranslation;
|
||||||
rollvel = FRandom[Blod](5,15)*RandomPick[Blod](-1,1);
|
rollvel = FRandom[Blod](3,6)*RandomPick[Blod](-1,1);
|
||||||
anglevel = FRandom[Blod](5,15)*RandomPick[Blod](-1,1);
|
anglevel = FRandom[Blod](3,6)*RandomPick[Blod](-1,1);
|
||||||
pitchvel = FRandom[Blod](5,15)*RandomPick[Blod](-1,1);
|
pitchvel = FRandom[Blod](3,6)*RandomPick[Blod](-1,1);
|
||||||
}
|
}
|
||||||
void A_HandleBounce()
|
void A_HandleBounce()
|
||||||
{
|
{
|
||||||
|
|
@ -333,9 +485,12 @@ Class UTGib : Actor
|
||||||
else if ( spd > 20 ) vel *= 0.8;
|
else if ( spd > 20 ) vel *= 0.8;
|
||||||
A_PlaySound("misc/gibp");
|
A_PlaySound("misc/gibp");
|
||||||
double ang, pt;
|
double ang, pt;
|
||||||
for ( int i=0; i<6; i++ )
|
int max = flak_blood?6:2;
|
||||||
|
for ( int i=0; i<max; i++ )
|
||||||
{
|
{
|
||||||
let d = Spawn("UTBloodDrop",pos);
|
Actor d;
|
||||||
|
if ( flak_blood ) d = Spawn("UTBloodDrop",pos);
|
||||||
|
else d = Spawn("Blood",pos,ALLOW_REPLACE);
|
||||||
d.translation = bloodtranslation;
|
d.translation = bloodtranslation;
|
||||||
if ( bloodcolor ) d.SetShade(bloodcolor);
|
if ( bloodcolor ) d.SetShade(bloodcolor);
|
||||||
else d.SetShade(gameinfo.defaultbloodcolor);
|
else d.SetShade(gameinfo.defaultbloodcolor);
|
||||||
|
|
@ -346,9 +501,9 @@ Class UTGib : Actor
|
||||||
d.vel = dir*FRandom[Blood](0.8,1.2);
|
d.vel = dir*FRandom[Blood](0.8,1.2);
|
||||||
d.scale *= 0.75*FRandom[Blood](0.6,1.4);
|
d.scale *= 0.75*FRandom[Blood](0.6,1.4);
|
||||||
}
|
}
|
||||||
rollvel = FRandom[Blod](5,15)*RandomPick[Blod](-1,1);
|
rollvel = FRandom[Blod](3,6)*RandomPick[Blod](-1,1);
|
||||||
anglevel = FRandom[Blod](5,15)*RandomPick[Blod](-1,1);
|
anglevel = FRandom[Blod](3,6)*RandomPick[Blod](-1,1);
|
||||||
pitchvel = FRandom[Blod](5,15)*RandomPick[Blod](-1,1);
|
pitchvel = FRandom[Blod](3,6)*RandomPick[Blod](-1,1);
|
||||||
}
|
}
|
||||||
States
|
States
|
||||||
{
|
{
|
||||||
|
|
@ -380,25 +535,71 @@ Class UTFemaleTorso : UTGib {}
|
||||||
Class UTMaleArm : UTGib {}
|
Class UTMaleArm : UTGib {}
|
||||||
Class UTMaleFoot : UTGib {}
|
Class UTMaleFoot : UTGib {}
|
||||||
Class UTMaleTorso : UTGib {}
|
Class UTMaleTorso : UTGib {}
|
||||||
|
Class UTBossArm : UTGib {}
|
||||||
|
Class UTBossFoot : UTGib {}
|
||||||
|
Class UTBossTorso : UTGib {}
|
||||||
Class UTHeart : UTGib
|
Class UTHeart : UTGib
|
||||||
{
|
{
|
||||||
States
|
States
|
||||||
{
|
{
|
||||||
Spawn:
|
Spawn:
|
||||||
UGIB ABCDEF 2;
|
UGIB ABCDEF 1
|
||||||
|
{
|
||||||
|
roll += rollvel;
|
||||||
|
angle += anglevel;
|
||||||
|
pitch += pitchvel;
|
||||||
|
}
|
||||||
Loop;
|
Loop;
|
||||||
Bounce:
|
|
||||||
UGIB A 0;
|
|
||||||
Goto Spawn;
|
|
||||||
Death:
|
Death:
|
||||||
UGIB ABCDEFABCDEFABCDEF 2;
|
UGIB ABCDEFABCDEFABCDEF 2;
|
||||||
UGIB ABCDEFABCDEF 4;
|
UGIB ABCDEFABCDEF 4;
|
||||||
UGIB ABCDEF 8;
|
UGIB ABCDEF 8;
|
||||||
UGIB A -1;
|
UGIB A 1 A_SetTics(Random[Blod](12,18)*15);
|
||||||
Stop;
|
UGIB A 1 A_FadeOut(0.05);
|
||||||
|
Wait;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Class UTLiver : UTGib {}
|
Class UTLiver : UTGib {}
|
||||||
Class UTStomach : UTGib {}
|
Class UTStomach : UTGib {}
|
||||||
Class UTHeadFemale : UTGib {}
|
Class UTHead : UTGib
|
||||||
Class UTHeadMale : UTGib {}
|
{
|
||||||
|
PlayerInfo headowner;
|
||||||
|
|
||||||
|
override void PostBeginPlay()
|
||||||
|
{
|
||||||
|
Super.PostBeginPlay();
|
||||||
|
UTMainHandler.DoFlash(self,Color(128,255,0,0),150);
|
||||||
|
UTMainHandler.DoFlash(self,Color(96,255,0,0),0);
|
||||||
|
}
|
||||||
|
|
||||||
|
override void Tick()
|
||||||
|
{
|
||||||
|
Super.Tick();
|
||||||
|
if ( headowner && headowner.mo && (headowner.mo.Health > 0) && (headowner.Camera == self) )
|
||||||
|
{
|
||||||
|
headowner.Camera = headowner.mo;
|
||||||
|
headowner = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override void OnDestroy()
|
||||||
|
{
|
||||||
|
if ( headowner && (headowner.Camera == self) && headowner.mo )
|
||||||
|
{
|
||||||
|
headowner.Camera = headowner.mo;
|
||||||
|
headowner = null;
|
||||||
|
}
|
||||||
|
Super.OnDestroy();
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Death:
|
||||||
|
UGIB A 1 A_SetTics(Random[Blod](12,18)*15);
|
||||||
|
UGIB A 0 A_JumpIf(headowner,"Death");
|
||||||
|
UGIB A 1 A_FadeOut(0.05);
|
||||||
|
Wait;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Class UTHeadFemale : UTHead {}
|
||||||
|
Class UTHeadMale : UTHead {}
|
||||||
|
Class UTHeadBoss : UTHead {}
|
||||||
|
|
|
||||||