Remove fat chodes, Silver Bullet reimplemented.

This commit is contained in:
Mari the Deer 2022-10-07 20:13:10 +02:00
commit 62d10ed11c
46 changed files with 333 additions and 1413 deletions

View file

@ -40,7 +40,7 @@ More weapons, because we need 'em. In addition, all the "easy to implement" mini
- ✓ Spreadgun loads golden shells with altfire, like in IA3 - ✓ Spreadgun loads golden shells with altfire, like in IA3
- ✓ Wallbuster tops up buckshot one cylinder at a time until stopped - ✓ Wallbuster tops up buckshot one cylinder at a time until stopped
- Remove all missile types except blazers, and rewrite the absolute mess of code the Hellblazer currently is - Remove all missile types except blazers, and rewrite the absolute mess of code the Hellblazer currently is
- Ammo types for Silver Bullet kept intact, but implement "alt reload" instead through altfire+reload combo - Remove fat chodes
## 1.4 update *(Fine Refinements)*: ## 1.4 update *(Fine Refinements)*:

View file

@ -76,75 +76,72 @@ DoomEdNums
29040 = "SilverBulletAmmo" 29040 = "SilverBulletAmmo"
29041 = "SilverBulletAmmo2" 29041 = "SilverBulletAmmo2"
29042 = "SilverBullets" 29042 = "SilverBullets"
29043 = "SilverBullets_2" 29043 = "SilverBullets2"
29044 = "SilverBullets_3" 29044 = "SilverBullets3"
29045 = "SilverBullets2" 29045 = "CandyGunAmmo"
29046 = "SilverBullets2_2" 29046 = "CandyGunBullets"
29047 = "SilverBullets2_3" 29047 = "CandyGunBullets2"
29048 = "CandyGunAmmo" 29048 = "CandyGunBullets3"
29049 = "CandyGunBullets" 29049 = "YnykronAmmo"
29050 = "CandyGunBullets2"
29051 = "CandyGunBullets3"
29052 = "YnykronAmmo"
// DLC Ammo // DLC Ammo
29053 = "SMW05Ammo" 29050 = "SMW05Ammo"
29054 = "SMW05Ammo2" 29051 = "SMW05Ammo2"
29055 = "SMW05Ammo3" 29052 = "SMW05Ammo3"
29056 = "SMW05SmallAmmo" 29053 = "SMW05SmallAmmo"
29057 = "SMW05BigAmmo" 29054 = "SMW05BigAmmo"
29058 = "SheenAmmo" 29055 = "SheenAmmo"
29059 = "SheenAmmo2" 29056 = "SheenAmmo2"
29060 = "SheenAmmo3" 29057 = "SheenAmmo3"
29061 = "SheenSmallAmmo" 29058 = "SheenSmallAmmo"
29062 = "SheenBigAmmo" 29059 = "SheenBigAmmo"
29063 = "QuadravolAmmo" 29060 = "QuadravolAmmo"
29064 = "QuadravolAmmo2" 29061 = "QuadravolAmmo2"
29065 = "QuadravolAmmo3" 29062 = "QuadravolAmmo3"
29066 = "SparksterBAmmo" 29063 = "SparksterBAmmo"
29067 = "SparksterBAmmo2" 29064 = "SparksterBAmmo2"
29068 = "SparksterBAmmo3" 29065 = "SparksterBAmmo3"
29069 = "SparksterRAmmo" 29066 = "SparksterRAmmo"
29070 = "SparksterRAmmo2" 29067 = "SparksterRAmmo2"
29071 = "SparksterRAmmo3" 29068 = "SparksterRAmmo3"
29072 = "RayBolt" 29069 = "RayBolt"
29073 = "RayBolt2" 29070 = "RayBolt2"
29074 = "RayBolt5" 29071 = "RayBolt5"
29075 = "RayAmmo" 29072 = "RayAmmo"
29076 = "MisterRound" 29073 = "MisterRound"
29077 = "MisterRound2" 29074 = "MisterRound2"
29078 = "MisterRound3" 29075 = "MisterRound3"
29079 = "MisterRound5" 29076 = "MisterRound5"
29080 = "MisterAmmo" 29077 = "MisterAmmo"
29081 = "MisterGAmmo" 29078 = "MisterGAmmo"
29082 = "UltimatePod" 29079 = "UltimatePod"
29083 = "UltimateAmmo" 29080 = "UltimateAmmo"
// For Hexen // For Hexen
29084 = "FabricatorTier1" 29081 = "FabricatorTier1"
29085 = "FabricatorTier2" 29082 = "FabricatorTier2"
29086 = "FabricatorTier3" 29083 = "FabricatorTier3"
29087 = "FabricatorTier4" 29084 = "FabricatorTier4"
// Backpack // Backpack
29088 = "HammerspaceEmbiggener" 29085 = "HammerspaceEmbiggener"
// Health // Health
29089 = "HealthNuggetItem" 29086 = "HealthNuggetItem"
29090 = "TetraHealthItem" 29087 = "TetraHealthItem"
29091 = "CubeHealthItem" 29088 = "CubeHealthItem"
29092 = "RefresherItem" 29089 = "RefresherItem"
// Armor // Armor
29093 = "ArmorNuggetItem" 29090 = "ArmorNuggetItem"
29094 = "BlastSuitItem" 29091 = "BlastSuitItem"
29095 = "WarArmorItem" 29092 = "WarArmorItem"
// Powerups // Powerups
29096 = "GrilledCheeseSandwich" 29093 = "GrilledCheeseSandwich"
29097 = "GhostArtifact" 29094 = "GhostArtifact"
29098 = "GravitySuppressor" 29095 = "GravitySuppressor"
29099 = "FuckingInvinciball" 29096 = "FuckingInvinciball"
29100 = "Ragekit" 29097 = "Ragekit"
29101 = "SWWMLamp" 29098 = "SWWMLamp"
29102 = "EBarrier" 29099 = "EBarrier"
29103 = "Mykradvo" 29100 = "Mykradvo"
29104 = "DivineSprite" 29101 = "DivineSprite"
29105 = "AngerySigil" 29102 = "AngerySigil"
} }
``` ```

View file

@ -320,13 +320,13 @@ Neatly packaged single-shot charges of **Nokron**. Recognizable by its red color
The definitive model of **Blackmann Arms**'s legendary **Silver Bullet** series. A lighter *(43kg)*, lower caliber *(1.150)* variant of the former 1.350 **BEHEMOTH** model, discontinued due to being seen as too impractical *(it was full auto, no, really)*. The definitive model of **Blackmann Arms**'s legendary **Silver Bullet** series. A lighter *(43kg)*, lower caliber *(1.150)* variant of the former 1.350 **BEHEMOTH** model, discontinued due to being seen as too impractical *(it was full auto, no, really)*.
**Primary fire:** Shoot the bullet. A second press chambers another round. **Primary fire:** Shoot the bullet.
**Secondary fire:** Hold and combine with primary fire to manually cock *(in case you want to eject unfired rounds)*, or with reload to switch to alternate ammo *(if available)*. **Secondary fire:** Cocks the gun, loading a new round if available. Note that you can eject unfired rounds in the process *(if you somehow want to)*.
**Tertiary fire:** Press and hold to enter scoped mode. Release to pick the desired zoom level *(can go up to 16x)*. Press again to exit scoped mode. **Tertiary fire:** Press and hold to enter scoped mode. Release to pick the desired zoom level *(can go up to 16x)*. Press again to exit scoped mode.
**Reload:** Reload *(what else is new)*. Note that if you only have alternate ammo available, you must use the combo with secondary fire. **Reload:** Reload *(what else is new)*.
This weapon is generally not recommended for human use outside of power armor. Good thing you're not a human, then. Still, the recoil compensator jet engines can potentially deal damage to yourself if you don't have any armor, so be careful. This weapon is generally not recommended for human use outside of power armor. Good thing you're not a human, then. Still, the recoil compensator jet engines can potentially deal damage to yourself if you don't have any armor, so be careful.
@ -339,13 +339,6 @@ The 1.150 caliber **eXplosive Super Burst** bullets employ an **Explodium** shap
In the world, they may pop up as spare bullets or full mags. Each five bullets picked up will be automatically converted to a full mag in your inventory. They are hard to come by as full mags, so expect to be finding singular rounds more often than not. In the world, they may pop up as spare bullets or full mags. Each five bullets picked up will be automatically converted to a full mag in your inventory. They are hard to come by as full mags, so expect to be finding singular rounds more often than not.
### 1.150 FCB Bullets ~ Replaces Cells, Runes
![](docimg/fcbbullet.png)
The more directly explosive counterpart of the **XSB**. Personally baptized by **Blackmann Arms** CEO **Hermann E. Ischer** himself as ***"Fat Chode Bombs"***, these **High-Explosive Squash Head** rounds will blast through walls on impact, hitting anything standing behind them, and in some cases, tearing down the wall itself too.
These are a bit more rare than the standard rounds. You won't even get them from **Embiggeners**.
### Ray-Khom *(slot 8)* ~ Replaces Plasma Rifle, Hellstaff, Arc of Death ### Ray-Khom *(slot 8)* ~ Replaces Plasma Rifle, Hellstaff, Arc of Death
![](docimg/raykhom.png) ![](docimg/raykhom.png)

View file

@ -28,7 +28,6 @@ Shot MiniBrass
Salt MiniKinylum Salt MiniKinylum
Concussion MiniBlurp Concussion MiniBlurp
CriticalConcussion MiniWitch CriticalConcussion MiniWitch
Corroded MiniMint
Wallbust MiniSayaHUD Wallbust MiniSayaHUD
Shrapnel MiniTomato Shrapnel MiniTomato
Biospark MiniSulfur Biospark MiniSulfur

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

