Discard one more weapon, reducing slot count to 7.

This commit is contained in:
Marisa the Magician 2023-11-22 22:48:02 +01:00
parent 2b592fe06a
commit f3ab82ed44
29 changed files with 143 additions and 326 deletions

View File

@ -60,37 +60,23 @@ While you'd usually just hold the trigger and let 'er unload, you can also use q
*"Small, but powerful."*
Shells are usually found in handfuls of 4, or in 12 round boxes.
Shells are usually found in handfuls of 4, or in 12 round boxes. And of course, it's good ol' #1 Buck, for those big shreddin' pellets.
### Slot 3 - Garrett MK.77 "Survivor" *[Shotgun, Ethereal Crossbow]*
*"There WAS a hell knight..."*
Having miraculously come out unscathed from the **White Scar**, the **Garrett Gunners Group** celebrated with the creation of this .50 OMG over-under hunting rifle, popular among wastelanders at the time, and more popular nowadays among survivors of the demonic invasion of 2148, for its ability to *"erase"* beastly Hell nobles.
A quick double-tap can shoot both barrels almost simultaneously.
#### .50 Oh My God *[Shells, Ethereal Arrows]*
*"I don't think these really are that OMG-worthy, I've seen bigger."*
Found as either spare rounds or 10 round packs.
### Slot 4 - Areka "Boar Slayer" Hunting Pistol *[Super Shotgun, Ethereal Crossbow]*
### Slot 3 - Areka "Boar Slayer" Hunting Pistol *[Shotgun, Ethereal Crossbow]*
*"Got this one as a gift from a nice Xekkian girl. Oh, I still remember that night..."*
The **Boar Slayer** is clearly not meant for human use, but that's definitely not going to stop you now, is it? This has received the designation of a *"pistol rifle"* by **Xekkians**, although some would describe it more as a pump-action grenade launcher that happens to fire 50mm bullets.
Ammo for this *(very large)* puppy is quite rare, but that's compensated by how devastating even a single shot can be. Takes 5 bullets in the mag plus one in the chamber, though usually just one bullet is enough to absolutely destroy several targets.
Ammo for this *(very large)* puppy is relatively scarce, but that's compensated by how devastating even a single shot can be. Takes 5 bullets in the mag plus one in the chamber, though usually just one bullet is enough to absolutely destroy several targets.
#### 50mm Areka *[Shells, Ethereal Arrows]*
*"If that's the size of the round, imagine the size of the boar..."*
Available on their own or as bundles of 2 or 3 rounds. These things are absolute chonkers.
Available on their own or as bundles of up to 5 rounds. These things are absolute chonkers. Just one of these would punch a hole the size of your head through a hell knight.
### Slot 5 - ANFES "Melisa" Machine Gun *[Chaingun, Dragon Claw]*
### Slot 4 - ANFES "Melisa" Machine Gun *[Chaingun, Dragon Claw]*
*"I see we are kindred spirits, you and I."*
@ -104,9 +90,9 @@ Note that the weapon has no way to cool itself, so continuous fire will graduall
*"Wait, you're telling me these aren't tracer rounds?"*
Very likely to be found in 100 round belts or lesser.
Very likely to be found in 100 round belts or lesser. Built to withstand extremely high temperatures, igniting the very air itself along the way.
### Slot 6 - Kemet ST20 *[Rocket Launcher, Phoenix Rod]*
### Slot 5 - Kemet ST20 *[Rocket Launcher, Phoenix Rod]*
*"Ah yes, the ultimate problem solver. Just shoot them with this, and watch all those problems fly away."*
@ -118,9 +104,9 @@ The fact that this weapon still exists and ammunition for it is still manufactur
*"This... This is literally a tiny thermonuclear bomb squeezed into 20 millimeters... How?"*
Usually found as single rounds or in 5 round packs. You're lucky that **Cyrus** knows a guy who knows another guy who can supply you with these on the field.
Usually found as single rounds or in 5 round packs. You're lucky that **Cyrus** knows a guy who knows another guy who can supply you with these on the field. How this stuff even works is *"Esoteric Finnish Nonsense"*.
### Slot 7 - Cryptik "Psyker" Plasma Carbine *[Plasma Rifle, Hellstaff]*
### Slot 6 - Cryptik "Psyker" Plasma Carbine *[Plasma Rifle, Hellstaff]*
*"Ah... Now this is a blast from the past."*
@ -136,11 +122,11 @@ Unlike most other plasma weapons of modern times, the Psyker doesn't need to let
Plasma ammunition is generally found in **NATO** standard 60x72mm compressed argon cells. Each of these allows for 30 shots of the **Psyker**. Note that your autoloader has support for consolidating plasma charges too, so partial reloads won't be as wasteful.
### Slot 8 - Cyrus "Quaker" Portable Cannon *[BFG 9000, Firemace]*
### Slot 7 - Cyrus "Quaker" Portable Cannon *[BFG 9000, Firemace]*
*"Pretty hefty, this one. Can't even conceal the damn thing between my boobs."*
Portable **120mm** artillery? It's all possible thanks to **Cyrus Enterprises**. Just be sure to have enough room in your **Hammerspace** to store up plenty of rounds to blast 'em all to bits. Do note that you need to manually eject fired rounds in order for the auto-loader to feed another.
Portable **120mm** artillery? It's all possible thanks to **Cyrus Enterprises**. Just be sure to have enough room in your **Hammerspace** to store up plenty of rounds to blast 'em all to bits. Do note that you need to manually reload this whole thing, it's single-shot after all.
#### 120mm "Redeemer" Warhead *[Cells, Mace Spheres]*

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 B

