summaryrefslogtreecommitdiff
path: root/assets
diff options
context:
space:
mode:
authorPaweł Redman <trem.redman@gmail.com>2014-01-19 11:44:43 +0100
committerPaweł Redman <trem.redman@gmail.com>2014-01-19 11:44:43 +0100
commitf9a8b76c0f912cea66eacf71162a3090fda698d8 (patch)
tree02b97139346540ba9b1d324f5717ee4bc37f332c /assets
parent0f00273fe1b2c7044dd23512408632eae6e0dca6 (diff)
0.1.6
Diffstat (limited to 'assets')
-rw-r--r--assets/credits.txt50
-rw-r--r--assets/gfx/2d/basivision_1.jpgbin0 -> 8885 bytes
-rw-r--r--assets/gfx/2d/basivision_blip.jpgbin0 -> 7552 bytes
-rw-r--r--assets/gfx/2d/basivision_flare.jpgbin0 -> 7071 bytes
-rw-r--r--assets/gfx/blood/blood01frame01.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood01frame02.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood01frame03.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood01frame04.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood01frame05.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood01frame06.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood01frame07.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood01frame08.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood02frame01.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood02frame02.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood02frame03.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood02frame04.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood02frame05.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood03frame01 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood03frame02 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood03frame03 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood03frame04 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood03frame05 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood03frame06 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood03frame07 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood04frame01 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood04frame02 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood04frame03 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood04frame04 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood04frame05 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood04frame06 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood05frame01 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood05frame02 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood05frame03 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood05frame04 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood05frame05 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood05frame06 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood05frame07 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/blood05frame08 copy.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood01frame01.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood01frame02.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood01frame03.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood01frame04.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood01frame05.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood01frame06.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood01frame07.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood01frame08.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood03frame01.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood03frame02.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood03frame03.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood03frame04.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood03frame05.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood03frame06.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood03frame07.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood04frame01.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood04frame02.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood04frame03.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood04frame04.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood04frame05.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood04frame06.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greenblood05frame08.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/blood/greensplat.tgabin0 -> 72755 bytes
-rw-r--r--assets/gfx/fire/fire00.jpgbin0 -> 23246 bytes
-rw-r--r--assets/gfx/fire/fire01.jpgbin0 -> 25202 bytes
-rw-r--r--assets/gfx/fire/fire02.jpgbin0 -> 27274 bytes
-rw-r--r--assets/gfx/fire/fire03.jpgbin0 -> 28192 bytes
-rw-r--r--assets/gfx/fire/fire04.jpgbin0 -> 28515 bytes
-rw-r--r--assets/gfx/fire/fire05.jpgbin0 -> 28401 bytes
-rw-r--r--assets/gfx/fire/fire06.jpgbin0 -> 28600 bytes
-rw-r--r--assets/gfx/fire/fire07.jpgbin0 -> 28421 bytes
-rw-r--r--assets/gfx/fire/fire08.jpgbin0 -> 26885 bytes
-rw-r--r--assets/gfx/fire/fire09.jpgbin0 -> 24753 bytes
-rw-r--r--assets/gfx/fire/fire10.jpgbin0 -> 24379 bytes
-rw-r--r--assets/gfx/fire/fire11.jpgbin0 -> 23449 bytes
-rw-r--r--assets/gfx/fire/fire12.jpgbin0 -> 21637 bytes
-rw-r--r--assets/gfx/fire/fire13.jpgbin0 -> 19357 bytes
-rw-r--r--assets/gfx/fire/fire14.jpgbin0 -> 17830 bytes
-rw-r--r--assets/gfx/fire/fire15.jpgbin0 -> 15812 bytes
-rw-r--r--assets/gfx/fire/fire16.jpgbin0 -> 13833 bytes
-rw-r--r--assets/gfx/fire/fire17.jpgbin0 -> 11710 bytes
-rw-r--r--assets/gfx/fire/fire18.jpgbin0 -> 11178 bytes
-rw-r--r--assets/gfx/fire/fire19.jpgbin0 -> 11092 bytes
-rw-r--r--assets/gfx/fireball/fireball00.jpgbin0 -> 17026 bytes
-rw-r--r--assets/gfx/fireball/fireball01.jpgbin0 -> 17178 bytes
-rw-r--r--assets/gfx/fireball/fireball02.jpgbin0 -> 18248 bytes
-rw-r--r--assets/gfx/fireball/fireball03.jpgbin0 -> 24452 bytes
-rw-r--r--assets/gfx/fireball/fireball04.jpgbin0 -> 24235 bytes
-rw-r--r--assets/gfx/fireball/fireball05.jpgbin0 -> 23865 bytes
-rw-r--r--assets/gfx/fireball/fireball06.jpgbin0 -> 17903 bytes
-rw-r--r--assets/gfx/fireball/fireball07.jpgbin0 -> 18059 bytes
-rw-r--r--assets/gfx/fireball/fireball08.jpgbin0 -> 18805 bytes
-rw-r--r--assets/gfx/fireball/fireball09.jpgbin0 -> 18616 bytes
-rw-r--r--assets/gfx/fireball/fireball10.jpgbin0 -> 18647 bytes
-rw-r--r--assets/gfx/fireball/fireball11.jpgbin0 -> 24150 bytes
-rw-r--r--assets/gfx/fireball/fireball12.jpgbin0 -> 17694 bytes
-rw-r--r--assets/gfx/fireball/fireball13.jpgbin0 -> 23935 bytes
-rw-r--r--assets/gfx/fireball/fireball14.jpgbin0 -> 23433 bytes
-rw-r--r--assets/gfx/fireball/fireball15.jpgbin0 -> 16591 bytes
-rw-r--r--assets/gfx/fireball/fireball16.jpgbin0 -> 23481 bytes
-rw-r--r--assets/gfx/fireball/fireball17.jpgbin0 -> 17685 bytes
-rw-r--r--assets/gfx/fireball/fireball18.jpgbin0 -> 18056 bytes
-rw-r--r--assets/gfx/fireball/fireball19.jpgbin0 -> 17568 bytes
-rw-r--r--assets/gfx/flash/explosionflash.jpgbin0 -> 52728 bytes
-rw-r--r--assets/gfx/gas/gas01.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/gas/gas02.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/gas/gas03.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/gas/gas04.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/gas/gas05.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/gas/gas06.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/gas/gas07.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/gas/gas08.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/gas/gas09.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/gas/gas10.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/gas/gas11.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/gas/gas12.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/gas/gas13.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/gas/gas14.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/gas/gas15.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/gas/gas16.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/lcannon/primary_1.jpgbin0 -> 38607 bytes
-rw-r--r--assets/gfx/lcannon/primary_2.jpgbin0 -> 41021 bytes
-rw-r--r--assets/gfx/lcannon/primary_3.jpgbin0 -> 39236 bytes
-rw-r--r--assets/gfx/lcannon/primary_4.jpgbin0 -> 38450 bytes
-rw-r--r--assets/gfx/lcannon/radial01.jpgbin0 -> 101395 bytes
-rw-r--r--assets/gfx/lcannon/radial02.jpgbin0 -> 92436 bytes
-rw-r--r--assets/gfx/lcannon/radial03.jpgbin0 -> 85187 bytes
-rw-r--r--assets/gfx/lcannon/radial04.jpgbin0 -> 66716 bytes
-rw-r--r--assets/gfx/lcannon/radial05.jpgbin0 -> 33331 bytes
-rw-r--r--assets/gfx/lcannon/radial06.jpgbin0 -> 16101 bytes
-rw-r--r--assets/gfx/misc/creep.tgabin0 -> 1048620 bytes
-rw-r--r--assets/gfx/misc/greenbuild.tgabin0 -> 556 bytes
-rw-r--r--assets/gfx/misc/redbuild.tgabin0 -> 556 bytes
-rw-r--r--assets/gfx/smoke/smoke01.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/smoke/smoke02.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/smoke/smoke03.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/smoke/smoke04.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/smoke/smoke05.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/smoke/smoke06.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/smoke/smoke07.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/smoke/smoke08.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/smoke/smoke09.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/smoke/smoke10.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/smoke/smoke11.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/smoke/smoke12.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/smoke/smoke13.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/smoke/smoke14.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/smoke/smoke15.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/smoke/smoke16.tgabin0 -> 16428 bytes
-rw-r--r--assets/gfx/spark/spark00.jpgbin0 -> 13797 bytes
-rw-r--r--assets/gfx/spark/spark01frame01.jpgbin0 -> 27425 bytes
-rw-r--r--assets/gfx/spark/spark01frame02.jpgbin0 -> 20159 bytes
-rw-r--r--assets/gfx/spark/spark01frame03.jpgbin0 -> 16348 bytes
-rw-r--r--assets/gfx/sprites/smoke.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/sprites/smoke_blue.tgabin0 -> 65580 bytes
-rw-r--r--assets/gfx/sprites/smoke_green.tgabin0 -> 49196 bytes
-rw-r--r--assets/models/weapons/abuildupg/weapon.cfg20
-rw-r--r--assets/models/weapons/blaster/flash0.wavbin0 -> 39544 bytes
-rw-r--r--assets/models/weapons/blaster/hit.wavbin0 -> 36736 bytes
-rw-r--r--assets/models/weapons/blaster/weapon.cfg16
-rw-r--r--assets/scripts/core.shader190
-rw-r--r--assets/scripts/cuboid.shader30
-rw-r--r--assets/scripts/g_alienattackfx.particle135
-rw-r--r--assets/scripts/g_alienattackfx.shader145
-rw-r--r--assets/scripts/g_alienblood.particle334
-rw-r--r--assets/scripts/g_alienblood.shader163
-rw-r--r--assets/scripts/g_alienbuildablefx.particle105
-rw-r--r--assets/scripts/g_alienmodelshaders.shader229
-rw-r--r--assets/scripts/g_buildmarker.shader17
-rw-r--r--assets/scripts/g_decals.shader114
-rw-r--r--assets/scripts/g_disconnect.particle25
-rw-r--r--assets/scripts/g_fire.shader459
-rw-r--r--assets/scripts/g_humanblood.particle35
-rw-r--r--assets/scripts/g_humanblood.shader79
-rw-r--r--assets/scripts/g_humanbuildablefx.particle413
-rw-r--r--assets/scripts/g_humanbuildablefx.shader192
-rw-r--r--assets/scripts/g_humanmodelshaders.shader653
-rw-r--r--assets/scripts/g_humanweaponfx.particle907
-rw-r--r--assets/scripts/g_humanweaponfx.shader142
-rw-r--r--assets/scripts/g_humanweaponfx.trail25
-rw-r--r--assets/scripts/g_jetpack.particle95
-rw-r--r--assets/scripts/g_lightning.trail61
-rw-r--r--assets/scripts/g_misc.shader141
-rw-r--r--assets/scripts/g_muzzleflashes.shader101
-rw-r--r--assets/scripts/particles_reference.txt58
-rw-r--r--assets/scripts/ui_crosshairs.shader96
-rw-r--r--assets/scripts/ui_hud.shader38
-rw-r--r--assets/scripts/ui_mainmenu.shader43
-rw-r--r--assets/scripts/water.shader57
-rw-r--r--assets/sound/buildables/acid_tube/acidsplat.wavbin0 -> 107446 bytes
-rw-r--r--assets/sound/buildables/tesla/idle1.wavbin0 -> 454566 bytes
-rw-r--r--assets/sound/player/human_bsuit/step1.wavbin0 -> 70746 bytes
-rw-r--r--assets/sound/player/human_bsuit/step2.wavbin0 -> 70746 bytes
-rw-r--r--assets/sound/player/human_bsuit/step3.wavbin0 -> 70746 bytes
-rw-r--r--assets/sound/player/human_bsuit/step4.wavbin0 -> 70746 bytes
-rw-r--r--assets/sound/upgrades/jetpack/lowfuel.wavbin66242 -> 14482 bytes
-rw-r--r--assets/ui/ingame_options.menu23
195 files changed, 5184 insertions, 7 deletions
diff --git a/assets/credits.txt b/assets/credits.txt
index 58fdcdb..d0c5a44 100644
--- a/assets/credits.txt
+++ b/assets/credits.txt
@@ -6,6 +6,27 @@ Cuboid - a Tremulous 1.2 mod focused on cuboids and fixing balance issues.
Version Release date
______________________________________________________________________________________________
+0.1.6 Jan 19 2013
+GAMEPLAY:
+- Introduced the Basivision (Activate Upgrade, +button2). While enabled, Basilisks can see in dark and see humans and their buildings through walls.
+- Zap damage was corrected.
+- Admins can choose to limit the maximum health for cuboids (g_cuboidHealthLimit).
+- Lava and slime now deal damage smoothly.
+- Reworked the jumping-out-of-water system: Tyrants and Dragoons should now be able to exit water easily.
+- Dretches, Basislisk and Tyrants are no longer calculated as "out of water" if on the bottom of a liquid tank (removes a lot of exploits, notably walking on the bottom of Ancient Remains lava pool).
+- Non-cuboids that haven't finished building are no longer removed after builder's death.
+NON-GAMEPLAY:
+- Various new images, particle systems and sounds.
+- Cleaned up the cuboid protocol (thing responsible for the green/yellow/red preview while placing a cuboid).
+- One of the loading bars no longer stops at 75%.
+- Announcer can be disabled (cg_announcer or the Options menu).
+- Turret angles are now interpolated (smooth).
+- Removed the mod tutorial system (which didn't work at all).
+- /register now forces a write to disk after registering. The server should no longer "forget" about registrations.
+- New weapon.cfg weapon mode keyword: "impactMarkAlphaFade" - if it's defined, the weapon's impact mark fades out using alpha compositing (so it can properly fade out alphaFunc shaders).
+- Added camera shake effect near explosions (magnitude controlled by cg_cameraShakeMagnitude, set to 0 to disable).
+- Added /cuboidSize <x> <y> <z> which makes it possible to resize the cuboid via console commands.
+
0.1.5 Sep 12 2013
GAMEPLAY:
- Reverted both Lucifer Cannon and Advanced Marauder zap back to the GPP state.
@@ -84,15 +105,12 @@ NON-GAMEPLAY:
CREDITS
Programming:
-theinvsblman (lead programmer)
-ViruS (a.k.a. ZdrytchX) (implementing CPMA physics)
+theinvsblman
+ViruS (a.k.a. ZdrytchX)
+DolceTriade
Source code and assets are available at https://github.com/enneract/cuboid under the terms of the GNU GPL.
This mod is based on Tremulous (Darklegion Development), which is based on Quake III: Arena (id Software).
-
- Art
-Pikachu, http//spiney.me/ (sounds)
-theinvsblman (Cuboid-related stuff)
Below is the full list of all resources used by the mod.
@@ -103,6 +121,19 @@ credits.txt theinvsblman
cuboid/logo_1.tga - logo_15.tga theinvsblman cc-by
cuboid/logo_left.tga, logo_right.tga Bitstream Bistream Vera Fonts Copyright
emoticons/* theinvsblman cc-by
+gfx/2d/basivision_*.jpg theinvsblman cc-by
+gfx/blood/* Pikachu cc0
+gfx/cuboid/* theinvsblman cc-by
+gfx/fire/* Pikachu cc0
+gfx/fireball/* Pikachu cc0
+gfx/flash/* Pikachu cc0
+gfx/gas/* Pikachu cc0
+gfx/lcannon/* Pikachu cc0
+gfx/misc/*build.tga Pikachu cc0
+gfx/misc/creep.tga Darklegion Development, Pikachu cc-by-sa
+gfx/smoke/* Pikachu cc0
+gfx/spark/* Pikachu cc0
+gfx/sprites/* Pikachu cc0
icons/iconu_biokit.tga Purga cc0
icons/iconu_helmet_mk2.tga Darklegion Development, theinvsblman cc-by-sa
models/cuboid/concrete/concrete.jpg Randy Reddig @ shaderlab.com shaderlab*
@@ -121,6 +152,10 @@ models/cuboid/slime/slime.jpg theinvsblman
models/players/human_base/h_helmet... Darklegion Development, cron cc-by-sa
models/players/human_base/head_mk2... Darklegion Development, cron cc-by-sa
models/players/human_base/head_lig... Darklegion Development, theinvsblman cc-by-sa
+models/weapons/abuildupg/weapon.cfg Darklegion Development, theinvsblman cc-by-sa
+models/weapons/blaster/flash0.wav Quake2World gpl2
+models/weapons/blaster/hit.wav Pikachu cc0
+models/weapons/blaster/weapon.cfg Darklegion Development, theinvsblman cc-by-sa
models/weapons/flamer/fireloop_qui... Darklegion Development, theinvsblman cc-by-sa
models/weapons/flamer/weapon.cfg Darklegion Development, theinvsblman cc-by-sa
models/weapons/level4/weapon.cfg Darklegion Development, theinvsblman cc-by-sa
@@ -129,6 +164,8 @@ scripts/cuboid.particle Darklegion Development, theinvsblman
sound/buildables/mgturret/spinup_a... Darklegion Development, Pikachu cc-by-sa
sound/buildables/mgturret/spinup_b... Darklegion Development, Pikachu cc-by-sa
sound/buildables/mgturret/turretki... Pikachu cc0
+sound/buildables/acid_tube/acidspl... Pikachu cc0
+sound/buildables/tesla/idle1.wav Darklegion Development, Pikachu cc-by-sa
sound/cuboid/axischange.wav Ongitak @ freesound.org cc-by
sound/cuboid/concrete/dstr0.wav Michael Manzke @ freesound.org cc-by-nc
sound/cuboid/concrete/pain0.wav Benboncan @ freesound.org cc-by
@@ -159,6 +196,7 @@ sound/cuboid/slime/pain1.wav anechoix @ freesound.org
sound/feedback/*.wav Pikachu cc0
sound/player/alienhatch.wav Darklegion Development, theinvsblman cc-by-sa
sound/player/alienfailedhatch.wav Darklegion Development, theinvsblman cc-by-sa
+sound/player/human_bsuit/* Darklegion Development, Pikachu cc-by-sa
sound/upgrades/jetpack/hi.wav Pikachu cc0
sound/upgrades/jetpack/idle.wav Pikachu cc0
sound/upgrades/jetpack/low.wav Pikachu cc0
diff --git a/assets/gfx/2d/basivision_1.jpg b/assets/gfx/2d/basivision_1.jpg
new file mode 100644
index 0000000..a9a94df
--- /dev/null
+++ b/assets/gfx/2d/basivision_1.jpg
Binary files differ
diff --git a/assets/gfx/2d/basivision_blip.jpg b/assets/gfx/2d/basivision_blip.jpg
new file mode 100644
index 0000000..e087678
--- /dev/null
+++ b/assets/gfx/2d/basivision_blip.jpg
Binary files differ
diff --git a/assets/gfx/2d/basivision_flare.jpg b/assets/gfx/2d/basivision_flare.jpg
new file mode 100644
index 0000000..0fa17f7
--- /dev/null
+++ b/assets/gfx/2d/basivision_flare.jpg
Binary files differ
diff --git a/assets/gfx/blood/blood01frame01.tga b/assets/gfx/blood/blood01frame01.tga
new file mode 100644
index 0000000..66b8ff4
--- /dev/null
+++ b/assets/gfx/blood/blood01frame01.tga
Binary files differ
diff --git a/assets/gfx/blood/blood01frame02.tga b/assets/gfx/blood/blood01frame02.tga
new file mode 100644
index 0000000..196541b
--- /dev/null
+++ b/assets/gfx/blood/blood01frame02.tga
Binary files differ
diff --git a/assets/gfx/blood/blood01frame03.tga b/assets/gfx/blood/blood01frame03.tga
new file mode 100644
index 0000000..49bde52
--- /dev/null
+++ b/assets/gfx/blood/blood01frame03.tga
Binary files differ
diff --git a/assets/gfx/blood/blood01frame04.tga b/assets/gfx/blood/blood01frame04.tga
new file mode 100644
index 0000000..86be0e5
--- /dev/null
+++ b/assets/gfx/blood/blood01frame04.tga
Binary files differ
diff --git a/assets/gfx/blood/blood01frame05.tga b/assets/gfx/blood/blood01frame05.tga
new file mode 100644
index 0000000..b21b11e
--- /dev/null
+++ b/assets/gfx/blood/blood01frame05.tga
Binary files differ
diff --git a/assets/gfx/blood/blood01frame06.tga b/assets/gfx/blood/blood01frame06.tga
new file mode 100644
index 0000000..1590f3a
--- /dev/null
+++ b/assets/gfx/blood/blood01frame06.tga
Binary files differ
diff --git a/assets/gfx/blood/blood01frame07.tga b/assets/gfx/blood/blood01frame07.tga
new file mode 100644
index 0000000..5b8bf9c
--- /dev/null
+++ b/assets/gfx/blood/blood01frame07.tga
Binary files differ
diff --git a/assets/gfx/blood/blood01frame08.tga b/assets/gfx/blood/blood01frame08.tga
new file mode 100644
index 0000000..82a1189
--- /dev/null
+++ b/assets/gfx/blood/blood01frame08.tga
Binary files differ
diff --git a/assets/gfx/blood/blood02frame01.tga b/assets/gfx/blood/blood02frame01.tga
new file mode 100644
index 0000000..414b1e9
--- /dev/null
+++ b/assets/gfx/blood/blood02frame01.tga
Binary files differ
diff --git a/assets/gfx/blood/blood02frame02.tga b/assets/gfx/blood/blood02frame02.tga
new file mode 100644
index 0000000..3aa75a4
--- /dev/null
+++ b/assets/gfx/blood/blood02frame02.tga
Binary files differ
diff --git a/assets/gfx/blood/blood02frame03.tga b/assets/gfx/blood/blood02frame03.tga
new file mode 100644
index 0000000..758c401
--- /dev/null
+++ b/assets/gfx/blood/blood02frame03.tga
Binary files differ
diff --git a/assets/gfx/blood/blood02frame04.tga b/assets/gfx/blood/blood02frame04.tga
new file mode 100644
index 0000000..21675a4
--- /dev/null
+++ b/assets/gfx/blood/blood02frame04.tga
Binary files differ
diff --git a/assets/gfx/blood/blood02frame05.tga b/assets/gfx/blood/blood02frame05.tga
new file mode 100644
index 0000000..5aee6e0
--- /dev/null
+++ b/assets/gfx/blood/blood02frame05.tga
Binary files differ
diff --git a/assets/gfx/blood/blood03frame01 copy.tga b/assets/gfx/blood/blood03frame01 copy.tga
new file mode 100644
index 0000000..08511c9
--- /dev/null
+++ b/assets/gfx/blood/blood03frame01 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood03frame02 copy.tga b/assets/gfx/blood/blood03frame02 copy.tga
new file mode 100644
index 0000000..4c51642
--- /dev/null
+++ b/assets/gfx/blood/blood03frame02 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood03frame03 copy.tga b/assets/gfx/blood/blood03frame03 copy.tga
new file mode 100644
index 0000000..9f4a827
--- /dev/null
+++ b/assets/gfx/blood/blood03frame03 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood03frame04 copy.tga b/assets/gfx/blood/blood03frame04 copy.tga
new file mode 100644
index 0000000..6f8459d
--- /dev/null
+++ b/assets/gfx/blood/blood03frame04 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood03frame05 copy.tga b/assets/gfx/blood/blood03frame05 copy.tga
new file mode 100644
index 0000000..b2122f0
--- /dev/null
+++ b/assets/gfx/blood/blood03frame05 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood03frame06 copy.tga b/assets/gfx/blood/blood03frame06 copy.tga
new file mode 100644
index 0000000..bd604fc
--- /dev/null
+++ b/assets/gfx/blood/blood03frame06 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood03frame07 copy.tga b/assets/gfx/blood/blood03frame07 copy.tga
new file mode 100644
index 0000000..ca57745
--- /dev/null
+++ b/assets/gfx/blood/blood03frame07 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood04frame01 copy.tga b/assets/gfx/blood/blood04frame01 copy.tga
new file mode 100644
index 0000000..a3ff49e
--- /dev/null
+++ b/assets/gfx/blood/blood04frame01 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood04frame02 copy.tga b/assets/gfx/blood/blood04frame02 copy.tga
new file mode 100644
index 0000000..ca6ec09
--- /dev/null
+++ b/assets/gfx/blood/blood04frame02 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood04frame03 copy.tga b/assets/gfx/blood/blood04frame03 copy.tga
new file mode 100644
index 0000000..c2b90c6
--- /dev/null
+++ b/assets/gfx/blood/blood04frame03 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood04frame04 copy.tga b/assets/gfx/blood/blood04frame04 copy.tga
new file mode 100644
index 0000000..9fa3fc3
--- /dev/null
+++ b/assets/gfx/blood/blood04frame04 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood04frame05 copy.tga b/assets/gfx/blood/blood04frame05 copy.tga
new file mode 100644
index 0000000..f3b2680
--- /dev/null
+++ b/assets/gfx/blood/blood04frame05 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood04frame06 copy.tga b/assets/gfx/blood/blood04frame06 copy.tga
new file mode 100644
index 0000000..59a75d6
--- /dev/null
+++ b/assets/gfx/blood/blood04frame06 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood05frame01 copy.tga b/assets/gfx/blood/blood05frame01 copy.tga
new file mode 100644
index 0000000..93afa3b
--- /dev/null
+++ b/assets/gfx/blood/blood05frame01 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood05frame02 copy.tga b/assets/gfx/blood/blood05frame02 copy.tga
new file mode 100644
index 0000000..a72b0d4
--- /dev/null
+++ b/assets/gfx/blood/blood05frame02 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood05frame03 copy.tga b/assets/gfx/blood/blood05frame03 copy.tga
new file mode 100644
index 0000000..74fe936
--- /dev/null
+++ b/assets/gfx/blood/blood05frame03 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood05frame04 copy.tga b/assets/gfx/blood/blood05frame04 copy.tga
new file mode 100644
index 0000000..0920225
--- /dev/null
+++ b/assets/gfx/blood/blood05frame04 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood05frame05 copy.tga b/assets/gfx/blood/blood05frame05 copy.tga
new file mode 100644
index 0000000..1e6b389
--- /dev/null
+++ b/assets/gfx/blood/blood05frame05 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood05frame06 copy.tga b/assets/gfx/blood/blood05frame06 copy.tga
new file mode 100644
index 0000000..ffe9c45
--- /dev/null
+++ b/assets/gfx/blood/blood05frame06 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood05frame07 copy.tga b/assets/gfx/blood/blood05frame07 copy.tga
new file mode 100644
index 0000000..031fd8b
--- /dev/null
+++ b/assets/gfx/blood/blood05frame07 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/blood05frame08 copy.tga b/assets/gfx/blood/blood05frame08 copy.tga
new file mode 100644
index 0000000..4dac09c
--- /dev/null
+++ b/assets/gfx/blood/blood05frame08 copy.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood01frame01.tga b/assets/gfx/blood/greenblood01frame01.tga
new file mode 100644
index 0000000..da576d3
--- /dev/null
+++ b/assets/gfx/blood/greenblood01frame01.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood01frame02.tga b/assets/gfx/blood/greenblood01frame02.tga
new file mode 100644
index 0000000..3597e8d
--- /dev/null
+++ b/assets/gfx/blood/greenblood01frame02.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood01frame03.tga b/assets/gfx/blood/greenblood01frame03.tga
new file mode 100644
index 0000000..6e3b4a6
--- /dev/null
+++ b/assets/gfx/blood/greenblood01frame03.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood01frame04.tga b/assets/gfx/blood/greenblood01frame04.tga
new file mode 100644
index 0000000..6bf3dd1
--- /dev/null
+++ b/assets/gfx/blood/greenblood01frame04.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood01frame05.tga b/assets/gfx/blood/greenblood01frame05.tga
new file mode 100644
index 0000000..4282e9c
--- /dev/null
+++ b/assets/gfx/blood/greenblood01frame05.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood01frame06.tga b/assets/gfx/blood/greenblood01frame06.tga
new file mode 100644
index 0000000..ad815ff
--- /dev/null
+++ b/assets/gfx/blood/greenblood01frame06.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood01frame07.tga b/assets/gfx/blood/greenblood01frame07.tga
new file mode 100644
index 0000000..5a18f71
--- /dev/null
+++ b/assets/gfx/blood/greenblood01frame07.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood01frame08.tga b/assets/gfx/blood/greenblood01frame08.tga
new file mode 100644
index 0000000..4aaf680
--- /dev/null
+++ b/assets/gfx/blood/greenblood01frame08.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood03frame01.tga b/assets/gfx/blood/greenblood03frame01.tga
new file mode 100644
index 0000000..201a9df
--- /dev/null
+++ b/assets/gfx/blood/greenblood03frame01.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood03frame02.tga b/assets/gfx/blood/greenblood03frame02.tga
new file mode 100644
index 0000000..5feabbd
--- /dev/null
+++ b/assets/gfx/blood/greenblood03frame02.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood03frame03.tga b/assets/gfx/blood/greenblood03frame03.tga
new file mode 100644
index 0000000..bc02867
--- /dev/null
+++ b/assets/gfx/blood/greenblood03frame03.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood03frame04.tga b/assets/gfx/blood/greenblood03frame04.tga
new file mode 100644
index 0000000..a5ed762
--- /dev/null
+++ b/assets/gfx/blood/greenblood03frame04.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood03frame05.tga b/assets/gfx/blood/greenblood03frame05.tga
new file mode 100644
index 0000000..83d533d
--- /dev/null
+++ b/assets/gfx/blood/greenblood03frame05.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood03frame06.tga b/assets/gfx/blood/greenblood03frame06.tga
new file mode 100644
index 0000000..ade7cde
--- /dev/null
+++ b/assets/gfx/blood/greenblood03frame06.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood03frame07.tga b/assets/gfx/blood/greenblood03frame07.tga
new file mode 100644
index 0000000..b29b2ba
--- /dev/null
+++ b/assets/gfx/blood/greenblood03frame07.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood04frame01.tga b/assets/gfx/blood/greenblood04frame01.tga
new file mode 100644
index 0000000..fcacebd
--- /dev/null
+++ b/assets/gfx/blood/greenblood04frame01.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood04frame02.tga b/assets/gfx/blood/greenblood04frame02.tga
new file mode 100644
index 0000000..beff604
--- /dev/null
+++ b/assets/gfx/blood/greenblood04frame02.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood04frame03.tga b/assets/gfx/blood/greenblood04frame03.tga
new file mode 100644
index 0000000..afe2b4d
--- /dev/null
+++ b/assets/gfx/blood/greenblood04frame03.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood04frame04.tga b/assets/gfx/blood/greenblood04frame04.tga
new file mode 100644
index 0000000..9c03a3d
--- /dev/null
+++ b/assets/gfx/blood/greenblood04frame04.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood04frame05.tga b/assets/gfx/blood/greenblood04frame05.tga
new file mode 100644
index 0000000..7183e86
--- /dev/null
+++ b/assets/gfx/blood/greenblood04frame05.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood04frame06.tga b/assets/gfx/blood/greenblood04frame06.tga
new file mode 100644
index 0000000..a8cd043
--- /dev/null
+++ b/assets/gfx/blood/greenblood04frame06.tga
Binary files differ
diff --git a/assets/gfx/blood/greenblood05frame08.tga b/assets/gfx/blood/greenblood05frame08.tga
new file mode 100644
index 0000000..ecfb9bb
--- /dev/null
+++ b/assets/gfx/blood/greenblood05frame08.tga
Binary files differ
diff --git a/assets/gfx/blood/greensplat.tga b/assets/gfx/blood/greensplat.tga
new file mode 100644
index 0000000..e2933a0
--- /dev/null
+++ b/assets/gfx/blood/greensplat.tga
Binary files differ
diff --git a/assets/gfx/fire/fire00.jpg b/assets/gfx/fire/fire00.jpg
new file mode 100644
index 0000000..e75edfa
--- /dev/null
+++ b/assets/gfx/fire/fire00.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire01.jpg b/assets/gfx/fire/fire01.jpg
new file mode 100644
index 0000000..61f1a13
--- /dev/null
+++ b/assets/gfx/fire/fire01.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire02.jpg b/assets/gfx/fire/fire02.jpg
new file mode 100644
index 0000000..15241a7
--- /dev/null
+++ b/assets/gfx/fire/fire02.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire03.jpg b/assets/gfx/fire/fire03.jpg
new file mode 100644
index 0000000..99b1e00
--- /dev/null
+++ b/assets/gfx/fire/fire03.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire04.jpg b/assets/gfx/fire/fire04.jpg
new file mode 100644
index 0000000..19ffc89
--- /dev/null
+++ b/assets/gfx/fire/fire04.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire05.jpg b/assets/gfx/fire/fire05.jpg
new file mode 100644
index 0000000..3074bad
--- /dev/null
+++ b/assets/gfx/fire/fire05.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire06.jpg b/assets/gfx/fire/fire06.jpg
new file mode 100644
index 0000000..ff7cd35
--- /dev/null
+++ b/assets/gfx/fire/fire06.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire07.jpg b/assets/gfx/fire/fire07.jpg
new file mode 100644
index 0000000..07a22b4
--- /dev/null
+++ b/assets/gfx/fire/fire07.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire08.jpg b/assets/gfx/fire/fire08.jpg
new file mode 100644
index 0000000..471628e
--- /dev/null
+++ b/assets/gfx/fire/fire08.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire09.jpg b/assets/gfx/fire/fire09.jpg
new file mode 100644
index 0000000..626cbf8
--- /dev/null
+++ b/assets/gfx/fire/fire09.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire10.jpg b/assets/gfx/fire/fire10.jpg
new file mode 100644
index 0000000..d60a449
--- /dev/null
+++ b/assets/gfx/fire/fire10.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire11.jpg b/assets/gfx/fire/fire11.jpg
new file mode 100644
index 0000000..c99d085
--- /dev/null
+++ b/assets/gfx/fire/fire11.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire12.jpg b/assets/gfx/fire/fire12.jpg
new file mode 100644
index 0000000..89faf80
--- /dev/null
+++ b/assets/gfx/fire/fire12.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire13.jpg b/assets/gfx/fire/fire13.jpg
new file mode 100644
index 0000000..3146f15
--- /dev/null
+++ b/assets/gfx/fire/fire13.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire14.jpg b/assets/gfx/fire/fire14.jpg
new file mode 100644
index 0000000..5fef77a
--- /dev/null
+++ b/assets/gfx/fire/fire14.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire15.jpg b/assets/gfx/fire/fire15.jpg
new file mode 100644
index 0000000..164ce36
--- /dev/null
+++ b/assets/gfx/fire/fire15.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire16.jpg b/assets/gfx/fire/fire16.jpg
new file mode 100644
index 0000000..2ee406b
--- /dev/null
+++ b/assets/gfx/fire/fire16.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire17.jpg b/assets/gfx/fire/fire17.jpg
new file mode 100644
index 0000000..8fe1668
--- /dev/null
+++ b/assets/gfx/fire/fire17.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire18.jpg b/assets/gfx/fire/fire18.jpg
new file mode 100644
index 0000000..08250eb
--- /dev/null
+++ b/assets/gfx/fire/fire18.jpg
Binary files differ
diff --git a/assets/gfx/fire/fire19.jpg b/assets/gfx/fire/fire19.jpg
new file mode 100644
index 0000000..fa6f9fc
--- /dev/null
+++ b/assets/gfx/fire/fire19.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball00.jpg b/assets/gfx/fireball/fireball00.jpg
new file mode 100644
index 0000000..613b695
--- /dev/null
+++ b/assets/gfx/fireball/fireball00.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball01.jpg b/assets/gfx/fireball/fireball01.jpg
new file mode 100644
index 0000000..0f46ccf
--- /dev/null
+++ b/assets/gfx/fireball/fireball01.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball02.jpg b/assets/gfx/fireball/fireball02.jpg
new file mode 100644
index 0000000..04b9326
--- /dev/null
+++ b/assets/gfx/fireball/fireball02.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball03.jpg b/assets/gfx/fireball/fireball03.jpg
new file mode 100644
index 0000000..5211565
--- /dev/null
+++ b/assets/gfx/fireball/fireball03.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball04.jpg b/assets/gfx/fireball/fireball04.jpg
new file mode 100644
index 0000000..99d5ca6
--- /dev/null
+++ b/assets/gfx/fireball/fireball04.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball05.jpg b/assets/gfx/fireball/fireball05.jpg
new file mode 100644
index 0000000..607c5ab
--- /dev/null
+++ b/assets/gfx/fireball/fireball05.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball06.jpg b/assets/gfx/fireball/fireball06.jpg
new file mode 100644
index 0000000..4c1d30d
--- /dev/null
+++ b/assets/gfx/fireball/fireball06.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball07.jpg b/assets/gfx/fireball/fireball07.jpg
new file mode 100644
index 0000000..f338632
--- /dev/null
+++ b/assets/gfx/fireball/fireball07.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball08.jpg b/assets/gfx/fireball/fireball08.jpg
new file mode 100644
index 0000000..2d47087
--- /dev/null
+++ b/assets/gfx/fireball/fireball08.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball09.jpg b/assets/gfx/fireball/fireball09.jpg
new file mode 100644
index 0000000..a8f5ad2
--- /dev/null
+++ b/assets/gfx/fireball/fireball09.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball10.jpg b/assets/gfx/fireball/fireball10.jpg
new file mode 100644
index 0000000..3cc018f
--- /dev/null
+++ b/assets/gfx/fireball/fireball10.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball11.jpg b/assets/gfx/fireball/fireball11.jpg
new file mode 100644
index 0000000..5cf7e63
--- /dev/null
+++ b/assets/gfx/fireball/fireball11.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball12.jpg b/assets/gfx/fireball/fireball12.jpg
new file mode 100644
index 0000000..b304086
--- /dev/null
+++ b/assets/gfx/fireball/fireball12.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball13.jpg b/assets/gfx/fireball/fireball13.jpg
new file mode 100644
index 0000000..a5b28af
--- /dev/null
+++ b/assets/gfx/fireball/fireball13.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball14.jpg b/assets/gfx/fireball/fireball14.jpg
new file mode 100644
index 0000000..9b22b1b
--- /dev/null
+++ b/assets/gfx/fireball/fireball14.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball15.jpg b/assets/gfx/fireball/fireball15.jpg
new file mode 100644
index 0000000..4cb838d
--- /dev/null
+++ b/assets/gfx/fireball/fireball15.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball16.jpg b/assets/gfx/fireball/fireball16.jpg
new file mode 100644
index 0000000..948b2c0
--- /dev/null
+++ b/assets/gfx/fireball/fireball16.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball17.jpg b/assets/gfx/fireball/fireball17.jpg
new file mode 100644
index 0000000..79c89a6
--- /dev/null
+++ b/assets/gfx/fireball/fireball17.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball18.jpg b/assets/gfx/fireball/fireball18.jpg
new file mode 100644
index 0000000..644e608
--- /dev/null
+++ b/assets/gfx/fireball/fireball18.jpg
Binary files differ
diff --git a/assets/gfx/fireball/fireball19.jpg b/assets/gfx/fireball/fireball19.jpg
new file mode 100644
index 0000000..214c11c
--- /dev/null
+++ b/assets/gfx/fireball/fireball19.jpg
Binary files differ
diff --git a/assets/gfx/flash/explosionflash.jpg b/assets/gfx/flash/explosionflash.jpg
new file mode 100644
index 0000000..c80ef7d
--- /dev/null
+++ b/assets/gfx/flash/explosionflash.jpg
Binary files differ
diff --git a/assets/gfx/gas/gas01.tga b/assets/gfx/gas/gas01.tga
new file mode 100644
index 0000000..0c9693c
--- /dev/null
+++ b/assets/gfx/gas/gas01.tga
Binary files differ
diff --git a/assets/gfx/gas/gas02.tga b/assets/gfx/gas/gas02.tga
new file mode 100644
index 0000000..040dcd0
--- /dev/null
+++ b/assets/gfx/gas/gas02.tga
Binary files differ
diff --git a/assets/gfx/gas/gas03.tga b/assets/gfx/gas/gas03.tga
new file mode 100644
index 0000000..6a7ff54
--- /dev/null
+++ b/assets/gfx/gas/gas03.tga
Binary files differ
diff --git a/assets/gfx/gas/gas04.tga b/assets/gfx/gas/gas04.tga
new file mode 100644
index 0000000..90e67cb
--- /dev/null
+++ b/assets/gfx/gas/gas04.tga
Binary files differ
diff --git a/assets/gfx/gas/gas05.tga b/assets/gfx/gas/gas05.tga
new file mode 100644
index 0000000..30585ff
--- /dev/null
+++ b/assets/gfx/gas/gas05.tga
Binary files differ
diff --git a/assets/gfx/gas/gas06.tga b/assets/gfx/gas/gas06.tga
new file mode 100644
index 0000000..cb337e5
--- /dev/null
+++ b/assets/gfx/gas/gas06.tga
Binary files differ
diff --git a/assets/gfx/gas/gas07.tga b/assets/gfx/gas/gas07.tga
new file mode 100644
index 0000000..2a41733
--- /dev/null
+++ b/assets/gfx/gas/gas07.tga
Binary files differ
diff --git a/assets/gfx/gas/gas08.tga b/assets/gfx/gas/gas08.tga
new file mode 100644
index 0000000..1546015
--- /dev/null
+++ b/assets/gfx/gas/gas08.tga
Binary files differ
diff --git a/assets/gfx/gas/gas09.tga b/assets/gfx/gas/gas09.tga
new file mode 100644
index 0000000..162c283
--- /dev/null
+++ b/assets/gfx/gas/gas09.tga
Binary files differ
diff --git a/assets/gfx/gas/gas10.tga b/assets/gfx/gas/gas10.tga
new file mode 100644
index 0000000..8804c4a
--- /dev/null
+++ b/assets/gfx/gas/gas10.tga
Binary files differ
diff --git a/assets/gfx/gas/gas11.tga b/assets/gfx/gas/gas11.tga
new file mode 100644
index 0000000..f1f28be
--- /dev/null
+++ b/assets/gfx/gas/gas11.tga
Binary files differ
diff --git a/assets/gfx/gas/gas12.tga b/assets/gfx/gas/gas12.tga
new file mode 100644
index 0000000..e8e6808
--- /dev/null
+++ b/assets/gfx/gas/gas12.tga
Binary files differ
diff --git a/assets/gfx/gas/gas13.tga b/assets/gfx/gas/gas13.tga
new file mode 100644
index 0000000..e56d4ce
--- /dev/null
+++ b/assets/gfx/gas/gas13.tga
Binary files differ
diff --git a/assets/gfx/gas/gas14.tga b/assets/gfx/gas/gas14.tga
new file mode 100644
index 0000000..0b96bb8
--- /dev/null
+++ b/assets/gfx/gas/gas14.tga
Binary files differ
diff --git a/assets/gfx/gas/gas15.tga b/assets/gfx/gas/gas15.tga
new file mode 100644
index 0000000..85dd3d8
--- /dev/null
+++ b/assets/gfx/gas/gas15.tga
Binary files differ
diff --git a/assets/gfx/gas/gas16.tga b/assets/gfx/gas/gas16.tga
new file mode 100644
index 0000000..34a7254
--- /dev/null
+++ b/assets/gfx/gas/gas16.tga
Binary files differ
diff --git a/assets/gfx/lcannon/primary_1.jpg b/assets/gfx/lcannon/primary_1.jpg
new file mode 100644
index 0000000..262b3dd
--- /dev/null
+++ b/assets/gfx/lcannon/primary_1.jpg
Binary files differ
diff --git a/assets/gfx/lcannon/primary_2.jpg b/assets/gfx/lcannon/primary_2.jpg
new file mode 100644
index 0000000..5536496
--- /dev/null
+++ b/assets/gfx/lcannon/primary_2.jpg
Binary files differ
diff --git a/assets/gfx/lcannon/primary_3.jpg b/assets/gfx/lcannon/primary_3.jpg
new file mode 100644
index 0000000..12961b3
--- /dev/null
+++ b/assets/gfx/lcannon/primary_3.jpg
Binary files differ
diff --git a/assets/gfx/lcannon/primary_4.jpg b/assets/gfx/lcannon/primary_4.jpg
new file mode 100644
index 0000000..0624736
--- /dev/null
+++ b/assets/gfx/lcannon/primary_4.jpg
Binary files differ
diff --git a/assets/gfx/lcannon/radial01.jpg b/assets/gfx/lcannon/radial01.jpg
new file mode 100644
index 0000000..624d9ad
--- /dev/null
+++ b/assets/gfx/lcannon/radial01.jpg
Binary files differ
diff --git a/assets/gfx/lcannon/radial02.jpg b/assets/gfx/lcannon/radial02.jpg
new file mode 100644
index 0000000..7f93896
--- /dev/null
+++ b/assets/gfx/lcannon/radial02.jpg
Binary files differ
diff --git a/assets/gfx/lcannon/radial03.jpg b/assets/gfx/lcannon/radial03.jpg
new file mode 100644
index 0000000..52c01f1
--- /dev/null
+++ b/assets/gfx/lcannon/radial03.jpg
Binary files differ
diff --git a/assets/gfx/lcannon/radial04.jpg b/assets/gfx/lcannon/radial04.jpg
new file mode 100644
index 0000000..1919265
--- /dev/null
+++ b/assets/gfx/lcannon/radial04.jpg
Binary files differ
diff --git a/assets/gfx/lcannon/radial05.jpg b/assets/gfx/lcannon/radial05.jpg
new file mode 100644
index 0000000..ff098cf
--- /dev/null
+++ b/assets/gfx/lcannon/radial05.jpg
Binary files differ
diff --git a/assets/gfx/lcannon/radial06.jpg b/assets/gfx/lcannon/radial06.jpg
new file mode 100644
index 0000000..f719b35
--- /dev/null
+++ b/assets/gfx/lcannon/radial06.jpg
Binary files differ
diff --git a/assets/gfx/misc/creep.tga b/assets/gfx/misc/creep.tga
new file mode 100644
index 0000000..b437dd0
--- /dev/null
+++ b/assets/gfx/misc/creep.tga
Binary files differ
diff --git a/assets/gfx/misc/greenbuild.tga b/assets/gfx/misc/greenbuild.tga
new file mode 100644
index 0000000..7c626f5
--- /dev/null
+++ b/assets/gfx/misc/greenbuild.tga
Binary files differ
diff --git a/assets/gfx/misc/redbuild.tga b/assets/gfx/misc/redbuild.tga
new file mode 100644
index 0000000..e7db833
--- /dev/null
+++ b/assets/gfx/misc/redbuild.tga
Binary files differ
diff --git a/assets/gfx/smoke/smoke01.tga b/assets/gfx/smoke/smoke01.tga
new file mode 100644
index 0000000..220b5ad
--- /dev/null
+++ b/assets/gfx/smoke/smoke01.tga
Binary files differ
diff --git a/assets/gfx/smoke/smoke02.tga b/assets/gfx/smoke/smoke02.tga
new file mode 100644
index 0000000..8941945
--- /dev/null
+++ b/assets/gfx/smoke/smoke02.tga
Binary files differ
diff --git a/assets/gfx/smoke/smoke03.tga b/assets/gfx/smoke/smoke03.tga
new file mode 100644
index 0000000..c119d74
--- /dev/null
+++ b/assets/gfx/smoke/smoke03.tga
Binary files differ
diff --git a/assets/gfx/smoke/smoke04.tga b/assets/gfx/smoke/smoke04.tga
new file mode 100644
index 0000000..e59fad3
--- /dev/null
+++ b/assets/gfx/smoke/smoke04.tga
Binary files differ
diff --git a/assets/gfx/smoke/smoke05.tga b/assets/gfx/smoke/smoke05.tga
new file mode 100644
index 0000000..aec8a94
--- /dev/null
+++ b/assets/gfx/smoke/smoke05.tga
Binary files differ
diff --git a/assets/gfx/smoke/smoke06.tga b/assets/gfx/smoke/smoke06.tga
new file mode 100644
index 0000000..aa9c1fb
--- /dev/null
+++ b/assets/gfx/smoke/smoke06.tga
Binary files differ
diff --git a/assets/gfx/smoke/smoke07.tga b/assets/gfx/smoke/smoke07.tga
new file mode 100644
index 0000000..c8de9f6
--- /dev/null
+++ b/assets/gfx/smoke/smoke07.tga
Binary files differ
diff --git a/assets/gfx/smoke/smoke08.tga b/assets/gfx/smoke/smoke08.tga
new file mode 100644
index 0000000..15a3111
--- /dev/null
+++ b/assets/gfx/smoke/smoke08.tga
Binary files differ
diff --git a/assets/gfx/smoke/smoke09.tga b/assets/gfx/smoke/smoke09.tga
new file mode 100644
index 0000000..23a398f
--- /dev/null
+++ b/assets/gfx/smoke/smoke09.tga
Binary files differ
diff --git a/assets/gfx/smoke/smoke10.tga b/assets/gfx/smoke/smoke10.tga
new file mode 100644
index 0000000..b1e6dcd
--- /dev/null
+++ b/assets/gfx/smoke/smoke10.tga
Binary files differ
diff --git a/assets/gfx/smoke/smoke11.tga b/assets/gfx/smoke/smoke11.tga
new file mode 100644
index 0000000..e093178
--- /dev/null
+++ b/assets/gfx/smoke/smoke11.tga
Binary files differ
diff --git a/assets/gfx/smoke/smoke12.tga b/assets/gfx/smoke/smoke12.tga
new file mode 100644
index 0000000..172e87a
--- /dev/null
+++ b/assets/gfx/smoke/smoke12.tga
Binary files differ
diff --git a/assets/gfx/smoke/smoke13.tga b/assets/gfx/smoke/smoke13.tga
new file mode 100644
index 0000000..80a097b
--- /dev/null
+++ b/assets/gfx/smoke/smoke13.tga
Binary files differ
diff --git a/assets/gfx/smoke/smoke14.tga b/assets/gfx/smoke/smoke14.tga
new file mode 100644
index 0000000..37938dc
--- /dev/null
+++ b/assets/gfx/smoke/smoke14.tga
Binary files differ
diff --git a/assets/gfx/smoke/smoke15.tga b/assets/gfx/smoke/smoke15.tga
new file mode 100644
index 0000000..c0bbd10
--- /dev/null
+++ b/assets/gfx/smoke/smoke15.tga
Binary files differ
diff --git a/assets/gfx/smoke/smoke16.tga b/assets/gfx/smoke/smoke16.tga
new file mode 100644
index 0000000..ff3ed3f
--- /dev/null
+++ b/assets/gfx/smoke/smoke16.tga
Binary files differ
diff --git a/assets/gfx/spark/spark00.jpg b/assets/gfx/spark/spark00.jpg
new file mode 100644
index 0000000..674d6f1
--- /dev/null
+++ b/assets/gfx/spark/spark00.jpg
Binary files differ
diff --git a/assets/gfx/spark/spark01frame01.jpg b/assets/gfx/spark/spark01frame01.jpg
new file mode 100644
index 0000000..67ada87
--- /dev/null
+++ b/assets/gfx/spark/spark01frame01.jpg
Binary files differ
diff --git a/assets/gfx/spark/spark01frame02.jpg b/assets/gfx/spark/spark01frame02.jpg
new file mode 100644
index 0000000..fa18fb1
--- /dev/null
+++ b/assets/gfx/spark/spark01frame02.jpg
Binary files differ
diff --git a/assets/gfx/spark/spark01frame03.jpg b/assets/gfx/spark/spark01frame03.jpg
new file mode 100644
index 0000000..e440522
--- /dev/null
+++ b/assets/gfx/spark/spark01frame03.jpg
Binary files differ
diff --git a/assets/gfx/sprites/smoke.tga b/assets/gfx/sprites/smoke.tga
new file mode 100644
index 0000000..6dd30be
--- /dev/null
+++ b/assets/gfx/sprites/smoke.tga
Binary files differ
diff --git a/assets/gfx/sprites/smoke_blue.tga b/assets/gfx/sprites/smoke_blue.tga
new file mode 100644
index 0000000..c0b1fae
--- /dev/null
+++ b/assets/gfx/sprites/smoke_blue.tga
Binary files differ
diff --git a/assets/gfx/sprites/smoke_green.tga b/assets/gfx/sprites/smoke_green.tga
new file mode 100644
index 0000000..cdc531a
--- /dev/null
+++ b/assets/gfx/sprites/smoke_green.tga
Binary files differ
diff --git a/assets/models/weapons/abuildupg/weapon.cfg b/assets/models/weapons/abuildupg/weapon.cfg
new file mode 100644
index 0000000..17d346b
--- /dev/null
+++ b/assets/models/weapons/abuildupg/weapon.cfg
@@ -0,0 +1,20 @@
+disableIn3rdPerson
+crosshair 15 gfx/2d/crosshair-alien_s
+
+icon icons/icona_builder
+
+secondary
+{
+ flashSound 0 models/weapons/abuildupg/flash0.wav
+ impactFleshSound 0 models/weapons/abuildupg/impactflesh0.wav
+ alwaysImpact
+}
+
+tertiary
+{
+ missileModel models/weapons/level3upg/missile.md3
+
+ impactMark 64 creep
+ impactMarkAlphaFade
+ impactSound 0 sound/misc/organic_bounce.wav
+}
diff --git a/assets/models/weapons/blaster/flash0.wav b/assets/models/weapons/blaster/flash0.wav
new file mode 100644
index 0000000..950120a
--- /dev/null
+++ b/assets/models/weapons/blaster/flash0.wav
Binary files differ
diff --git a/assets/models/weapons/blaster/hit.wav b/assets/models/weapons/blaster/hit.wav
new file mode 100644
index 0000000..cd2db9e
--- /dev/null
+++ b/assets/models/weapons/blaster/hit.wav
Binary files differ
diff --git a/assets/models/weapons/blaster/weapon.cfg b/assets/models/weapons/blaster/weapon.cfg
new file mode 100644
index 0000000..76a2f79
--- /dev/null
+++ b/assets/models/weapons/blaster/weapon.cfg
@@ -0,0 +1,16 @@
+weaponModel models/weapons/blaster/blaster.md3
+
+icon icons/iconw_blaster
+crosshair 24 gfx/2d/crosshair-prifle_s
+
+primary
+{
+ missileSprite 4 gfx/blaster/orange_particle
+ missileParticleSystem models/weapons/blaster/missilePS
+
+ flashDlightColor 1.0 1.0 0.0
+ flashSound 0 models/weapons/blaster/flash0.wav
+
+ impactMark 4 gfx/marks/burn_mrk
+ impactSound 0 models/weapons/blaster/hit.wav
+}
diff --git a/assets/scripts/core.shader b/assets/scripts/core.shader
new file mode 100644
index 0000000..e80aa10
--- /dev/null
+++ b/assets/scripts/core.shader
@@ -0,0 +1,190 @@
+// the REGION shader is generated by the map editor on temporary
+// brushes around a selected area for testing parts of maps
+textures/REGION
+{
+ surfaceparm nolightmap
+}
+
+white
+{
+ {
+ map *white
+ blendfunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+
+outline
+{
+ cull none
+ nopicmip
+ nomipmaps
+ {
+ map gfx/2d/outline.tga
+ blendfunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+
+console
+{
+ nopicmip
+ nomipmaps
+ {
+ map gfx/colors/black.tga
+ }
+}
+
+gfx/misc/detail
+{
+ nopicmip
+ {
+ map gfx/misc/detail.jpg
+ blendFunc GL_DST_COLOR GL_SRC_COLOR
+ rgbgen identity
+ }
+}
+
+// The console font
+gfx/2d/bigchars
+{
+ nopicmip
+ nomipmaps
+ {
+ map gfx/2d/bigchars.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+
+gfx/2d/cursor
+{
+ nopicmip
+ nomipmaps
+ {
+ map gfx/2d/cursor.tga
+ }
+}
+
+// projectionShadow is used for cheap squashed model shadows
+projectionShadow
+{
+ polygonOffset
+ deformVertexes projectionShadow
+ {
+ map *white
+ blendFunc GL_ONE GL_ZERO
+ rgbGen wave square 0 0 0 0
+ }
+}
+
+// blinked on top of lagometer when connection is interrupted
+gfx/2d/net
+{
+ nopicmip
+ {
+ map gfx/2d/net.jpg
+ }
+}
+
+//===============================================================
+
+gfx/2d/numbers/zero_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/zero_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/one_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/one_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/two_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/two_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/three_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/three_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/four_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/four_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/five_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/five_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/six_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/six_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/seven_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/seven_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/eight_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/eight_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/nine_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/nine_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/minus_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/minus_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
diff --git a/assets/scripts/cuboid.shader b/assets/scripts/cuboid.shader
index e75ef7d..fc5a764 100644
--- a/assets/scripts/cuboid.shader
+++ b/assets/scripts/cuboid.shader
@@ -254,3 +254,33 @@ gfx/cuboid/prebuild_alien
}
}
+gfx/2d/basivision
+{
+ {
+ map gfx/2d/basivision_1.jpg
+ blendFunc GL_ONE_MINUS_DST_COLOR GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+gfx/2d/basivisionBlip
+{
+ {
+ clampmap gfx/2d/basivision_blip.jpg
+ blendFunc add
+ tcMod rotate 26
+ }
+ {
+ clampmap gfx/2d/basivision_blip.jpg
+ blendFunc add
+ tcMod rotate -49
+ }
+}
+
+gfx/2d/basivisionFlare
+{
+ {
+ clampmap gfx/2d/basivision_flare.jpg
+ tcMod stretch sin 1 0.1 0 140
+ blendFunc add
+ }
+}
diff --git a/assets/scripts/g_alienattackfx.particle b/assets/scripts/g_alienattackfx.particle
new file mode 100644
index 0000000..b6e7710
--- /dev/null
+++ b/assets/scripts/g_alienattackfx.particle
@@ -0,0 +1,135 @@
+// Basilisk Gas
+
+models/weapons/level1upg/muzzlePS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gas01 gas02 gas03 gas04 gas05 gas06 gas07 gas08 gas09 gas10 gas11 gas12 gas13 gas14 gas15 gas16
+
+ displacement 0 0 0 0
+
+ parentVelocityFraction 0.5
+
+ velocityType cent
+ velocityDir linear
+ velocityMagnitude 80
+ velocity 0 0 0 ~50
+
+ radius 0 5 35
+ alpha 150 0.5 0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 1200
+ }
+
+ count 40
+ delay 0
+ period 10 - 0
+ }
+}
+
+poisonCloudedPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gas01 gas02 gas03 gas04 gas05 gas06 gas07 gas08 gas09 gas10 gas11 gas12 gas13 gas14 gas15 gas16
+
+ displacement 0 0 0 ~6
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 60
+ velocity 0 0 0 ~50
+
+ radius 0 4 12
+ alpha 100 0.25 0
+ rotation 0 ~360 -
+
+ lifeTime 800
+ }
+
+ count 100
+ delay 0
+ period 50 200 0
+ }
+}
+
+firstPersonPoisonCloudPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gas01 gas02 gas03 gas04 gas05 gas06 gas07 gas08 gas09 gas10 gas11 gas12 gas13 gas14 gas15 gas16
+
+ displacement 0 0 0 ~32
+
+ parentVelocityFraction 1.0
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 16
+ velocity 0 0 1 0
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 300
+ acceleration 0 0 1 0
+
+ radius 0 10 40
+ alpha 0 0.5 0
+ rotation 0 ~360 -
+ bounce 0.5
+
+ lifeTime 1000
+ }
+
+ count 400
+ delay 0
+ period 20 - 0
+ }
+}
+
+
+
+
+
+// Dragoon Barb
+
+models/weapons/level3upg/impactPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/level3upg/barb_splash
+
+ displacement 0 0 0 ~8
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 800
+ velocity 0 0 1 ~80
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 0
+
+ radius 0 3~2 0
+ alpha 0 10 1
+ rotation 0 ~360 -
+ bounce 0.4~100%
+
+ lifeTime 175
+ }
+
+ count 12
+ delay 0
+ period 0 - 0
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_alienattackfx.shader b/assets/scripts/g_alienattackfx.shader
new file mode 100644
index 0000000..7564d3a
--- /dev/null
+++ b/assets/scripts/g_alienattackfx.shader
@@ -0,0 +1,145 @@
+// marauder zap in g_lightning.trail
+
+gas01
+{
+ nopicmip
+ {
+ map gfx/gas/gas01.tga
+ blendFunc Blend
+ }
+}
+
+gas02
+{
+ nopicmip
+ {
+ map gfx/gas/gas02.tga
+ blendFunc Blend
+ }
+}
+
+gas03
+{
+ nopicmip
+ {
+ map gfx/gas/gas03.tga
+ blendFunc Blend
+ }
+}
+
+gas04
+{
+ nopicmip
+ {
+ map gfx/gas/gas04.tga
+ blendFunc Blend
+ }
+}
+
+gas05
+{
+ nopicmip
+ {
+ map gfx/gas/gas05.tga
+ blendFunc Blend
+ }
+}
+
+gas06
+{
+ nopicmip
+ {
+ map gfx/gas/gas06.tga
+ blendFunc Blend
+ }
+}
+
+gas07
+{
+ nopicmip
+ {
+ map gfx/gas/gas07.tga
+ blendFunc Blend
+ }
+}
+
+gas08
+{
+ nopicmip
+ {
+ map gfx/gas/gas08.tga
+ blendFunc Blend
+ }
+}
+
+gas09
+{
+ nopicmip
+ {
+ map gfx/gas/gas09.tga
+ blendFunc Blend
+ }
+}
+
+gas10
+{
+ nopicmip
+ {
+ map gfx/gas/gas10.tga
+ blendFunc Blend
+ }
+}
+
+gas11
+{
+ nopicmip
+ {
+ map gfx/gas/gas11.tga
+ blendFunc Blend
+ }
+}
+
+gas12
+{
+ nopicmip
+ {
+ map gfx/gas/gas12.tga
+ blendFunc Blend
+ }
+}
+
+gas13
+{
+ nopicmip
+ {
+ map gfx/gas/gas13.tga
+ blendFunc Blend
+ }
+}
+
+gas14
+{
+ nopicmip
+ {
+ map gfx/gas/gas14.tga
+ blendFunc Blend
+ }
+}
+
+gas15
+{
+ nopicmip
+ {
+ map gfx/gas/gas15.tga
+ blendFunc Blend
+ }
+}
+
+gas16
+{
+ nopicmip
+ {
+ map gfx/gas/gas16.tga
+ blendFunc Blend
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_alienblood.particle b/assets/scripts/g_alienblood.particle
new file mode 100644
index 0000000..0d627ad
--- /dev/null
+++ b/assets/scripts/g_alienblood.particle
@@ -0,0 +1,334 @@
+alienBleedPS // alien blood
+{
+ ejector
+ {
+ particle
+ {
+ shader sync greenblood01frame01 greenblood01frame02 greenblood01frame03 greenblood01frame04 greenblood01frame05 greenblood01frame06 greenblood01frame07 greenblood01frame08
+
+ displacement 0 0 0 ~8
+
+ radius 0 6~2 9~2
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 250~50
+ }
+ count 1
+ delay 0
+ period 0 - 0
+ }
+ thirdPersonOnly
+}
+
+alienBuildableBleedPS // alien building blood
+{
+ ejector
+ {
+ particle
+ {
+ shader sync greenblood01frame01 greenblood01frame02 greenblood01frame03 greenblood01frame04 greenblood01frame05 greenblood01frame06 greenblood01frame07 greenblood01frame08
+
+ displacement 0 0 0 ~8
+
+ radius 0 6~2 9~2
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 250~50
+ }
+ count 1
+ delay 0
+ period 0 - 0
+ }
+ thirdPersonOnly
+}
+
+alienBuildableDamagedPS // alien building almost destroyed
+{
+ ejector
+ {
+ particle
+ {
+ shader sync greenblood03frame01 greenblood03frame02 greenblood03frame03 greenblood03frame04 greenblood03frame05 greenblood03frame06 greenblood03frame07
+
+ displacement 0 0 0 ~4
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 100
+ velocity 0 0 0 ~20
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 200
+ acceleration 0 0 -2 0
+
+ radius 0 4 12~6
+ alpha 0 1 1
+ rotation 0 ~360 -
+
+ lifeTime 300~50%
+ }
+
+ particle
+ {
+ shader sync greenblood01frame01 greenblood01frame02 greenblood01frame03 greenblood01frame04 greenblood01frame05 greenblood01frame06 greenblood01frame07 greenblood01frame08
+
+ displacement 0 0 0 ~6
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 100
+ velocity 0 0 0 ~20
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 200
+ acceleration 0 0 -2 0
+
+ radius 0 4 12~4
+ alpha 0 1 1
+ rotation 0 ~360 -
+
+ lifeTime 300~50%
+ }
+ count infinite
+ delay 0
+ period 600 - 0
+ }
+
+ ejector
+ {
+ particle
+ {
+ shader sync greenblood01frame01 greenblood01frame02 greenblood01frame03 greenblood01frame04 greenblood01frame05 greenblood01frame06 greenblood01frame07 greenblood01frame08
+
+ displacement 0 0 0 ~20
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 100
+ velocity 0 0 0 ~20
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 200
+ acceleration 0 0 -2 0
+
+ radius 0 4.0 4.0
+ alpha 0 1 1
+ rotation 0 ~360 -
+
+ lifeTime 300~50%
+ }
+
+ particle
+ {
+ shader sync greenblood01frame01 greenblood01frame02 greenblood01frame03 greenblood01frame04 greenblood01frame05 greenblood01frame06 greenblood01frame07 greenblood01frame08
+
+ displacement 0 0 0 ~20
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 100
+ velocity 0 0 0 ~20
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 200
+ acceleration 0 0 -2 0
+
+ radius 0 4 4
+ alpha 0 1 1
+ rotation 0 ~360 -
+
+ lifeTime 300~50%
+ }
+ count infinite
+ delay 300
+ period 600 - 0
+ }
+}
+
+alienBuildableDestroyedPS // alien building destroyed
+{
+ ejector
+ {
+ particle
+ {
+ shader sync greenblood01frame01 greenblood01frame02 greenblood01frame03 greenblood01frame04 greenblood01frame05 greenblood01frame06 greenblood01frame07 greenblood01frame08
+
+ displacement 0 0 0 ~0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 300~75%
+ velocity 0 0 0.05 ~40
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -2 0
+
+ radius 0 10 15
+ alpha 0 1 1
+ rotation 0 ~360 -
+ bounce cull
+
+ lifeTime 600
+ }
+
+ count 32
+ delay 0
+ period 0 - 0
+ }
+ ejector
+ {
+ particle
+ {
+ shader sync greenblood03frame01
+
+ displacement 0 0 30 ~0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 300~75%
+ velocity 0 0 1 ~40
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -2 0
+
+ radius 600 8 0
+ alpha 0 1 1
+ rotation 0 ~360 -
+ bounce 0.1
+ bouncemark 1 24~8 greensplat2
+
+ lifeTime 1200
+ }
+
+ particle
+ {
+ shader sync greenblood03frame01
+
+ displacement 0 0 30 0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 300~75%
+ velocity 0 0 1 ~40
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -2 0
+
+ radius 600 8 0
+ alpha 0 1 1
+ rotation 0 ~360 -
+ bounce 0.1
+ bouncemark 1 24~8 greensplat3
+
+ lifeTime 1200
+ }
+
+ particle
+ {
+ shader sync greenblood03frame01
+
+ displacement 0 0 30 0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 300~75%
+ velocity 0 0 1 ~40
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -2 0
+
+ radius 500 10 0
+ alpha 0 1 1
+ rotation 0 ~360 -
+ bounce 0.1
+ bouncemark 1 24~8 greensplat4
+
+ lifeTime 1000
+ }
+
+ count 3
+ delay 0
+ period 0 - 0
+ }
+ ejector // gibs
+ {
+ particle
+ {
+ model models/fx/alien_gibs/a_gib1.md3 models/fx/alien_gibs/a_gib2.md3 models/fx/alien_gibs/a_gib3.md3 models/fx/alien_gibs/a_gib4.md3
+
+ displacement 0~20 0~20 40~10 0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 300~75%
+ velocity 0 0 1 ~60
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 0
+
+ radius 2000 1 0
+ bounce 0.2
+ bounceMark 1~1 24 greensplat3
+ bounceSound ~1 sound/misc/organic_bounce.wav
+
+ lifeTime 3000~500
+ }
+
+ count 3
+ delay 0
+ period 0 - 0
+ }
+}
+
+alienEvolvePS // alien evolution blood
+{
+ ejector
+ {
+ particle
+ {
+ shader sync greenblood01frame01 greenblood01frame02 greenblood01frame03 greenblood01frame04 greenblood01frame05 greenblood01frame06 greenblood01frame07 greenblood01frame08
+
+ displacement 0 0 0 ~0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 150~75%
+ velocity 0 0 1 ~50
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 0
+
+ radius 0 5 30
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0.2
+
+ lifeTime 1000
+ }
+
+ count 30
+ delay 0
+ period 5 - 0
+ }
+ thirdPersonOnly
+} \ No newline at end of file
diff --git a/assets/scripts/g_alienblood.shader b/assets/scripts/g_alienblood.shader
new file mode 100644
index 0000000..f6c39e4
--- /dev/null
+++ b/assets/scripts/g_alienblood.shader
@@ -0,0 +1,163 @@
+// blood decals are in g_decals.shader
+
+greenblood01frame01
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/greenblood01frame01.tga
+ blendfunc gl_one gl_one_minus_src_color
+ }
+}
+
+greenblood01frame02
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/greenblood01frame02.tga
+ blendfunc gl_one gl_one_minus_src_color
+ }
+}
+
+greenblood01frame03
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/greenblood01frame03.tga
+ blendfunc gl_one gl_one_minus_src_color
+ }
+}
+
+greenblood01frame04
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/greenblood01frame04.tga
+ blendfunc gl_one gl_one_minus_src_color
+ }
+}
+
+greenblood01frame05
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/greenblood01frame05.tga
+ blendfunc gl_one gl_one_minus_src_color
+ }
+}
+
+greenblood01frame06
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/greenblood01frame06.tga
+ blendfunc gl_one gl_one_minus_src_color
+ }
+}
+
+greenblood01frame07
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/greenblood01frame07.tga
+ blendfunc gl_one gl_one_minus_src_color
+ }
+}
+
+greenblood01frame08
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/greenblood01frame08.tga
+ blendfunc gl_one gl_one_minus_src_color
+ }
+}
+
+greenblood03frame01
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/greenblood03frame01.tga
+ blendfunc gl_one gl_one_minus_src_color
+ }
+}
+
+greenblood03frame02
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/greenblood03frame02.tga
+ blendfunc gl_one gl_one_minus_src_color
+ }
+}
+
+greenblood03frame03
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/greenblood03frame03.tga
+ blendfunc gl_one gl_one_minus_src_color
+ }
+}
+
+greenblood03frame04
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/greenblood03frame04.tga
+ blendfunc gl_one gl_one_minus_src_color
+
+ }
+}
+
+greenblood03frame05
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/greenblood03frame05.tga
+ blendfunc gl_one gl_one_minus_src_color
+ }
+}
+
+greenblood03frame06
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/greenblood03frame06.tga
+ blendfunc gl_one gl_one_minus_src_color
+
+ }
+}
+
+greenblood03frame07
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/greenblood03frame07.tga
+ blendfunc gl_one gl_one_minus_src_color
+ }
+}
+
+greenblood03frame08
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/greenblood03frame08.tga
+ blendfunc gl_one gl_one_minus_src_color
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_alienbuildablefx.particle b/assets/scripts/g_alienbuildablefx.particle
new file mode 100644
index 0000000..a946351
--- /dev/null
+++ b/assets/scripts/g_alienbuildablefx.particle
@@ -0,0 +1,105 @@
+alienAcidTubePS // Acid Tube
+{
+ ejector // acid spray
+ {
+ particle
+ {
+ shader sync greenblood01frame01 greenblood01frame02 greenblood01frame03 greenblood01frame04 greenblood01frame05 greenblood01frame06 greenblood01frame07 greenblood01frame08
+
+ displacement 0 0 0 ~2
+ normalDisplacement 20
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 300~75%
+ velocity 0 0 1 ~10
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 ~30
+
+ radius 0 8 20
+ alpha 0 1.0 0
+ rotation 0 ~360 -
+ bounce 0.2
+
+ lifeTime 600~50%
+ }
+
+ count 50
+ delay 0
+ period 5 - 0
+ }
+
+ ejector // acid decals
+ {
+ particle
+ {
+ shader sync greenblood01frame01
+
+ displacement 0 0 0 0
+ normalDisplacement 0
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 300~75%
+ velocity 0 0 1 ~10
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 900
+ acceleration 0 0 -1 ~30
+
+ radius 0 0 0
+ alpha 0 0 0
+ rotation 0 ~360 -
+
+ bounce 0.3
+ bounceMark 0~1 32~8 greensplat
+ bounceSound 1 sound/buildables/acid_tube/acidsplat.wav
+
+ onDeathSystem alienBuildableBleedPS
+
+ lifeTime 1000~50%
+ }
+
+ count 1
+ delay 0
+ period 5 - 0
+ }
+}
+
+models/weapons/hive/missilePS // Hive
+{
+ ejector
+ {
+ particle
+ {
+ shader 20 models/weapons/hive/sprite1.tga models/weapons/hive/sprite2.tga
+
+ displacement 0 0 0 ~4
+
+ parentVelocityFraction 0.5
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 100
+ velocity 0 0 1 ~180
+
+ accelerationType cent
+ accelerationDir point
+ accelerationMagnitude 2000
+
+ rotation 0 -20~40 -20~40
+ radius 0 2 2
+ alpha 0 1 0
+ bounce 0.5
+
+ lifeTime 4000
+ }
+
+ count infinite
+ delay 0
+ period 100 - 0
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_alienmodelshaders.shader b/assets/scripts/g_alienmodelshaders.shader
new file mode 100644
index 0000000..3a8b854
--- /dev/null
+++ b/assets/scripts/g_alienmodelshaders.shader
@@ -0,0 +1,229 @@
+// Advanced Marauder
+
+models/players/level2/level2adv
+{
+ {
+ map models/players/level2/lvl2_fx.tga
+ blendFunc GL_ONE GL_ZERO
+ tcmod scale 7 7
+ tcMod scroll 5 -5
+ tcmod rotate 360
+ rgbGen identity
+ }
+
+ {
+ map models/players/level2/adv.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbGen lightingDiffuse
+ }
+}
+
+models/players/level2/electric_s
+{
+ {
+ map models/players/level2/electric.jpg
+ blendfunc add
+ tcMod scroll 10 0.5
+ }
+}
+
+
+
+
+
+// Booster
+
+models/buildables/booster/booster_head
+{
+ {
+ map models/buildables/booster/booster_head.tga
+ rgbGen lightingDiffuse
+ }
+ {
+ map models/buildables/booster/ref_map.tga
+ blendfunc filter
+ rgbGen identity
+ tcMod rotate 5
+ tcGen environment
+ }
+}
+
+models/buildables/booster/booster_sac
+{
+ {
+ map models/buildables/booster/booster_sac.tga
+ rgbGen lightingDiffuse
+ }
+ {
+ map models/buildables/booster/poison.tga
+ blendfunc add
+ rgbGen wave sin 0 1 0 0.1
+ tcMod scroll -0.05 -0.05
+ }
+}
+models/buildables/booster/pod_strands
+{
+ cull disable
+ {
+ map models/buildables/barricade/pod_strands.tga
+ rgbGen lightingDiffuse
+ alphaFunc GE128
+ }
+}
+models/buildables/hovel/pod_strands
+{
+ cull disable
+ {
+ map models/buildables/barricade/pod_strands.tga
+ rgbGen lightingDiffuse
+ alphaFunc GE128
+ }
+}
+
+
+
+
+
+// Egg
+
+models/buildables/eggpod/pod_body
+{
+ nopicmip
+ cull disable
+ {
+ map models/buildables/eggpod/pod_body.tga
+ rgbGen lightingDiffuse
+ }
+}
+
+models/buildables/eggpod/pod_tip
+{
+ nopicmip
+ cull disable
+ {
+ map models/buildables/eggpod/pod_tip.tga
+ rgbGen lightingDiffuse
+ alphaFunc GE128
+ }
+}
+
+models/buildables/eggpod/pod_tendrils
+{
+ nopicmip
+ cull disable
+ {
+ map models/buildables/eggpod/pod_tendrils.tga
+ rgbGen lightingDiffuse
+ }
+}
+
+models/buildables/eggpod/pod_strands
+{
+ nopicmip
+ cull disable
+ {
+ map models/buildables/eggpod/pod_strands.tga
+ rgbGen lightingDiffuse
+ alphaFunc GE128
+ }
+}
+
+models/buildables/barricade/pod_strands
+{
+ nopicmip
+ cull disable
+ {
+ map models/buildables/barricade/pod_strands.tga
+ rgbGen lightingDiffuse
+ alphaFunc GE128
+ }
+}
+models/buildables/barricade/alien_spike
+{
+ nopicmip
+ {
+ map models/buildables/barricade/alien_spike.tga
+ rgbGen lightingDiffuse
+ }
+}
+
+models/buildables/acid_tube/pod_strands
+{
+ nopicmip
+ cull disable
+ {
+ map models/buildables/eggpod/pod_strands.tga
+ rgbGen lightingDiffuse
+ alphaFunc GE128
+ }
+}
+
+
+
+
+
+// Hive
+
+models/buildables/hive/hive_strands_s
+{
+ cull disable
+ {
+ map models/buildables/hive/hive_strands.tga
+ rgbGen lightingDiffuse
+ alphaFunc GE128
+ }
+}
+
+
+
+
+
+// Overmind
+
+models/buildables/overmind/pod_strands
+{
+ cull disable
+ {
+ map models/buildables/eggpod/pod_strands.tga
+ rgbGen lightingDiffuse
+ alphaFunc GE128
+ }
+}
+
+models/buildables/overmind/over_spike
+{
+ {
+ map models/buildables/overmind/over_spike.tga
+ rgbGen lightingDiffuse
+ }
+ {
+ map models/buildables/overmind/ref2.tga
+ blendfunc filter
+ rgbGen identity
+ tcGen environment
+ }
+}
+
+
+
+
+
+// Trapper
+
+models/buildables/trapper/trapper_gills
+{
+nopicmip
+cull disable
+ {
+ map models/buildables/trapper/trapper_gills.tga
+ rgbGen lightingDiffuse
+ alphaFunc GE128
+ }
+ {
+ map models/buildables/trapper/trapper_gills.tga
+ rgbGen lightingDiffuse
+ tcMod scroll -0.01 0
+ tcMod scale -1 1
+ alphaFunc GE128
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_buildmarker.shader b/assets/scripts/g_buildmarker.shader
new file mode 100644
index 0000000..bae10ae
--- /dev/null
+++ b/assets/scripts/g_buildmarker.shader
@@ -0,0 +1,17 @@
+gfx/misc/redbuild
+{
+ cull disable
+ {
+ map gfx/misc/redbuild.tga
+ blendfunc add
+ }
+}
+
+gfx/misc/greenbuild
+{
+ cull disable
+ {
+ map gfx/misc/greenbuild.tga
+ blendfunc add
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_decals.shader b/assets/scripts/g_decals.shader
new file mode 100644
index 0000000..71096b6
--- /dev/null
+++ b/assets/scripts/g_decals.shader
@@ -0,0 +1,114 @@
+gfx/marks/shadow // blob shadow
+{
+ polygonOffset
+ {
+ map gfx/marks/shadow.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbGen vertex
+ alphaGen vertex
+ }
+}
+
+gfx/marks/wake // foamy water around swimming players
+{
+ polygonOffset
+ {
+ clampmap gfx/marks/splash.tga
+ blendFunc GL_ONE GL_ONE
+ rgbGen vertex
+ tcmod rotate 250
+ tcMod stretch sin .9 0.1 0 0.7
+ rgbGen wave sin .7 .3 .25 .5
+ }
+ {
+ clampmap gfx/marks/splash.tga
+ blendFunc GL_ONE GL_ONE
+ rgbGen vertex
+ tcmod rotate -230
+ tcMod stretch sin .9 0.05 0 0.9
+ rgbGen wave sin .7 .3 .25 .4
+ }
+}
+
+gfx/marks/bullet_mrk // bullet decal
+{
+ polygonOffset
+ {
+ map gfx/marks/bullet_mrk.tga
+ blendFunc GL_ZERO GL_ONE_MINUS_SRC_COLOR
+ rgbGen exactVertex
+ }
+}
+
+gfx/marks/burn_mrk // burn mark
+{
+ polygonOffset
+ {
+ map gfx/marks/burn_mrk.tga
+ blendFunc GL_ZERO GL_ONE_MINUS_SRC_COLOR
+ rgbGen exactVertex
+ }
+}
+
+gfx/marks/plasma_mrk // plasma decal
+{
+ polygonOffset
+ {
+ map gfx/marks/plasma_mrk.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbGen vertex
+ alphaGen vertex
+ }
+}
+
+creep // alien creep texture
+{
+ nopicmip
+ polygonoffset
+ {
+ clampmap gfx/misc/creep.tga
+ blendfunc blend
+ rgbGen identityLighting
+ alphaGen Vertex
+ }
+}
+
+greensplat // alien acid/blood decal
+{
+ nopicmip
+ polygonoffset
+ {
+ map gfx/blood/greensplat.tga
+ blendfunc blend
+ }
+}
+
+greensplat2 // alien acid/blood decal
+{
+ nopicmip
+ polygonoffset
+ {
+ map gfx/blood/greenblood01frame08.tga
+ blendfunc blend
+ }
+}
+
+greensplat3 // alien acid/blood decal
+{
+ nopicmip
+ polygonoffset
+ {
+ map gfx/blood/greenblood01frame07.tga
+ blendfunc blend
+ }
+}
+
+greensplat4 // alien acid/blood decal
+{
+ nopicmip
+ polygonoffset
+ {
+ map gfx/blood/greenblood03frame07.tga
+ blendfunc blend
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_disconnect.particle b/assets/scripts/g_disconnect.particle
new file mode 100644
index 0000000..e7ba0c1
--- /dev/null
+++ b/assets/scripts/g_disconnect.particle
@@ -0,0 +1,25 @@
+disconnectPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/sprites/bubble
+ displacement 0 0 0 ~60
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 15
+ velocity 0 0 1 ~90
+
+ radius 0 24 32
+ alpha 0 1 -
+
+ lifeTime 1000~300
+ }
+
+ count 3
+ delay 0
+ period 0 - 0
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_fire.shader b/assets/scripts/g_fire.shader
new file mode 100644
index 0000000..1dc86f0
--- /dev/null
+++ b/assets/scripts/g_fire.shader
@@ -0,0 +1,459 @@
+flame1
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame00.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame2
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame01.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame3
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame02.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame4
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame03.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame5
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame04.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame6
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame05.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame7
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame06.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame8
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame07.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame9
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame08.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame10
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame09.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame11
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame10.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame12
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame11.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame13
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame12.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame14
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame13.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame15
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame14.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame16
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame15.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame17
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame16.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame18
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame17.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame19
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame18.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame20
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame19.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame21
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame20.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame22
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame21.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame23
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame22.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame24
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame23.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+flame25
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flame/flame24.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire00
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire00.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire01
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire01.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire02
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire02.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire03
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire03.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire04
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire04.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire05
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire05.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire06
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire06.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire07
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire07.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire08
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire08.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire09
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire09.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire10
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire10.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire11
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire11.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire12
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire12.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire13
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire13.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire14
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire14.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire15
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire15.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire16
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire16.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire17
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire17.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire18
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire18.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+fire19
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/fire/fire19.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+explosionflash
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/flash/explosionflash.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_humanblood.particle b/assets/scripts/g_humanblood.particle
new file mode 100644
index 0000000..d537c27
--- /dev/null
+++ b/assets/scripts/g_humanblood.particle
@@ -0,0 +1,35 @@
+humanBleedPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync blood01frame01 blood01frame02 blood01frame03 blood01frame04 blood01frame05 blood01frame06 blood01frame07 blood01frame08
+
+ displacement 0 0 0 0
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 15
+ velocity 0 0 0 ~35
+
+ accelerationType static
+ accelerationDir linear
+ acceleration 0 0 -1 ~5
+ accelerationMagnitude 25
+
+ radius 0 5 8
+ alpha 250 .75 0
+ rotation 0 ~-15 ~15
+ bounce cull
+
+ lifeTime 400~100
+ }
+
+ count 1
+ delay 0
+ period 0 - 0
+ }
+
+ thirdPersonOnly
+} \ No newline at end of file
diff --git a/assets/scripts/g_humanblood.shader b/assets/scripts/g_humanblood.shader
new file mode 100644
index 0000000..f5ffb02
--- /dev/null
+++ b/assets/scripts/g_humanblood.shader
@@ -0,0 +1,79 @@
+blood01frame01
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/blood01frame01.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+blood01frame02
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/blood01frame02.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+blood01frame03
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/blood01frame03.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+blood01frame04
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/blood01frame04.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+blood01frame05
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/blood01frame05.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+blood01frame06
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/blood01frame06.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+blood01frame07
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/blood01frame07.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+blood01frame08
+{
+ nopicmip
+ cull disable
+ {
+ map gfx/blood/blood01frame08.tga
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_humanbuildablefx.particle b/assets/scripts/g_humanbuildablefx.particle
new file mode 100644
index 0000000..24fce14
--- /dev/null
+++ b/assets/scripts/g_humanbuildablefx.particle
@@ -0,0 +1,413 @@
+humanBuildableBleedPS
+{
+ ejector
+ {
+ particle // residual sparks
+ {
+ shader sync spark00
+
+ displacement 0 0 0 ~1
+ normalDisplacement -8
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 200
+ velocity 0 0 0.2 ~60
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 500
+ acceleration 0~360 0~360 -1 0
+
+ radius 0 1.5~1 0
+ alpha 0 1 1
+ rotation 0 ~360 -
+ bounce 0.6
+
+ lifeTime 600~20%
+ }
+
+ count 1~2
+ delay 0
+ period 0 - 0
+ }
+
+ ejector // impact sparks
+ {
+ particle
+ {
+ shader sync spark01frame01 spark01frame03
+
+ displacement 0 0 0 4
+
+ normalDisplacement 15
+
+ velocityType static
+ accelerationType static
+
+ radius 0 10~60% 0~4
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 100
+ }
+
+ count 1~1
+ delay 0
+ period 0 - 0
+ }
+}
+
+humanBuildableDamagedPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/sprites/smoke
+
+ displacement 0 0 16 0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 25
+ velocity 0 0 1 ~60
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 25
+ acceleration 0 0 1 0
+
+ radius 0 10 50
+ alpha 0 0.6 0
+ rotation 0 ~360 -
+ bounce 0.5
+
+ lifeTime 1000~25%
+ }
+
+ count infinite
+ delay 0
+ period 100 - 0
+ }
+
+ ejector
+ {
+ particle
+ {
+ shader sync spark00
+
+ displacement 0 0 11 0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 200
+ velocity 0 0 1 ~60
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 0
+
+ radius 0 4 0
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0.6
+
+ lifeTime 1500~50%
+ }
+
+ count infinite
+ delay 0
+ period 700 - 0
+ }
+}
+
+humanBuildableDestroyedTrailPS
+{
+ ejector // fire trail
+ {
+ particle
+ {
+ shader sync fire09 fire10 fire11 fire12 fire13 fire14 fire15 fire16 fire17 fire18 fire19
+
+ displacement 0 0 6 0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 30
+ velocity 0 0 0 ~60
+
+ radius 0 5 15
+ alpha 150 1 0
+ rotation 0 ~360 -
+ bounce 0.3
+
+ lifeTime 200
+ }
+ count 110
+ delay 0
+ period 10 - 0
+ }
+
+ ejector // smoke trail
+ {
+ particle
+ {
+ shader sync gfx/sprites/smoke
+
+ displacement 0 0 15 0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 30
+ velocity 0 0 0 ~60
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 25
+ acceleration 0 0 0.2 0
+
+ radius 0 4 20~5
+ alpha 0 0.250.1 0
+ rotation 0 ~360 -
+ bounce 0.3
+
+ lifeTime 450~100
+ }
+ count 70
+ delay 15
+ period 10 - 0
+ }
+
+ ejector // debris upward fire
+ {
+ particle
+ {
+ shader sync fire08 fire09 fire10 fire11 fire12 fire13 fire14 fire15 fire16 fire17 fire18 fire19
+
+ displacement 0~4 0~4 6 0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 40~5
+ velocity 0.1 0.1 0.5~1 0.1
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 50
+ acceleration 0 0 -0.3 0
+
+ radius 0 6~2 11~2
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 700~100
+ }
+
+ count 50~10
+ delay 200
+ period 100~40 - 0
+ }
+
+ ejector // debris base fire
+ {
+ particle
+ {
+ shader sync fire05 fire06 fire07 fire08 fire09 fire10 fire11 fire12 fire13 fire14 fire15 fire16 fire17 fire18 fire19
+
+ displacement 0 0 6 0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 1
+ velocity 0 0 0 0
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 1
+ acceleration 0 0 0 0
+
+ radius 0 8 16
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 1000~100
+ }
+
+ count 40
+ delay 1300
+ period 112~40% - 0
+ }
+}
+
+humanBuildableDestroyedPS
+{
+ ejector // boom
+ {
+ particle // light up environment
+ {
+ dynamicLight 0 300 0 { 1 0.75 0 }
+ lifeTime 600~100
+ }
+
+ particle // explosion ring 1
+ {
+ shader sync radialblast01 radialblast02 radialblast03 radialblast04 radialblast05
+
+ displacement 0 0 0 0
+
+ normalDisplacement 15
+
+ velocityType static
+ accelerationType static
+
+ radius 0 40 150
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ scaleWithCharge 0.1
+
+ lifeTime 200
+ }
+
+ particle // explosion ring 2
+ {
+ shader sync radialblast03 radialblast03 radialblast03 radialblast03 radialblast04 radialblast05
+
+ displacement 0 0 0 0
+
+ normalDisplacement 15
+
+ velocityType static
+ accelerationType static
+
+ radius 0 0 100
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ scaleWithCharge 0.10
+
+ lifeTime 100
+ }
+
+ particle // explosion flash
+ {
+ shader sync explosionflash
+
+ displacement 0 0 0 0
+
+ normalDisplacement 100
+
+ velocityType static
+ accelerationType static
+
+ radius 0 100 0
+ alpha 80 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ scaleWithCharge 0.1
+
+ lifeTime 200
+ }
+
+ count 1
+ delay 0
+ period 0 - ~0%
+ }
+
+ ejector // sparks
+ {
+ particle // spam some sparks
+ {
+ shader sync spark00
+
+ displacement 0 0 8 0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 350~75%
+ velocity 0 0 1 ~60
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 0
+
+ radius 0 2 0
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0.4~100%
+
+ lifeTime 3000~90%
+ }
+
+ count 50
+ delay 0
+ period 0 - 0
+ }
+
+ ejector // debris
+ {
+ particle // metal gib models with child trail
+ {
+ model models/fx/metal_gibs/m_gib1.md3 models/fx/metal_gibs/m_gib2.md3 models/fx/metal_gibs/m_gib3.md3 models/fx/metal_gibs/m_gib5.md3 models/fx/metal_gibs/m_gib6.md3 models/fx/metal_gibs/m_gib7.md3 models/fx/metal_gibs/m_gib8.md3
+
+ displacement 0 0 40 0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 300~75%
+ velocity 0 0 1 ~60
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 0
+
+ radius 5900 1~30% 0
+ bounce 0.2
+ bounceMark 1~1 16 gfx/marks/burn_mrk
+ bounceSound ~1 sound/buildables/human/fragmentbounce.wav
+
+ lifeTime 7000~1000
+ childSystem humanBuildableDestroyedTrailPS
+ }
+
+ count 3~1
+ delay 0
+ period 10 - 0
+ }
+
+ ejector // quick large puffy explosion clouds
+ {
+ particle
+ {
+ shader sync smoke01 smoke02 smoke03 smoke04 smoke05 smoke06 smoke07 smoke08 smoke09 smoke10 smoke11 smoke12 smoke13 smoke14 smoke15 smoke16
+
+ displacement ~20 ~20 ~20 10
+
+ parentVelocityFraction 0.5
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 150
+ velocity ~1 ~1 0.2 ~50
+
+ radius 0 5~20 200~20
+ alpha 0 0.4 0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 600
+ }
+
+ count 6
+ delay 0
+ period 0 - 0
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_humanbuildablefx.shader b/assets/scripts/g_humanbuildablefx.shader
new file mode 100644
index 0000000..413205d
--- /dev/null
+++ b/assets/scripts/g_humanbuildablefx.shader
@@ -0,0 +1,192 @@
+metal_gibs
+{
+ {
+ map models/fx/metal_gibs/metal_gibs.tga
+ rgbGen lightingDiffuse
+ }
+ {
+ map models/fx/metal_gibs/hot_gibs.tga
+ blendfunc add
+ rgbGen wave sin 0 1 0 0.0625
+ }
+}
+
+smoke01
+{
+ nopicmip
+ {
+ map gfx/smoke/smoke01.tga
+ blendFunc Blend
+ }
+}
+
+smoke02
+{
+ nopicmip
+ {
+ map gfx/smoke/smoke02.tga
+ blendFunc Blend
+ }
+}
+
+smoke03
+{
+ nopicmip
+ {
+ map gfx/smoke/smoke03.tga
+ blendFunc Blend
+ }
+}
+
+smoke04
+{
+ nopicmip
+ {
+ map gfx/smoke/smoke04.tga
+ blendFunc Blend
+ }
+}
+
+smoke05
+{
+ nopicmip
+ {
+ map gfx/smoke/smoke05.tga
+ blendFunc Blend
+ }
+}
+
+smoke06
+{
+ nopicmip
+ {
+ map gfx/smoke/smoke06.tga
+ blendFunc Blend
+ }
+}
+
+smoke07
+{
+ nopicmip
+ {
+ map gfx/smoke/smoke07.tga
+ blendFunc Blend
+ }
+}
+
+smoke08
+{
+ nopicmip
+ {
+ map gfx/smoke/smoke08.tga
+ blendFunc Blend
+ }
+}
+
+smoke09
+{
+ nopicmip
+ {
+ map gfx/smoke/smoke09.tga
+ blendFunc Blend
+ }
+}
+
+smoke10
+{
+ nopicmip
+ {
+ map gfx/smoke/smoke10.tga
+ blendFunc Blend
+ }
+}
+
+smoke11
+{
+ nopicmip
+ {
+ map gfx/smoke/smoke11.tga
+ blendFunc Blend
+ }
+}
+
+smoke12
+{
+ nopicmip
+ {
+ map gfx/smoke/smoke12.tga
+ blendFunc Blend
+ }
+}
+
+smoke13
+{
+ nopicmip
+ {
+ map gfx/smoke/smoke13.tga
+ blendFunc Blend
+ }
+}
+
+smoke14
+{
+ nopicmip
+ {
+ map gfx/smoke/smoke14.tga
+ blendFunc Blend
+ }
+}
+
+smoke15
+{
+ nopicmip
+ {
+ map gfx/smoke/smoke15.tga
+ blendFunc Blend
+ }
+}
+
+smoke16
+{
+ nopicmip
+ {
+ map gfx/smoke/smoke16.tga
+ blendFunc Blend
+ }
+}
+
+spark00
+{
+ nopicmip
+ {
+ map gfx/spark/spark00.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+spark01frame01
+{
+ nopicmip
+ {
+ map gfx/spark/spark01frame01.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+spark01frame02
+{
+ nopicmip
+ {
+ map gfx/spark/spark01frame02.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+spark01frame03
+{
+ nopicmip
+ {
+ map gfx/spark/spark01frame03.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_humanmodelshaders.shader b/assets/scripts/g_humanmodelshaders.shader
new file mode 100644
index 0000000..25ac489
--- /dev/null
+++ b/assets/scripts/g_humanmodelshaders.shader
@@ -0,0 +1,653 @@
+// Human Player Model
+
+models/players/human_base/h_base
+{
+ cull disable
+ {
+ map models/players/human_base/h_base.tga
+ rgbGen lightingDiffuse
+ alphaFunc GE128
+ }
+}
+
+models/players/human_base/h_helmet
+{
+ cull disable
+ {
+ map models/players/human_base/h_helmet.tga
+ rgbGen lightingDiffuse
+ alphaFunc GE128
+ }
+}
+
+
+
+
+
+// Jetpack
+
+models/players/human_base/jetpack_flash
+{
+ sort additive
+ {
+ map models/players/human_base/jetpack_flash.jpg
+ blendfunc GL_ONE GL_ONE
+ tcMod scroll 10.0 0.0
+ }
+}
+
+
+
+
+
+// Defense Computer
+
+models/buildables/dcc/comp_pipes
+{
+ {
+ map models/buildables/dcc/comp_pipes.tga
+ rgbGen lightingDiffuse
+ tcGen environment
+ }
+}
+
+models/buildables/dcc/comp_display
+{
+ {
+ map models/buildables/dcc/comp_grad.tga
+ rgbGen identity
+ tcMod scroll 0 1
+ }
+ {
+ map models/buildables/dcc/comp_display.tga
+ blendfunc gl_one gl_src_alpha
+ rgbGen identity
+ }
+}
+
+
+
+
+
+// Medipad
+
+models/buildables/medistat/red_cross
+{
+ {
+ map models/buildables/medistat/red_cross.tga
+ blendfunc gl_one_minus_dst_color gl_one
+ }
+}
+
+models/buildables/medistat/medi_cone
+{
+ cull none
+
+ {
+ map models/buildables/medistat/medi_cone.jpg
+ blendfunc add
+ rgbGen lightingDiffuse
+ tcMod scroll 1 0
+ }
+ {
+ map models/buildables/telenode/sparkles.tga
+ blendfunc add
+ rgbGen identity
+ rgbGen wave noise 0 1 35 1
+ tcMod scale 2 2
+ tcMod scroll 1 0.5
+ }
+}
+
+
+
+
+
+// Reactor Core
+
+models/buildables/reactor/reactor_main
+{
+ {
+ map models/buildables/reactor/reactor_main.tga
+ rgbGen lightingDiffuse
+ }
+ {
+ map models/buildables/reactor/reactor_glow.tga
+ blendfunc add
+ rgbGen wave sin 0 1 0 0.5
+ }
+}
+
+models/buildables/reactor/reactor_meter
+{
+ {
+ map models/buildables/reactor/reactor_meter.tga
+ rgbGen lightingDiffuse
+ }
+}
+
+models/buildables/reactor/reactor_display
+{
+ {
+ map models/buildables/reactor/reactor_display.tga
+ rgbGen identity
+ }
+}
+
+models/buildables/reactor/reactor_bolt
+{
+ cull disable
+ {
+ map models/buildables/reactor/reactor_bolt.tga
+ blendfunc add
+ rgbGen identity
+ tcMod scroll 2 0
+ }
+}
+
+models/buildables/repeater/energy
+{
+ {
+ map models/buildables/repeater/energy.tga
+ rgbGen wave sawtooth 0.3 1 0 0.5
+ tcMod scale 2 1
+ tcMod scroll 0 1
+ }
+}
+
+models/buildables/repeater/repeator_panel
+{
+ {
+ map models/buildables/repeater/repeator_panel.tga
+ rgbGen identity
+ }
+}
+
+models/buildables/arm/arm_panel2
+{
+ {
+ map models/buildables/arm/arm_panel2.tga
+ rgbGen identity
+ }
+}
+
+models/buildables/arm/arm_panel3
+{
+ {
+ map models/buildables/arm/arm_panel3.tga
+ rgbGen identity
+ }
+}
+
+
+
+
+
+// Stasis
+
+models/mapobjects/stasis/chamber
+{
+ {
+ map models/mapobjects/stasis/chamber.tga
+ rgbGen vertex
+ }
+}
+
+models/mapobjects/stasis/lifemeter
+{
+ {
+ map models/mapobjects/stasis/lifemeter.tga
+ rgbGen vertex
+ }
+}
+
+models/mapobjects/stasis/lifemeter2
+{
+ {
+ map models/mapobjects/stasis/meters.tga
+ rgbGen identityLighting
+ tcMod scroll 0.5 0
+ }
+ {
+ map models/mapobjects/stasis/lifemeter2.tga
+ alphaFunc GE128
+ }
+}
+
+models/mapobjects/stasis/window
+{
+ {
+ map models/mapobjects/stasis/window.tga
+ blendfunc filter
+ }
+ {
+ map models/mapobjects/stasis/bubbles.tga
+ blendfunc add
+
+ tcMod scroll 0 0.2
+ tcMod scale 2 1
+ }
+}
+
+models/mapobjects/stasis/flowpipe
+{
+ {
+ map models/mapobjects/stasis/flowpipe.tga
+
+ tcMod scale 5 5
+ tcMod scroll 1 0
+ }
+ {
+ map models/buildables/overmind/ref2.tga
+ blendfunc filter
+
+ tcGen environment
+ }
+}
+
+models/mapobjects/stasis/bubbles
+{
+ {
+ map models/mapobjects/stasis/bubbles.tga
+ rgbGen wave noise 0 1 0 1
+ tcMod scroll 0 0.5
+ }
+}
+
+
+
+
+
+// Telenode
+
+models/buildables/telenode/telenode_top
+{
+ {
+ map models/buildables/telenode/telenode_top.tga
+ rgbGen lightingDiffuse
+ }
+ {
+ map models/buildables/overmind/ref2.tga
+ blendfunc filter
+ rgbGen identity
+ tcGen environment
+ }
+}
+
+models/buildables/telenode/energy
+{
+ {
+ map models/buildables/telenode/energy.tga
+ rgbGen wave inversesawtooth 0.2 0.4 0 1
+ tcMod rotate 10
+ }
+}
+
+models/buildables/telenode/rep_cyl
+{
+ cull disable
+ {
+ map models/buildables/telenode/rep_cyl.jpg
+ blendfunc add
+ rgbGen lightingDiffuse
+ tcMod scroll 0.2 0
+ }
+ {
+ map models/buildables/telenode/lines2.tga
+ blendfunc add
+ rgbGen identity
+ tcMod scroll 0 0.2
+ }
+}
+
+models/buildables/telenode/telenode_parts
+{
+ {
+ map models/buildables/telenode/telenode_parts.tga
+ rgbGen lightingDiffuse
+ }
+ {
+ map models/buildables/overmind/ref2.tga
+ blendfunc filter
+ rgbGen identity
+ tcGen environment
+ }
+}
+
+
+
+
+
+// Tesla Generator
+
+models/buildables/tesla/tesla_main
+{
+ {
+ map models/buildables/tesla/tesla_main.tga
+ rgbGen lightingDiffuse
+ }
+ {
+ map models/buildables/overmind/ref2.tga
+ blendfunc filter
+ rgbGen identity
+ tcGen environment
+ }
+}
+
+models/buildables/tesla/tesla_ball
+{
+ {
+ map models/buildables/tesla/tesla_ball.tga
+ rgbGen lightingDiffuse
+ tcGen environment
+ }
+}
+
+models/buildables/tesla/tesla_grill
+{
+ {
+ map models/buildables/tesla/tesla_grill.tga
+ rgbGen wave sin 0 1 0 0.4
+ }
+}
+
+models/buildables/tesla/tesla_spark
+{
+ cull disable
+ {
+ map models/buildables/tesla/tesla_spark.tga
+ blendfunc add
+ rgbGen identity
+ }
+}
+
+models/ammo/tesla/tesla_bolt
+{
+ cull disable
+ {
+ map models/ammo/tesla/tesla_bolt.tga
+ blendfunc add
+ rgbGen vertex
+ tcMod scroll 0.2 0
+ }
+ {
+ map models/ammo/tesla/tesla_bolt.tga
+ blendfunc add
+ rgbGen wave sin 0 1 0 5
+ tcMod scroll 0.5 0
+ tcMod scale -1 1
+ }
+}
+
+
+
+
+
+// Turret
+
+models/buildables/mgturret/t_flash
+{
+ cull disable
+ {
+ map models/buildables/mgturret/t_flash.tga
+ blendfunc add
+ rgbGen wave square 0 1 0 10
+ }
+}
+
+models/buildables/mgturret/turret_coil
+{
+ cull disable
+ {
+ map models/buildables/mgturret/turret_coil.tga
+ rgbGen lightingDiffuse
+ alphaFunc GE128
+ }
+}
+
+models/buildables/mgturret/turret_shiny
+{
+ {
+ map models/buildables/mgturret/turret_shiny.tga
+ rgbGen lightingDiffuse
+ }
+ {
+ map models/buildables/mgturret/ref_map.tga
+ blendfunc filter
+ rgbGen identity
+ tcGen environment
+ }
+}
+
+
+
+
+
+// Construction Kit //
+
+models/weapons/ckit/rep_cyl
+{
+ cull disable
+ {
+ map models/weapons/ckit/rep_cyl.jpg
+ blendfunc add
+ tcMod scroll 0.2 0
+ }
+ {
+ map models/weapons/ckit/lines2.jpg
+ blendfunc add
+ tcMod scroll 0 -0.2
+ }
+}
+
+models/weapons/ckit/screen
+{
+ {
+ map models/weapons/ckit/screen.jpg
+ }
+
+ {
+ map models/weapons/ckit/scroll.jpg
+ blendfunc add
+ tcMod scroll 10 -0.4
+ }
+}
+
+models/weapons/ackit/rep_cyl
+{
+ cull disable
+ {
+ map models/weapons/ackit/rep_cyl.jpg
+ blendfunc add
+ tcMod scroll 0.2 0
+ }
+ {
+ map models/weapons/ackit/lines2.jpg
+ blendfunc add
+ tcMod scroll 0 -0.2
+ }
+}
+
+models/weapons/ackit/advscreen
+{
+ {
+ map models/weapons/ackit/advscreen.jpg
+ }
+
+ {
+ map models/weapons/ackit/scroll.jpg
+ blendfunc add
+ tcMod scroll 10 -0.4
+ }
+}
+
+
+
+
+
+// Advanced Construction Kit
+
+models/weapons/ackit/rep_cyl
+{
+ cull disable
+ {
+ map models/weapons/ackit/rep_cyl.jpg
+ blendfunc add
+ rgbGen lightingDiffuse
+ tcMod scroll 0.2 0
+ }
+ {
+ map models/weapons/ackit/lines2.jpg
+ blendfunc add
+ rgbGen identity
+ tcMod scroll 0 -0.2
+ }
+}
+
+models/weapons/ackit/particle
+{
+ cull disable
+ {
+ map models/weapons/ackit/particle.jpg
+ blendfunc add
+ rgbGen identity
+ tcMod scroll 0.02 -0.4
+ }
+}
+
+models/weapons/ackit/screen
+{
+ {
+ map models/weapons/ackit/screen.jpg
+ }
+
+ {
+ map models/weapons/ackit/scroll.jpg
+ blendfunc add
+ rgbGen lightingDiffuse
+ tcMod scroll 10.0 -0.2
+ }
+}
+
+models/weapons/ackit/screen2
+{
+ {
+ map models/weapons/ackit/screen2.jpg
+ }
+
+ {
+ map models/weapons/ackit/scroll2.jpg
+ blendfunc add
+ rgbGen lightingDiffuse
+ tcMod scroll 0.2 -10.0
+ }
+}
+
+
+
+
+
+// Flamer
+
+models/weapons/flamer/pilot
+{
+ sort additive
+ cull disable
+ {
+ map models/weapons/flamer/pilot.jpg
+ blendfunc GL_ONE GL_ONE
+ tcMod scroll 9.0 0
+ }
+}
+
+models/weapons/flamer/gas
+{
+ sort additive
+ cull disable
+ {
+ map models/weapons/flamer/gas.jpg
+ blendfunc GL_ONE GL_ONE
+ tcMod scroll 0.04 0.02
+ }
+}
+
+models/weapons/flamer/flamer
+{
+ sort additive
+ surfaceparm trans
+ {
+ map models/weapons/flamer/flamer.tga
+ depthWrite
+ alphaFunc GE128
+ rgbGen lightingDiffuse
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ }
+}
+
+
+
+
+
+// Grenade
+
+models/weapons/grenade/grenade_s
+{
+ {
+ map models/weapons/grenade/energy.jpg
+ rgbGen wave sawtooth 0.3 1 0 0.5
+ tcMod scale 2 1
+ tcMod scroll 0 1
+ }
+}
+
+gfx/grenade/flare_01
+{
+ {
+ map gfx/grenade/flare_01.tga
+ blendfunc add
+ }
+}
+
+
+
+
+
+// Mass Driver
+
+models/weapons/mdriver/glow
+{
+ cull disable
+ {
+ map models/weapons/mdriver/glow.jpg
+ blendfunc GL_ONE GL_ONE
+ tcMod scroll -9.0 9.0
+ }
+}
+
+
+
+
+
+// Pain Saw
+
+models/weapons/psaw/chain
+{
+ sort additive
+ cull disable
+ {
+ map models/weapons/psaw/chain.jpg
+ blendfunc GL_ONE GL_ONE
+ tcMod scroll 1.0 -4.0
+ }
+}
+
+models/weapons/psaw/battery
+{
+ sort additive
+ cull disable
+ {
+ map models/weapons/psaw/chain.jpg
+ blendfunc GL_ONE GL_ONE
+ tcMod scroll 0.04 -0.02
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_humanweaponfx.particle b/assets/scripts/g_humanweaponfx.particle
new file mode 100644
index 0000000..89f0b9e
--- /dev/null
+++ b/assets/scripts/g_humanweaponfx.particle
@@ -0,0 +1,907 @@
+models/weapons/blaster/missilePS // Blaster // Projectile
+{
+ ejector // projectile
+ {
+ particle
+ {
+ shader sync spark00
+
+ parentVelocityFraction 0
+
+ radius 0 4 4
+ alpha 0 1 1
+ bounce cull
+
+ lifeTime 40
+ }
+
+ count infinite
+ delay 0
+ period 1 - 0
+ }
+ ejector // impact sound hack
+ {
+ particle
+ {
+ shader sync spark00
+
+ parentVelocityFraction 1
+
+ radius 0 0 0
+ alpha 0 0 0
+ bounce 1
+ bounceSound 1 models/weapons/blaster/hit.wav
+
+ lifeTime 4000
+ }
+
+ count 1
+ delay 0
+ period 4000 - 0
+ }
+}
+
+models/weapons/chaingun/muzzlePS // Chaingun // Shell Casings
+{
+ ejector
+ {
+ particle
+ {
+ model models/weapons/shells/rifle-shell.md3
+
+ displacement -5 -3 0 ~0.0
+
+ parentVelocityFraction 0.85
+
+ velocityType static_transform
+ velocityDir linear
+ velocityMagnitude 200
+ velocity 0 -1 3 ~10
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 0
+
+ rotation 0 ~360 -
+ radius 4800 1.0 0
+ bounce 0.6
+
+ lifeTime 5000
+ }
+
+ count 1
+ delay 0
+ period 0 - ~0%
+ }
+}
+
+models/weapons/flamer/muzzlePS // Flamer
+{
+ ejector
+ {
+ particle
+ {
+ shader sync flame3 flame4 flame5 flame6 flame7 flame8 flame9 flame10 flame11 flame12 flame13 flame14 flame15 flame16 flame17 flame18 flame19 flame20 flame21 flame22 flame23 flame24 flame25
+ displacement 0 0 0 0
+
+ parentVelocityFraction 0.65
+
+ velocityType cent
+ velocityDir linear
+ velocityMagnitude 200
+ velocity 0 0 0 ~0
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 50
+ acceleration 0 0 1 ~0
+
+ radius 40 2 40
+ alpha 0 1 0
+ rotation 0 ~180 -
+ bounce 0.1
+
+ lifeTime 900
+ }
+ count infinite
+ delay 0
+ period 20 - 0
+ }
+}
+
+models/weapons/grenade/impactPS // Grenade
+{
+ ejector
+ {
+ particle
+ {
+ shader sync flame3 flame4 flame5 flame6 flame7 flame8 flame9 flame10 flame11 flame12 flame13 flame14 flame15 flame16 flame17 flame18 flame19 flame20 flame21 flame22 flame23 flame24 flame25
+
+ displacement 0 0 11 ~0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 200~75%
+ velocity 0 0 1 ~10
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 300
+ acceleration 0 0 -1 0
+
+ radius 0 20 120
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 500
+
+ childSystem models/weapons/grenade/impactTrailPS
+ }
+
+ count 5
+ delay 50
+ period 10 - ~0%
+ }
+
+ ejector
+ {
+ particle // fast smoke
+ {
+ shader sync smoke01 smoke02 smoke03 smoke04 smoke05 smoke06 smoke07 smoke08 smoke09 smoke10 smoke11 smoke12 smoke13 smoke14 smoke15 smoke16
+
+ displacement ~20 ~20 ~20 10
+
+ parentVelocityFraction 0.5
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 150
+ velocity ~1 ~1 0.2 ~50
+
+ radius 0 5~20 200~20
+ alpha 0 0.4 0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 1000
+ }
+
+ particle // ring 1
+ {
+ shader sync radialblast01 radialblast02 radialblast03 radialblast04 radialblast05
+
+ displacement 0 0 0 0
+
+ normalDisplacement 15
+
+ velocityType static
+ accelerationType static
+
+ radius 0 40 150
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 200
+ }
+
+ particle // ring 2
+ {
+ shader sync radialblast03 radialblast03 radialblast03 radialblast03 radialblast04 radialblast05
+
+ displacement 0 0 0 0
+
+ normalDisplacement 15
+
+ velocityType static
+ accelerationType static
+
+ radius 0 0 100
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 100
+ }
+
+ particle // explosion flash
+ {
+ shader sync explosionflash
+
+ displacement 0 0 0 0
+
+ normalDisplacement 100
+
+ velocityType static
+ accelerationType static
+
+ radius 0 100 0
+ alpha 80 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ scaleWithCharge 0.1
+ onDeathSystem models/weapons/grenade/impactTrailPS
+
+ lifeTime 200
+ }
+
+ count 1
+ delay 0
+ period 0 - 0
+ }
+
+ ejector // sparks
+ {
+ particle // spam some sparks
+ {
+ shader sync spark00
+
+ displacement 0 0 8 0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 350~75%
+ velocity 0 0 1 ~60
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 0
+
+ radius 0 2 0
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0.4~100%
+
+ lifeTime 3000~90%
+ }
+
+ count 100
+ delay 0
+ period 0 - 0
+ }
+}
+
+models/weapons/grenade/impactTrailPS // Grenade
+{
+ ejector
+ {
+ particle
+ {
+ shader sync flame3 flame4 flame5 flame6 flame7 flame8 flame9 flame10 flame11 flame12 flame13 flame14 flame15 flame16 flame17 flame18 flame19 flame20 flame21 flame22 flame23 flame24 flame25
+
+ displacement 0 0 0 ~16
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 30
+ velocity 0 0 -1 0
+
+ radius 0 30 10
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 500
+ }
+
+ count 5
+ delay 10
+ period 40 - 0
+ }
+}
+
+models/weapons/lasgun/impactPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/lasgun/purple_particle
+
+ displacement 0 0 0 ~2
+ normalDisplacement 7
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 100
+ velocity 0 0 0 ~90
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 600
+ acceleration 0 0 -1 ~10
+
+ radius 0 3~2 0
+ alpha 0 1 1
+ rotation 0 ~360 -
+ bounce 0.5
+
+ lifeTime 500
+ }
+
+ count 3
+ delay 0
+ period 0 - 0
+ }
+}
+
+models/weapons/lcannon/missilePS // Lucifer Cannon // Primary Projectile
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/blaster/orange_particle
+
+ displacement 0 0 0 ~3
+
+ parentVelocityFraction 1
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 120
+ velocity 0 0 1 ~360
+
+ radius 0 6~20% 1
+ alpha 0 1 1
+ bounce cull
+
+ lifeTime 1000
+ }
+
+ count infinite
+ delay 0
+ period 50 - 0
+ }
+}
+
+models/weapons/lcannon/secondaryMissilePS // Lucifer Cannon // Secondary Projectile
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/blaster/orange_particle
+
+ displacement 0 0 0 ~3
+
+ parentVelocityFraction 0.5
+
+ radius 0 2 0
+ alpha 0 1 0
+ bounce cull
+
+ lifeTime 400
+ }
+
+ count infinite
+ delay 0
+ period 25 - 0
+ }
+}
+
+models/weapons/lcannon/impactPS // Lucifer Cannon // Primary Impact
+{
+ ejector // air particles
+ {
+ particle
+ {
+ shader sync spark00
+
+ displacement 0 0 0 ~2
+
+ normalDisplacement 20
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 300
+ velocity 0 0 0 ~160
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 1
+ acceleration 0 0 0 0
+
+ radius 0 5~75% 0
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0.8
+
+ lifeTime 1200
+ }
+
+ count 20
+ delay 0
+ period 0 - 0
+ }
+ ejector // blast fx
+ {
+ particle // ring 1
+ {
+ shader sync radialblast01 radialblast02 radialblast03 radialblast04 radialblast05
+
+ displacement 0 0 0 0
+
+ normalDisplacement 15
+
+ velocityType static
+ accelerationType static
+
+ radius 0 40 150
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ scaleWithCharge 0.1
+
+ lifeTime 200
+ }
+
+ particle // ring 2
+ {
+ shader sync radialblast03 radialblast03 radialblast03 radialblast03 radialblast04 radialblast05
+
+ displacement 0 0 0 0
+
+ normalDisplacement 15
+
+ velocityType static
+ accelerationType static
+
+ radius 0 0 100
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ scaleWithCharge 0.10
+
+ lifeTime 100
+ }
+
+ particle // flash
+ {
+ shader sync explosionflash
+
+ displacement 0 0 0 0
+
+ normalDisplacement 100
+
+ velocityType static
+ accelerationType static
+
+ radius 0 100 0
+ alpha 80 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ scaleWithCharge 0.1
+
+ lifeTime 200
+ }
+
+ count 1
+ delay 0
+ period 0 - 0
+ }
+}
+
+models/weapons/lcannon/secondaryImpactPS // Lucifer Cannon // Secondary Impact
+{
+ ejector // air particles
+ {
+ particle
+ {
+ shader sync spark00
+
+ displacement 0 0 0 ~2
+
+ normalDisplacement 20
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 300
+ velocity 0 0 0 ~160
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 1
+ acceleration 0 0 0 0
+
+ radius 0 4~75% 0
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0.8
+
+ lifeTime 800
+ }
+ count 10
+ delay 0
+ period 0 - 0
+ }
+
+ ejector // blast fx
+ {
+ particle // ring 1
+ {
+ shader sync radialblast01 radialblast02 radialblast03 radialblast04 radialblast05
+
+ displacement 0 0 0 0
+
+ normalDisplacement 15
+
+ velocityType static
+ accelerationType static
+
+ radius 0 20 75
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ scaleWithCharge 0.1
+
+ lifeTime 200
+ }
+
+ particle // ring 2
+ {
+ shader sync radialblast03 radialblast03 radialblast03 radialblast03 radialblast04 radialblast05
+
+ displacement 0 0 0 0
+
+ normalDisplacement 15
+
+ velocityType static
+ accelerationType static
+
+ radius 0 0 50
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ scaleWithCharge 0.10
+
+ lifeTime 100
+ }
+
+ particle // flash
+ {
+ shader sync explosionflash
+
+ displacement 0 0 0 0
+
+ normalDisplacement 100
+
+ velocityType static
+ accelerationType static
+
+ radius 0 50 0
+ alpha 80 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ scaleWithCharge 0.1
+
+ lifeTime 200
+ }
+
+ count 1
+ delay 0
+ period 0 - 0
+ }
+}
+
+models/weapons/mdriver/impactPS // Mass Driver
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/mdriver/green_particle
+
+ displacement 0 0 0 ~2
+
+ normalDisplacement 10
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 400
+ velocity 0 0 0 ~80
+
+ accelerationType normal
+ accelerationDir linear
+ accelerationMagnitude 200
+ acceleration 0 0 1 ~360
+
+ radius 0 6 4
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0.5
+
+ lifeTime 1000
+ }
+
+ count 10
+ delay 0
+ period 0 - 0
+ }
+}
+
+models/weapons/psaw/impactPS // Painsaw // Blue Particles
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/psaw/blue_particle
+
+ displacement 0 0 10 ~2
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 300
+ velocity 0 0 1 ~300
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 ~10
+
+ radius 0 5~2 0
+ alpha 0 1 1
+ rotation 0 ~360 -
+ bounce 0.5
+
+ lifeTime 1750
+ }
+
+ count 1
+ delay 0
+ period 0 - 0
+ }
+}
+
+models/weapons/prifle/impactPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/prifle/red_blob
+
+ radius 0 3 6
+ alpha 70 1 0
+ rotation 0 ~360 -
+
+ lifeTime 140
+ }
+
+ count 1
+ delay 0
+ period 0 - 0
+ }
+}
+
+models/weapons/prifle/missilePS // Pulse Rifle // Projectile
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/prifle/red_blob
+
+ parentVelocityFraction 0.8
+
+ radius 0 2 1.5
+ alpha 0 8 0
+ bounce 0.01
+
+ lifeTime 400
+ }
+
+ count infinite
+ delay 0
+ period 10 - 0
+ }
+}
+
+models/weapons/rifle/impactPS // Rifle // Impact FX
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/rifle/verysmallrock
+
+ displacement 0 0 0 ~4
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 100
+ velocity 0 0 1 ~20
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 600
+ acceleration 0 0 -1 0
+
+ radius 0 1 1
+ alpha 0 1 0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 350
+ }
+
+ count 0~2
+ delay ~100
+ period 0 - 0
+ }
+
+ ejector
+ {
+ particle
+ {
+ shader sync smoke08 smoke09 smoke10 smoke11 smoke12 smoke14 smoke15 smoke16
+
+ normalDisplacement ~100
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 30
+ velocity 0 0 1 0
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 30
+ acceleration 0 0 -1 0
+
+ radius 0 6 12
+ alpha 0 0.5 0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 500
+ }
+
+ count 4
+ delay 0
+ period 5 - 0
+ }
+}
+
+models/weapons/rifle/muzzlePS // Rifle
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/sprites/smoke
+
+ displacement 0 0 0 0
+
+ parentVelocityFraction 0.9
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 20
+ velocity 0 0 0 0
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 300
+ acceleration 0 0 1 0
+
+ radius 0 2 4
+ alpha 0 0.4 0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 200
+ }
+
+ count 1
+ delay 0
+ period 0 - 0
+ }
+
+ ejector // shell casings
+ {
+ particle
+ {
+ model models/weapons/shells/rifle-shell.md3
+
+ displacement -5 -3 0 0
+
+ parentVelocityFraction 0.85
+
+ velocityType static_transform
+ velocityDir linear
+ velocityMagnitude 200
+ velocity 0 -1 3 ~10
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 0
+
+ radius 0 1.0 -
+ bounce 0.5
+
+ lifeTime 5000
+ }
+
+ count 1
+ delay 0
+ period 0 - 0
+ }
+}
+
+models/weapons/shotgun/muzzlePS // Shotgun
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/sprites/smoke
+
+ displacement 0 0 0 0
+
+ parentVelocityFraction 0.9
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 20
+ velocity 0 0 0 0
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 300
+ acceleration 0 0 1 0
+
+ radius 0 2 4
+ alpha 0 0.4 0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 200
+ }
+
+ count 1
+ delay 0
+ period 0 - 0
+ }
+
+ ejector // shell casings
+ {
+ particle
+ {
+ model models/weapons/shells/shotgun-shell.md3
+
+ displacement -5 -3 0 ~0.0
+
+ parentVelocityFraction 0.85
+
+ velocityType static_transform
+ velocityDir linear
+ velocityMagnitude 200
+ velocity 0 -1 3 ~10
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 0
+
+ radius 0 1 -
+ bounce 0.5
+
+ lifeTime 5000
+ }
+
+ count 1
+ delay 0
+ period 0 - 0
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_humanweaponfx.shader b/assets/scripts/g_humanweaponfx.shader
new file mode 100644
index 0000000..fe22dc4
--- /dev/null
+++ b/assets/scripts/g_humanweaponfx.shader
@@ -0,0 +1,142 @@
+gfx/blaster/orange_particle
+{
+ cull disable
+ {
+ map gfx/blaster/orange_particle.jpg
+ blendFunc Add
+ alphaGen vertex
+ rgbGen vertex
+ }
+}
+
+gfx/mdriver/green_particle
+{
+ cull disable
+ {
+ map gfx/mdriver/green_particle.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbGen vertex
+ alphaGen vertex
+ }
+}
+
+gfx/mdriver/trail
+{
+ nomipmaps
+ cull disable
+ {
+ map gfx/mdriver/trail.tga
+ blendFunc blend
+ }
+}
+
+gfx/psaw/blue_particle
+{
+ cull disable
+ {
+ map gfx/psaw/blue_particle.jpg
+ blendFunc GL_ONE GL_ONE
+ alphaGen vertex
+ rgbGen vertex
+ }
+}
+
+gfx/rifle/verysmallrock
+{
+ cull disable
+ {
+ map gfx/rifle/verysmallrock.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ alphaGen vertex
+ rgbGen vertex
+ }
+}
+
+gfx/prifle/red_blob
+{
+ cull disable
+ {
+ map gfx/prifle/red_blob.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ alphaGen vertex
+ }
+}
+
+gfx/prifle/red_streak
+{
+ nomipmaps
+ cull disable
+ {
+ map gfx/prifle/red_streak.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ alphaGen vertex
+ }
+}
+
+gfx/lcannon/primary
+{
+ cull disable
+ {
+ animmap 24 gfx/lcannon/primary_1.jpg gfx/lcannon/primary_2.jpg gfx/lcannon/primary_3.jpg gfx/lcannon/primary_4.jpg
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/lasgun/purple_particle
+{
+ cull disable
+ {
+ map gfx/lasgun/purple_particle.tga
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+radialblast01
+{
+ cull disable
+ nopicmip
+ {
+ map gfx/lcannon/radial01.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+radialblast02
+{
+ cull disable
+ nopicmip
+ {
+ map gfx/lcannon/radial02.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+radialblast03
+{
+ cull disable
+ nopicmip
+ {
+ map gfx/lcannon/radial03.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+radialblast04
+{
+ cull disable
+ nopicmip
+ {
+ map gfx/lcannon/radial04.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+}
+
+radialblast05
+{
+ cull disable
+ nopicmip
+ {
+ map gfx/lcannon/radial05.jpg
+ blendFunc GL_ONE GL_ONE_MINUS_SRC_COLOR
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_humanweaponfx.trail b/assets/scripts/g_humanweaponfx.trail
new file mode 100644
index 0000000..75d5711
--- /dev/null
+++ b/assets/scripts/g_humanweaponfx.trail
@@ -0,0 +1,25 @@
+models/weapons/mdriver/fireTS
+{
+ beam
+ {
+ shader gfx/mdriver/trail
+ width 3.0 3.0
+ textureType stretch 0.94 0.03
+ }
+ lifeTime 70
+}
+
+models/weapons/prifle/missileTS
+{
+ beam
+ {
+ shader gfx/prifle/red_streak
+
+ segments 2
+ width 6.0 4.0
+ alpha 1.0 0.1
+ segmentTime 120
+
+ textureType stretch 0.0 1.0
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_jetpack.particle b/assets/scripts/g_jetpack.particle
new file mode 100644
index 0000000..398aafa
--- /dev/null
+++ b/assets/scripts/g_jetpack.particle
@@ -0,0 +1,95 @@
+jetPackDescendPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/sprites/smoke_blue
+ displacement 0 0 0 0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 50
+ velocity 0 0 -1 ~15
+
+ accelerationType static
+ accelerationDir linear
+ acceleration 0 0 -1 ~5
+ accelerationMagnitude 25
+
+ radius 0 5 40
+ alpha 250 .15 0
+ rotation 0 ~360 ~360
+ bounce 0.0
+
+ lifeTime 1000
+ }
+ count infinite
+ delay 0
+ period 45 - ~0%
+ }
+}
+
+jetPackAscendPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/sprites/smoke_blue
+ displacement 0 0 0 0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 50
+ velocity 0 0 -1 ~15
+
+ accelerationType static
+ accelerationDir linear
+ acceleration 0 0 -1 ~5
+ accelerationMagnitude 25
+
+ radius 0 5 40
+ alpha 250 .30 0
+ rotation 0 ~360 ~360
+ bounce 0.0
+
+ lifeTime 2000
+ }
+ count infinite
+ delay 0
+ period 45 - ~0%
+ }
+}
+
+jetPackHoverPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/sprites/smoke_blue
+ displacement 0 0 0 0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 50
+ velocity 0 0 -1 ~15
+
+ accelerationType static
+ accelerationDir linear
+ acceleration 0 0 -1 ~5
+ accelerationMagnitude 25
+
+ radius 0 5 40
+ alpha 250 .20 0
+ rotation 0 ~360 ~360
+ bounce 0.0
+
+ lifeTime 1500
+ }
+ count infinite
+ delay 0
+ period 45 - ~0%
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_lightning.trail b/assets/scripts/g_lightning.trail
new file mode 100644
index 0000000..0dafd8d
--- /dev/null
+++ b/assets/scripts/g_lightning.trail
@@ -0,0 +1,61 @@
+models/buildables/tesla/zap // Tesla Generator Lightning
+{
+ beam
+ {
+ shader models/ammo/tesla/tesla_bolt
+
+ segments 9
+ width 8 8
+ color { 0.75 0.5 1 } -
+
+ textureType repeat front 100
+
+ jitter 12 200
+ jitter 2 20
+ }
+
+ beam
+ {
+ shader models/ammo/tesla/tesla_bolt
+
+ segments 9
+ width 8 8
+ color { 0.5 0.8 1 } -
+
+ textureType repeat back 50
+
+ jitter 12 150
+ jitter 2 30
+ }
+}
+
+models/weapons/lev2zap/lightning // Advanced Marauder Lightning
+{
+ beam
+ {
+ shader models/ammo/tesla/tesla_bolt
+
+ segments 5
+ width 16.0 16.0
+ color { 0.8 0.8 0.8 } -
+
+ textureType repeat front 100.0
+
+ jitter 4 200
+ jitter 1 20
+ }
+
+ beam
+ {
+ shader models/ammo/tesla/tesla_bolt
+
+ segments 8
+ width 5 5
+ color { 0.5 0.8 1 } -
+
+ textureType repeat back 50
+
+ jitter 2 150
+ jitter 1 30
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_misc.shader b/assets/scripts/g_misc.shader
new file mode 100644
index 0000000..bafde0a
--- /dev/null
+++ b/assets/scripts/g_misc.shader
@@ -0,0 +1,141 @@
+// unsorted stuff
+
+gfx/misc/tracer
+{
+ cull none
+ {
+ map gfx/sprites/spark.tga
+ blendFunc blend
+ }
+}
+
+gfx/damage/fullscreen_painblend
+{
+ {
+ map gfx/damage/fullscreen_painblend.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbGen vertex
+ alphaGen vertex
+ tcMod rotate 90
+ }
+
+ {
+ map gfx/damage/fullscreen_painblend.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbGen vertex
+ alphaGen vertex
+ tcMod rotate -90
+ }
+}
+
+gfx/sprites/smoke
+{
+ cull none
+ entityMergable
+ {
+ map gfx/sprites/smoke.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbGen vertex
+ alphaGen vertex
+ }
+}
+
+gfx/sprites/green_acid
+{
+ nopicmip
+ {
+ clampmap gfx/sprites/green_acid.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbGen vertex
+ alphaGen vertex
+ }
+}
+
+gfx/sprites/spark
+{
+ cull none
+ {
+ map gfx/sprites/spark.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbGen vertex
+ alphaGen vertex
+ }
+}
+
+gfx/sprites/bubble
+{
+ sort underwater
+ cull none
+ entityMergable
+ {
+ map gfx/sprites/bubble.jpg
+ blendFunc GL_ONE GL_ONE
+ rgbGen vertex
+ alphaGen vertex
+ }
+}
+
+gfx/sprites/poisoncloud
+{
+ cull none
+ entityMergable
+ {
+ map gfx/sprites/poisoncloud.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbGen vertex
+ alphaGen vertex
+ }
+}
+
+gfx/sprites/chatballoon
+{
+ {
+ map gfx/sprites/chatballoon.tga
+ blendfunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ }
+}
+
+gfx/misc/nopower
+{
+ {
+ map gfx/misc/nopower.tga
+ blendfunc add
+ rgbGen identity
+ }
+}
+
+models/mapobjects/plant_life/fern_leaf
+{
+ cull disable
+ nopicmip
+ {
+ map models/mapobjects/plant_life/fern_leaf.tga
+ alphaFunc GE128
+ depthWrite
+ rgbGen vertex
+ }
+}
+
+models/mapobjects/plant_life/palm_leaf
+{
+ cull disable
+ nopicmip
+ {
+ map models/mapobjects/plant_life/palm_leaf.tga
+ alphaFunc GE128
+ depthWrite
+ rgbGen vertex
+ }
+}
+
+models/mapobjects/plant_life/grass
+{
+ cull disable
+ nopicmip
+ {
+ map models/mapobjects/plant_life/grass.tga
+ alphaFunc GE128
+ depthWrite
+ rgbGen vertex
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/g_muzzleflashes.shader b/assets/scripts/g_muzzleflashes.shader
new file mode 100644
index 0000000..2a3e7b4
--- /dev/null
+++ b/assets/scripts/g_muzzleflashes.shader
@@ -0,0 +1,101 @@
+models/weapons/rifle/flash // Rifle
+{
+ sort additive
+ cull disable
+ {
+ map models/weapons/rifle/flash.jpg
+ tcMod rotate 3000
+ blendfunc GL_ONE GL_ONE
+ }
+}
+
+models/weapons/chaingun/flash // Chaingun
+{
+ sort additive
+ cull disable
+ {
+ map models/weapons/chaingun/flash.jpg
+ tcMod rotate 3000
+ blendfunc GL_ONE GL_ONE
+ }
+}
+
+models/weapons/flamer/flash // Flamer
+{
+ sort additive
+ cull disable
+ {
+ map models/weapons/flamer/flash.jpg
+ blendfunc GL_ONE GL_ONE
+ }
+}
+
+models/weapons/lgun/flash // Lasgun
+{
+ sort additive
+ cull disable
+ {
+ map models/weapons/lgun/flash.jpg
+ blendfunc GL_ONE GL_ONE
+ }
+}
+
+models/weapons/lcannon/flash // Lucifer Cannon
+{
+ sort additive
+ cull disable
+ {
+ map models/weapons/lcannon/flash.jpg
+ blendfunc GL_ONE GL_ONE
+ }
+}
+
+models/weapons/mdriver/flash // Mass Driver
+{
+ sort additive
+ cull disable
+ {
+ map models/weapons/mdriver/flash.jpg
+ blendfunc GL_ONE GL_ONE
+ }
+}
+
+models/weapons/psaw/flash // Pain Saw
+{
+ sort additive
+ cull disable
+ {
+ map models/weapons/psaw/flash.jpg
+ blendfunc GL_ONE GL_ONE
+ }
+}
+
+models/weapons/prifle/flash // Pulse Rifle
+{
+ sort additive
+ cull disable
+ {
+ map models/weapons/prifle/flash.jpg
+ blendfunc GL_ONE GL_ONE
+ }
+}
+
+models/weapons/shotgun/flash // Shotgun
+{
+ sort additive
+ cull disable
+ {
+ map models/weapons/shotgun/flash.jpg
+ blendfunc GL_ONE GL_ONE
+ }
+}
+
+models/weapons/blaster/flash // Blaster
+{
+ sort additive
+ cull disable
+ {
+ map models/weapons/blaster/flash.jpg
+ blendfunc GL_ONE GL_ONE
+ }
+}
diff --git a/assets/scripts/particles_reference.txt b/assets/scripts/particles_reference.txt
new file mode 100644
index 0000000..612c162
--- /dev/null
+++ b/assets/scripts/particles_reference.txt
@@ -0,0 +1,58 @@
+Particle system variables
+--------------------------------------------------------------------------------
+
+shader <fps> | sync <shader1> <shader2> ... <shaderN> - this specifies the shaders to use for the particle. The frame rate can be set to a static rate or the sync parameter can be used in which case the frame rate will be synchronised to the lifetime of the particle such that the first frame is displayed on birth and the last frame is displayed immediately before death.
+model <model1> <model2> ... <modelN> - use one of the specified models as the particle. This cannot be used in conjunction with the shader keyword.
+modelAnmation <firstFrame> <numFrames> <loopFrames> <fps> | sync - animation parameters to use when model particles are employed.
+
+lifeTime <time> - the lifetime of the particle.
+
+radius <delay> <initial> <final> - the size of the particle throughout its lifetime. The delay parameter specifies the time in msec before radius scaling begins. The initial and final parameters specify the radii of the particle in quake units.
+alpha <delay> <initial> <final> - the opacity of the particle throughout its lifetime. The delay parameter specifies the time in msec before alpha scaling begins. The initial and final parameters specify the alpha of the particle where 1.0 is totally opaque and 0.0 is totally transparent.
+rotation <delay> <initial> <final> - the rotation of the particle throughout its lifetime. The delay parameter specifies the time in msec before the rotation begins. The initial and final parameters specify the rotation of the particle in degrees.
+
+displacement <x> <y> <z> <variance> - a static displacement about the attachment point. The variance parameter specifies a random displacement in all axes.
+normalDisplacement <displacement> - for particle systems that have their normal set (impact particle systems for example) this specifies the magnitude of a displacement along the normal.
+
+velocityType static | static_transform |tag |cent |normal - this specifies how the particle will compute its initial velocity. static means it is specified statically in the .particle file, static_transform means the same, except that it is transformed by the orientation matrix of what it is attached to, tag means the velocity is in the direction of the tag it is attached to, cent means the velocity is in the direction of the cent it is attached to and normal means the velocity is in the direction of the particle system normal.
+velocityDir linear | point - this specifies whether the initial velocity is computed as a simple direction or as the direction towards a secondary point (defined by velocityPoint or dynamically through velocityType cent).
+velocity <x> <y> <z> <variance> - for when velocityType static is present this specifies the direction. The variance here is specified in degrees e.g. "~5" - up to 5 degrees deviation.
+velocityMagnitude <magnitude> - the magnitude of the velocity.
+velocityPoint <x> <y> <z> <variance> - for when velocityType static and velocityDir point are present this specifies the point to move towards.
+parentVelocityFraction <fraction> - for when the particle system is attached to a cent this specifies the fraction of the cent’s velocity that is added to the particle’s velocity.
+
+accelerationType static | static_transform | tag | cent | normal - this specifies how the particle will compute its acceleration. static means it is specified statically in the .particle file, static_transform means the same, except that it is transformed by the orientation matrix of what it is attached to, tag means the acceleration is in the direction of the tag it is attached to, cent means the acceleration is in the direction of the cent it is attached to and normal means the acceleration is in the direction of the particle system normal.
+accelerationDir linear | point - this specifies whether the acceleration is computed as a simple direction or as the direction towards a secondary point (defined by accelerationPoint or dynamically through accelerationType cent).
+acceleration <x> <y> <z> <variance> - for when accelerationType static is present this specifies the direction. The variance here is specified in degrees e.g. "~5" - up to 5 degrees deviation.
+accelerationMagnitude <magnitude> - the magnitude of the acceleration.
+accelerationPoint <x> <y> <z> <variance> - for when accelerationType static and accelerationDir point are present this specifies the point to move towards.
+bounce <fraction> | cull - the fraction of velocity that is reflected when a particle collides. If this is set to 0.0 the particle won’t collide. When cull is used particles are culled as soon as they collide with objects.
+bounceMark <count> <radius> <shader> - make a mark at each bounce point for up to <count> bounces.
+bounceSound <count> <sound> - make a sound at each bounce point for up to <count> bounces.
+
+dynamicLight <delayRadius> <startRadius> <endRadius> { <r> <g> <b> } - attach a dynamic light to this particle.
+color <delay> { <ir> <ig> <ib> } { <fr> <fg> <fb> } - color the particle where <i.> refers to the initial color component and <f.> refers to the final color component.
+
+childSystem <particle system> - specifies a particle system to attach to this particle.
+childTrailSystem <trail system> - specifies a trail system to attach to this particle.
+onDeathSystem <particle system> - specifies a particle system to spawn at the point where this particle died.
+
+overdrawProtection - cull particles that occupy a large amount of screen space.
+realLight - light particles using the lightgrid instead of fullbright.
+cullOnStartSolid - cull particles that are spawned inside brushes.
+
+--------------------------------------------------------------------------------
+
+
+Notes:
+------
+
+* '|' means 'or'
+* setting magnitude to 0 might cause issues
+
+
+Numerical operators
+-------------------
+~ random
+- unspecified
+% percentage \ No newline at end of file
diff --git a/assets/scripts/ui_crosshairs.shader b/assets/scripts/ui_crosshairs.shader
new file mode 100644
index 0000000..278a296
--- /dev/null
+++ b/assets/scripts/ui_crosshairs.shader
@@ -0,0 +1,96 @@
+gfx/2d/crosshair-alien_s
+{
+ nopicmip
+ {
+ map gfx/2d/crosshair-alien.tga
+ blendfunc blend
+ rgbGen vertex
+ }
+}
+
+gfx/2d/crosshair-rifle_s
+{
+ nopicmip
+ {
+ map gfx/2d/crosshair-rifle.tga
+ blendfunc blend
+ rgbGen vertex
+ }
+}
+
+gfx/2d/crosshair-prifle_s
+{
+ nopicmip
+ {
+ map gfx/2d/crosshair-prifle.tga
+ blendfunc blend
+ rgbGen vertex
+ }
+}
+
+gfx/2d/crosshair-chaingun_s
+{
+ nopicmip
+ {
+ map gfx/2d/crosshair-chaingun.tga
+ blendfunc blend
+ rgbGen vertex
+ }
+}
+
+gfx/2d/crosshair-mdriver_s
+{
+ nopicmip
+ {
+ map gfx/2d/crosshair-mdriver.tga
+ blendfunc blend
+ rgbGen vertex
+ }
+}
+
+gfx/2d/crosshair-lcannon_s
+{
+ nopicmip
+ {
+ map gfx/2d/crosshair-lcannon.tga
+ blendfunc blend
+ rgbGen vertex
+ }
+}
+
+gfx/2d/crosshair-lgun_s
+{
+ nopicmip
+ {
+ map gfx/2d/crosshair-lgun.tga
+ blendfunc blend
+ rgbGen vertex
+ }
+}
+
+gfx/2d/crosshair-flamer_s
+{
+ nopicmip
+ {
+ clampmap gfx/2d/crosshair-flamer1.tga
+ blendfunc blend
+ tcmod rotate 5
+ rgbGen vertex
+ }
+ {
+ clampmap gfx/2d/crosshair-flamer1.tga
+ blendfunc blend
+ tcmod rotate -5
+ rgbGen vertex
+ }
+}
+
+gfx/2d/crosshair-psaw
+{
+ nopicmip
+ {
+ map gfx/2d/crosshair-psaw.tga
+ blendfunc blend
+ rgbGen vertex
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/ui_hud.shader b/assets/scripts/ui_hud.shader
new file mode 100644
index 0000000..f970d56
--- /dev/null
+++ b/assets/scripts/ui_hud.shader
@@ -0,0 +1,38 @@
+ui/assets/neutral/squad_h
+{
+ nopicmip
+ {
+ map ui/assets/neutral/squad_h.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+
+ui/assets/neutral/squad_v
+{
+ nopicmip
+ {
+ map ui/assets/neutral/squad_v.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+
+gfx/damage/fullscreen_painblend
+{
+ {
+ map gfx/damage/fullscreen_painblend.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbGen vertex
+ alphaGen vertex
+ tcMod rotate 90
+ }
+
+ {
+ map gfx/damage/fullscreen_painblend.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbGen vertex
+ alphaGen vertex
+ tcMod rotate -90
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/ui_mainmenu.shader b/assets/scripts/ui_mainmenu.shader
new file mode 100644
index 0000000..3664f3c
--- /dev/null
+++ b/assets/scripts/ui_mainmenu.shader
@@ -0,0 +1,43 @@
+models/splash/bright_star
+{
+ nopicmip
+ {
+ map models/splash/bright_star.tga
+ blendfunc add
+ rgbGen identity
+ }
+ {
+ map models/splash/bright_star_2.tga
+ blendfunc add
+ rgbGen wave sin 0 0.5 0 0.09
+ }
+}
+
+models/splash/nebula
+{
+ nopicmip
+ {
+ map models/splash/nebula.tga
+ blendfunc add
+ rgbGen wave sin 0.5 1 5 0.05
+ tcMod scale -1 1
+ }
+ {
+ map models/splash/nebula_2.tga
+ blendfunc add
+ rgbGen wave sin 0.3 1 2.5 0.05
+ tcMod scale -1 1
+ }
+}
+
+models/splash/trem_black
+{
+ nopicmip
+ {
+ map ui/assets/title.tga
+ blendfunc blend
+ //alphaFunc GE128
+ rgbGen identity
+ }
+}
+
diff --git a/assets/scripts/water.shader b/assets/scripts/water.shader
new file mode 100644
index 0000000..ff306cd
--- /dev/null
+++ b/assets/scripts/water.shader
@@ -0,0 +1,57 @@
+//deep ocean
+textures/misc/dark_water
+{
+ {
+ map textures/misc/dark_water.tga
+ tcMod rotate 1
+ }
+ {
+ map textures/misc/caustic.tga
+ blendfunc add
+ rgbGen wave sin 0 1 0 0.05
+ tcMod scale 0.5 0.5
+ tcMod rotate 1
+ }
+ {
+ map textures/misc/caustic.tga
+ blendfunc add
+ rgbGen wave sin 0 1 0 -0.05
+ tcMod scale -0.5 -0.5
+ tcMod rotate 1
+ }
+}
+
+//tank bubbles
+textures/misc/bubbles
+{
+ cull disable
+ {
+ map textures/misc/bubbles.tga
+ blendfunc add
+ rgbGen wave noise 0 1 0 0.02
+ tcMod scroll -0.01 0.05
+ tcMod scale 2 2
+ }
+ {
+ map textures/misc/bubbles.tga
+ blendfunc add
+ rgbGen wave noise 0 1 0 0.02
+ tcMod scroll 0.01 0.02
+ tcMod scale -2 2
+ }
+}
+
+//foamy water top
+textures/misc/foam
+{
+ surfaceparm nonsolid
+ surfaceparm trans
+ surfaceparm water
+ deformVertexes wave 128 sin 0 5 6 0.5
+ tessSize 32
+ cull disable
+ {
+ map textures/misc/foam.tga
+ blendfunc add
+ }
+} \ No newline at end of file
diff --git a/assets/sound/buildables/acid_tube/acidsplat.wav b/assets/sound/buildables/acid_tube/acidsplat.wav
new file mode 100644
index 0000000..d885e4d
--- /dev/null
+++ b/assets/sound/buildables/acid_tube/acidsplat.wav
Binary files differ
diff --git a/assets/sound/buildables/tesla/idle1.wav b/assets/sound/buildables/tesla/idle1.wav
new file mode 100644
index 0000000..83f456e
--- /dev/null
+++ b/assets/sound/buildables/tesla/idle1.wav
Binary files differ
diff --git a/assets/sound/player/human_bsuit/step1.wav b/assets/sound/player/human_bsuit/step1.wav
new file mode 100644
index 0000000..ecb8226
--- /dev/null
+++ b/assets/sound/player/human_bsuit/step1.wav
Binary files differ
diff --git a/assets/sound/player/human_bsuit/step2.wav b/assets/sound/player/human_bsuit/step2.wav
new file mode 100644
index 0000000..9aaa92c
--- /dev/null
+++ b/assets/sound/player/human_bsuit/step2.wav
Binary files differ
diff --git a/assets/sound/player/human_bsuit/step3.wav b/assets/sound/player/human_bsuit/step3.wav
new file mode 100644
index 0000000..6392746
--- /dev/null
+++ b/assets/sound/player/human_bsuit/step3.wav
Binary files differ
diff --git a/assets/sound/player/human_bsuit/step4.wav b/assets/sound/player/human_bsuit/step4.wav
new file mode 100644
index 0000000..413affd
--- /dev/null
+++ b/assets/sound/player/human_bsuit/step4.wav
Binary files differ
diff --git a/assets/sound/upgrades/jetpack/lowfuel.wav b/assets/sound/upgrades/jetpack/lowfuel.wav
index b6080d7..47cdf75 100644
--- a/assets/sound/upgrades/jetpack/lowfuel.wav
+++ b/assets/sound/upgrades/jetpack/lowfuel.wav
Binary files differ
diff --git a/assets/ui/ingame_options.menu b/assets/ui/ingame_options.menu
index e8b7d48..8a52f6f 100644
--- a/assets/ui/ingame_options.menu
+++ b/assets/ui/ingame_options.menu
@@ -310,6 +310,27 @@
}
}
+ itemDef
+ {
+ name player
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Announcer:"
+ cvar "cg_announcer"
+ cvarFloatList { "Enabled" 1 "Disabled" 0 }
+ rect CONTENT_X (CONTENT_Y+(8*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
//////// HUD
itemDef
@@ -1604,7 +1625,7 @@
name cuboid
group optionsGrp
type ITEM_TYPE_MULTI
- text "Resizing rate::"
+ text "Resizing rate:"
cvar "cg_cuboidResizeRate"
cvarFloatList { "0.1" 0.1 "0.2" 0.2 "0.5" 0.5 "1" 1 "2" 2 "5" 5 "10" 10 }
rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) SCONTENT_W ELEM_H