View file

Before

Width:  |  Height:  |  Size: 130 B

After

Width:  |  Height:  |  Size: 130 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 B

View file

Before

Width:  |  Height:  |  Size: 137 B

After

Width:  |  Height:  |  Size: 137 B

Before After
Before After

View file

@ -52,12 +52,8 @@ T_SPARKUNIT = "Biospark Unit";
T_SPARKUNITS = "Biospark Units"; T_SPARKUNITS = "Biospark Units";
T_XSBMAG = "1.150 XSB Magazine"; T_XSBMAG = "1.150 XSB Magazine";
T_XSBMAGS = "1.150 XSB Magazines"; T_XSBMAGS = "1.150 XSB Magazines";
T_FCBMAG = "1.150 FCB Magazine";
T_FCBMAGS = "1.150 FCB Magazines";
T_XSBBULLET = "1.150 XSB Bullet"; T_XSBBULLET = "1.150 XSB Bullet";
T_XSBBULLETS = "1.150 XSB Bullets"; T_XSBBULLETS = "1.150 XSB Bullets";
T_FCBBULLET = "1.150 FCB Bullet";
T_FCBBULLETS = "1.150 FCB Bullets";
T_CANDYMAG = "Candy Gun Magazine"; T_CANDYMAG = "Candy Gun Magazine";
T_CANDYMAGS = "Candy Gun Magazines"; T_CANDYMAGS = "Candy Gun Magazines";
T_CANDYBULLET = "Candy Gun Bullet"; T_CANDYBULLET = "Candy Gun Bullet";
@ -467,7 +463,6 @@ O_EVISCERATOR = "%o was eviscerated by %k.";
O_HELLBLAZER = "%k blasted %o into burning bits."; O_HELLBLAZER = "%k blasted %o into burning bits.";
O_SPARKSTER = "%o got sparked hard by %k."; O_SPARKSTER = "%o got sparked hard by %k.";
O_SILVERBULLET = "%o could not ignore the girth of %k's bullets."; O_SILVERBULLET = "%o could not ignore the girth of %k's bullets.";
O_SILVERBULLET2 = "%o was blasted by %k's girthy bullets.";
O_CANDYGUN = "%k made %o taste the sweetness (and death)."; O_CANDYGUN = "%k made %o taste the sweetness (and death).";
O_YNYKRON = "%o was instantly removed by %k."; O_YNYKRON = "%o was instantly removed by %k.";
O_YNYKRONALT = "%o was furiously obliterated by %k."; O_YNYKRONALT = "%o was furiously obliterated by %k.";
@ -670,8 +665,6 @@ SWWM_GRAVKILL = "Gravity";
SWWM_PARRYKILL = "Deflected Projectiles"; SWWM_PARRYKILL = "Deflected Projectiles";
SWWM_SETSLOTSTRICT = "\cg!!!WARNING!!!\c-\n\cj\"setslotstrict\" is enabled. This will cause the mod's weapons to not have slots assigned. Please go into Miscellaneous Options and toggle the \"Strict KEYCONF Weapons/Players\" setting.\c-"; SWWM_SETSLOTSTRICT = "\cg!!!WARNING!!!\c-\n\cj\"setslotstrict\" is enabled. This will cause the mod's weapons to not have slots assigned. Please go into Miscellaneous Options and toggle the \"Strict KEYCONF Weapons/Players\" setting.\c-";
SWWM_WARNALTHUD = "ALTERNATIVE HUD IS UNSUPPORTED"; SWWM_WARNALTHUD = "ALTERNATIVE HUD IS UNSUPPORTED";
SWWM_FCBSEL = "1.150 FCB";
SWWM_XSBSEL = "1.150 XSB";
SWWM_WIDESPREAD = "Wide Spread Mode"; SWWM_WIDESPREAD = "Wide Spread Mode";
SWWM_TIGHTSPREAD = "Tight Spread Mode"; SWWM_TIGHTSPREAD = "Tight Spread Mode";
SWWM_YNYKRONFORWARD = "Beam Mode"; // desya / forward SWWM_YNYKRONFORWARD = "Beam Mode"; // desya / forward
@ -733,10 +726,9 @@ TT_SPARKSTER =
"\cfReload:\c- Reload / double load."; "\cfReload:\c- Reload / double load.";
TT_SILVERBULLET = TT_SILVERBULLET =
"\cfFire:\c- Shoot weapon.\n" "\cfFire:\c- Shoot weapon.\n"
"\cfAltfire:\c- Cycle bolt.\n"
"\cfZoom:\c- Use scope.\n" "\cfZoom:\c- Use scope.\n"
"\cfReload:\c- Reload weapon.\n" "\cfReload:\c- Reload weapon.";
"\cfAltfire+Fire:\c- Manual bolt cycle.\n"
"\cfAltfire+Reload:\c- Reload special ammo.";
TT_CANDYGUN = TT_CANDYGUN =
"\cfFire:\c- Shoot weapon.\n" "\cfFire:\c- Shoot weapon.\n"
"\cfAltfire:\c- Throw magazine.\n" "\cfAltfire:\c- Throw magazine.\n"

View file

@ -42,12 +42,8 @@ T_SPARKUNIT = "Unidad Biospark";
T_SPARKUNITS = "Unidades Biospark"; T_SPARKUNITS = "Unidades Biospark";
T_XSBMAG = "Cargador 1.150 XSB"; T_XSBMAG = "Cargador 1.150 XSB";
T_XSBMAGS = "Cargadores 1.150 XSB"; T_XSBMAGS = "Cargadores 1.150 XSB";
T_FCBMAG = "Cargador 1.150 FCB";
T_FCBMAGS = "Cargadores 1.150 FCB";
T_XSBBULLET = "Bala 1.150 XSB"; T_XSBBULLET = "Bala 1.150 XSB";
T_XSBBULLETS = "Balas 1.150 XSB"; T_XSBBULLETS = "Balas 1.150 XSB";
T_FCBBULLET = "Bala 1.150 FCB";
T_FCBBULLETS = "Balas 1.150 FCB";
T_CANDYMAG = "Cargador de Pistola Caramelo"; T_CANDYMAG = "Cargador de Pistola Caramelo";
T_CANDYMAGS = "Cargadores de Pistola Caramelo"; T_CANDYMAGS = "Cargadores de Pistola Caramelo";
T_CANDYBULLET = "Bala de Pistola Caramelo"; T_CANDYBULLET = "Bala de Pistola Caramelo";
@ -370,7 +366,6 @@ O_EVISCERATOR = "%o fue descuartizad@[ao_esp] por %k.";
O_HELLBLAZER = "%k reventó a %o en cachitos humeantes."; O_HELLBLAZER = "%k reventó a %o en cachitos humeantes.";
O_SPARKSTER = "%o fue bien chispead@[ao_esp] por %k."; O_SPARKSTER = "%o fue bien chispead@[ao_esp] por %k.";
O_SILVERBULLET = "%o no pudo ignorar el grosor de las balas de %k."; O_SILVERBULLET = "%o no pudo ignorar el grosor de las balas de %k.";
O_SILVERBULLET2 = "%o fue reventad@[ao_esp] por las gruesas balas de %k.";
O_CANDYGUN = "%k hizo probar a %o un sabor dulce (de muerte)."; O_CANDYGUN = "%k hizo probar a %o un sabor dulce (de muerte).";
O_YNYKRON = "%o fue borrad@[ao_esp] instantáneamente por %k."; O_YNYKRON = "%o fue borrad@[ao_esp] instantáneamente por %k.";
O_YNYKRONALT = "%o fue aniquilad@[ao_esp] furiosamente por %k."; O_YNYKRONALT = "%o fue aniquilad@[ao_esp] furiosamente por %k.";
@ -623,10 +618,9 @@ TT_SPARKSTER =
"\cfRecarga:\c- Recarga / doble carga."; "\cfRecarga:\c- Recarga / doble carga.";
TT_SILVERBULLET = TT_SILVERBULLET =
"\cfPrimario:\c- Disparar arma.\n" "\cfPrimario:\c- Disparar arma.\n"
"\cfSecundario:\c- Accionar perno.\n"
"\cfZoom:\c- Usar mira.\n" "\cfZoom:\c- Usar mira.\n"
"\cfRecarga:\c- Recargar arma.\n" "\cfRecarga:\c- Recargar arma.";
"\cfSecundario+Primario:\c- Accionar perno manualmente.\n"
"\cfSecundario+Recarga:\c- Recargar munición especial.";
TT_CANDYGUN = TT_CANDYGUN =
"\cfPrimario:\c- Disparar arma.\n" "\cfPrimario:\c- Disparar arma.\n"
"\cfSecundario:\c- Lanzar cargador.\n" "\cfSecundario:\c- Lanzar cargador.\n"

View file

@ -1,3 +1,3 @@
[default] [default]
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r545 \cu(Fri 7 Oct 19:12:41 CEST 2022)\c-"; SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r546 \cu(Fri 7 Oct 20:13:10 CEST 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r545 \cu(2022-10-07 19:12:41)\c-"; SWWM_SHORTVER="\cw1.3pre r546 \cu(2022-10-07 20:13:10)\c-";

View file

