Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions LANGUAGE
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ TAG_300SAVAGE=".300 Savage ammo";
TAG_300SAVAGEBRASS=".300 Savage casing";
TAG_762TOKAREV="7.62 Tokarev round";
TAG_762TOKAREVBRASS="7.62 Tokarev casing";
TAG_828MM = "8.28mm UAC round";

PICKUP_10MM="Picked up a 10mm round.";
PICKUP_10MMBRASS="Picked up some 10mm brass.";
Expand Down Expand Up @@ -107,6 +108,8 @@ PICKUP_069BORE="Picked up a .066 bore shell.";
PICKUP_069BOREBOX="Picked up some .066 bore shells.";
PICKUP_NDM="Picked up a 9mm NDM round.";
PICKUP_NDMBOX="Picked up some 9mm NDM ammo.";
PICKUP_828MM = "Picked up a stray 8.28mm round.";
PICKUP_828MMCHUNK = "Picked up some stray 8.28mm rounds.";

TAG_BELTLINKS="Belt Links";
TAG_776BELTLINK="Small Belt Link";
Expand Down
31 changes: 19 additions & 12 deletions TEXTURES
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// Texture definitions generated by SLADE3
// on Sat May 31 14:54:42 2025
// on Thu Jan 29 22:26:07 2026

Sprite "SLUGA0", 15, 7
{
Expand Down Expand Up @@ -1039,7 +1039,6 @@ Sprite "G50YA0", 10, 7
}
}

// .069 Bore & .420 Frei
Sprite "42TEA0", 10, 6
{
Offset 5, 6
Expand Down Expand Up @@ -1070,6 +1069,24 @@ Sprite "42TEA0", 10, 6
}
}

Sprite "828RA0", 4, 1
{
Offset 2, 2
Patch "RCLSA3A7", 0, 0
Patch "REDPXL", 1, 0
{
Blend "#000000", 0.3
}
}

Sprite "828RB0", 4, 1
{
Offset 2, 1
Patch "828RA0", 0, 0
Patch "828RA0", 0, 1
Patch "828RA0", 0, 2
}

Sprite "42BTA0", 20, 8
{
Offset 10, 8
Expand Down Expand Up @@ -1211,7 +1228,6 @@ Sprite "LLS4A0", 15, 7
}
}

//fumbled shell sprites
Sprite "ELLSA1", 3, 4
{
Offset 1, 4
Expand Down Expand Up @@ -1272,7 +1288,6 @@ Sprite "ELLSE5", 3, 4
Patch "ELLSE5", 0, 0
}

//single flare shells
Sprite "FLARA0", 3, 10
{
XScale 0.500
Expand All @@ -1281,7 +1296,6 @@ Sprite "FLARA0", 3, 10
Patch "FLARA0", 0, 0
}

//four flare shells
Sprite "FLA4A0", 15, 10
{
XScale 0.500
Expand All @@ -1290,7 +1304,6 @@ Sprite "FLA4A0", 15, 10
Patch "FLA4A0", 0, 0
}

//flare shellbox
Sprite "FLBXA0", 32, 12
{
Offset 16, 12
Expand Down Expand Up @@ -1321,7 +1334,6 @@ Sprite "XLBXA0", 32, 12
Patch "XLBXA0", 0, 0
}

//fumbled shell sprites
Sprite "XLLSA1", 3, 4
{
Offset 1, 4
Expand Down Expand Up @@ -1486,11 +1498,6 @@ Sprite "T710A0", 40, 23
Patch "T710A0", 0, 0
}

// End of texture definitions

//Belt Links

//Large
Sprite "HW0LA0", 14, 6
{
Offset 7, 6
Expand Down
3 changes: 2 additions & 1 deletion ZSCRIPT.zsc
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,5 @@ version "4.10"
#include "zscript/HDBulletLib/Ammunition/Birdshot.zsc"
#include "zscript/HDBulletLib/Ammunition/300savage.zsc"
#include "zscript/HDBulletLib/Ammunition/762Tokarev.zsc"
#include "zscript/HDBulletLib/Ammunition/BeltLinks.zsc"
#include "zscript/HDBulletLib/Ammunition/BeltLinks.zsc"
#include "zscript/HDBulletLib/Ammunition/828 UAC.zsc"
78 changes: 78 additions & 0 deletions zscript/HDBulletLib/Ammunition/828 UAC.zsc
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
// ====================================================
// UAC 8.28mm Battle Rifle cartridge by Niko Chevrier
// ====================================================

const ENC_828 = ENC_426 * 2.55;
const ENC_828_LOADED = ENC_426_LOADED * 2.65;


//[nkc] 8.28mm differs from 7.76mm by basically being way lighter but fast as fuck
//[nkc] felt fitting given 4.26mm's gimmick of being tiny but lightning fast

/*
[nkc] the idea of this round is to effectively be a hotter and heavier 4.26mm
which cooks off much faster and has much heftier recoil
it has great flesh damage pretty good armor pen, mediocre shield damage.
*/
class HDB_828:HDBulletActor{
default{
pushfactor 0.3;
mass 64;
speed HDCONST_MPSTODUPT*1120;
accuracy 700;
stamina 828;
woundhealth 8;
hdbulletactor.hardness 4;
hdbulletactor.distantsound "world/riflefar";
}
}

class EightMilAmmo:HDAmmo{
default{
+inventory.ignoreskill
+hdpickup.cheatnogive
+hdpickup.multipickup
xscale 0.9; yscale 1.2;
tag "$TAG_828MM";
hdpickup.refid "828";
hdpickup.bulk ENC_828;
inventory.icon "828RA0";
inventory.pickupmessage "$PICKUP_828MM";
}
override string pickupmessage(){

string pms=amount==1?Stringtable.Localize("$PICKUP_828MM",false):Stringtable.Localize("$PICKUP_828MMCHUNK",false);
return pms;
}
override void splitpickup(){
int amm=min(amount,random(10,16));
while(amount>amm){
int ld=min(amount,random(10,16));
actor a=spawn("EightMilAmmo",pos);
a.vel+=vel+(frandom(-1,1),frandom(-1,1),frandom(-1,1));
a.angle=frandom(0,360);
inventory(a).amount=ld;
amount-=ld;
}
if(amount<1){
destroy();
return;
}
scale.y=default.scale.y*max(1.,amount*0.24);
if(amount>1)frame=1;
}
override void GetItemsThatUseThis(){
//[nkc] do I just leave this empty for the weapon mods to add to it on their own?
//[nkc] for now I guess I will.
//itemsthatusethis.push("ZM81BattleRifle");
}
states(actor){
cache:
828R B 0;
spawn:
828R A -1;
stop;
}
}

//[nkc] oh wait, mags should be the responsibility of the weapon modders, huh?