After

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 B

After

Width:  |  Height:  |  Size: 114 B

View File

@ -3,8 +3,8 @@
T_ONIUNARMED = "Knuckle Sandwich";
T_ONISHOTGUN = "AS-12";
I_ONISHOTGUN = "Ninnacht \"AutoShot-12\" Automatic Shotgun";
T_ONIHRIFLE = "Survivor";
I_ONIHRIFLE = "Garrett MK.77 \"Survivor\" Hunting Rifle";
T_ONISLAYER = "Boar Slayer";
I_ONISLAYER = "Areka \"Boar Slayer\" Hunting Pistol";
T_ONIMACHINEGUN = "Melisa";
I_ONIMACHINEGUN = "ANFES \"Melisa\" Light Machine Gun";
T_ONIEXPLODER = "ST-20";
@ -13,15 +13,13 @@ T_ONIPLASMARIFLE = "Psyker";
I_ONIPLASMARIFLE = "Cryptik \"Psyker\" Plasma Carbine";
T_ONITANKGUN = "Quaker";
I_ONITANKGUN = "Cyrus \"Quaker\" Portable Cannon";
T_ONISLAYER = "Boar Slayer";
I_ONISLAYER = "Areka \"Boar Slayer\" Hunting Pistol";
T_ONIBATTER = "Purifier";
T_ONIAS12AMMO = "AS-12 Drum";
T_ONIAS12AMMOS = "AS-12 Drum";
T_ONIAS12SHELL = "12ga Shell";
T_ONIAS12SHELLS = "12ga Shells";
T_ONISURVIVORROUND = ".50 OMG Round";
T_ONISURVIVORROUNDS = ".50 OMG Rounds";
T_ONIBOARROUND = "50mm Areka Round";
T_ONIBOARROUNDS = "50mm Areka Rounds";
T_ONIMELISABULLET = "7.62mmMT Round";
T_ONIMELISABULLETS = "7.62mmMT Rounds";
T_ONIEXPLODERAMMO = "ST-20 Clip";
@ -32,8 +30,6 @@ T_ONIPLASMAAMMO = "60mm Plasma Cell";
T_ONIPLASMAAMMOS = "60mm Plasma Cells";
T_ONIWARHEAD = "\"Redeemer\" Warhead";
T_ONIWARHEADS = "\"Redeemer\" Warheads";
T_ONIBOARROUND = "50mm Areka Round";
T_ONIBOARROUNDS = "50mm Areka Rounds";
T_ONILISA = "LiSA Room Tearing Device";
T_ONILISAS = "LiSA Room Tearing Devices";
T_ONICANDY = "Candy";
@ -113,11 +109,12 @@ TT_ONISHOTGUN =
"\cg12-gauge #1 Buckshot\c-, 32 rounds.\n"
"Fully automatic, but short trigger pulls\n"
"can act as a form of semi-auto fire.";
TT_ONIHRIFLE =
"\cg\"It truly blows the demons' minds.\"\c-\n"
TT_ONISLAYER =
"\cg\"Man, this thing fucks...\"\c-\n"
"\n"
"\cg.50 OMG (12.7×99mm)\c-, 2 rounds.\n"
"Double-tap to quickly shoot both rounds.";
"\cg50×110mm Areka\c-, 5+1 rounds.\n"
"Large size and weight, immense recoil,\n"
"guaranteed to cause great destruction.";
TT_ONIMACHINEGUN =
"\cg\"Let's play a song together.\"\c-\n"
"\n"
@ -137,20 +134,14 @@ TT_ONITANKGUN =
"\cg\"Hmmmm, I like me some big guns.\"\c-\n"
"\n"
"\cg120×935mm HEAT-MP-T\c-, single shot.\n"
"Reload must be initiated manually.";
TT_ONISLAYER =
"\cg\"Man, this thing fucks...\"\c-\n"
"\n"
"\cg50×110mm Areka\c-, 5+1 rounds.\n"
"Large size and weight, immense recoil,\n"
"guaranteed to cause great destruction.";
"Somewhat slow to reload.";
TT_ONIBATTER =
"\cg\"I'm not one for playing with balls, usually...\"\c-\n"
""
"\n"
"Beat the crap out of your enemies even harder.\n"
"Can be used to deflect enemy projectiles.";
// intermission tips
ONI_NINTERTIP = "33";
ONI_NINTERTIP = "32";
ONI_INTERTIP = "Tip #%d:";
ONI_INTERTIP1 = "Staying hydrated is half the battle.";
ONI_INTERTIP2 = "Ellen's Vodka allows you to punch very hard. Feel free to crack open some evil ones.";
@ -170,7 +161,7 @@ ONI_INTERTIP15 = "Ibuki loves Galician blood sausage. With pine nuts, but no rai
ONI_INTERTIP16 = "The AS-12 is the perfect tool for solving problems in an advanced way.";
ONI_INTERTIP17 = "Saya has been accidentally sucked into Ibuki's hammerspace at least once.";
ONI_INTERTIP18 = "No one knows what the \"ST\" letters in ST-20 mean.";
ONI_INTERTIP19 = "The Survivor is very good at killing Hell Nobles. It truly is an efficient goat remover.";
ONI_INTERTIP19 = "The Purifier is built with a special metal that's said to ward off against ghosts.";
ONI_INTERTIP20 = "Don't worry about drinking too much water. That problem gets fixed between levels.";
ONI_INTERTIP21 = "LiSA devices attach to anything they're thrown at, even enemies.";
ONI_INTERTIP22 = "This mod unfortunately does not feature Wall Busting Technology™.";
@ -184,4 +175,3 @@ ONI_INTERTIP29 = "Ibuki has her own sponsored brand of milk. Some people pay a d
ONI_INTERTIP30 = "When fighting hand to hand, enemies close to death will be finished off with a potent hook.";
ONI_INTERTIP31 = "Every time someone goes \"oof ouch her poor back\", Ibuki gets stronger.";
ONI_INTERTIP32 = "You can blow kisses with alt-fire. Unlike Demo-chan's, Ibuki's kisses are far more potent.";
ONI_INTERTIP33 = "The Purifier is built with a special metal that's said to ward off against ghosts.";