@ -15,17 +15,15 @@ TXT
The **Silver Bullet JET** is the 1.150 member of the **Silver Bullet** series of ultra-high caliber rifles manufactured by **Blackmann Arms**. It was created as a lighter, more "reasonable" alternative to the 1.350 **Behemoth** model. Weighing 43 kilograms and sporting a total length of 2.4 meters, it is sufficiently compact for non-augmented human use. The **Silver Bullet JET** is the 1.150 member of the **Silver Bullet** series of ultra-high caliber rifles manufactured by **Blackmann Arms**. It was created as a lighter, more "reasonable" alternative to the 1.350 **Behemoth** model. Weighing 43 kilograms and sporting a total length of 2.4 meters, it is sufficiently compact for non-augmented human use.
The main ammunition designed for this specific model is the 1.150 **XSB (eXplosive Super Burst)**. This beastly 30x140mm cartridge employs a low density **Explodium** shaped charge as propellant, allowing high velocity while still being safe for use. The bullets themselves are composed of a tungsten carbide core, snugly wrapped in an aluminum jacket, and decorated with a thin silver plating for aesthetic appearance (Silver Bullets are, indeed, NOT really made of silver). XSB rounds can penetrate several targets before eventually stopping, depending on their size, they may also do the same for thin walls. The ammunition designed for this specific model is the 1.150 **XSB (eXplosive Super Burst)**. This beastly 30x140mm cartridge employs a low density **Explodium** shaped charge as propellant, allowing high velocity while still being safe for use. The bullets themselves are composed of a tungsten carbide core, snugly wrapped in an aluminum jacket, and decorated with a thin silver plating for aesthetic appearance (Silver Bullets are, indeed, NOT really made of silver). XSB rounds can penetrate several targets before eventually stopping, depending on their size, they may also do the same for thin walls.
The secondary ammunition is the 1.150 **FCB (Fat Chode Bomb)**. Personally named by the CEO of Blackmann Arms himself, FCBs are quite similar to the standard XSB ammunition, but instead the bullets are full of additional Explodium, which on impact, is released violently, propagating its deadly blast through solid surfaces. Due to the volatility of these bullets, the propellant employed is slightly less potent, which results in a diminished potential for target penetration, but the blast definitely compensates for this. The explosive charge is so powerful that it can break some walls to pieces.
In order to compensate for its massive recoil, the weapon redirects a part of the gasses from round ignition into a set of jet compensators designed by **Forx Aeronautics**. Although partially cooled in the process, it is still hot enough to cause some damage to users not wearing adequate protection. In order to compensate for its massive recoil, the weapon redirects a part of the gasses from round ignition into a set of jet compensators designed by **Forx Aeronautics**. Although partially cooled in the process, it is still hot enough to cause some damage to users not wearing adequate protection.
\cfPrimary Fire:\c- Shoot the bullet. Any small targets hit by it are pretty much turned to paste. A second press after firing will chamber another round. \cfPrimary Fire:\c- Shoot the bullet. Any small targets hit by it are pretty much turned to paste. A second press after firing will chamber another round.
\cfSecondary Fire:\c- Hold and then press primary fire to manually cock, allowing you to retrieve unfired rounds. Hold and then press reload to reload, but using secondary ammunition if available. \cfSecondary Fire:\c- Cycle the bolt, chambering a new round if available. Note that you may eject unfired rounds as well.
\cfReloading:\c- Reloads the weapon. Each magazine holds 5 rounds. An extra round can also be kept chambered. Note that if you only have secondary ammunition available, you must use the combo with secondary fire. \cfReloading:\c- Reloads the weapon. Each magazine holds 5 rounds. An extra round can also be kept chambered.
\cfZoom:\c- Custom-tailored adjustable telescopic sight, up to 16x. Equipped with a soft foam covering to protect the user's face during scoped fire. \cfZoom:\c- Custom-tailored adjustable telescopic sight, up to 16x. Equipped with a soft foam covering to protect the user's face during scoped fire.

View file

@ -9,17 +9,15 @@ TXT
El **Silver Bullet JET** es el miembro de calibre 1.150 de la serie **Silver Bullet** de rifles de calibre ultra-alto fabricados por **Blackmann Arms**. Fue creado como una alternativa ligera y más "razonable" del modelo **Behemoth** de calibre 1.350. Pesando 43 kilos y con una longitud total de 2.4 metros, es suficientemente compacto para el uso por humanos no mejorados. El **Silver Bullet JET** es el miembro de calibre 1.150 de la serie **Silver Bullet** de rifles de calibre ultra-alto fabricados por **Blackmann Arms**. Fue creado como una alternativa ligera y más "razonable" del modelo **Behemoth** de calibre 1.350. Pesando 43 kilos y con una longitud total de 2.4 metros, es suficientemente compacto para el uso por humanos no mejorados.
La munición diseñada principalmente para este modelo son las balas **XSB (eXplosive Super Burst)** del calibre 1.150. Este bestial cartucho de 30x140mm emplea una carga de baja densidad de **Explodium** como propulsor, permitiendo una alta velocidad siendo a la vez seguro de usar. Las balas en sí están compuestas de un núcleo de carburo de tungsteno, con una envoltura de aluminio, y decorado con una capa fina de plata para una apariencia más estética (estas Balas de Plata, ciertamente, NO están hechas de plata). Las balas XSB pueden penetrar varios objetivos antes de detenerse, dependiendo de su tamaño, pueden incluso hacer lo mismo con paredes ligeras. La munición diseñada para este modelo son las balas **XSB (eXplosive Super Burst)** del calibre 1.150. Este bestial cartucho de 30x140mm emplea una carga de baja densidad de **Explodium** como propulsor, permitiendo una alta velocidad siendo a la vez seguro de usar. Las balas en sí están compuestas de un núcleo de carburo de tungsteno, con una envoltura de aluminio, y decorado con una capa fina de plata para una apariencia más estética (estas Balas de Plata, ciertamente, NO están hechas de plata). Las balas XSB pueden penetrar varios objetivos antes de detenerse, dependiendo de su tamaño, pueden incluso hacer lo mismo con paredes ligeras.
La munición secundaria son las balas **FCB (Fat Chode Bomb)** también de calibre 1.150. Llamadas así por el propio CEO de Blackmann Arms, las FCB son bastante similares a la munición XSB estándar, con la diferencia de que estas balas están llenas de Explodium, el cual, al impactar, es liberado violentamente, propagando su estallido mortífero a través de superficies sólidas. Dada la volatilidad de estas balas, el propulsor empleado es ligeramente menos potente, lo cual resulta en un disminuído potencial de penetración de objetivos, pero la explosión definitivamente lo compensa. La carga explosiva es tan potente que puede derribar completamente algunas paredes.
Para poder compensar su masivo retroceso, el arma redirige una parte de los gases de ignición hasta un grupo de jets compensadores diseñados por **Aeronáutica Forx**. Aunque son parcialmente refrigerados en el proceso, son aun lo suficientemente cálidos para causar ligero daño a usuarios que no lleven la protección adecuada. Para poder compensar su masivo retroceso, el arma redirige una parte de los gases de ignición hasta un grupo de jets compensadores diseñados por **Aeronáutica Forx**. Aunque son parcialmente refrigerados en el proceso, son aun lo suficientemente cálidos para causar ligero daño a usuarios que no lleven la protección adecuada.
\cfFuego Primario:\c- Dispara la bala. Cualquier objetivo alcanzado por ella queda hecho papilla. Un segundo pulsado tras disparar cargará otra bala. \cfFuego Primario:\c- Dispara la bala. Cualquier objetivo alcanzado por ella queda hecho papilla.
\cfFuego Secundario:\c- Mantén y luego pulsa fuego primario para accionar el perno manualmente, permitiéndote recuperar balas sin usar. Mantén y luego pulsa recarga para recargar, pero usando munición secundaria si está disponible. \cfFuego Secundario:\c- Acciona el perno, insertando una nueva bala en la recámara si hay disponibles. Ten en cuenta que puedes eyectar balas sin usar.
\cfRecarga:\c- Recarga el arma. Cada cargador tiene 5 balas. Se puede mantener también una bala extra en la recámara. Ten en cuenta que si solo tienes munición secundaria, deberás usar la combinación de fuego secundario. \cfRecarga:\c- Recarga el arma. Cada cargador tiene 5 balas. Se puede mantener también una bala extra en la recámara.
\cfZoom:\c- Mira telescópica hecha a medida, hasta 16 aumentos. Equipada con una cubierta de espuma suave para proteger la cara del usuario durante el disparo con mira. \cfZoom:\c- Mira telescópica hecha a medida, hasta 16 aumentos. Equipada con una cubierta de espuma suave para proteger la cara del usuario durante el disparo con mira.

View file

