Added terrain effects for Doom.
Typo fixes and various adjustmentifications. Fixed the Tier 4 ammo fabricator not working at all.
|
|
@ -21,3 +21,4 @@ Most of the work here is original, but there are some notable exceptions:
|
|||
- Tewi font by lucy (https://github.com/lucy/tewi-font). Modified to add gradients and drop shadow.
|
||||
- MPlus font by M⁺ FONTS PROJECT (http://mplus-fonts.osdn.jp/mplus-bitmap-fonts). Modified to add gradients and drop shadow.
|
||||
- Miniwi font by Josuah Demangeon (http://josuah.net). Modified to add gradients and drop shadow.
|
||||
- Terrain splashes for Doom by MagicWazard.
|
||||
|
|
|
|||
7
filter/game-doomchex/CREDITS.txt
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
Submitted: MagicWazard
|
||||
Decorate: MagicWazard
|
||||
GLDefs: MagicWazard
|
||||
Sounds: Raven Software
|
||||
Sprites: Raven Software
|
||||
Sprite Edit: MagicWazard
|
||||
Idea Base: Heretic/Hexen splashes
|
||||
38
filter/game-doomchex/DECORATE.txt
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
//mud--a brown variant of the "sludge" that better fits Doom's brown sludgy textures
|
||||
ACTOR MudChunk
|
||||
{
|
||||
Radius 2
|
||||
Height 4
|
||||
+NOBLOCKMAP
|
||||
+MISSILE
|
||||
+DROPOFF
|
||||
+NOTELEPORT
|
||||
+LOWGRAVITY
|
||||
+CANNOTPUSH
|
||||
+DONTSPLASH
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
MUDS ABCD 8
|
||||
Stop
|
||||
Death:
|
||||
MUDS D 6
|
||||
Stop
|
||||
}
|
||||
}
|
||||
|
||||
ACTOR MudSplash
|
||||
{
|
||||
+NOBLOCKMAP
|
||||
+NOCLIP
|
||||
+NOGRAVITY
|
||||
+DONTSPLASH
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
MUDS EFGH 6
|
||||
Stop
|
||||
}
|
||||
}
|
||||
|
||||
//note that all other "chunk" actors utilized in "TERRAIN" are stock classes included with zDoom's .PK3 file
|
||||
49
filter/game-doomchex/GLDEFS.txt
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
//brightmaps for the slime (nukage) splash actors
|
||||
//without these, they're hard to see against the nukage flat if used in gzDoom with brightmap support
|
||||
BrightMap Sprite SLIMA0
|
||||
{
|
||||
Map BMSLIMA0
|
||||
DisableFullBright
|
||||
}
|
||||
|
||||
BrightMap Sprite SLIMB0
|
||||
{
|
||||
Map BMSLIMB0
|
||||
DisableFullBright
|
||||
}
|
||||
|
||||
BrightMap Sprite SLIMC0
|
||||
{
|
||||
Map BMSLIMC0
|
||||
DisableFullBright
|
||||
}
|
||||
|
||||
BrightMap Sprite SLIMD0
|
||||
{
|
||||
Map BMSLIMD0
|
||||
DisableFullBright
|
||||
}
|
||||
|
||||
BrightMap Sprite SLIME0
|
||||
{
|
||||
Map BMSLIME0
|
||||
DisableFullBright
|
||||
}
|
||||
|
||||
BrightMap Sprite SLIMF0
|
||||
{
|
||||
Map BMSLIMF0
|
||||
DisableFullBright
|
||||
}
|
||||
|
||||
BrightMap Sprite SLIMG0
|
||||
{
|
||||
Map BMSLIMG0
|
||||
DisableFullBright
|
||||
}
|
||||
|
||||
BrightMap Sprite SLIMH0
|
||||
{
|
||||
Map BMSLIMH0
|
||||
DisableFullBright
|
||||
}
|
||||
14
filter/game-doomchex/INFO.txt
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
Type: Terrain splash effects for Doom flats
|
||||
Connections: Raven splash FX (included), zDoom default splash "chunk" actors
|
||||
Spawn Offsets: N/A
|
||||
Documentation: Yes (in TERRAIN lump)
|
||||
Spawn Ceiling: No
|
||||
Variants: 7 - Water, Sludge, Lava, Blood, Slime (Nukage), Mud, Sizzle
|
||||
Summon: N/A
|
||||
Brightmaps: Yes
|
||||
ACS: No
|
||||
|
||||
|
||||
Provides splash effects for Doom flats. Includes water, sludge, and lava from
|
||||
Heretic/Hexen, as well as blood, slime (nukage), and mud, and a "sizzle" effect
|
||||
for hot non-liquid floors.
|
||||
11
filter/game-doomchex/SNDINFO.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
//splashes (duped from Heretic and Hexen, since they don't load in Doom natively by default)
|
||||
world/drip gloop
|
||||
world/watersplash gloop
|
||||
world/lavasizzle acid5
|
||||
world/sludgegloop muck5
|
||||
//you can override the limit values so multiple splashes can play simultaneously
|
||||
//note that this sounds bad if multiple splashes play all at once (such as when firing a shotgun into liquid), so override these values at your own discretion
|
||||
/*$Limit world/drip 4
|
||||
$Limit world/watersplash 4
|
||||
$Limit world/lavasizzle 4
|
||||
$Limit world/sludgegloop 4*/
|
||||
260
filter/game-doomchex/TERRAIN.txt
Normal file
|
|
@ -0,0 +1,260 @@
|
|||
//This is where all the different Doom-compatible terrains are defined
|
||||
//note that Water, Sludge, and Lava are available already in zDoom, but these versions have some modifications from the existing ones
|
||||
|
||||
//the "base" and "chunk" actor classes used in each splash are the versions provided by zDoom, except for "Mud", which is a new definition
|
||||
|
||||
//footclip value for each terrain is commented out, so actors will "stand on" the fluid like in stock Doom
|
||||
//if you want the fluids to behave like in Raven, so actors will "sink" in them, re-enable the footclip value
|
||||
|
||||
//also, I removed the smallclip value from each splash, since they tended to get culled by the floor when the matching terrain has no footclip value defined;
|
||||
//if you put the footclip value back in, then set the smallclip value for each splash back to "12", so they look right
|
||||
|
||||
//sludge, slime, and lava deal no damage; I assume that you'll want to handle damage through sector properties like stock Doom
|
||||
//you can easily modify this if you want, though; placeholder values are present for each terrain type, but commented out
|
||||
|
||||
//lastly, the default zDoom (and Hexen) versions of the splashes alert monsters; I removed this property from mine
|
||||
//if you want splash noises to alert monsters, then remove "noalert" from each splash definition
|
||||
|
||||
|
||||
//water splash
|
||||
splash DoomWater
|
||||
{
|
||||
smallclass WaterSplashBase
|
||||
smallclip 0
|
||||
smallsound world/drip
|
||||
|
||||
baseclass WaterSplashBase
|
||||
chunkclass WaterSplash
|
||||
chunkxvelshift 8
|
||||
chunkyvelshift 8
|
||||
chunkzvelshift 8
|
||||
chunkbasezvel 2
|
||||
sound world/watersplash
|
||||
noalert
|
||||
}
|
||||
|
||||
terrain DoomWater
|
||||
{
|
||||
splash DoomWater
|
||||
//footclip 10
|
||||
liquid
|
||||
}
|
||||
|
||||
|
||||
//sludge splash
|
||||
splash DoomSludge
|
||||
{
|
||||
smallclass SludgeSplash
|
||||
smallclip 0
|
||||
smallsound world/sludgegloop
|
||||
|
||||
baseclass SludgeSplash
|
||||
chunkclass SludgeChunk
|
||||
chunkxvelshift 8
|
||||
chunkyvelshift 8
|
||||
chunkzvelshift 8
|
||||
chunkbasezvel 1
|
||||
sound world/sludgegloop
|
||||
noalert
|
||||
}
|
||||
|
||||
terrain DoomSludge
|
||||
{
|
||||
splash DoomSludge
|
||||
//footclip 10
|
||||
liquid
|
||||
|
||||
//damageamount 5
|
||||
//damagetype slime
|
||||
//damagetimemask 34
|
||||
//allowprotection
|
||||
}
|
||||
|
||||
|
||||
//lava
|
||||
splash DoomLava
|
||||
{
|
||||
smallclass LavaSplash
|
||||
smallclip 0
|
||||
smallsound world/lavasizzle
|
||||
|
||||
baseclass LavaSplash
|
||||
chunkclass LavaSmoke
|
||||
chunkxvelshift -1
|
||||
chunkyvelshift -1
|
||||
chunkzvelshift 7
|
||||
chunkbasezvel 1
|
||||
sound world/lavasizzle
|
||||
noalert
|
||||
}
|
||||
|
||||
terrain DoomLava
|
||||
{
|
||||
splash DoomLava
|
||||
//footclip 10
|
||||
liquid
|
||||
|
||||
//damageamount 10
|
||||
//damagetype lava
|
||||
//damagetimemask 34
|
||||
//allowprotection
|
||||
}
|
||||
|
||||
|
||||
//blood
|
||||
splash DoomBlood
|
||||
{
|
||||
smallclass BloodSplashBase
|
||||
smallclip 0
|
||||
smallsound world/drip
|
||||
|
||||
baseclass BloodSplashBase
|
||||
chunkclass BloodSplash
|
||||
chunkxvelshift 8
|
||||
chunkyvelshift 8
|
||||
chunkzvelshift 8
|
||||
chunkbasezvel 2
|
||||
sound world/watersplash
|
||||
noalert
|
||||
}
|
||||
|
||||
terrain DoomBlood
|
||||
{
|
||||
splash DoomBlood
|
||||
//footclip 10
|
||||
liquid
|
||||
}
|
||||
|
||||
|
||||
//nukage slime
|
||||
splash DoomSlime
|
||||
{
|
||||
smallclass SlimeSplash
|
||||
smallclip 0
|
||||
smallsound world/sludgegloop
|
||||
|
||||
baseclass SlimeSplash
|
||||
chunkclass SlimeChunk
|
||||
chunkxvelshift 8
|
||||
chunkyvelshift 8
|
||||
chunkzvelshift 8
|
||||
chunkbasezvel 1
|
||||
sound world/sludgegloop
|
||||
noalert
|
||||
}
|
||||
|
||||
terrain DoomSlime
|
||||
{
|
||||
splash DoomSlime
|
||||
//footclip 10
|
||||
liquid
|
||||
|
||||
//damageamount 5
|
||||
//damagetype slime
|
||||
//damagetimemask 34
|
||||
//allowprotection
|
||||
}
|
||||
|
||||
|
||||
//brown muddy slime; based off sludge
|
||||
splash DoomMud
|
||||
{
|
||||
smallclass MudSplash
|
||||
smallclip 0
|
||||
smallsound world/sludgegloop
|
||||
|
||||
baseclass MudSplash
|
||||
chunkclass MudChunk
|
||||
chunkxvelshift 8
|
||||
chunkyvelshift 8
|
||||
chunkzvelshift 8
|
||||
chunkbasezvel 1
|
||||
sound world/sludgegloop
|
||||
noalert
|
||||
}
|
||||
|
||||
terrain DoomMud
|
||||
{
|
||||
splash DoomMud
|
||||
//footclip 10
|
||||
liquid
|
||||
}
|
||||
|
||||
|
||||
//sizzle effect for "hot" floors, like the glowing rock textures
|
||||
splash DoomSizzle
|
||||
{
|
||||
smallclass LavaSmoke
|
||||
smallclip 0
|
||||
smallsound world/lavasizzle
|
||||
|
||||
baseclass LavaSmoke
|
||||
chunkclass none
|
||||
chunkxvelshift -1
|
||||
chunkyvelshift -1
|
||||
chunkzvelshift 7
|
||||
chunkbasezvel 1
|
||||
sound world/lavasizzle
|
||||
noalert
|
||||
}
|
||||
|
||||
terrain DoomSizzle
|
||||
{
|
||||
splash DoomSizzle
|
||||
|
||||
//damageamount 5
|
||||
//damagetype lava
|
||||
//damagetimemask 34
|
||||
//allowprotection
|
||||
}
|
||||
|
||||
|
||||
//terrains are assigned to flats here
|
||||
//follow this template to add terrain support to your custom flats
|
||||
|
||||
//water
|
||||
floor fwater1 Doomwater
|
||||
floor fwater2 Doomwater
|
||||
floor fwater3 Doomwater
|
||||
floor fwater4 Doomwater
|
||||
|
||||
//sludge
|
||||
//(note that Heretic's sludge doesn't really fit any stock Doom flats, but it's included in case you want it for custom flats
|
||||
|
||||
//lava
|
||||
floor lava1 DoomLava
|
||||
floor lava2 DoomLava
|
||||
floor lava3 DoomLava
|
||||
floor lava4 DoomLava
|
||||
|
||||
//blood
|
||||
floor blood1 DoomBlood
|
||||
floor blood2 DoomBlood
|
||||
floor blood3 DoomBlood
|
||||
|
||||
//slime
|
||||
floor nukage1 DoomSlime
|
||||
floor nukage2 DoomSlime
|
||||
floor nukage3 DoomSlime
|
||||
|
||||
//muddy sludge
|
||||
floor slime01 DoomMud
|
||||
floor slime02 DoomMud
|
||||
floor slime03 DoomMud
|
||||
floor slime04 DoomMud
|
||||
floor slime05 DoomMud
|
||||
floor slime06 DoomMud
|
||||
floor slime07 DoomMud
|
||||
floor slime08 DoomMud
|
||||
|
||||
//sizzling hot floors
|
||||
floor rrock01 DoomSizzle
|
||||
floor rrock02 DoomSizzle
|
||||
floor rrock05 DoomSizzle
|
||||
floor rrock06 DoomSizzle
|
||||
floor rrock07 DoomSizzle
|
||||
floor rrock08 DoomSizzle
|
||||
floor slime09 DoomSizzle
|
||||
floor slime10 DoomSizzle
|
||||
floor slime11 DoomSizzle
|
||||
floor slime12 DoomSizzle
|
||||
BIN
filter/game-doomchex/graphics/BMSLIMA0.png
Normal file
|
After Width: | Height: | Size: 1 KiB |
BIN
filter/game-doomchex/graphics/BMSLIMB0.png
Normal file
|
After Width: | Height: | Size: 1 KiB |
BIN
filter/game-doomchex/graphics/BMSLIMC0.png
Normal file
|
After Width: | Height: | Size: 1,008 B |
BIN
filter/game-doomchex/graphics/BMSLIMD0.png
Normal file
|
After Width: | Height: | Size: 982 B |
BIN
filter/game-doomchex/graphics/BMSLIME0.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
filter/game-doomchex/graphics/BMSLIMF0.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
filter/game-doomchex/graphics/BMSLIMG0.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
filter/game-doomchex/graphics/BMSLIMH0.png
Normal file
|
After Width: | Height: | Size: 1 KiB |
BIN
filter/game-doomchex/sounds/ACID5.ogg
Normal file
BIN
filter/game-doomchex/sounds/GLOOP.ogg
Normal file
BIN
filter/game-doomchex/sounds/MUCK5.ogg
Normal file
BIN
filter/game-doomchex/sprites/BSPHA0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/BSPHB0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/BSPHC0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/BSPHD0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/BSPHE0.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
filter/game-doomchex/sprites/BSPHF0.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
filter/game-doomchex/sprites/BSPHG0.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
filter/game-doomchex/sprites/BSPHH0.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
filter/game-doomchex/sprites/BSPHI0.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
filter/game-doomchex/sprites/BSPHJ0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/BSPHK0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/LVASA0.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
filter/game-doomchex/sprites/LVASB0.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
filter/game-doomchex/sprites/LVASC0.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
filter/game-doomchex/sprites/LVASD0.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
filter/game-doomchex/sprites/LVASE0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/LVASF0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/LVASG0.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
filter/game-doomchex/sprites/LVASH0.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
filter/game-doomchex/sprites/LVASI0.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
filter/game-doomchex/sprites/LVASJ0.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
filter/game-doomchex/sprites/LVASK0.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
filter/game-doomchex/sprites/MUDSA0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/MUDSB0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/MUDSC0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/MUDSD0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/MUDSE0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/MUDSF0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/MUDSG0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/MUDSH0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SLDGA0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SLDGB0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SLDGC0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SLDGD0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SLDGE0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SLDGF0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SLDGG0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SLDGH0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SLIMA0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SLIMB0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SLIMC0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SLIMD0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SLIME0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SLIMF0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SLIMG0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SLIMH0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SPSHA0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SPSHB0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SPSHC0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SPSHD0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SPSHE0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SPSHF0.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
filter/game-doomchex/sprites/SPSHG0.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
filter/game-doomchex/sprites/SPSHH0.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
filter/game-doomchex/sprites/SPSHI0.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
filter/game-doomchex/sprites/SPSHJ0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
filter/game-doomchex/sprites/SPSHK0.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
|
|
@ -249,7 +249,7 @@ SWWM_LORETXT_ARGENT =
|
|||
"Classification: Pure source of energy\n"
|
||||
"Location: Hell\n"
|
||||
"\n"
|
||||
"Summary: An almost limitless source of pure energy found by the UAC in Mars, and further tracked down to Hell itself. The corporation has worked hard to turn raw Argent Plasma it into a clean and efficient alternative to other sources of energy that are no longer viable.\n"
|
||||
"Summary: An almost limitless source of pure energy found by the UAC in Mars, and further tracked down to Hell itself. The corporation has worked hard to turn raw Argent Plasma into a clean and efficient alternative to other sources of energy that are no longer viable.\n"
|
||||
"\n"
|
||||
"Addendum: The true nature of this energy is not very well known, but due to its natural origin on Hell some have wildly theorized that it may be the souls of the dead.\n"
|
||||
"\n"
|
||||
|
|
@ -955,7 +955,7 @@ SWWM_LORETXT_NEKURATEK =
|
|||
"\n"
|
||||
"Summary: Nekuratek was founded by Zanata Nekuraku I in 1744, as Nekuraku Rafana Sakosai (Nekuraku Arms Manufactory), it quickly became the main provider of weaponry for the Nukuri Empire. Following the death of Zanata I in 1870, the company's leadership was transferred to her granddaughter Zanata II, who decided to further expand into other fields, such as robotics and information technology, and gradually began to cut down on the fabrication of weaponry. Since the fall of the empire, the company is dedicated entirely to robotics and computing, with their old arms manufactory division being split off and led by Zanata II's son Zanaveth I. The last transfer of leadership was to Zanaveth II in 2128.\n"
|
||||
"\n"
|
||||
"Addendum: Nekuratek is most famous for the creation of the Nekern Architecture, a human-compatible hardware platform that powers all Nukuri systems, and the Nekronbot AI, a lifelike, highly expandable artificial intelligence framework that's been used for various things, from personal assistant bots to self-driving vehicles.\n"
|
||||
"Addendum: Nekuratek is most famous for the creation of the Nekern Architecture, a human-compatible hardware platform that powers all Nukuri systems, and the Nekuronbot AI, a lifelike, highly expandable artificial intelligence framework that's been used for various things, from personal assistant bots to self-driving vehicles.\n"
|
||||
"\n"
|
||||
"Saya's Note: Good people to work with, especially Zana-sama. She's a lot more outgoing than her predecessor, that's for sure, and much cuter, too, heheh...";
|
||||
SWWM_LORETAG_NOKRONKINY = "Nokron & Kinylum";
|
||||
|
|
@ -1001,7 +1001,7 @@ SWWM_LORETXT_NUGGET =
|
|||
"Designation: Health/Armor Nuggets\n"
|
||||
"Manufacturer: Unknown\n"
|
||||
"\n"
|
||||
"Summary: Small chunks of inteterminate composition found in large amounts within a cave system below the ancient ruins in Sedna. It appears that when held tightly in one's grasp, they \"melt\" into the body and either heal one's wounds or strengthen the natural resistances of their bodies, thus being divided between \"Health\" and \"Armor\" Nuggets.\n"
|
||||
"Summary: Small chunks of indeterminate composition found in large amounts within a cave system below the ancient ruins in Sedna. It appears that when held tightly in one's grasp, they \"melt\" into the body and either heal one's wounds or strengthen the natural resistances of their bodies, thus being divided between \"Health\" and \"Armor\" Nuggets.\n"
|
||||
"\n"
|
||||
"Addendum: Excessive usage of these materials does not appear to carry any risk.\n"
|
||||
"\n"
|
||||
|
|
@ -1308,7 +1308,7 @@ SWWM_LORETXT_UNISSIX =
|
|||
"Nationality: Devanikan\n"
|
||||
"Date Of Birth: 1992-02-29\n"
|
||||
"\n"
|
||||
"Summary: Misa is the lead weapon and armor designer of the entire Unissix family. Starting at a very early age, her fascination with weponry has always been quite noticeable. Despite a strong fighting spirit, she lacks the physical prowess required to be a warrior, so she's dedicated herself entirely to her craft. Misa is highly skilled in the interpretation of ancient designs, and is thus often tasked with recreating lost technology. This has included the various Artifacts of Nedoshiaan.\n"
|
||||
"Summary: Misa is the lead weapon and armor designer of the entire Unissix family. Starting at a very early age, her fascination with weaponry has always been quite noticeable. Despite a strong fighting spirit, she lacks the physical prowess required to be a warrior, so she's dedicated herself entirely to her craft. Misa is highly skilled in the interpretation of ancient designs, and is thus often tasked with recreating lost technology. This has included the various Artifacts of Nedoshiaan.\n"
|
||||
"\n"
|
||||
"Addendum: Rose to fame on Earth during a visit from Zanaveth II, her wife, who leads Nekuratek, a massive tech giant in the Nukuri homeworld. Misa is a big fan of videogames, finding it rather exciting to finally be able to go on adventures of her own, without having to put much physical effort into it.\n"
|
||||
"\n"
|
||||
|
|
|
|||
|
|
@ -316,6 +316,7 @@ demolitionist/kick2 sounds/demolitionist/demokick2.ogg
|
|||
demolitionist/kick3 sounds/demolitionist/demokick3.ogg
|
||||
$random demolitionist/kick { demolitionist/kick1 demolitionist/kick2 demolitionist/kick3 }
|
||||
demolitionist/revive sounds/demolitionist/demorevive.ogg
|
||||
demolitionist/youdied sounds/demolitionist/demoded.ogg
|
||||
|
||||
$playersound demolitionist neutral *grunt DSEMPTY
|
||||
$playeralias demolitionist neutral *pain100 demolitionist/lopain
|
||||
|
|
@ -628,6 +629,7 @@ menu/demosel sounds/menu/menuset.ogg
|
|||
menu/demoscroll sounds/menu/menuscroll.ogg
|
||||
menu/democlose sounds/menu/menuclose.ogg
|
||||
|
||||
menu/fail sounds/menu/failuse.ogg
|
||||
menu/noinvuse sounds/menu/failinv.ogg
|
||||
menu/buyinv sounds/menu/buysnd.ogg
|
||||
|
||||
|
|
|
|||
BIN
sounds/demolitionist/demoded.ogg
Normal file
|
|
@ -918,6 +918,7 @@ Class FabricatorTier4 : AmmoFabricator
|
|||
Inventory.MaxAmount 5;
|
||||
AmmoFabricator.Budget int.max;
|
||||
AmmoFabricator.PerType int.max;
|
||||
AmmoFabricator.MaxUnitPrice int.max;
|
||||
-INVENTORY.AUTOACTIVATE;
|
||||
Stamina 1920000;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2381,11 +2381,11 @@ Class SWWMHandler : EventHandler
|
|||
Shader.SetUniform1f(p,"Grain","Timer",(gametic+e.FracTic)/Thinker.TICRATE);
|
||||
int lastdmg = (demo.Health>0)?demo.lastdamage:Random[Flicker](60,80);
|
||||
int lastdmgtic = (demo.Health>0)?demo.lastdamagetic:(gametic+Random[Flicker](30,20));
|
||||
double noiz = min(lastdmg*.3*max(0,(lastdmgtic-(gametic+e.Fractic))/35.),.7);
|
||||
double noiz = min(lastdmg*.09*max(0,(lastdmgtic-(gametic+e.Fractic))/35.),.5);
|
||||
Shader.SetUniform1f(p,"Grain","ni",noiz);
|
||||
noiz = min(lastdmg*.16*max(0,(lastdmgtic-(gametic+e.Fractic))/35.),.8);
|
||||
noiz = min(lastdmg*.08*max(0,(lastdmgtic-(gametic+e.Fractic))/35.),.8);
|
||||
Shader.SetUniform1f(p,"Glitch","str1",noiz);
|
||||
noiz = min(lastdmg*.12*max(0,(lastdmgtic-(gametic+e.Fractic))/35.),3.5);
|
||||
noiz = min(lastdmg*.03*max(0,(lastdmgtic-(gametic+e.Fractic))/35.),3.5);
|
||||
Shader.SetUniform1f(p,"Glitch","str2",noiz);
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -822,35 +822,36 @@ Class SWWMStatusBar : BaseStatusBar
|
|||
if ( demo.player.viewheight <= 6 )
|
||||
{
|
||||
Screen.Dim("Black",min(demo.deadtimer/80.,1.),0,0,Screen.GetWidth(),Screen.GetHeight());
|
||||
if ( demo.revivefail > level.maptime )
|
||||
{
|
||||
Screen.Dim("Red",clamp((demo.revivefail-level.maptime)/60.,0.,.2),0,0,Screen.GetWidth(),Screen.GetHeight());
|
||||
str = StringTable.Localize("$SWWM_REFAIL");
|
||||
len = mTewiFont.mFont.StringWidth(str);
|
||||
xx = (ss.x-len)/2.;
|
||||
yy = ss.y-48;
|
||||
if ( (gametic%16) < 8 )
|
||||
Screen.DrawText(mTewiFont.mFont,Font.CR_RED,xx,yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
|
||||
}
|
||||
alph = clamp((demo.deadtimer-60)/60.,0.,1.);
|
||||
str = String.Format(StringTable.Localize("$SWWM_URDED"),CPlayer.GetUserName());
|
||||
len = mTewiFont.mFont.StringWidth(str);
|
||||
xx = (ss.x-len)/2.;
|
||||
yy = (ss.y-mTewiFont.mFont.GetHeight()*4)/2.;
|
||||
Screen.DrawText(mTewiFont.mFont,Font.CR_RED,xx,yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph);
|
||||
alph = clamp((demo.deadtimer-120)/60.,0.,1.);
|
||||
alph = clamp((demo.deadtimer-140)/60.,0.,1.);
|
||||
str = String.Format(StringTable.Localize("$SWWM_URDED2"),CPlayer.GetUserName());
|
||||
len = mTewiFont.mFont.StringWidth(str);
|
||||
xx = (ss.x-len)/2.;
|
||||
yy = ss.y/2.;
|
||||
Screen.DrawText(mTewiFont.mFont,Font.CR_RED,xx,yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph);
|
||||
Screen.DrawText(mTewiFont.mFont,Font.CR_WHITE,xx,yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph);
|
||||
if ( !swwm_revive )
|
||||
return;
|
||||
alph = clamp((demo.deadtimer-200)/60.,0.,1.);
|
||||
alph = clamp((demo.deadtimer-160)/60.,0.,1.);
|
||||
str = String.Format(StringTable.Localize("$SWWM_URDED3"),CPlayer.GetUserName());
|
||||
len = mTewiFont.mFont.StringWidth(str);
|
||||
xx = (ss.x-len)/2.;
|
||||
yy = (ss.y+mTewiFont.mFont.GetHeight()*2)/2.;
|
||||
Screen.DrawText(mTewiFont.mFont,Font.CR_RED,xx,yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph);
|
||||
if ( demo.revivefail > level.maptime )
|
||||
{
|
||||
str = StringTable.Localize("$SWWM_REFAIL");
|
||||
len = mTewiFont.mFont.StringWidth(str);
|
||||
xx = (ss.x-len)/2.;
|
||||
yy = ss.y-30;
|
||||
if ( (gametic%12) < 6 )
|
||||
Screen.DrawText(mTewiFont.mFont,Font.CR_RED,xx,yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
|
||||
}
|
||||
Screen.DrawText(mTewiFont.mFont,Font.CR_WHITE,xx,yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ Class SWWMSpareArmor : Inventory abstract
|
|||
else shouldautouse = CVar.GetCVar('swwm_autousearmor',Owner.player).GetBool();
|
||||
if ( pickup && !shouldautouse ) return false;
|
||||
let cur = Owner.FindInventory(giveme);
|
||||
if ( !cur || (cur.Amount <= 0) )
|
||||
if ( !cur || (!pickup && (cur.Amount < cur.MaxAmount)) || (Amount+cur.Amount <= cur.MaxAmount) )
|
||||
{
|
||||
Owner.GiveInventory(giveme,GetDefaultByType(giveme).Amount);
|
||||
if ( UseSound ) Owner.A_StartSound(UseSound,CHAN_ITEMEXTRA,CHANF_DEFAULT,.6);
|
||||
|
|
|
|||
|
|
@ -9,7 +9,8 @@ Class Demolitionist : PlayerPawn
|
|||
bool sendtoground;
|
||||
bool key_reentrant;
|
||||
|
||||
int lastdamage, lastdamagetic;
|
||||
int lastdamage;
|
||||
transient int lastdamagetic;
|
||||
bool lastground;
|
||||
int lastgroundtic;
|
||||
double lastvelz, prevvelz;
|
||||
|
|
@ -33,7 +34,8 @@ Class Demolitionist : PlayerPawn
|
|||
};
|
||||
|
||||
int lastunder;
|
||||
int deadtimer, revivefail;
|
||||
int deadtimer;
|
||||
transient int revivefail;
|
||||
|
||||
Default
|
||||
{
|
||||
|
|
@ -505,7 +507,7 @@ Class Demolitionist : PlayerPawn
|
|||
if ( Health < 25 ) damage /= 4;
|
||||
if ( source == self ) damage /= 2;
|
||||
lastdamage = Super.DamageMobj(inflictor,source,damage,mod,flags,angle);
|
||||
lastdamagetic = max(lastdamagetic,gametic+clamp(lastdamage,10,80));
|
||||
lastdamagetic = max(lastdamagetic,gametic+clamp(lastdamage/2,10,40));
|
||||
if ( (lastdamage > 0) && (PainChance == 0) && (level.maptime>lastmpain) )
|
||||
{
|
||||
lastmpain = level.maptime;
|
||||
|
|
@ -600,11 +602,11 @@ Class Demolitionist : PlayerPawn
|
|||
Vector3 x, y, z;
|
||||
[x, y, z] = swwm_CoordUtil.GetAxes(pitch,angle,roll);
|
||||
Vector3 accel = x*player.cmd.forwardmove+y*player.cmd.sidemove+z*player.cmd.upmove;
|
||||
accel *= fs/128.;
|
||||
vel = vel+accel/TICRATE;
|
||||
if ( vel.length() > 50. )
|
||||
vel = vel.unit()*50.;
|
||||
vel *= .99;
|
||||
accel *= fs/320.;
|
||||
double spd = vel.length();
|
||||
if ( spd > 40. ) vel = (vel+accel/TICRATE).unit()*spd;
|
||||
else vel = vel+accel/TICRATE;
|
||||
vel *= .97;
|
||||
player.vel = (1,1)*vel.length();
|
||||
player.jumptics = -2;
|
||||
if ( !(player.cheats & CF_PREDICTING) && (player.cmd.forwardmove|player.cmd.sidemove) )
|
||||
|
|
@ -823,6 +825,8 @@ Class Demolitionist : PlayerPawn
|
|||
if ( player.viewheight <= 6 )
|
||||
{
|
||||
deadtimer++;
|
||||
if ( deadtimer == 60 )
|
||||
A_StartSound("demolitionist/youdied",CHAN_DEMOVOICE,CHANF_OVERLAP|CHANF_UI|CHANF_LOCAL);
|
||||
if ( multiplayer || level.AllowRespawn || sv_singleplayerrespawn || G_SkillPropertyInt(SKILLP_PlayerRespawn) )
|
||||
{
|
||||
// standard behaviour, respawn normally
|
||||
|
|
@ -833,14 +837,14 @@ Class Demolitionist : PlayerPawn
|
|||
if ( special1 > 2 ) special1 = 0;
|
||||
}
|
||||
}
|
||||
else if ( (player.cmd.buttons&BT_USE) && (deadtimer > 150) )
|
||||
else if ( (player.cmd.buttons&BT_USE) && (deadtimer > 120) )
|
||||
{
|
||||
// reload save
|
||||
player.cls = null;
|
||||
player.playerstate = PST_ENTER;
|
||||
if ( special1 > 2 ) special1 = 0;
|
||||
}
|
||||
else if ( (player.cmd.buttons&BT_ATTACK) && (deadtimer > 150) && swwm_revive )
|
||||
else if ( (player.cmd.buttons&BT_ATTACK) && (deadtimer > 120) && swwm_revive )
|
||||
{
|
||||
// reboot (if possible)
|
||||
if ( !FindInventory("ReviveCooldown") )
|
||||
|
|
@ -865,11 +869,10 @@ Class Demolitionist : PlayerPawn
|
|||
if ( swwm_revivecooldown > 0 )
|
||||
GiveInventory("ReviveCooldown",1);
|
||||
}
|
||||
else
|
||||
else if ( level.maptime > revivefail )
|
||||
{
|
||||
A_StartSound("*usefail",CHAN_ITEM,CHANF_UI|CHANF_LOCAL);
|
||||
SWWMHandler.DoFlash(self,Color(64,255,0,0),30);
|
||||
revivefail = level.maptime+20;
|
||||
A_StartSound("menu/fail",CHAN_ITEM,CHANF_UI|CHANF_LOCAL);
|
||||
revivefail = level.maptime+70;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1277,13 +1277,15 @@ Class TheBall : Actor
|
|||
// slam jam
|
||||
if ( bleeds )
|
||||
{
|
||||
A_StartSound("spreadgun/ballf",CHAN_VOICE,CHANF_OVERLAP,(vel.length()/75.)**.5);
|
||||
A_StartSound("spreadgun/ballf",CHAN_VOICE,CHANF_OVERLAP,(vel.length()/40.)**.5);
|
||||
victim.A_StartSound("spreadgun/ballf",CHAN_FOOTSTEP,CHANF_OVERLAP,(vel.length()/40.)**.5);
|
||||
victim.TraceBleed(dmg,self);
|
||||
SpawnBlood(pos,atan2(dir.y,dir.x),dmg);
|
||||
}
|
||||
else
|
||||
{
|
||||
A_StartSound("spreadgun/ball",CHAN_VOICE,CHANF_OVERLAP,(vel.length()/75.)**.5);
|
||||
A_StartSound("spreadgun/ball",CHAN_VOICE,CHANF_OVERLAP,(vel.length()/40.)**.5);
|
||||
victim.A_StartSound("spreadgun/ball",CHAN_FOOTSTEP,CHANF_OVERLAP,(vel.length()/40.)**.5);
|
||||
if ( vel.length() > 15 )
|
||||
{
|
||||
let s = Spawn("BallImpact",pos);
|
||||
|
|
|
|||