View File

@ -2,22 +2,20 @@
// tags, pickups
T_ONIUNARMED = "Bocata de Puño";
I_ONISHOTGUN = "Escopeta Automática Ninnacht \"AutoShot-12\"";
T_ONIHRIFLE = "Superviviente";
I_ONIHRIFLE = "Rifle de Caza Garrett MK.77 \"Superviviente\"";
T_ONISLAYER = "Mata-Jabalíes";
I_ONISLAYER = "Pistola de Caza Areka \"Mata-Jabalíes\"";
I_ONIMACHINEGUN = "Metralleta Ligera ANFES \"Melisa\"";
I_ONIEXPLODER = "Lanzador de Proyectiles Autopropulsados Kemet ST-20";
I_ONIPLASMARIFLE = "Carabina de Plasma Cryptik \"Psyker\"";
T_ONITANKGUN = "Estremecedor";
I_ONITANKGUN = "Cañón Portátil Cyrus \"Estremecedor\"";
T_ONISLAYER = "Mata-Jabalíes";
I_ONISLAYER = "Pistola de Caza Areka \"Mata-Jabalíes\"";
T_ONIBATTER = "Purificador";
T_ONIAS12AMMO = "Tambor de AS-12";
T_ONIAS12AMMOS = "Tambores de AS-12";
T_ONIAS12SHELL = "Cartucho de 12ga";
T_ONIAS12SHELLS = "Cartuchos de 12ga";
T_ONISURVIVORROUND = "Bala de .50 OMG";
T_ONISURVIVORROUNDS = "Balas de .50 OMG";
T_ONIBOARROUND = "Bala de 50mm Areka";
T_ONIBOARROUNDS = "Balas de 50mm Areka";
T_ONIMELISABULLET = "Bala de 7.62mmMT";
T_ONIMELISABULLETS = "Balas de 7.62mmMT";
T_ONIEXPLODERAMMO = "Clip de ST-20";
@ -28,8 +26,6 @@ T_ONIPLASMAAMMO = "Célula de Plasma de 60mm";
T_ONIPLASMAAMMOS = "Células de Plasma de 60mm";
T_ONIWARHEAD = "Cabeza nuclear \"Redentor\"";
T_ONIWARHEADS = "Cabezas nucleares \"Redentor\"";
T_ONIBOARROUND = "Bala de 50mm Areka";
T_ONIBOARROUNDS = "Balas de 50mm Areka";
T_ONILISA = "Dispositivo Rompehabitaciones LiSA";
T_ONILISAS = "Dispositivos Rompehabitaciones LiSA";
T_ONICANDY = "Caramelo";
@ -92,11 +88,12 @@ TT_ONISHOTGUN =
"\cgPerdigones #1 de calibre 12\c-, 32 cartuchos.\n"
"Automática, pero con acciones cortas del gatillo\n"
"se pude simular el fuego semiautomático.";
TT_ONIHRIFLE =
"\cg\"Ciertamente expande la mente de los demonios.\"\c-\n"
TT_ONISLAYER =
"\cg\"Tío, esta cosa folla...\"\c-\n"
"\n"
"\cg.50 OMG (12.7×99mm)\c-, 2 balas.\n"
"Un pulsado doble permite disparar ambas balas con rapidez.";
"\cg50×110mm Areka\c-, 5+1 balas.\n"
"Gran tamaño y peso, retroceso inmenso,\n"
"garantizado para causar una gran destrucción.";
TT_ONIMACHINEGUN =
"\cg\"Cantemos una canción juntos.\"\c-\n"
"\n"
@ -116,13 +113,7 @@ TT_ONITANKGUN =
"\cg\"Hmmmm, me gustan las armas grandes.\"\c-\n"
"\n"
"\cg120×935mm HEAT-MP-T\c-, disparo único.\n"
"La recarga debe iniciarse manualmente.";
TT_ONISLAYER =
"\cg\"Tío, esta cosa folla...\"\c-\n"
"\n"
"\cg50×110mm Areka\c-, 5+1 balas.\n"
"Gran tamaño y peso, retroceso inmenso,\n"
"garantizado para causar una gran destrucción.";
"Algo lento de recargar.";
TT_ONIBATTER =
"\cg\"No soy mucho de jugar con pelotas, normalmente...\"\c-\n"
"\n"
@ -148,7 +139,7 @@ ONI_INTERTIP15 = "A Ibuki le encanta la morcilla Gallega. Con piñones, pero sin
ONI_INTERTIP16 = "La AS-12 es la herramienta perfecta para resolver problemas de una forma avanzada.";
ONI_INTERTIP17 = "Saya ha sido accidentalmente succionada dentro del Hammerspace de Ibuki al menos una vez.";
ONI_INTERTIP18 = "Nadie sabe que significan las letras \"ST\" del ST-20.";
ONI_INTERTIP19 = "El Superviviente es muy bueno para matar Nobles del Infierno. Muy eficiente eliminando cabras.";
ONI_INTERTIP19 = "El Purificador está hecho de un metal del que se dice que puede proteger contra fantasmas.";
ONI_INTERTIP20 = "No te preocupes si bebes demasiada agua. Ese problema se arregla entre niveles.";
ONI_INTERTIP21 = "Los dispositivos LiSA se acoplan contra todo lo que los lances, incluyendo enemigos.";
ONI_INTERTIP22 = "Este mod desafortunadamente no posee Tecnología Rompe Paredes™.";
@ -162,4 +153,3 @@ ONI_INTERTIP29 = "Ibuki tiene su propia marca patrocinada de leche. Hay gente qu
ONI_INTERTIP30 = "Al luchar cuerpo a cuerpo, los enemigos a punto de morir serán noqueados con un potente gancho.";
ONI_INTERTIP31 = "Cada vez que alguien dice \"uy pobre que dolor de espalda\", Ibuki se hace más fuerte.";
ONI_INTERTIP32 = "Puedes lanzar besos con fuego secundario. A diferencia de los de Demo-chan, los besos de Ibuki son mucho más potentes.";
ONI_INTERTIP33 = "El Purificador está hecho de un metal del que se dice que puede proteger contra fantasmas.";