@ -257,19 +257,6 @@ Model "SilverBulletAmmo"
FrameIndex XZW1 A 0 0 FrameIndex XZW1 A 0 0
} }
Model "SilverBulletAmmo2"
{
Path "models"
Model 0 "SilverbulletMag_d.3d"
Skin 0 "SilverbulletAmmo_FCB.png"
Scale 0.25 0.25 0.25
PitchOffset 30
ZOffset 16
ROTATING
FrameIndex XZW1 A 0 0
}
Model "SilverBullets" Model "SilverBullets"
{ {
Path "models" Path "models"
@ -283,7 +270,7 @@ Model "SilverBullets"
FrameIndex XZW1 A 0 0 FrameIndex XZW1 A 0 0
} }
Model "SilverBullets_2" Model "SilverBullets2"
{ {
Path "models" Path "models"
@ -295,7 +282,7 @@ Model "SilverBullets_2"
FrameIndex XZW1 A 0 0 FrameIndex XZW1 A 0 0
} }
Model "SilverBullets_3" Model "SilverBullets3"
{ {
Path "models" Path "models"
@ -307,43 +294,6 @@ Model "SilverBullets_3"
FrameIndex XZW1 A 0 0 FrameIndex XZW1 A 0 0
} }
Model "SilverBullets2"
{
Path "models"
Model 0 "SilverbulletBullet_FCB_d.3d"
Skin 0 "SilverbulletBullet_FCB.png"
Scale 0.05 0.05 0.05
PitchOffset 30
ZOffset 16
ROTATING
FrameIndex XZW1 A 0 0
}
Model "SilverBullets2_2"
{
Path "models"
Model 0 "SilverbulletBullet2_FCB_d.3d"
Skin 0 "SilverbulletBullet_FCB.png"
Scale 0.05 0.05 0.05
ZOffset 16
ROTATING
FrameIndex XZW1 A 0 0
}
Model "SilverBullets2_3"
{
Path "models"
Model 0 "SilverbulletBullet3_FCB_d.3d"
Skin 0 "SilverbulletBullet_FCB.png"
Scale 0.05 0.05 0.05
ZOffset 16
ROTATING
FrameIndex XZW1 A 0 0
}
Model "CandyGunAmmo" Model "CandyGunAmmo"
{ {

View file

@ -13,21 +13,6 @@ Model "SilverBulletCasing"
ZOffset 1 ZOffset 1
FrameIndex XZW1 B 0 0 FrameIndex XZW1 B 0 0
} }
Model "SilverBulletCasing2"
{
Path "models"
Model 0 "SilverbulletCase_FCB_d.3d"
Skin 0 "SilverbulletBullet_FCB_Used.png"
Scale 0.04 0.04 0.04
AngleOffset 90
USEACTORPITCH
USEACTORROLL
FrameIndex XZW1 A 0 0
ZOffset 1
FrameIndex XZW1 B 0 0
}
Model "SilverBulletMag" Model "SilverBulletMag"
{ {
Path "models" Path "models"
@ -45,23 +30,6 @@ Model "SilverBulletMag"
RollOffset -90 RollOffset -90
FrameIndex XZW1 C 0 0 FrameIndex XZW1 C 0 0
} }
Model "SilverBulletMag2"
{
Path "models"
Model 0 "SilverbulletMag_d.3d"
Skin 0 "SilverbulletAmmo_FCB_EmptyMag.png"
Scale 0.2 0.2 0.2
USEACTORPITCH
USEACTORROLL
FrameIndex XZW1 A 0 0
RollOffset 90
ZOffset 1.8
FrameIndex XZW1 B 0 0
RollOffset -90
FrameIndex XZW1 C 0 0
}
Model "SilverBullet" Model "SilverBullet"
{ {
@ -76,8 +44,6 @@ Model "SilverBullet"
ROTATING ROTATING
FrameIndex XZW1 A 0 0 FrameIndex XZW1 A 0 0
SurfaceSkin 0 1 "SilverbulletAmmo_FCB.png"
FrameIndex XZW1 B 0 0
} }
Model "SilverBullet" Model "SilverBullet"
@ -103,77 +69,48 @@ Model "SilverBullet"
Scale -0.005 0.0025 0.005 Scale -0.005 0.0025 0.005
DONTCULLBACKFACES DONTCULLBACKFACES
// Casing (XSB) // Casing
SurfaceSkin 2 5 "SilverbulletBullet_Used.png" SurfaceSkin 2 5 "SilverbulletBullet_Used.png"
FrameIndex XZW7 D 2 30 FrameIndex XZW7 S 2 30
FrameIndex XZW7 E 2 31 FrameIndex XZW7 T 2 31
FrameIndex XZW7 F 2 32 FrameIndex XZW7 U 2 32
FrameIndex XZW7 G 2 33 FrameIndex XZW7 V 2 33
FrameIndex XZW7 H 2 34 FrameIndex XZW7 W 2 34
FrameIndex XZW7 I 2 35 FrameIndex XZW7 X 2 35
FrameIndex XZW7 J 2 36 FrameIndex XZW7 Y 2 36
FrameIndex XZW7 K 2 37 FrameIndex XZW7 Z 2 37
FrameIndex XZW7 L 2 38 FrameIndex XZW8 A 2 38
FrameIndex XZW7 M 2 39 FrameIndex XZW8 B 2 39
FrameIndex XZW7 N 2 40 FrameIndex XZW8 C 2 40
FrameIndex XZW7 O 2 41 FrameIndex XZW8 D 2 41
// Casing (FCB) // Bullet
SurfaceSkin 2 5 "SilverbulletBullet_FCB_Used.png"
FrameIndex XZWD D 2 30
FrameIndex XZWD E 2 31
FrameIndex XZWD F 2 32
FrameIndex XZWD G 2 33
FrameIndex XZWD H 2 34
FrameIndex XZWD I 2 35
FrameIndex XZWD J 2 36
FrameIndex XZWD K 2 37
FrameIndex XZWD L 2 38
FrameIndex XZWD M 2 39
FrameIndex XZWD N 2 40
FrameIndex XZWD O 2 41
// Jets
SurfaceSkin 2 5 ""
SurfaceSkin 2 6 "SilverbulletJetSmoke.png"
FrameIndex XZW7 P 2 16
FrameIndex XZW7 Q 2 17
FrameIndex XZW7 R 2 18
FrameIndex XZW7 S 2 19
FrameIndex XZW7 T 2 20
FrameIndex XZW7 U 2 21
FrameIndex XZW7 V 2 22
FrameIndex XZW7 W 2 23
FrameIndex XZW7 X 2 24
// Bullet (XSB)
SurfaceSkin 2 6 ""
SurfaceSkin 2 5 "SilverbulletBullet.png" SurfaceSkin 2 5 "SilverbulletBullet.png"
SurfaceSkin 2 7 "SilverbulletBullet.png" SurfaceSkin 2 7 "SilverbulletBullet.png"
FrameIndex XZWD P 2 30 FrameIndex XZW8 E 2 30
FrameIndex XZWD Q 2 31 FrameIndex XZW8 F 2 31
FrameIndex XZWD R 2 32 FrameIndex XZW8 G 2 32
FrameIndex XZWD S 2 33 FrameIndex XZW8 H 2 33
FrameIndex XZWD T 2 34 FrameIndex XZW8 I 2 34
FrameIndex XZWD U 2 35 FrameIndex XZW8 J 2 35
FrameIndex XZWD V 2 36 FrameIndex XZW8 K 2 36
FrameIndex XZWD W 2 37 FrameIndex XZW8 L 2 37
FrameIndex XZWD X 2 38 FrameIndex XZW8 M 2 38
FrameIndex XZWD Y 2 39 FrameIndex XZW8 N 2 39
FrameIndex XZWD Z 2 40 FrameIndex XZW8 O 2 40
FrameIndex XZWE A 2 41 FrameIndex XZW8 P 2 41
// Bullet (FCB) SurfaceSkin 2 5 ""
SurfaceSkin 2 5 "SilverbulletBullet_FCB.png" SurfaceSkin 2 7 ""
SurfaceSkin 2 7 "SilverbulletBullet_FCB.png" // Jets
FrameIndex XZWE B 2 30 SurfaceSkin 2 6 "SilverbulletJetSmoke.png"
FrameIndex XZWE C 2 31 FrameIndex XZW8 Q 2 16
FrameIndex XZWE D 2 32 FrameIndex XZW8 R 2 17
FrameIndex XZWE E 2 33 FrameIndex XZW8 S 2 18
FrameIndex XZWE F 2 34 FrameIndex XZW8 T 2 19
FrameIndex XZWE G 2 35 FrameIndex XZW8 U 2 20
FrameIndex XZWE H 2 36 FrameIndex XZW8 V 2 21
FrameIndex XZWE I 2 37 FrameIndex XZW8 W 2 22
FrameIndex XZWE J 2 38 FrameIndex XZW8 X 2 23
FrameIndex XZWE K 2 39 FrameIndex XZW8 Y 2 24
FrameIndex XZWE L 2 40
FrameIndex XZWE M 2 41
} }
Model "SilverBullet" Model "SilverBullet"
@ -189,7 +126,6 @@ Model "SilverBullet"
AngleOffset -90 AngleOffset -90
Scale -0.005 0.0025 0.005 Scale -0.005 0.0025 0.005
// EXPLOSIVE SUPER BURST
// Still / Deselect // Still / Deselect
FrameIndex XZW2 A 1 0 FrameIndex XZW2 A 1 0
FrameIndex XZW2 B 1 1 FrameIndex XZW2 B 1 1
@ -261,223 +197,63 @@ Model "SilverBullet"
FrameIndex XZW4 L 1 67 FrameIndex XZW4 L 1 67
FrameIndex XZW4 M 1 68 FrameIndex XZW4 M 1 68
FrameIndex XZW4 N 1 69 FrameIndex XZW4 N 1 69
// UnloadEmpty
SurfaceSkin 1 4 "SilverbulletAmmo_EmptyMag.png"
FrameIndex XZW4 O 1 59
FrameIndex XZW4 P 1 60
FrameIndex XZW4 Q 1 61
FrameIndex XZW4 R 1 62
FrameIndex XZW4 S 1 63
FrameIndex XZW4 T 1 64
FrameIndex XZW4 U 1 65
FrameIndex XZW4 V 1 66
FrameIndex XZW4 W 1 67
FrameIndex XZW4 X 1 68
FrameIndex XZW4 Y 1 69
SurfaceSkin 1 4 "SilverbulletAmmo.png"
// Load // Load
FrameIndex XZW4 Z 1 70 FrameIndex XZW4 O 1 70
FrameIndex XZW5 A 1 71 FrameIndex XZW4 P 1 71
FrameIndex XZW5 B 1 72 FrameIndex XZW4 Q 1 72
FrameIndex XZW5 C 1 73 FrameIndex XZW4 R 1 73
FrameIndex XZW5 D 1 74 FrameIndex XZW4 S 1 74
FrameIndex XZW5 E 1 75 FrameIndex XZW4 T 1 75
FrameIndex XZW5 F 1 76 FrameIndex XZW4 U 1 76
FrameIndex XZW5 G 1 77 FrameIndex XZW4 V 1 77
FrameIndex XZW5 H 1 78 FrameIndex XZW4 W 1 78
FrameIndex XZW5 I 1 79 FrameIndex XZW4 X 1 79
FrameIndex XZW5 J 1 80 FrameIndex XZW4 Y 1 80
FrameIndex XZW5 K 1 81 FrameIndex XZW4 Z 1 81
FrameIndex XZW5 L 1 82 FrameIndex XZW5 A 1 82
FrameIndex XZW5 M 1 83 FrameIndex XZW5 B 1 83
FrameIndex XZW5 N 1 84 FrameIndex XZW5 C 1 84
// Idle // Idle
FrameIndex XZW5 O 1 86 FrameIndex XZW5 D 1 86
FrameIndex XZW5 P 1 87 FrameIndex XZW5 E 1 87
FrameIndex XZW5 Q 1 88 FrameIndex XZW5 F 1 88
FrameIndex XZW5 R 1 89 FrameIndex XZW5 G 1 89
FrameIndex XZW5 S 1 90 FrameIndex XZW5 H 1 90
FrameIndex XZW5 T 1 91 FrameIndex XZW5 I 1 91
FrameIndex XZW5 U 1 92 FrameIndex XZW5 J 1 92
FrameIndex XZW5 V 1 93 FrameIndex XZW5 K 1 93
FrameIndex XZW5 W 1 94 FrameIndex XZW5 L 1 94
FrameIndex XZW5 X 1 95 FrameIndex XZW5 M 1 95
FrameIndex XZW5 Y 1 96 FrameIndex XZW5 N 1 96
FrameIndex XZW5 Z 1 97 FrameIndex XZW5 O 1 97
FrameIndex XZW6 A 1 98 FrameIndex XZW5 P 1 98
FrameIndex XZW6 B 1 99 FrameIndex XZW5 Q 1 99
FrameIndex XZW6 C 1 100 FrameIndex XZW5 R 1 100
FrameIndex XZW6 D 1 101 FrameIndex XZW5 S 1 101
FrameIndex XZW6 E 1 102 FrameIndex XZW5 T 1 102
FrameIndex XZW6 F 1 103 FrameIndex XZW5 U 1 103
FrameIndex XZW6 G 1 104 FrameIndex XZW5 V 1 104
FrameIndex XZW6 H 1 105 FrameIndex XZW5 W 1 105
// Melee // Melee
FrameIndex XZW6 I 1 107 FrameIndex XZW5 X 1 107
FrameIndex XZW6 J 1 108 FrameIndex XZW5 Y 1 108
FrameIndex XZW6 K 1 109 FrameIndex XZW5 Z 1 109
FrameIndex XZW6 L 1 110 FrameIndex XZW6 A 1 110
FrameIndex XZW6 M 1 111 FrameIndex XZW6 B 1 111
FrameIndex XZW6 N 1 112 FrameIndex XZW6 C 1 112
FrameIndex XZW6 O 1 113 FrameIndex XZW6 D 1 113
FrameIndex XZW6 P 1 114 FrameIndex XZW6 E 1 114
FrameIndex XZW6 Q 1 115 FrameIndex XZW6 F 1 115
FrameIndex XZW6 R 1 116 FrameIndex XZW6 G 1 116
FrameIndex XZW6 S 1 117 FrameIndex XZW6 H 1 117
FrameIndex XZW6 T 1 118 FrameIndex XZW6 I 1 118
FrameIndex XZW6 U 1 119 FrameIndex XZW6 J 1 119
FrameIndex XZW6 V 1 120 FrameIndex XZW6 K 1 120
FrameIndex XZW6 W 1 121 FrameIndex XZW6 L 1 121
FrameIndex XZW6 X 1 122 FrameIndex XZW6 M 1 122
FrameIndex XZW6 Y 1 123 FrameIndex XZW6 N 1 123
FrameIndex XZW6 Z 1 124 FrameIndex XZW6 O 1 124
FrameIndex XZW7 A 1 125 FrameIndex XZW6 P 1 125
FrameIndex XZW7 B 1 126 FrameIndex XZW6 Q 1 126
FrameIndex XZW7 C 1 127 FrameIndex XZW6 R 1 127
//// FAT CHODE BOMB
SurfaceSkin 1 4 "SilverbulletAmmo_FCB.png"
// Still / Deselect
FrameIndex XZW8 A 1 0
FrameIndex XZW8 B 1 1
FrameIndex XZW8 C 1 2
FrameIndex XZW8 D 1 3
FrameIndex XZW8 E 1 4
FrameIndex XZW8 F 1 5
FrameIndex XZW8 G 1 6 // Select
FrameIndex XZW8 H 1 7
FrameIndex XZW8 I 1 8
FrameIndex XZW8 J 1 9
FrameIndex XZW8 K 1 10
FrameIndex XZW8 L 1 11
FrameIndex XZW8 M 1 12
FrameIndex XZW8 N 1 13
// Fire
FrameIndex XZW8 O 1 15
FrameIndex XZW8 P 1 16
FrameIndex XZW8 Q 1 17
FrameIndex XZW8 R 1 18
FrameIndex XZW8 S 1 19
FrameIndex XZW8 T 1 20
FrameIndex XZW8 U 1 21
FrameIndex XZW8 V 1 22
FrameIndex XZW8 W 1 23
// Bolt
FrameIndex XZW8 X 1 25
FrameIndex XZW8 Y 1 26
FrameIndex XZW8 Z 1 27
FrameIndex XZW9 A 1 28
FrameIndex XZW9 B 1 29
FrameIndex XZW9 C 1 30 // StartCasing
FrameIndex XZW9 D 1 31
FrameIndex XZW9 E 1 32
FrameIndex XZW9 F 1 33
FrameIndex XZW9 G 1 34
FrameIndex XZW9 H 1 35
FrameIndex XZW9 I 1 36
FrameIndex XZW9 J 1 37
FrameIndex XZW9 K 1 38
FrameIndex XZW9 L 1 39
FrameIndex XZW9 M 1 40
FrameIndex XZW9 N 1 41 // EndCasing
FrameIndex XZW9 O 1 42
FrameIndex XZW9 P 1 43
FrameIndex XZW9 Q 1 44
FrameIndex XZW9 R 1 45
// ZoomIn
FrameIndex XZW9 S 1 47
FrameIndex XZW9 T 1 48
FrameIndex XZW9 U 1 49
FrameIndex XZW9 V 1 50
FrameIndex XZW9 W 1 51
FrameIndex XZW9 X 1 52 // ZoomStill / ZoomOut
FrameIndex XZW9 Y 1 53
FrameIndex XZW9 Z 1 54
FrameIndex XZWA A 1 55
FrameIndex XZWA B 1 56
FrameIndex XZWA C 1 57
// Unload
FrameIndex XZWA D 1 59
FrameIndex XZWA E 1 60
FrameIndex XZWA F 1 61
FrameIndex XZWA G 1 62
FrameIndex XZWA H 1 63
FrameIndex XZWA I 1 64
FrameIndex XZWA J 1 65
FrameIndex XZWA K 1 66
FrameIndex XZWA L 1 67
FrameIndex XZWA M 1 68
FrameIndex XZWA N 1 69
// UnloadEmpty
SurfaceSkin 1 4 "SilverbulletAmmo_FCB_EmptyMag.png"
FrameIndex XZWA O 1 59
FrameIndex XZWA P 1 60
FrameIndex XZWA Q 1 61
FrameIndex XZWA R 1 62
FrameIndex XZWA S 1 63
FrameIndex XZWA T 1 64
FrameIndex XZWA U 1 65
FrameIndex XZWA V 1 66
FrameIndex XZWA W 1 67
FrameIndex XZWA X 1 68
FrameIndex XZWA Y 1 69
SurfaceSkin 1 4 "SilverbulletAmmo_FCB.png"
// Load
FrameIndex XZWA Z 1 70
FrameIndex XZWB A 1 71
FrameIndex XZWB B 1 72
FrameIndex XZWB C 1 73
FrameIndex XZWB D 1 74
FrameIndex XZWB E 1 75
FrameIndex XZWB F 1 76
FrameIndex XZWB G 1 77
FrameIndex XZWB H 1 78
FrameIndex XZWB I 1 79
FrameIndex XZWB J 1 80
FrameIndex XZWB K 1 81
FrameIndex XZWB L 1 82
FrameIndex XZWB M 1 83
FrameIndex XZWB N 1 84
// Idle
FrameIndex XZWB O 1 86
FrameIndex XZWB P 1 87
FrameIndex XZWB Q 1 88
FrameIndex XZWB R 1 89
FrameIndex XZWB S 1 90
FrameIndex XZWB T 1 91
FrameIndex XZWB U 1 92
FrameIndex XZWB V 1 93
FrameIndex XZWB W 1 94
FrameIndex XZWB X 1 95
FrameIndex XZWB Y 1 96
FrameIndex XZWB Z 1 97
FrameIndex XZWC A 1 98
FrameIndex XZWC B 1 99
FrameIndex XZWC C 1 100
FrameIndex XZWC D 1 101
FrameIndex XZWC E 1 102
FrameIndex XZWC F 1 103
FrameIndex XZWC G 1 104
FrameIndex XZWC H 1 105
// Melee
FrameIndex XZWC I 1 107
FrameIndex XZWC J 1 108
FrameIndex XZWC K 1 109
FrameIndex XZWC L 1 110
FrameIndex XZWC M 1 111
FrameIndex XZWC N 1 112
FrameIndex XZWC O 1 113
FrameIndex XZWC P 1 114
FrameIndex XZWC Q 1 115
FrameIndex XZWC R 1 116
FrameIndex XZWC S 1 117
FrameIndex XZWC T 1 118
FrameIndex XZWC U 1 119
FrameIndex XZWC V 1 120
FrameIndex XZWC W 1 121
FrameIndex XZWC X 1 122
FrameIndex XZWC Y 1 123
FrameIndex XZWC Z 1 124
FrameIndex XZWD A 1 125
FrameIndex XZWD B 1 126
FrameIndex XZWD C 1 127
} }

