Added brightmaps. Added environment map shader. Began working on Biorifle.

This commit is contained in:
Marisa the Magician 2018-05-16 02:05:39 +02:00
commit d718eb6a9c
50 changed files with 677 additions and 14 deletions

BIN
brightmaps/ASMD_t.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 802 B

BIN
brightmaps/ASMD_t1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 B

BIN
brightmaps/ASMD_t3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
brightmaps/ASMD_t4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
brightmaps/JBRifle2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 B

BIN
brightmaps/JBRifle21.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 601 B

BIN
brightmaps/JBRifle22.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
brightmaps/JBRifle23.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

BIN
brightmaps/JBRifle24.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
brightmaps/JBammo1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

BIN
brightmaps/JShockCore.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
brightmaps/Jwarhead2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
brightmaps/Jwarhead4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
brightmaps/Jwhpick1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

60
gldefs.txt Normal file
View file

@ -0,0 +1,60 @@
HardwareShader Texture "models/Jgreen.png"
{
Shader "shaders/glsl/MeshEnviroMap.fp"
}
Brightmap Texture "models/JBRifle2.png"
{
Map "brightmaps/JBRifle2.png"
}
Brightmap Texture "models/JBRifle21.png"
{
Map "brightmaps/JBRifle21.png"
}
Brightmap Texture "models/JBRifle22.png"
{
Map "brightmaps/JBRifle22.png"
}
Brightmap Texture "models/JBRifle23.png"
{
Map "brightmaps/JBRifle23.png"
}
Brightmap Texture "models/JBRifle24.png"
{
Map "brightmaps/JBRifle24.png"
}
Brightmap Texture "models/JBammo1.png"
{
Map "brightmaps/JBammo1.png"
}
Brightmap Texture "models/ASMD_t.png"
{
Map "brightmaps/ASMD_t.png"
}
Brightmap Texture "models/ASMD_t1.png"
{
Map "brightmaps/ASMD_t1.png"
}
Brightmap Texture "models/ASMD_t3.png"
{
Map "brightmaps/ASMD_t3.png"
}
Brightmap Texture "models/ASMD_t4.png"
{
Map "brightmaps/ASMD_t4.png"
}
Brightmap Texture "models/JShockCore.png"
{
Map "brightmaps/JShockCore.png"
}
Brightmap Texture "models/Jwarhead2.png"
{
Map "brightmaps/Jwarhead2.png"
}
Brightmap Texture "models/Jwarhead4.png"
{
Map "brightmaps/Jwarhead4.png"
}
Brightmap Texture "models/Jwhpick1.png"
{
Map "brightmaps/Jwhpick1.png"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -1,7 +1,229 @@
//=============================================================================
// GES BIORIFLE
//=============================================================================
Model "BioAmmo"
{
Path "models"
Model 0 "BioAmmoM_d.3d"
Skin 0 "Jbammo1.png"
Scale -0.08 0.08 0.08
ZOffset 4
FrameIndex BIOA A 0 0
}
Model "BioGel"
{
Path "models"
Model 0 "BioGelm_d.3d"
Skin 0 "Jgreen.png"
Scale 0.08 0.08 0.08
RollOffset 90
DONTCULLBACKFACES
USEACTORPITCH
USEACTORROLL
// Flying
FrameIndex GELF A 0 0
FrameIndex GELF B 0 1
FrameIndex GELF C 0 2
FrameIndex GELF D 0 3
FrameIndex GELF E 0 4
FrameIndex GELF F 0 5
FrameIndex GELF G 0 6
FrameIndex GELF H 0 7
FrameIndex GELF I 0 8
FrameIndex GELF J 0 9
FrameIndex GELF K 0 10
FrameIndex GELF L 0 11
FrameIndex GELF M 0 12
// Hit
FrameIndex GELH A 0 14
FrameIndex GELH B 0 15
FrameIndex GELH C 0 16
FrameIndex GELH D 0 17
FrameIndex GELH E 0 18
FrameIndex GELH F 0 19
FrameIndex GELH G 0 20
FrameIndex GELH H 0 21
FrameIndex GELH I 0 22
FrameIndex GELH J 0 23
// Drip
FrameIndex GELD A 0 24
FrameIndex GELD B 0 25
FrameIndex GELD C 0 26
FrameIndex GELD D 0 27
FrameIndex GELD E 0 28
FrameIndex GELD F 0 29
FrameIndex GELD G 0 30
FrameIndex GELD H 0 31
FrameIndex GELD I 0 32
FrameIndex GELD J 0 33
FrameIndex GELD K 0 34
FrameIndex GELD L 0 35
FrameIndex GELD M 0 36
// Slide
FrameIndex GELS A 0 37
FrameIndex GELS B 0 38
FrameIndex GELS C 0 39
FrameIndex GELS D 0 40
FrameIndex GELS E 0 41
FrameIndex GELS F 0 42
FrameIndex GELS G 0 43
// Shrivel
FrameIndex GELX A 0 44
FrameIndex GELX B 0 45
FrameIndex GELX C 0 46
FrameIndex GELX D 0 47
FrameIndex GELX E 0 48
FrameIndex GELX F 0 49
FrameIndex GELX G 0 50
FrameIndex GELX H 0 51
FrameIndex GELX I 0 52
FrameIndex GELX J 0 53
FrameIndex GELX K 0 54
FrameIndex GELX L 0 55
}
Model "BioRifle"
{
Path "models"
Model 1 "BRifle2Pick_d.3d"
Skin 1 "JBRifle2.png"
Scale -0.1 0.1 0.1
PitchOffset 90
ZOffset 12
ROTATING
FrameIndex BIOP A 1 0
}
Model "BioRifle"
{
Path "models"
Model 1 "BRifle2Pick_d.3d"
Skin 1 "JBRifle2.png"
Scale -0.1 0.1 0.1
PitchOffset 90
ZOffset 12
FrameIndex BIOP B 1 0
}
Model "BioRifle"
{
Path "models"
Model 0 "BRifle2_d.3d"
SurfaceSkin 0 0 "JBRifle21.png"
SurfaceSkin 0 1 "JBRifle22.png"
SurfaceSkin 0 2 "JBRifle23.png"
SurfaceSkin 0 3 "JBRifle24.png"
RollOffset -8.4375
PitchOffset 94.21875
Scale 0.125 0.06 0.125
Offset 9.8 -17.6 -10.4
// select
FrameIndex BIOS A 0 0
FrameIndex BIOS B 0 1
FrameIndex BIOS C 0 2
FrameIndex BIOS D 0 3
FrameIndex BIOS E 0 4
FrameIndex BIOS F 0 5
FrameIndex BIOS G 0 6
FrameIndex BIOS H 0 7
FrameIndex BIOS I 0 8
FrameIndex BIOS J 0 9
FrameIndex BIOS K 0 10
FrameIndex BIOS L 0 11
FrameIndex BIOS M 0 12
FrameIndex BIOS N 0 13
FrameIndex BIOS O 0 14
FrameIndex BIOS P 0 15
FrameIndex BIOS Q 0 16
FrameIndex BIOS R 0 17
FrameIndex BIOS S 0 18
FrameIndex BIOS T 0 19
FrameIndex BIOS U 0 20
FrameIndex BIOS V 0 21
// idle
FrameIndex BIOI A 0 22
// charging
FrameIndex BIOC A 0 41
FrameIndex BIOC B 0 42
FrameIndex BIOC C 0 43
FrameIndex BIOC D 0 44
FrameIndex BIOC E 0 45
FrameIndex BIOC F 0 46
FrameIndex BIOC G 0 47
FrameIndex BIOC H 0 48
FrameIndex BIOC I 0 49
FrameIndex BIOC J 0 50
FrameIndex BIOC K 0 51
FrameIndex BIOC L 0 52
FrameIndex BIOC M 0 53
FrameIndex BIOC N 0 54
FrameIndex BIOC O 0 55
FrameIndex BIOC P 0 56
FrameIndex BIOC Q 0 57
FrameIndex BIOC R 0 58
FrameIndex BIOC S 0 59
FrameIndex BIOC T 0 60
FrameIndex BIOC U 0 61
FrameIndex BIOC V 0 62
FrameIndex BIOC W 0 63
FrameIndex BIOC X 0 64
FrameIndex BIOC Y 0 65
FrameIndex BIOC Z 0 66
FrameIndex BIC2 A 0 67
FrameIndex BIC2 B 0 68
FrameIndex BIC2 C 0 69
FrameIndex BIC2 D 0 70
FrameIndex BIC2 E 0 71
// full
FrameIndex BIOM A 0 70
// empty
FrameIndex BIOE A 0 71
// fire
FrameIndex BIOF A 0 72
FrameIndex BIOF B 0 73
FrameIndex BIOF C 0 74
FrameIndex BIOF D 0 75
FrameIndex BIOF E 0 76
FrameIndex BIOF F 0 77
FrameIndex BIOF G 0 78
FrameIndex BIOF H 0 79
FrameIndex BIOF I 0 80
// deselect
FrameIndex BIOD A 0 80
FrameIndex BIOD B 0 81
FrameIndex BIOD C 0 82
FrameIndex BIOD D 0 83
FrameIndex BIOD E 0 84
FrameIndex BIOD F 0 85
FrameIndex BIOD G 0 86
FrameIndex BIOD H 0 87
FrameIndex BIOD I 0 88
FrameIndex BIOD J 0 89
}
//============================================================================= //=============================================================================
// SHOCK RIFLE // SHOCK RIFLE
//============================================================================= //=============================================================================
Model "ShockAmmo"
{
Path "models"
Model 0 "ShockCoreM_d.3d"
Skin 0 "JShockCore.png"
PitchOffset 90
Scale -0.11 0.11 0.11
ZOffset 12
FrameIndex SHOA A 0 0
}
Model "ShockRifleWave" Model "ShockRifleWave"
{ {
Path "models" Path "models"
@ -21,7 +243,7 @@ Model "ShockBeamRing"
DONTCULLBACKFACES DONTCULLBACKFACES
USEACTORPITCH USEACTORPITCH
USEACTORROLL USEACTORROLL
Scale 1.0 0.9 1.0 Scale 1.2 1.0 1.2
FrameIndex SRNG A 0 0 FrameIndex SRNG A 0 0
FrameIndex SRNG B 0 1 FrameIndex SRNG B 0 1
@ -42,7 +264,7 @@ Model "ShockBlastRing"
DONTCULLBACKFACES DONTCULLBACKFACES
USEACTORPITCH USEACTORPITCH
USEACTORROLL USEACTORROLL
Scale 1.0 0.9 1.0 Scale 1.2 1.0 1.2
FrameIndex SRNG A 0 0 FrameIndex SRNG A 0 0
FrameIndex SRNG B 0 1 FrameIndex SRNG B 0 1

BIN
models/BRifle2Pick_a.3d Normal file

Binary file not shown.

BIN
models/BRifle2Pick_d.3d Normal file

Binary file not shown.

BIN
models/BRifle2_a.3d Normal file

Binary file not shown.

BIN
models/BRifle2_d.3d Normal file

Binary file not shown.

BIN
models/BioAmmoM_a.3d Normal file

Binary file not shown.

BIN
models/BioAmmoM_d.3d Normal file

Binary file not shown.

BIN
models/BioGelm_a.3d Normal file

Binary file not shown.

BIN
models/BioGelm_d.3d Normal file

Binary file not shown.

BIN
models/JBRifle2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
models/JBRifle21.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
models/JBRifle22.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
models/JBRifle23.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
models/JBRifle24.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

BIN
models/JBammo1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
models/Jgreen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -12,7 +12,7 @@ Currently implemented:
In progress: In progress:
- N/A - GES Biorifle (slot 3)
To be done: To be done:
@ -21,7 +21,6 @@ To be done:
- Translocator (slot 1) - Translocator (slot 1)
- Enforcer (slot 2) - Enforcer (slot 2)
- Dual Enforcers (slot 2) - Dual Enforcers (slot 2)
- GES Biorifle (slot 3)
- Pulsegun (slot 5) - Pulsegun (slot 5)
- Ripper (slot 6) - Ripper (slot 6)
- Minigun (slot 7) - Minigun (slot 7)

View file

@ -0,0 +1,7 @@
// imitation of the Unreal Engine 1.x bMeshEnviroMap effect, not 1:1 but gets close
vec4 Process( vec4 color )
{
vec3 eyedir = normalize(uCameraPos.xyz-pixelpos.xyz);
vec3 norm = reflect(eyedir,normalize(vWorldNormal.xyz));
return getTexel(norm.xz*0.5)*color;
}

View file

@ -46,3 +46,14 @@ $pitchshift warhead/explode 0
$pitchshift warhead/fly 0 $pitchshift warhead/fly 0
$pitchshift warhead/select 0 $pitchshift warhead/select 0
$pitchshift warhead/fire 0 $pitchshift warhead/fire 0
ges/hit gelhit
ges/select gelselec
ges/fire gelshot
ges/charge bioaltrep
ges/explode explg02
$pitchshift ges/hit 0
$pitchshift ges/select 0
$pitchshift ges/fire 0
$pitchshift ges/charge 0
$pitchshift ges/explode 0

BIN
sounds/BioAltRp.wav Normal file

Binary file not shown.

BIN
sounds/Explg02.wav Normal file

Binary file not shown.

BIN
sounds/GelHit.wav Normal file

Binary file not shown.

BIN
sounds/GelSelec.wav Normal file

Binary file not shown.

BIN
sounds/GelShot.wav Normal file

Binary file not shown.

131
textures.ges Normal file
View file

@ -0,0 +1,131 @@
Sprite "BIOAA0",1,1{}
Sprite "GELFA0",1,1{}
Sprite "GELFB0",1,1{}
Sprite "GELFC0",1,1{}
Sprite "GELFD0",1,1{}
Sprite "GELFE0",1,1{}
Sprite "GELFF0",1,1{}
Sprite "GELFG0",1,1{}
Sprite "GELFH0",1,1{}
Sprite "GELFI0",1,1{}
Sprite "GELFJ0",1,1{}
Sprite "GELFK0",1,1{}
Sprite "GELFL0",1,1{}
Sprite "GELFM0",1,1{}
Sprite "GELHA0",1,1{}
Sprite "GELHB0",1,1{}
Sprite "GELHC0",1,1{}
Sprite "GELHD0",1,1{}
Sprite "GELHE0",1,1{}
Sprite "GELHF0",1,1{}
Sprite "GELHG0",1,1{}
Sprite "GELHH0",1,1{}
Sprite "GELHI0",1,1{}
Sprite "GELHJ0",1,1{}
Sprite "GELDA0",1,1{}
Sprite "GELDB0",1,1{}
Sprite "GELDC0",1,1{}
Sprite "GELDD0",1,1{}
Sprite "GELDE0",1,1{}
Sprite "GELDF0",1,1{}
Sprite "GELDG0",1,1{}
Sprite "GELDH0",1,1{}
Sprite "GELDI0",1,1{}
Sprite "GELDJ0",1,1{}
Sprite "GELDK0",1,1{}
Sprite "GELDL0",1,1{}
Sprite "GELDM0",1,1{}
Sprite "GELSA0",1,1{}
Sprite "GELSB0",1,1{}
Sprite "GELSC0",1,1{}
Sprite "GELSD0",1,1{}
Sprite "GELSE0",1,1{}
Sprite "GELSF0",1,1{}
Sprite "GELSG0",1,1{}
Sprite "GELXA0",1,1{}
Sprite "GELXB0",1,1{}
Sprite "GELXC0",1,1{}
Sprite "GELXD0",1,1{}
Sprite "GELXE0",1,1{}
Sprite "GELXF0",1,1{}
Sprite "GELXG0",1,1{}
Sprite "GELXH0",1,1{}
Sprite "GELXI0",1,1{}
Sprite "GELXJ0",1,1{}
Sprite "GELXK0",1,1{}
Sprite "GELXL0",1,1{}
Sprite "BIOSA0",1,1{}
Sprite "BIOSB0",1,1{}
Sprite "BIOSC0",1,1{}
Sprite "BIOSD0",1,1{}
Sprite "BIOSE0",1,1{}
Sprite "BIOSF0",1,1{}
Sprite "BIOSG0",1,1{}
Sprite "BIOSH0",1,1{}
Sprite "BIOSI0",1,1{}
Sprite "BIOSJ0",1,1{}
Sprite "BIOSK0",1,1{}
Sprite "BIOSL0",1,1{}
Sprite "BIOSM0",1,1{}
Sprite "BIOSN0",1,1{}
Sprite "BIOSO0",1,1{}
Sprite "BIOSP0",1,1{}
Sprite "BIOSQ0",1,1{}
Sprite "BIOSR0",1,1{}
Sprite "BIOSS0",1,1{}
Sprite "BIOST0",1,1{}
Sprite "BIOSU0",1,1{}
Sprite "BIOSV0",1,1{}
Sprite "BIOIA0",1,1{}
Sprite "BIOCA0",1,1{}
Sprite "BIOCB0",1,1{}
Sprite "BIOCC0",1,1{}
Sprite "BIOCD0",1,1{}
Sprite "BIOCE0",1,1{}
Sprite "BIOCF0",1,1{}
Sprite "BIOCG0",1,1{}
Sprite "BIOCH0",1,1{}
Sprite "BIOCI0",1,1{}
Sprite "BIOCJ0",1,1{}
Sprite "BIOCK0",1,1{}
Sprite "BIOCL0",1,1{}
Sprite "BIOCM0",1,1{}
Sprite "BIOCN0",1,1{}
Sprite "BIOCO0",1,1{}
Sprite "BIOCP0",1,1{}
Sprite "BIOCQ0",1,1{}
Sprite "BIOCR0",1,1{}
Sprite "BIOCS0",1,1{}
Sprite "BIOCT0",1,1{}
Sprite "BIOCU0",1,1{}
Sprite "BIOCV0",1,1{}
Sprite "BIOCW0",1,1{}
Sprite "BIOCX0",1,1{}
Sprite "BIOCY0",1,1{}
Sprite "BIOCZ0",1,1{}
Sprite "BIC2A0",1,1{}
Sprite "BIC2B0",1,1{}
Sprite "BIC2C0",1,1{}
Sprite "BIC2D0",1,1{}
Sprite "BIC2E0",1,1{}
Sprite "BIOMA0",1,1{}
Sprite "BIOEA0",1,1{}
Sprite "BIOFA0",1,1{}
Sprite "BIOFB0",1,1{}
Sprite "BIOFC0",1,1{}
Sprite "BIOFD0",1,1{}
Sprite "BIOFE0",1,1{}
Sprite "BIOFF0",1,1{}
Sprite "BIOFG0",1,1{}
Sprite "BIOFH0",1,1{}
Sprite "BIOFI0",1,1{}
Sprite "BIODA0",1,1{}
Sprite "BIODB0",1,1{}
Sprite "BIODC0",1,1{}
Sprite "BIODD0",1,1{}
Sprite "BIODE0",1,1{}
Sprite "BIODF0",1,1{}
Sprite "BIODG0",1,1{}
Sprite "BIODH0",1,1{}
Sprite "BIODI0",1,1{}
Sprite "BIODJ0",1,1{}

1
textures.misc Normal file
View file

@ -0,0 +1 @@
Sprite "BLOBA0",1,1{}

View file

@ -1,3 +1,4 @@
Sprite "SHOAA0",1,1{}
Sprite "SWAVA0",1,1{} Sprite "SWAVA0",1,1{}
Sprite "SWAVB0",1,1{} Sprite "SWAVB0",1,1{}
Sprite "SRNGA0",1,1{} Sprite "SRNGA0",1,1{}

BIN
textures/-noflat-.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -3,6 +3,7 @@ version "3.3"
#include "zscript/mk_matrix.zsc" #include "zscript/mk_matrix.zsc"
#include "zscript/mk_coordutil.zsc" #include "zscript/mk_coordutil.zsc"
#include "zscript/utcommon.zsc" #include "zscript/utcommon.zsc"
#include "zscript/biorifle.zsc"
#include "zscript/shockrifle.zsc" #include "zscript/shockrifle.zsc"
#include "zscript/flakcannon.zsc" #include "zscript/flakcannon.zsc"
#include "zscript/warheadlauncher.zsc" #include "zscript/warheadlauncher.zsc"

233
zscript/biorifle.zsc Normal file
View file

@ -0,0 +1,233 @@
Class BioAmmo : Ammo
{
Default
{
Tag "Biosludge Ammo";
Inventory.PickupMessage "You picked up the Biosludge Ammo.";
Inventory.PickupSound "ut/ammo";
Inventory.Amount 25;
Inventory.MaxAmount 100;
Ammo.BackpackAmount 50;
Ammo.BackpackMaxAmount 200;
Ammo.DropAmount 25;
}
States
{
Spawn:
BIOA A -1;
Stop;
}
}
Class BioHitbox : Actor
{
}
Class BioLight : DynamicLight
{
}
Class BioGel : Actor
{
Actor l, b;
enum EHitType
{
HIT_NONE,
HIT_WALL,
HIT_CEILING,
HIT_FLOOR
};
int hittype;
int deadtimer;
Line atline;
int atside;
override void PostBeginPlay()
{
Super.PostBeginPlay();
vel.z += 6;
deadtimer = -1;
}
action void A_SetToSlope( double dang, bool ceil = false )
{
vector3 fnormal;
if ( ceil ) fnormal = invoker.CurSector.floorplane.Normal;
else fnormal = invoker.CurSector.ceilingplane.Normal;
vector2 fnormalp1 = ((fnormal.x != 0) || (fnormal.y != 0))?(fnormal.x,fnormal.y).Unit():(0,0);
vector2 fnormalp2 = ((fnormal.x,fnormal.y).Length(),fnormal.z);
double fang = atan2(fnormalp1.y,fnormalp1.x); // floor angle (not pitch!)
double fpitch = atan2(fnormalp2.x,fnormalp2.y); // floor pitch
double ddiff1 = cos(fang-(dang-90));
double ddiff2 = cos(fang-dang);
invoker.pitch = -fpitch*ddiff2;
invoker.roll = fpitch*ddiff1;
invoker.angle = dang;
}
// align self to what surface was hit, currently does not support 3d floors + slopes properly
virtual void AlignSelf()
{
Vector3 normal;
FLineTraceData d;
A_NoGravity();
A_PlaySound("ges/hit");
A_SetSize(0.1,0);
if ( BlockingLine )
{
atline = BlockingLine;
normal = (-BlockingLine.delta.y,BlockingLine.delta.x,0).unit();
atside = 1;
if ( !BlockingLine.sidedef[1] || (CurSector == BlockingLine.frontsector) )
{
atside = 0;
normal *= -1;
}
angle = atan2(normal.y,normal.x);
pitch = 0;
roll = 0;
LineTrace(angle+180,8,0,data:d);
SetOrigin(d.HitLocation+normal*0.5,false);
hittype = HIT_WALL;
}
else if ( pos.z <= floorz+4 )
{
normal = cursector.floorplane.Normal;
pitch = asin(-normal.z);
angle = atan2(normal.y,normal.x);
roll = FRandom[GES](0,360);
SetOrigin((pos.x,pos.y,floorz)+normal*0.5,false);
hittype = HIT_FLOOR;
}
else if ( pos.z >= ceilingz-8 )
{
normal = cursector.ceilingplane.Normal;
pitch = asin(-normal.z);
angle = atan2(normal.y,normal.x);
roll = FRandom[GES](0,360);
SetOrigin((pos.x,pos.y,ceilingz)+normal*0.5,false);
if ( normal dot (0,0,-1) > 0.7 )
hittype = HIT_CEILING;
else hittype = HIT_FLOOR;
}
else SetStateLabel("Crash");
}
action void A_DropDrip()
{
// TODO
}
action void A_GelExplode()
{
if ( invoker.atline ) invoker.atline.RemoteActivate(target,invoker.atside,SPAC_Impact,pos);
A_Explode(Random[GES](15,20)*Scale.x,Min(250,Scale.x*75));
A_PlaySound("ges/explode",CHAN_VOICE);
// TODO particles
}
Default
{
Obituary "%o drank a glass of %k's dripping green load.";
RenderStyle "Add";
Radius 4;
Height 4;
Scale 2;
Speed 20;
PROJECTILE;
-NOGRAVITY;
+SKYEXPLODE;
+FORCERADIUSDMG;
}
States
{
Spawn:
GELF ABCDEFGHIJKLM 1 Bright;
Loop;
Death:
GELH A 1 Bright AlignSelf();
GELH BCDEFGHIJ 1 Bright;
GELH J 0 Bright A_SetTics(Random[GES](10,30));
GELH J -1 Bright
{
if ( invoker.hittype == HIT_WALL ) return ResolveState("Slide");
else if ( invoker.hittype == HIT_CEILING ) return ResolveState("Drip");
return ResolveState(null);
}
Stop;
Drip:
GELD ABCDEFGH 4 Bright;
GELD I 4 Bright A_DropDrip();
GELD JKLM 4 Bright;
GELD M -1 Bright;
Wait;
Slide:
GELS ABCDEFG 3 Bright;
Wait;
Crash:
XDeath:
#### # 1 A_SetTics(Random[GES](1,3)); // TODO EXPLOSION
TNT1 A 1 A_GelExplode();
Stop;
Shrivel:
GELX ABCDEFGHIJKL 1 Bright; // UNUSED
Stop;
}
}
Class BioGlob : BioGel
{
override void AlignSelf()
{
Super.AlignSelf();
// TODO splashes
}
}
Class BioSplash : BioGel
{
override void AlignSelf()
{
Super.AlignSelf();
if ( hittype == HIT_CEILING ) hittype = HIT_FLOOR;
}
}
Class BioRifle : UTWeapon
{
Default
{
Tag "GES Bio Rifle";
Inventory.PickupMessage "You got the GES BioRifle.";
Weapon.SlotNumber 3;
Weapon.AmmoType "BioAmmo";
Weapon.AmmoUse 1;
Weapon.AmmoType2 "BioAmmo";
Weapon.AmmoUse2 1;
Weapon.AmmoGive 25;
}
States
{
Spawn:
BIOP A -1;
Stop;
BIOP B -1;
Stop;
Ready:
BIOS ABCDEFGHIJKLMNOPQRSTUV 1;
Idle:
BIOI A 1 A_WeaponReady();
Goto Idle;
Fire:
BIOF ABCDEFGHI 1;
Goto Idle;
AltFire:
BIOC ABCDEFGHIJKLMNOPQRSTUVWXYZ 1;
BIC2 ABCDE 1;
BIOM A 1;
BIOE A 1;
Goto Idle;
Select:
BIOS A 1 A_Raise(int.max);
Wait;
Deselect:
BIOD ABCDEFGHIJ 1;
BIOD J 1 A_Lower(int.max);
Wait;
}
}

View file

@ -3,7 +3,6 @@ Class FlakAmmo : Ammo
Default Default
{ {
Tag "Flak Shells"; Tag "Flak Shells";
Inventory.Icon "I_FLAK";
Inventory.PickupMessage "You picked up 10 Flak Shells."; Inventory.PickupMessage "You picked up 10 Flak Shells.";
Inventory.PickupSound "ut/ammo"; Inventory.PickupSound "ut/ammo";
Inventory.Amount 10; Inventory.Amount 10;
@ -118,8 +117,8 @@ Class FlakChunk : Actor
Default Default
{ {
Obituary "%o was ripped to shreds by %k's Flak Cannon."; Obituary "%o was ripped to shreds by %k's Flak Cannon.";
Radius 2; Radius 4;
Height 2; Height 4;
Speed 80; Speed 80;
DamageFunction Random[Flak](12,18); DamageFunction Random[Flak](12,18);
DamageType 'Shredded'; DamageType 'Shredded';
@ -294,8 +293,8 @@ Class FlakSlug : Actor
{ {
Obituary "%o was ripped to shreds by %k's Flak Cannon."; Obituary "%o was ripped to shreds by %k's Flak Cannon.";
DamageType 'FlakDeath'; DamageType 'FlakDeath';
Radius 2; Radius 4;
Height 2; Height 4;
Speed 40; Speed 40;
PROJECTILE; PROJECTILE;
-NOGRAVITY; -NOGRAVITY;

View file

@ -2,8 +2,7 @@ Class ShockAmmo : Ammo
{ {
Default Default
{ {
Tag "Flak Shells"; Tag "ShockCore";
Inventory.Icon "I_ASMD";
Inventory.PickupMessage "You picked up a Shock Core."; Inventory.PickupMessage "You picked up a Shock Core.";
Inventory.PickupSound "ut/ammo"; Inventory.PickupSound "ut/ammo";
Inventory.Amount 10; Inventory.Amount 10;

View file

@ -4,7 +4,6 @@ Class WarheadAmmo : Ammo
Default Default
{ {
Tag "Redeemer Missile"; Tag "Redeemer Missile";
Inventory.Icon "I_WARH";
Inventory.PickupMessage "You picked up a Redeemer Missile."; Inventory.PickupMessage "You picked up a Redeemer Missile.";
Inventory.PickupSound "ut/ammo"; Inventory.PickupSound "ut/ammo";
Inventory.Amount 1; Inventory.Amount 1;
@ -193,8 +192,8 @@ Class WarShell : Actor
Default Default
{ {
Obituary "%o was vaporized by %k's Redeemer!!"; Obituary "%o was vaporized by %k's Redeemer!!";
Radius 2; Radius 4;
Height 2; Height 4;
Speed 5; Speed 5;
DamageType 'RedeemerDeath'; DamageType 'RedeemerDeath';
PROJECTILE; PROJECTILE;