View File

@ -1,3 +1,3 @@
[default]
ONI_MODVER="\crRED ONI\c- \cw0.1a r153 \cu(Sun 19 Nov 16:34:50 CET 2023)\c-";
ONI_SHORTVER="\cw0.1a r153 \cu(2023-11-19 16:34:50)\c-";
ONI_MODVER="\crRED ONI\c- \cw0.1a r154 \cu(Wed 22 Nov 22:48:02 CET 2023)\c-";
ONI_SHORTVER="\cw0.1a r154 \cu(2023-11-22 22:48:02)\c-";

View File

@ -66,33 +66,7 @@ Model "OniAS12Shell_12"
FrameIndex XZW1 A 0 0
}
Model "OniSledgeAmmo"
{
Path "models/extra"
Model 0 "BaseCube.obj"
Skin 0 "CHIPTILY"
Scale 2 2 2
ZOffset 16
PitchOffset 30
CORRECTPIXELSTRETCH
FrameIndex XZW1 A 0 0
}
Model "OniSledgeAmmo_2"
{
Path "models/extra"
Model 0 "BaseCube.obj"
Skin 0 "CHIPTILY"
Scale 4 4 4
ZOffset 16
PitchOffset 30
CORRECTPIXELSTRETCH
FrameIndex XZW1 A 0 0
}
Model "OniSledgeAmmo_5"
Model "OniBoarAmmo"
{
Path "models/extra"
@ -105,13 +79,39 @@ Model "OniSledgeAmmo_5"
FrameIndex XZW1 A 0 0
}
Model "OniSledgeAmmo_10"
Model "OniBoarAmmo_2"
{
Path "models/extra"
Model 0 "BaseCube.obj"
Skin 0 "CHIPTILY"
Scale 8 8 8
Scale 10 10 10
ZOffset 16
PitchOffset 30
CORRECTPIXELSTRETCH
FrameIndex XZW1 A 0 0
}
Model "OniBoarAmmo_3"
{
Path "models/extra"
Model 0 "BaseCube.obj"
Skin 0 "CHIPTILY"
Scale 12 12 12
ZOffset 16
PitchOffset 30
CORRECTPIXELSTRETCH
FrameIndex XZW1 A 0 0
}
Model "OniBoarAmmo_5"
{
Path "models/extra"
Model 0 "BaseCube.obj"
Skin 0 "CHIPTILY"
Scale 14 14 14
ZOffset 16
PitchOffset 30
CORRECTPIXELSTRETCH
@ -253,46 +253,6 @@ Model "OniWarheadAmmo"
FrameIndex XZW1 A 0 0
}
Model "OniBoarAmmo"
{
Path "models/extra"
Model 0 "BaseCube.obj"
Skin 0 "CHIPTILY"
Scale 6 6 6
ZOffset 16
PitchOffset 30
CORRECTPIXELSTRETCH
FrameIndex XZW1 A 0 0
}
Model "OniBoarAmmo_2"
{
Path "models/extra"
Model 0 "BaseCube.obj"
Skin 0 "CHIPTILY"
Scale 10 10 10
ZOffset 16
PitchOffset 30
CORRECTPIXELSTRETCH
FrameIndex XZW1 A 0 0
}
Model "OniBoarAmmo_3"
{
Path "models/extra"
Model 0 "BaseCube.obj"
Skin 0 "CHIPTILY"
Scale 12 12 12
ZOffset 16
PitchOffset 30
CORRECTPIXELSTRETCH
FrameIndex XZW1 A 0 0
}
Model "OniLisaAmmo"
{
Path "models/extra"

View File

@ -28,13 +28,13 @@ Model "OniAS12"
FrameIndex XZW1 A 0 0
}
Model "OniHRifle"
Model "OniSlayer"
{
Path "models/extra"
Model 0 "BaseCube.obj"
Skin 0 "CHIPTILR"
Scale 8 8 8
Scale 12 12 12
ZOffset 16
PitchOffset 30
CORRECTPIXELSTRETCH
@ -97,17 +97,3 @@ Model "OniTankGun"
FrameIndex XZW1 A 0 0
}
Model "OniSlayer"
{
Path "models/extra"
Model 0 "BaseCube.obj"
Skin 0 "CHIPTILR"
Scale 12 12 12
ZOffset 16
PitchOffset 30
CORRECTPIXELSTRETCH
FrameIndex XZW1 A 0 0
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -124,8 +124,8 @@ const SWWMMAXAMOUNT = 5;
#include "zscript/weapons/oni_ponch_fx.zsc"
#include "zscript/weapons/oni_autoshot.zsc"
#include "zscript/weapons/oni_autoshot_fx.zsc"
#include "zscript/weapons/oni_sledge.zsc"
#include "zscript/weapons/oni_sledge_fx.zsc"
#include "zscript/weapons/oni_biggun.zsc"
#include "zscript/weapons/oni_biggun_fx.zsc"
#include "zscript/weapons/oni_melisa.zsc"
#include "zscript/weapons/oni_melisa_fx.zsc"
#include "zscript/weapons/oni_exploder.zsc"
@ -134,8 +134,6 @@ const SWWMMAXAMOUNT = 5;
#include "zscript/weapons/oni_plasmarifle_fx.zsc"
#include "zscript/weapons/oni_quakin.zsc"
#include "zscript/weapons/oni_quakin_fx.zsc"
#include "zscript/weapons/oni_biggun.zsc"
#include "zscript/weapons/oni_biggun_fx.zsc"
#include "zscript/weapons/oni_batter.zsc"
#include "zscript/weapons/oni_batter_fx.zsc"
#include "zscript/weapons/oni_lisa.zsc"

View File

@ -9,13 +9,11 @@ extend Class SWWMHandler
if ( (e.Replacee is 'Chainsaw') || (e.Replacee is 'Gauntlets') ) e.Replacement = SWWMUtility.PickOniSlot1();
else if ( (e.Replacee is 'Fist') || (e.Replacee is 'Staff') ) e.Replacement = 'OniUnarmed';
else if ( (e.Replacee is 'Pistol') || (e.Replacee is 'GoldWand') ) e.Replacement = SWWMUtility.PickOniSlot2();
else if ( e.Replacee is 'Shotgun' ) e.Replacement = SWWMUtility.PickOniSlot3();
else if ( e.Replacee is 'Crossbow' ) e.Replacement = SWWMUtility.PickOniSlot34();
else if ( e.Replacee is 'SuperShotgun' ) e.Replacement = SWWMUtility.PickOniSlot4();
else if ( (e.Replacee is 'Chaingun') || (e.Replacee is 'Blaster') ) e.Replacement = SWWMUtility.PickOniSlot5();
else if ( (e.Replacee is 'RocketLauncher') || (e.Replacee is 'PhoenixRod') ) e.Replacement = SWWMUtility.PickOniSlot6();
else if ( (e.Replacee is 'PlasmaRifle') || (e.Replacee is 'SkullRod') ) e.Replacement = SWWMUtility.PickOniSlot7();
else if ( (e.Replacee is 'BFG9000') || (e.Replacee is 'Mace') ) e.Replacement = SWWMUtility.PickOniSlot8();
else if ( (e.Replacee is 'Shotgun') || (e.Replacee is 'SuperShotgun') || (e.Replacee is 'Crossbow') ) e.Replacement = SWWMUtility.PickOniSlot3();
else if ( (e.Replacee is 'Chaingun') || (e.Replacee is 'Blaster') ) e.Replacement = SWWMUtility.PickOniSlot4();
else if ( (e.Replacee is 'RocketLauncher') || (e.Replacee is 'PhoenixRod') ) e.Replacement = SWWMUtility.PickOniSlot5();
else if ( (e.Replacee is 'PlasmaRifle') || (e.Replacee is 'SkullRod') ) e.Replacement = SWWMUtility.PickOniSlot6();
else if ( (e.Replacee is 'BFG9000') || (e.Replacee is 'Mace') ) e.Replacement = SWWMUtility.PickOniSlot7();
else if ( e.Replacee is 'ClipBox' ) e.Replacement = 'OniBulletAmmoBig';
else if ( e.Replacee is 'Clip' ) e.Replacement = 'OniBulletAmmoSmall';
else if ( e.Replacee is 'ShellBox' ) e.Replacement = 'OniShellAmmoBig';

View File

@ -3,12 +3,12 @@
Class OniStatusBar : SWWMStatusBar
{
TextureID StatusTex, AmmoTex, InvExtraTex, WeaponTex, HealthTex[5], OilTex, GenTex[3], LagTex;
int AmmoFlash[8]; // flash when new ammo is received
int AmmoOldAmounts[8]; // to detect when to flash
int AmmoMaxFlash[8]; // flash when ammo max amount changes
int AmmoOldMaxAmounts[8]; // to detect when to flash
Class<SWWMAmmo> AmmoSlots[8]; // ammo type on each slot
String AmmoNames[8]; // ammo 4-letter names
int AmmoFlash[7]; // flash when new ammo is received
int AmmoOldAmounts[7]; // to detect when to flash
int AmmoMaxFlash[7]; // flash when ammo max amount changes
int AmmoOldMaxAmounts[7]; // to detect when to flash
Class<SWWMAmmo> AmmoSlots[7]; // ammo type on each slot
String AmmoNames[7]; // ammo 4-letter names
int HealthFlash, OilFlash; // flash when healing or gaining armor
int LastHealth, LastOil; // to detect when to flash
int LagHealth[10], LagOil[10]; // for delayed decay bar
@ -60,22 +60,20 @@ Class OniStatusBar : SWWMStatusBar
LagOil[i] = LastOil;
}
AmmoSlots[0] = "OniAS12Ammo";
AmmoSlots[1] = "OniSledgeAmmo";
AmmoSlots[2] = "OniBoarAmmo";
AmmoSlots[3] = "OniMachAmmo";
AmmoSlots[4] = "OniExploAmmo";
AmmoSlots[5] = "OniPlasmaAmmo";
AmmoSlots[6] = "OniWarheadAmmo";
AmmoSlots[7] = "OniLisaAmmo";
AmmoSlots[1] = "OniBoarAmmo";
AmmoSlots[2] = "OniMachAmmo";
AmmoSlots[3] = "OniExploAmmo";
AmmoSlots[4] = "OniPlasmaAmmo";
AmmoSlots[5] = "OniWarheadAmmo";
AmmoSlots[6] = "OniLisaAmmo";
AmmoNames[0] = "SHOT";
AmmoNames[1] = "RIFL";
AmmoNames[2] = "BOAR";
AmmoNames[3] = "MACH";
AmmoNames[4] = "ROKT";
AmmoNames[5] = "PLAS";
AmmoNames[6] = "WARH";
AmmoNames[7] = "LISA";
for ( int i=0; i<8; i++ )
AmmoNames[1] = "BOAR";
AmmoNames[2] = "MACH";
AmmoNames[3] = "ROKT";
AmmoNames[4] = "PLAS";
AmmoNames[5] = "WARH";
AmmoNames[6] = "LISA";
for ( int i=0; i<7; i++ )
{
AmmoFlash[i] = 0;
AmmoOldAmounts[i] = int.min;

View File

@ -14,7 +14,7 @@ extend Class OniStatusBar
{
Super.TickWeapons();
// ammo updates
for ( int i=0; i<8; i++ )
for ( int i=0; i<7; i++ )
{
let a = SWWMAmmo(CPlayer.mo.FindInventory(AmmoSlots[i]));
int amt = 0;
@ -90,9 +90,9 @@ extend Class OniStatusBar
Screen.DrawText(MiniHUDFont,mhudfontcol[(CPlayer.ReadyWeapon.Ammo1.Amount<=0)?MCR_RED:MCR_BRASS],xx,yy+2,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
}
}
Screen.DrawTexture(WeaponTex,false,ss.x-(margin+64),ss.y-(margin+10),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
double xx = ss.x-(margin+62), yy = ss.y-(margin+8);
for ( int i=1; i<=8; i++,xx+=8 )
Screen.DrawTexture(WeaponTex,false,ss.x-(margin+56),ss.y-(margin+10),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
double xx = ss.x-(margin+54), yy = ss.y-(margin+8);
for ( int i=1; i<=7; i++,xx+=8 )
{
if ( (i>1) && !CPlayer.HasWeaponsInSlot(i) ) continue;
int ncolor = mhudfontcol[MCR_WHITE];
@ -136,12 +136,12 @@ extend Class OniStatusBar
}
}
xx = ss.x-(margin+54);
yy = ss.y-(margin+66);
yy = ss.y-(margin+61);
Screen.DrawTexture(AmmoTex,false,xx,yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
xx += 2;
yy += 2;
String str;
for ( int i=0; i<8; i++, yy+=6 )
for ( int i=0; i<7; i++, yy+=6 )
{
int amt, amax;
let a = AmmoSlots[i];

View File

@ -69,25 +69,25 @@ Class OniAS12Shell_12 : OniAS12Shell
}
}
Class OniSledgeAmmo : SWWMAmmo
Class OniBoarAmmo : SWWMAmmo
{
Default
{
Tag "$T_ONISURVIVORROUND";
SWWMAmmo.PickupTag "ONISURVIVORROUND";
Inventory.PickupSound "misc/bullet_pkup";
Tag "$T_ONIBOARROUND";
SWWMAmmo.PickupTag "ONIBOARROUND";
Inventory.PickupSound "misc/bullet_pkup_vip";
Inventory.Amount 1;
Inventory.MaxAmount 20;
Ammo.BackpackAmount 5;
SWWMAmmo.EmbiggenMaxAmount1 25;
SWWMAmmo.EmbiggenMaxAmount2 30;
SWWMAmmo.EmbiggenMaxAmount3 35;
SWWMAmmo.EmbiggenMaxAmount4 40;
SWWMAmmo.EmbiggenMaxAmount5 50;
SWWMAmmo.EmbiggenMaxAmount6 60;
SWWMAmmo.EmbiggenMaxAmount7 70;
SWWMAmmo.EmbiggenMaxAmount8 80;
Ammo.DropAmount 2;
Inventory.MaxAmount 10;
Ammo.BackpackAmount 2;
SWWMAmmo.EmbiggenMaxAmount1 15;
SWWMAmmo.EmbiggenMaxAmount2 20;
SWWMAmmo.EmbiggenMaxAmount3 20;
SWWMAmmo.EmbiggenMaxAmount4 25;
SWWMAmmo.EmbiggenMaxAmount5 30;
SWWMAmmo.EmbiggenMaxAmount6 30;
SWWMAmmo.EmbiggenMaxAmount7 35;
SWWMAmmo.EmbiggenMaxAmount8 40;
Ammo.DropAmount 1;
}
States
{
@ -96,26 +96,26 @@ Class OniSledgeAmmo : SWWMAmmo
Stop;
}
}
Class OniSledgeAmmo_2 : OniSledgeAmmo
Class OniBoarAmmo_2 : OniBoarAmmo
{
Default
{
Inventory.Amount 2;
}
}
Class OniSledgeAmmo_5 : OniSledgeAmmo
Class OniBoarAmmo_3 : OniBoarAmmo
{
Default
{
Inventory.Amount 5;
Inventory.Amount 3;
}
}
Class OniSledgeAmmo_10 : OniSledgeAmmo
Class OniBoarAmmo_5 : OniBoarAmmo
{
Default
{
Inventory.PickupSound "misc/ammo_pkup"; // packaged
Inventory.Amount 10;
Inventory.PickupSound "misc/ammo_pkup_vip"; // packaged
Inventory.Amount 5;
}
}
@ -300,48 +300,6 @@ Class OniWarheadAmmo : SWWMAmmo
}
}
Class OniBoarAmmo : SWWMAmmo
{
Default
{
Tag "$T_ONIBOARROUND";
SWWMAmmo.PickupTag "ONIBOARROUND";
Inventory.PickupSound "misc/bullet_pkup_vip";
Inventory.Amount 1;
Inventory.MaxAmount 5;
Ammo.BackpackAmount 0;
SWWMAmmo.EmbiggenMaxAmount1 10;
SWWMAmmo.EmbiggenMaxAmount2 15;
SWWMAmmo.EmbiggenMaxAmount3 15;
SWWMAmmo.EmbiggenMaxAmount4 20;
SWWMAmmo.EmbiggenMaxAmount5 25;
SWWMAmmo.EmbiggenMaxAmount6 25;
SWWMAmmo.EmbiggenMaxAmount7 30;
SWWMAmmo.EmbiggenMaxAmount8 35;
Ammo.DropAmount 1;
}
States
{
Spawn:
XZW1 A -1;
Stop;
}
}
Class OniBoarAmmo_2 : OniBoarAmmo
{
Default
{
Inventory.Amount 2;
}
}
Class OniBoarAmmo_3 : OniBoarAmmo
{
Default
{
Inventory.Amount 3;
}
}
Class OniLisaAmmo : SWWMAmmo
{
Default

View File

@ -23,10 +23,8 @@ Class OniShellAmmoSmall : SWWMAmmoSpawner
{
override Class<Actor> PickAmmo( bool enemydrop )
{
if ( !Random[Replacements](0,2) && SWWMUtility.ItemExists('OniSlayer',ownedonly:enemydrop) )
return 'OniBoarAmmo';
if ( Random[Replacements](0,1) && SWWMUtility.ItemExists('OniHRifle',ownedonly:enemydrop) )
return Random[Replacements](0,2)?'OniSledgeAmmo':'OniSledgeAmmo_2';
if ( Random[Replacements](0,1) && SWWMUtility.ItemExists('OniSlayer',ownedonly:enemydrop) )
return Random[Replacements](0,2)?'OniBoarAmmo':'OniBoarAmmo_2';
return 'OniAS12Shell_4';
}
}
@ -34,10 +32,8 @@ Class OniShellAmmoBig : SWWMAmmoSpawner
{
override Class<Actor> PickAmmo( bool enemydrop )
{
if ( !Random[Replacements](0,2) && SWWMUtility.ItemExists('OniSlayer',ownedonly:enemydrop) )
return Random[Replacements](0,2)?'OniBoarAmmo_2':'OniBoarAmmo_3';
if ( Random[Replacements](0,1) && SWWMUtility.ItemExists('OniHRifle',ownedonly:enemydrop) )
return 'OniSledgeAmmo_10';
if ( Random[Replacements](0,1) && SWWMUtility.ItemExists('OniSlayer',ownedonly:enemydrop) )
return Random[Replacements](0,2)?'OniBoarAmmo_3':'OniBoarAmmo_5';
return 'OniAS12Shell_12';
}
}
@ -93,18 +89,14 @@ Class OniCrossbowAmmoSmall : SWWMAmmoSpawner
{
override Class<Actor> PickAmmo( bool enemydrop )
{
if ( !Random[Replacements](0,2) && SWWMUtility.ItemExists('OniSlayer',ownedonly:enemydrop) )
return 'OniBoarAmmo';
return Random[Replacements](0,2)?'OniSledgeAmmo':'OniSledgeAmmo_2';
return Random[Replacements](0,2)?'OniBoarAmmo_2':'OniBoarAmmo_3';
}
}
Class OniCrossbowAmmoBig : SWWMAmmoSpawner
{
override Class<Actor> PickAmmo( bool enemydrop )
{
if ( !Random[Replacements](0,2) && SWWMUtility.ItemExists('OniSlayer',ownedonly:enemydrop) )
return Random[Replacements](0,2)?'OniBoarAmmo_2':'OniBoarAmmo_3';
return Random[Replacements](0,2)?'OniSledgeAmmo_5':'OniSledgeAmmo_10';
return Random[Replacements](0,2)?'OniBoarAmmo_3':'OniBoarAmmo_5';
}
}
Class OniBlasterAmmoSmall : SWWMAmmoSpawner

View File

@ -51,38 +51,27 @@ extend Class SWWMUtility
if ( !ItemExists('OniAS12') ) return 'OniAS12';
return 'OniAS12Ammo';
}
static Class<Inventory> PickOniSlot34()
{
if ( !ItemExists('OniAS12') ) return 'OniAS12';
return PickOniSlot4();
}
static Class<Inventory> PickOniSlot3()
{
if ( IsDoomOne() ) return PickOniSlot34();
if ( !ItemExists('OniHRifle') ) return 'OniHRifle';
return 'OniSledgeAmmo_2';
if ( !ItemExists('OniSlayer') ) return 'OniSlayer';
return 'OniBoarAmmo_5';
}
static Class<Inventory> PickOniSlot4()
{
if ( !ItemExists('OniSlayer') ) return 'OniSlayer';
return Random[Replacements](0,2)?'OniBoarAmmo_2':'OniBoarAmmo_3';
}
static Class<Inventory> PickOniSlot5()
{
if ( !ItemExists('OniMachinegun') ) return 'OniMachinegun';
return 'OniMachAmmo_50';
}
static Class<Inventory> PickOniSlot6()
static Class<Inventory> PickOniSlot5()
{
if ( !ItemExists('OniExploder') ) return 'OniExploder';
return 'OniExploAmmo';
}
static Class<Inventory> PickOniSlot7()
static Class<Inventory> PickOniSlot6()
{
if ( !ItemExists('OniPlasmaRifle') ) return 'OniPlasmaRifle';
return 'OniPlasmaAmmo';
}
static Class<Inventory> PickOniSlot8()
static Class<Inventory> PickOniSlot7()
{
if ( !ItemExists('OniTankGun') ) return 'OniTankGun';
return 'OniWarheadAmmo';

View File

@ -12,9 +12,9 @@ Class OniSlayer : SWWMWeapon
Inventory.PickupMessage "$I_ONISLAYER";
Inventory.PickupSound "misc/w_pkup_vip";
SWWMWeapon.Tooltip "$TT_ONISLAYER";
Weapon.SlotNumber 4;
Weapon.SlotNumber 3;
Weapon.SlotPriority 1.;
Weapon.SelectionOrder 8000;
Weapon.SelectionOrder 400;
Weapon.AmmoType1 "OniBoarAmmo";
Weapon.AmmoGive1 5;
SWWMWeapon.DropAmmoType "ShellBox";

View File

@ -10,9 +10,9 @@ Class OniExploder : SWWMWeapon
Tag "$T_ONIEXPLODER";
Inventory.PickupMessage "$I_ONIEXPLODER";
SWWMWeapon.Tooltip "$TT_ONIEXPLODER";
Weapon.SlotNumber 6;
Weapon.SlotNumber 5;
Weapon.SlotPriority 1.;
Weapon.SelectionOrder 100;
Weapon.SelectionOrder 500;
Weapon.AmmoType1 "OniExploAmmo";
Weapon.AmmoGive1 1;
SWWMWeapon.DropAmmoType "RocketAmmo";

View File

@ -6,9 +6,9 @@ Class OniMachinegun : SWWMWeapon
Tag "$T_ONIMACHINEGUN";
Inventory.PickupMessage "$I_ONIMACHINEGUN";
SWWMWeapon.Tooltip "$TT_ONIMACHINEGUN";
Weapon.SlotNumber 5;
Weapon.SlotNumber 4;
Weapon.SlotPriority 1.;
Weapon.SelectionOrder 100;
Weapon.SelectionOrder 300;
Weapon.AmmoType1 "OniMachAmmo";
Weapon.AmmoGive1 100;
SWWMWeapon.DropAmmoType "ClipBox";

View File

@ -10,9 +10,9 @@ Class OniPlasmaRifle : SWWMWeapon
Tag "$T_ONIPLASMARIFLE";
Inventory.PickupMessage "$I_ONIPLASMARIFLE";
SWWMWeapon.Tooltip "$TT_ONIPLASMARIFLE";
Weapon.SlotNumber 7;
Weapon.SlotNumber 6;
Weapon.SlotPriority 1.;
Weapon.SelectionOrder 100;
Weapon.SelectionOrder 200;
Weapon.AmmoType1 "OniPlasmaAmmo";
Weapon.AmmoGive1 1;
SWWMWeapon.DropAmmoType "Cell";

View File

@ -1,7 +1,7 @@
// Quake In Fear
Class OniTankGun : SWWMWeapon
{
bool chambered;
bool chambered, fired;
Default
{
@ -9,9 +9,9 @@ Class OniTankGun : SWWMWeapon
Inventory.PickupMessage "$I_ONITANKGUN";
Inventory.PickupSound "misc/w_pkup_vip";
SWWMWeapon.Tooltip "$TT_ONITANKGUN";
Weapon.SlotNumber 8;
Weapon.SlotNumber 7;
Weapon.SlotPriority 1.;
Weapon.SelectionOrder 100;
Weapon.SelectionOrder 900;
Weapon.AmmoType1 "OniWarheadAmmo";
Weapon.AmmoGive1 1;
SWWMWeapon.DropAmmoType "CellPack";

View File

@ -1,28 +0,0 @@
// HAHA DAB
Class OniHRifle : SWWMWeapon
{
int clipcount;
Property ClipCount : clipcount;
Default
{
Tag "$T_ONIHRIFLE";
Inventory.PickupMessage "$I_ONIHRIFLE";
SWWMWeapon.Tooltip "$TT_ONIHRIFLE";
Weapon.SlotNumber 3;
Weapon.SlotPriority 1.;
Weapon.SelectionOrder 100;
Weapon.AmmoType1 "OniSledgeAmmo";
Weapon.AmmoGive1 2;
SWWMWeapon.DropAmmoType "Shell";
OniHRifle.ClipCount 2;
+SWWMWEAPON.NOFIRSTGIVE;
}
States
{
Spawn:
XZW1 A -1;
Stop;
}
}