View file

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -185,9 +185,8 @@ at the price of some slight unstability (you might hurt yourself with it).
Slot 8. Sniper rifle. Slot 8. Sniper rifle.
The big and bulky brother of that unwieldy thing from Ultra Suite. The big and bulky brother of that unwieldy thing from Ultra Suite.
Primary fire (you guessed it) shoots. Primary fire (you guessed it) shoots.
Secondary fire allows for special actions when held. Combine with primary fire Secondary fire cycles the bolt.
to manually cycle the bolt, and with reload to reload secondary ammo (if any). Reload does what you'd expect.
Reload does what you'd expect (as long as you have primary ammo).
Tertiary fire is a zoom. Hold to keep increasing the zoom factor, up to 16x. Tertiary fire is a zoom. Hold to keep increasing the zoom factor, up to 16x.
Crouching with this weapon braces it and disengages the recoil compensator, Crouching with this weapon braces it and disengages the recoil compensator,
which can definitely cause some self-hurt from how hot the jet gas can get. which can definitely cause some self-hurt from how hot the jet gas can get.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -175,12 +175,12 @@ Class SWWMStatusBar : BaseStatusBar
int tclabel, tcvalue, tcextra, tccompl, tcsucks; int tclabel, tcvalue, tcextra, tccompl, tcsucks;
String tclabel_s, tcextra_s; String tclabel_s, tcextra_s;
int AmmoFlash[19]; // flash when new ammo is received int AmmoFlash[18]; // flash when new ammo is received
int AmmoOldAmounts[19]; // to detect when to flash int AmmoOldAmounts[18]; // to detect when to flash
int AmmoMaxFlash[19]; // flash when ammo max amount changes int AmmoMaxFlash[18]; // flash when ammo max amount changes
int AmmoOldMaxAmounts[19]; // to detect when to flash int AmmoOldMaxAmounts[18]; // to detect when to flash
Class<SWWMAmmo> AmmoSlots[19]; // ammo type on each slot Class<SWWMAmmo> AmmoSlots[18]; // ammo type on each slot
String AmmoNames[19]; // ammo 4-letter names String AmmoNames[18]; // ammo 4-letter names
int HealthFlash; // flash when healing int HealthFlash; // flash when healing
int LastHealth; // to detect when to flash int LastHealth; // to detect when to flash
int LagHealth[10]; // for delayed decay bar int LagHealth[10]; // for delayed decay bar
@ -944,7 +944,7 @@ Class SWWMStatusBar : BaseStatusBar
for ( int i=9; i>0; i-- ) for ( int i=9; i>0; i-- )
LagHealth[i] = LagHealth[i-1]; LagHealth[i] = LagHealth[i-1];
// ammo updates // ammo updates
for ( int i=0; i<19; i++ ) for ( int i=0; i<18; i++ )
{ {
let a = SWWMAmmo(CPlayer.mo.FindInventory(AmmoSlots[i])); let a = SWWMAmmo(CPlayer.mo.FindInventory(AmmoSlots[i]));
int amt = 0; int amt = 0;
@ -1299,14 +1299,13 @@ Class SWWMStatusBar : BaseStatusBar
AmmoSlots[8] = 'SparksterBAmmo'; AmmoSlots[8] = 'SparksterBAmmo';
AmmoSlots[9] = 'SparksterRAmmo'; AmmoSlots[9] = 'SparksterRAmmo';
AmmoSlots[10] = 'SilverBulletAmmo'; AmmoSlots[10] = 'SilverBulletAmmo';
AmmoSlots[11] = 'SilverBulletAmmo2'; AmmoSlots[11] = 'RayAmmo';
AmmoSlots[12] = 'RayAmmo'; AmmoSlots[12] = 'CandyGunAmmo';
AmmoSlots[13] = 'CandyGunAmmo'; AmmoSlots[13] = 'CandyGunSpares';
AmmoSlots[14] = 'CandyGunSpares'; AmmoSlots[14] = 'MisterAmmo';
AmmoSlots[15] = 'MisterAmmo'; AmmoSlots[15] = 'MisterGAmmo';
AmmoSlots[16] = 'MisterGAmmo'; AmmoSlots[16] = 'YnykronAmmo';
AmmoSlots[17] = 'YnykronAmmo'; AmmoSlots[17] = 'UltimateAmmo';
AmmoSlots[18] = 'UltimateAmmo';
AmmoNames[0] = "SHOT"; AmmoNames[0] = "SHOT";
AmmoNames[1] = "GOLD"; AmmoNames[1] = "GOLD";
AmmoNames[2] = "SCRW"; AmmoNames[2] = "SCRW";
@ -1318,14 +1317,13 @@ Class SWWMStatusBar : BaseStatusBar
AmmoNames[8] = "KINY"; AmmoNames[8] = "KINY";
AmmoNames[9] = "NOKR"; AmmoNames[9] = "NOKR";
AmmoNames[10] = "RIFL"; AmmoNames[10] = "RIFL";
AmmoNames[11] = "CHOD"; AmmoNames[11] = "BOLT";
AmmoNames[12] = "BOLT"; AmmoNames[12] = "CAND";
AmmoNames[13] = "CAND"; AmmoNames[13] = "CGUN";
AmmoNames[14] = "CGUN"; AmmoNames[14] = "MSTR";
AmmoNames[15] = "MSTR"; AmmoNames[15] = "MGRN";
AmmoNames[16] = "MGRN"; AmmoNames[16] = "CRYS";
AmmoNames[17] = "CRYS"; AmmoNames[17] = "ULTI";
AmmoNames[18] = "ULTI";
for ( int i=0; i<18; i++ ) for ( int i=0; i<18; i++ )
{ {
AmmoFlash[i] = 0; AmmoFlash[i] = 0;
@ -2694,7 +2692,7 @@ Class SWWMStatusBar : BaseStatusBar
OwnedWeapons.Push(SWWMWeapon(i)); OwnedWeapons.Push(SWWMWeapon(i));
} }
String str; String str;
for ( int i=18; i>=0; i-- ) for ( int i=17; i>=0; i-- )
{ {
let a = AmmoSlots[i]; let a = AmmoSlots[i];
// check if owned // check if owned

View file

@ -328,9 +328,9 @@ Class SilverBulletAmmo : SWWMAmmo
SWWMAmmo.PickupTag "XSBMAG"; SWWMAmmo.PickupTag "XSBMAG";
Stamina 70000; Stamina 70000;
Inventory.Amount 1; Inventory.Amount 1;
Inventory.MaxAmount 3; Inventory.MaxAmount 5;
Ammo.BackpackAmount 0; Ammo.BackpackAmount 0;
Ammo.BackpackMaxAmount 6; Ammo.BackpackMaxAmount 11;
Ammo.DropAmount 1; Ammo.DropAmount 1;
SWWMAmmo.MagAmmoType "SilverBullets"; SWWMAmmo.MagAmmoType "SilverBullets";
+FLOATBOB; +FLOATBOB;
@ -347,33 +347,6 @@ Class SilverBulletAmmo : SWWMAmmo
} }
} }
Class SilverBulletAmmo2 : SWWMAmmo
{
Default
{
Tag "$T_FCBMAG";
SWWMAmmo.PickupTag "FCBMAG";
Stamina 80000;
Inventory.Amount 1;
Inventory.MaxAmount 2;
Ammo.BackpackAmount 0;
Ammo.BackpackMaxAmount 4;
Ammo.DropAmount 1;
SWWMAmmo.MagAmmoType "SilverBullets2";
+FLOATBOB;
FloatBobStrength 0.25;
Radius 10;
Height 26;
Accuracy 80;
}
States
{
Spawn:
XZW1 A -1;
Stop;
}
}
Class SilverBullets : MagAmmo Class SilverBullets : MagAmmo
{ {
Default Default
@ -397,7 +370,7 @@ Class SilverBullets : MagAmmo
Stop; Stop;
} }
} }
Class SilverBullets_2 : SilverBullets Class SilverBullets2 : SilverBullets
{ {
Default Default
{ {
@ -406,47 +379,7 @@ Class SilverBullets_2 : SilverBullets
Height 24; Height 24;
} }
} }
Class SilverBullets_3 : SilverBullets Class SilverBullets3 : SilverBullets
{
Default
{
Inventory.Amount 3;
Radius 6;
Height 24;
}
}
Class SilverBullets2 : MagAmmo
{
Default
{
Tag "$T_FCBBULLET";
MagAmmo.PickupTag "FCBBULLET";
Stamina -15000;
MagAmmo.ParentAmmo "SilverBulletAmmo2";
MagAmmo.ClipSize 5;
Inventory.MaxAmount 5;
+FLOATBOB;
FloatBobStrength 0.25;
Radius 4;
Height 22;
}
States
{
Spawn:
XZW1 A -1;
Stop;
}
}
Class SilverBullets2_2 : SilverBullets2
{
Default
{
Inventory.Amount 2;
Radius 6;
Height 24;
}
}
Class SilverBullets2_3 : SilverBullets2
{ {
Default Default
{ {

View file

@ -216,11 +216,7 @@ Class SWWMCellAmmoBig : SWWMAmmoSpawner
bool aex = SWWMUtility.ItemExists('SilverBullet',ownedonly:enemydrop), bool aex = SWWMUtility.ItemExists('SilverBullet',ownedonly:enemydrop),
bex = SWWMUtility.ItemExists('RayKhom',ownedonly:enemydrop); bex = SWWMUtility.ItemExists('RayKhom',ownedonly:enemydrop);
if ( (!aex && bex) || (Random[Replacements](0,1) && bex) ) return Random[Replacements](0,2)?'RayBolt5':'RayAmmo'; if ( (!aex && bex) || (Random[Replacements](0,1) && bex) ) return Random[Replacements](0,2)?'RayBolt5':'RayAmmo';
if ( aex ) if ( aex ) return Random[Replacements](0,3)?'SilverBullets3':'SilverBulletAmmo';
{
if ( Random[Replacements](0,3) ) return Random[Replacements](0,2)?'SilverBullets_2':'SilverBullets2_2';
return Random[Replacements](0,2)?'SilverBulletAmmo':'SilverBulletAmmo2';
}
} }
bool aex = SWWMUtility.ItemExists('Sparkster',ownedonly:enemydrop), bool aex = SWWMUtility.ItemExists('Sparkster',ownedonly:enemydrop),
bex = SWWMUtility.ItemExists('ModernSparkster',ownedonly:enemydrop); bex = SWWMUtility.ItemExists('ModernSparkster',ownedonly:enemydrop);

View file

@ -891,11 +891,11 @@ Class RewardCandyGun : ChanceboxReward
override void SpawnReward( Vector3 pos ) override void SpawnReward( Vector3 pos )
{ {
SpawnCenter(pos,"CandyGun"); SpawnCenter(pos,"CandyGun");
SpawnCircle(pos,6,"CandyGunBullets"); SpawnCircle(pos,7,"CandyGunBullets");
} }
} }
// TODO ray-khom bolts all over // TODO ray-khom bolts all over
// them silver bullets, of two types // them silver bullets
Class RewardSilverBullets : ChanceboxReward Class RewardSilverBullets : ChanceboxReward
{ {
override bool CheckRequirements() override bool CheckRequirements()
@ -905,7 +905,7 @@ Class RewardSilverBullets : ChanceboxReward
override void SpawnReward( Vector3 pos ) override void SpawnReward( Vector3 pos )
{ {
SpawnCircle(pos,3,"SilverBullets2"); SpawnCircle(pos,4,"SilverBullets");
SpawnCircle(pos,6,"SilverBullets",3.); SpawnCircle(pos,6,"SilverBullets",3.);
} }
} }

View file

@ -174,7 +174,7 @@ Class SWWMStats : SWWMStaticThinker
else if ( (inflictor is 'HellblazerMissile') || (inflictor is 'HellblazerArm') ) which = 'Hellblazer'; else if ( (inflictor is 'HellblazerMissile') || (inflictor is 'HellblazerArm') ) which = 'Hellblazer';
else if ( (inflictor is 'QuadProj') || (inflictor is 'QuadExplArm') || (inflictor is 'OnFire') ) which = 'Quadravol'; else if ( (inflictor is 'QuadProj') || (inflictor is 'QuadExplArm') || (inflictor is 'OnFire') ) which = 'Quadravol';
else if ( (inflictor is 'BigBiospark') || (inflictor is 'BiosparkBall') || (inflictor is 'BiosparkBeamImpact') || (inflictor is 'BiosparkComboImpact') || (inflictor is 'BiosparkComboImpactSub') || (inflictor is 'BiosparkBeam') || (inflictor is 'BiosparkArc') || (inflictor is 'BiosparkCore') ) which = 'Sparkster'; else if ( (inflictor is 'BigBiospark') || (inflictor is 'BiosparkBall') || (inflictor is 'BiosparkBeamImpact') || (inflictor is 'BiosparkComboImpact') || (inflictor is 'BiosparkComboImpactSub') || (inflictor is 'BiosparkBeam') || (inflictor is 'BiosparkArc') || (inflictor is 'BiosparkCore') ) which = 'Sparkster';
else if ( (inflictor is 'SilverAirRip') || (inflictor is 'SilverAirRip2') || (inflictor is 'SilverImpact') || (inflictor is 'FatChodeImpact') || (inflictor is 'FatChodeExplosionArm') ) which = 'SilverBullet'; else if ( (inflictor is 'SilverAirRip') || (inflictor is 'SilverImpact') ) which = 'SilverBullet';
else if ( (inflictor is 'CandyBeam') || (inflictor is 'CandyPop') || (inflictor is 'CandyMagArm') || (inflictor is 'CandyGunProj') || (inflictor is 'CandyMagProj') || (inflictor is 'CandyBulletImpact') ) which = 'CandyGun'; else if ( (inflictor is 'CandyBeam') || (inflictor is 'CandyPop') || (inflictor is 'CandyMagArm') || (inflictor is 'CandyGunProj') || (inflictor is 'CandyMagProj') || (inflictor is 'CandyBulletImpact') ) which = 'CandyGun';
else if ( (inflictor is 'MisterBulletImpact') || (inflictor is 'MisterPop') || (inflictor is 'MisterFuzzy') || (inflictor is 'MisterGrenade') || (inflictor is 'MisterRailBeam') ) which = 'MisterRifle'; else if ( (inflictor is 'MisterBulletImpact') || (inflictor is 'MisterPop') || (inflictor is 'MisterFuzzy') || (inflictor is 'MisterGrenade') || (inflictor is 'MisterRailBeam') ) which = 'MisterRifle';
else if ( (inflictor is 'YnykronBeam') || (inflictor is 'YnykronImpact') || (inflictor is 'YnykronSingularity') || (inflictor is 'YnykronCloud') || (inflictor is 'YnykronVoidBeam') || (inflictor is 'YnykronLightningArc') || (inflictor is 'YnykronLightningImpact') ) which = 'Ynykron'; else if ( (inflictor is 'YnykronBeam') || (inflictor is 'YnykronImpact') || (inflictor is 'YnykronSingularity') || (inflictor is 'YnykronCloud') || (inflictor is 'YnykronVoidBeam') || (inflictor is 'YnykronLightningArc') || (inflictor is 'YnykronLightningImpact') ) which = 'Ynykron';

File diff suppressed because it is too large Load diff

View file

@ -7,7 +7,6 @@ Class SilverBulletCasing : SWWMCasing
BounceSound "silverbullet/casing"; BounceSound "silverbullet/casing";
} }
} }
Class SilverBulletCasing2 : SilverBulletCasing {}
Class SilverBulletMag : SWWMCasing Class SilverBulletMag : SWWMCasing
{ {
@ -36,7 +35,6 @@ Class SilverBulletMag : SWWMCasing
Stop; Stop;
} }
} }
Class SilverBulletMag2 : SilverBulletMag {}
Class SilverAirRip : Actor Class SilverAirRip : Actor
{ {
@ -83,17 +81,6 @@ Class SilverAirRip : Actor
Stop; Stop;
} }
} }
Class SilverAirRip2 : SilverAirRip
{
Default
{
Obituary "$O_SILVERBULLET2";
}
override void Explode()
{
SWWMUtility.DoExplosion(self,20,2000,30,ignoreme:target);
}
}
Class SilverImpact : Actor Class SilverImpact : Actor
{ {
@ -178,246 +165,3 @@ Class SilverImpact : Actor
Stop; Stop;
} }
} }
Class ExploLight3 : PaletteLight
{
Default
{
ReactionTime 30;
Args 0,0,0,250;
}
}
Class FatChodeRing : Actor
{
Default
{
RenderStyle "Add";
Scale 3.;
Radius 0.1;
Height 0;
+NOGRAVITY;
+NOBLOCKMAP;
+FORCEXYBILLBOARD;
+NOTELEPORT;
+NOINTERACTION;
}
override void Tick()
{
if ( isFrozen() ) return;
if ( !CheckNoDelay() || (tics == -1) ) return;
if ( tics > 0 ) tics--;
while ( !tics )
{
if ( !SetState(CurState.NextState) )
return;
}
}
States
{
Spawn:
XRG0 ABCDEFGHIJKLMNOPQRSTUVWX 1 Bright A_SetScale(scale.x*1.06);
Stop;
}
}
Class FatChodeImpact : Actor
{
double realangle, realpitch;
Default
{
Obituary "$O_SILVERBULLET2";
DamageType 'Explodium';
RenderStyle "Add";
Radius 0.1;
Height 0;
+NOGRAVITY;
+NOCLIP;
+DONTSPLASH;
+NOBLOCKMAP;
+FORCEXYBILLBOARD;
+FORCERADIUSDMG;
+NODAMAGETHRUST;
+NOTELEPORT;
+NOINTERACTION;
Scale 4.5;
}
override void PostBeginPlay()
{
Super.PostBeginPlay();
SWWMUtility.DoExplosion(self,600,40000,250,120,DE_THRUWALLS|DE_EXTRAZTHRUST);
A_AlertMonsters(swwm_uncapalert?0:8000);
A_QuakeEx(7,7,7,50,0,2000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:800,rollIntensity:1.);
A_StartSound("silverbullet/chode",CHAN_VOICE,CHANF_DEFAULT,1.,.35);
A_SprayDecal("BigPock",-64);
A_SprayDecal("HugeWallCrack",-64);
A_SprayDecal("WumboRocketBlast",-64);
Scale *= FRandom[ExploS](0.8,1.1);
Scale.x *= RandomPick[ExploS](-1,1);
Scale.y *= RandomPick[ExploS](-1,1);
int numpt = Random[Silverbullet](15,25);
Vector3 x = SWWMUtility.Vec3FromAngles(angle,pitch);
for ( int i=0; i<numpt; i++ )
{
Vector3 pvel = (x+SWWMUtility.Vec3FromAngles(FRandom[Silverbullet](0,360),FRandom[Silverbullet](-90,90))*.4).unit()*FRandom[Silverbullet](.4,2.);
let s = Spawn("SWWMSmoke",pos);
s.vel = pvel;
s.scale *= 1.8;
s.special1 = Random[Silverbullet](1,4);
s.SetShade(Color(1,1,1)*Random[Silverbullet](96,192));
}
numpt = Random[Silverbullet](6,9);
for ( int i=0; i<numpt; i++ )
{
Vector3 pvel = SWWMUtility.Vec3FromAngles(FRandom[Silverbullet](0,360),FRandom[Silverbullet](-90,90))*FRandom[Silverbullet](2,8);
let s = Spawn("SWWMSpark",pos);
s.scale *= 1.3;
s.vel = pvel;
}
numpt = Random[Silverbullet](10,15);
for ( int i=0; i<numpt; i++ )
{
Vector3 pvel = (x+SWWMUtility.Vec3FromAngles(FRandom[Silverbullet](0,360),FRandom[Silverbullet](-90,90))*.6).unit()*FRandom[Silverbullet](6,20);
let s = Spawn("SWWMChip",pos);
s.scale *= 1.6;
s.vel = pvel;
}
numpt = Random[Silverbullet](16,20);
for ( int i=0; i<numpt; i++ )
{
let s = Spawn("FatChodeExtraArm",pos);
s.target = target;
}
numpt = Random[Silverbullet](8,10);
Vector3 y, z, dir;
double a, s;
[x, y, z] = swwm_CoordUtil.GetAxes(realpitch,realangle,0);
for ( int i=0; i<numpt; i++ )
{
let e = Spawn("FatChodeExplosionArm",pos);
e.target = target;
a = FRandom[Silverbullet](0,360);
s = FRandom[Silverbullet](0,.2);
dir = SWWMUtility.ConeSpread(x,y,z,a,s);
e.angle = atan2(dir.y,dir.x);
e.pitch = asin(-dir.z);
}
Spawn("ExploLight3",pos);
Spawn("FatChodeRing",pos);
}
override void Tick()
{
if ( isFrozen() ) return;
if ( !CheckNoDelay() || (tics == -1) ) return;
if ( tics > 0 ) tics--;
while ( !tics )
{
if ( !SetState(CurState.NextState) )
return;
}
}
States
{
Spawn:
XEX1 ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ 1 Bright;
Stop;
}
}
Class FatChodeExtraArm : ExplodiumMagArm
{
Default
{
Obituary "$O_SILVERBULLET2";
}
override void PostBeginPlay()
{
Super.PostBeginPlay();
vel *= 1.5;
}
}
Class FatChodeExplosionTrail : Actor
{
Default
{
RenderStyle "Add";
Radius 0.1;
Height 0;
+NOGRAVITY;
+NOCLIP;
+DONTSPLASH;
+NOTELEPORT;
+NOBLOCKMAP;
+FORCEXYBILLBOARD;
+NOTELEPORT;
+NOINTERACTION;
Scale 3.;
}
override void Tick()
{
if ( isFrozen() ) return;
if ( !CheckNoDelay() || (tics == -1) ) return;
if ( tics > 0 ) tics--;
while ( !tics )
{
if ( !SetState(CurState.NextState) )
return;
}
}
States
{
Spawn:
XEX1 ACEGIKMOQSUWY[ 1 Bright;
Stop;
}
}
Class FatChodeExplosionArm : Actor
{
Default
{
Obituary "$O_SILVERBULLET2";
DamageType 'Explodium';
Radius 0.1;
Height 0;
+NOGRAVITY;
+NOCLIP;
+DONTSPLASH;
+NOTELEPORT;
+NOBLOCKMAP;
+FORCERADIUSDMG;
+NODAMAGETHRUST;
+NOINTERACTION;
}
override void PostBeginPlay()
{
Super.PostBeginPlay();
reactiontime = Random[ExploS](15,20);
vel = SWWMUtility.Vec3FromAngles(angle,pitch)*FRandom[ExploS](20.,30.);
}
States
{
Spawn:
TNT1 A 1
{
if ( !(ReactionTime%2) )
SWWMUtility.DoExplosion(self,10+reactiontime,8000+1500*reactiontime,80+5*reactiontime,50,DE_THRUWALLS);
if ( level.IsPointInLevel(pos) )
{
A_SprayDecal("HugeRocketBlast",-32);
Spawn("FatChodeExplosionTrail",pos);
Vector3 pvel = SWWMUtility.Vec3FromAngles(FRandom[ExploS](0,360),FRandom[ExploS](-90,90))*FRandom[ExploS](1,5);
let s = Spawn("SWWMHalfSmoke",pos);
s.vel = pvel+vel*.2;
s.SetShade(Color(1,1,1)*Random[ExploS](64,224));
s.special1 = Random[ExploS](1,4);
s.scale *= 2.4;
s.alpha *= .1+.4*(ReactionTime/15.);
}
A_CountDown();
}
Wait;
}
}

View file

@ -179,17 +179,15 @@ extend Class Sparkster
// Silver Bullet JET // Silver Bullet JET
extend Class SilverBullet extend Class SilverBullet
{ {
ui TextureID WeaponBox[2], ZoomBar, RoundTex[4]; ui TextureID WeaponBox[2], ZoomBar, RoundTex[2];
override void DrawWeapon( double TicFrac, double bx, double by, double hs, Vector2 ss ) override void DrawWeapon( double TicFrac, double bx, double by, double hs, Vector2 ss )
{ {
if ( !WeaponBox[0] ) WeaponBox[0] = TexMan.CheckForTexture("graphics/HUD/SilverBulletDisplay.png"); if ( !WeaponBox[0] ) WeaponBox[0] = TexMan.CheckForTexture("graphics/HUD/SilverBulletDisplay.png");
if ( !WeaponBox[1] ) WeaponBox[1] = TexMan.CheckForTexture("graphics/HUD/SilverBulletZoomDisplay.png"); if ( !WeaponBox[1] ) WeaponBox[1] = TexMan.CheckForTexture("graphics/HUD/SilverBulletZoomDisplay.png");
if ( !ZoomBar ) ZoomBar = TexMan.CheckForTexture("graphics/HUD/SilverBulletZoomBar.png"); if ( !ZoomBar ) ZoomBar = TexMan.CheckForTexture("graphics/HUD/SilverBulletZoomBar.png");
if ( !RoundTex[0] ) RoundTex[0] = TexMan.CheckForTexture("graphics/HUD/SilverBulletXSB.png"); if ( !RoundTex[0] ) RoundTex[0] = TexMan.CheckForTexture("graphics/HUD/SilverBulletRound.png");
if ( !RoundTex[1] ) RoundTex[1] = TexMan.CheckForTexture("graphics/HUD/SilverBulletFCB.png"); if ( !RoundTex[1] ) RoundTex[1] = TexMan.CheckForTexture("graphics/HUD/SilverBulletCasing.png");
if ( !RoundTex[2] ) RoundTex[2] = TexMan.CheckForTexture("graphics/HUD/SilverBulletXSBCasing.png");
if ( !RoundTex[3] ) RoundTex[3] = TexMan.CheckForTexture("graphics/HUD/SilverBulletFCBCasing.png");
double zl = clamp(ZoomInter?ZoomInter.GetValue(TicFrac):(zoomlevel*10),0.,160.); double zl = clamp(ZoomInter?ZoomInter.GetValue(TicFrac):(zoomlevel*10),0.,160.);
if ( zl >= 10. ) if ( zl >= 10. )
{ {
@ -199,9 +197,9 @@ extend Class SilverBullet
Screen.DrawTexture(ZoomBar,false,bx-18,by-37,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,zw); Screen.DrawTexture(ZoomBar,false,bx-18,by-37,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,zw);
} }
Screen.DrawTexture(WeaponBox[0],false,bx-20,by-29,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); Screen.DrawTexture(WeaponBox[0],false,bx-20,by-29,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
if ( chambered ) Screen.DrawTexture(RoundTex[fcbchambered+fired*2],false,bx-18,by-27,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); if ( chambered ) Screen.DrawTexture(RoundTex[fired],false,bx-18,by-27,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
for ( int i=0; i<clipcount; i++ ) for ( int i=0; i<clipcount; i++ )
Screen.DrawTexture(RoundTex[fcbloaded],false,bx-18,by-(22-i*4),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); Screen.DrawTexture(RoundTex[0],false,bx-18,by-(22-i*4),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
} }
} }