Nuggets give 2 health / 5 armor.
Mag ammo can now be sold. Fix selling prices of bulk items. Fix rare case where mag ammo can be picked up without a parent. Fix alt hud crash when no weapon is selected. Various other adjustments.
This commit is contained in:
parent
f8ec71cf7f
commit
099d7fd55b
21 changed files with 78 additions and 53 deletions
|
|
@ -1455,9 +1455,9 @@ SWWM_LORETXT_HEAVYMAHSHEENGUN =
|
|||
"\n"
|
||||
"While generally meant for mounted use, on-the-go operation is possible, provided the user is equipped with silver-rated power armor at minimum in order to handle its heavy recoil.\n"
|
||||
"\n"
|
||||
"\cfPrimary Fire:\c- 700 RPM operation. Sustained fire in this mode is theoretically endless, as the heat produced can be efficiently nullified by the internal cooling systems, it is therefore the recommended mode for most situations.\n"
|
||||
"\cfPrimary Fire:\c- 300 RPM operation. A slow spin. Sustained fire in this mode is theoretically endless, as the heat produced can be efficiently nullified by the internal cooling systems, it is therefore the recommended mode for most situations.\n"
|
||||
"\n"
|
||||
"\cfSecondary Fire:\c- 1050 RPM operation. Much faster spin, with moderate heat buildup. It's still possible to keep firing in this mode for about a minute or so from a cold start. If you need to deliver more pain and have the ammunition to spare, choose this.\n"
|
||||
"\cfSecondary Fire:\c- 700 RPM operation. Much faster spin, with moderate heat buildup. It's still possible to keep firing in this mode for about a minute or so from a cold start. If you need to deliver more pain and have the ammunition to spare, choose this.\n"
|
||||
"\n"
|
||||
"\cfTertiary Fire:\c- 2100 RPM operation. Extremely fast, with the highest heat potential. Sustained fire in this mode may quickly trigger the weapon's safety lock should the rising heat get too close to non-operational temperature. If you want things dead fast and don't care about running out of ammo in a matter of seconds, do pick this.\n"
|
||||
"\n"
|
||||
|
|
@ -2984,7 +2984,7 @@ SWWM_LORETXT_PLASMABLAST =
|
|||
"\n"
|
||||
"\cfSecondary Fire:\c- Charged shot. Hold and release. A slower, but much stronger and destructive projectile, especially if charged from a full cell. The gun has to be held with both hands, as the instability induced by internal plasma charge may make aiming far more difficult single-handed.\n"
|
||||
"\n"
|
||||
"\cfReload:\c- Replace the ammo cell on the weapon. Each can power up to 15 shots.\n"
|
||||
"\cfReload:\c- Replace the ammo cell on the weapon. Each can power up to 8 shots.\n"
|
||||
"\n"
|
||||
"\cfTechniques:\c- Obtaining a second Plasma Blaster allows switching to dual-wield mode. Secondary fire in this mode shoots the left hand gun.\n"
|
||||
"\n"
|
||||
|
|
@ -3191,7 +3191,7 @@ SWWM_LORETXT_RAYKHOM =
|
|||
"\n"
|
||||
"Ever since its creation by \cfProfessor Eushura Kmonn Jr.\c-, the \cfRay-Khom\c- has taken a permanent spot in every \cfXekkian\c- soldier's loadout. Reliable, efficient, needing little to no maintenance due to lacking any moving parts beyond its feeding mechanism. Ammunition is additionally quite easy to come by, at least locally, as exports carry with them heavy taxing.\n"
|
||||
"\n"
|
||||
"The weapon is powered entirely by a compact quad-cell Korberon-Eneiebium battery pack, providing a plentiful supply of energy. Ammunition is fed from 20-round magazines. The ammunition itself, slim 40mm caseless magnetized bolts, fitted with a hyperdense Dyratin ignition charge, releasing potent discharges of ultra-high temperature plasma on impact, capable of melting quickly through anything short of high resonant Almasteel plating and causing strong, stinging burns to Xekkian skin (or severe corrosion of muscle and bone tissue to anything weaker).\n"
|
||||
"The weapon is powered entirely by a compact quad-cell Korberon-Eneiebium battery pack, providing a plentiful supply of energy. Ammunition is fed from 10-round magazines. The ammunition itself, slim 40mm caseless magnetized bolts, fitted with a hyperdense Dyratin ignition charge, releasing potent discharges of ultra-high temperature plasma on impact, capable of melting quickly through anything short of high resonant Almasteel plating and causing strong, stinging burns to Xekkian skin (or severe corrosion of muscle and bone tissue to anything weaker).\n"
|
||||
"\n"
|
||||
"\cfPrimary Fire:\c- Steady shooting, quick and precise. Minimal recoil due to the electromagnetic operation, mostly quiet as the projectiles are shot ever so slightly below the speed of sound. Your enemies are guaranteed to not take notice of your attacks until it's too late.\n"
|
||||
"\n"
|
||||
|
|
|
|||
|
|
@ -1346,9 +1346,9 @@ SWWM_LORETXT_HEAVYMAHSHEENGUN =
|
|||
"\n"
|
||||
"Aunque generalmente ideada para el uso montado, la operación al paso es posible, siempre y cuando el usuario tenga una servoarmadura de grado plata como mínimo para manejar el potente retroceso.\n"
|
||||
"\n"
|
||||
"\cfFuego Primario:\c- Operación a 700 RPM. El fuego prolongado en este modo es en teoría infinito, ya que el calor producido puede ser anulado eficientemente por los sistemas de refrigeración internos, es entonces el modo recomendado para la mayoría de situaciones.\n"
|
||||
"\cfFuego Primario:\c- Operación a 300 RPM. Velocidad lenta. El fuego prolongado en este modo es en teoría infinito, ya que el calor producido puede ser anulado eficientemente por los sistemas de refrigeración internos, es entonces el modo recomendado para la mayoría de situaciones.\n"
|
||||
"\n"
|
||||
"\cfFuego Secundario:\c- Operación a 1050 RPM. Mayor velocidad, con calentamiento moderado. Aun es posible el fuego continuado en este modo, durante al menos un minuto aproximadamente desde un inicio en frío. Si necesitas repartir más dolor y tienes munición de sobra, usa esto.\n"
|
||||
"\cfFuego Secundario:\c- Operación a 700 RPM. Mayor velocidad, con calentamiento moderado. Aun es posible el fuego continuado en este modo, durante al menos un minuto aproximadamente desde un inicio en frío. Si necesitas repartir más dolor y tienes munición de sobra, usa esto.\n"
|
||||
"\n"
|
||||
"\cfFuego Terciario:\c- Operación a 2100 RPM. Extremadamente rápido, con el mayor potencial de calor. El fuego prolongado en este modo puede activar rápidamente el bloqueo de seguridad del arma si el aumento de temperatura se acerca a niveles no operacionales. Si tienes prisa por matar y no te importa quedarte sin munición en pocos segundos, entonces elige esto.\n"
|
||||
"\n"
|
||||
|
|
@ -2772,7 +2772,7 @@ SWWM_LORETXT_PLASMABLAST =
|
|||
"\n"
|
||||
"\cfFuego Secundario:\c- Disparo cargado. Mantener y soltar. Un proyectil más lento, pero mucho más fuerte y destructivo, especialmente si se carga con una célula completa. El arma debe ser sujeta con ambas manos, ya que la inestabilidad inducida por la carga interna de plasma puede dificultar el apuntar con una sola mano.\n"
|
||||
"\n"
|
||||
"\cfRecarga:\c- Reemplaza la célula de munición del arma. Cada una puede potenciar hasta 15 disparos.\n"
|
||||
"\cfRecarga:\c- Reemplaza la célula de munición del arma. Cada una puede potenciar hasta 8 disparos.\n"
|
||||
"\n"
|
||||
"\cfTécnicas:\c- Obtener un segundo Blaster de Plasma permite alternar a modo dual. El fuego secundario en este modo dispara el arma a mano izquierda.\n"
|
||||
"\n"
|
||||
|
|
@ -2959,7 +2959,7 @@ SWWM_LORETXT_RAYKHOM =
|
|||
"\n"
|
||||
"Desde su creación por el \cfProfesor Eushura Kmonn Jr.\c-, la \cfRay-Khom\c- se ha quedado con un puesto permanente en el equipamiento de cada soldado \cfXekkian\c-. Fiable, eficiente, necesitando casi ningún mantenimiento al carecer de partes móviles a excepción de su mecanismo de carga. La munición es adicionalmente muy fácil de conseguir, al menos localmente, ya que la exportación lleva consigo severos impuestos.\n"
|
||||
"\n"
|
||||
"El arma es potenciada en su totalidad por un compacto paquete de batería de cuatro celdas de Korberon-Eneiebium, proporcionando un abundante suministro energético. La munición viene en cargadores de 20. La munición en sí, proyectiles magnetizados sin casquillo de 40mm, incrustados de una carga de ignición hiperdensa de Dyratin, liberando potentes descargas de plasma ultracaliente, capaz de derretir rápidamente cualquier cosa a excepción de blindaje de Almacero de alta resonancia y causando potentes, urticantes quemaduras en piel Xekkian (o corrosión severa de tejido muscular y óseo en cualquier cosa más débil).\n"
|
||||
"El arma es potenciada en su totalidad por un compacto paquete de batería de cuatro celdas de Korberon-Eneiebium, proporcionando un abundante suministro energético. La munición viene en cargadores de 10. La munición en sí, proyectiles magnetizados sin casquillo de 40mm, incrustados de una carga de ignición hiperdensa de Dyratin, liberando potentes descargas de plasma ultracaliente, capaz de derretir rápidamente cualquier cosa a excepción de blindaje de Almacero de alta resonancia y causando potentes, urticantes quemaduras en piel Xekkian (o corrosión severa de tejido muscular y óseo en cualquier cosa más débil).\n"
|
||||
"\n"
|
||||
"\cfFuego Primario:\c- Fuego continuo, rápido y preciso. Retroceso mínimo dada la operación electromagnética, mayormente silencioso ya que los proyectiles son disparados a una velocidad poco menor que la del sonido. Tus enemigos tienen la garantía de no enterarse de tu ataque hasta ser demasiado tarde.\n"
|
||||
"\n"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
[default]
|
||||
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r131 \cu(Sun 19 Jun 18:02:57 CEST 2022)\c-";
|
||||
SWWM_SHORTVER="\cw1.3pre r131 \cu(2022-06-19 18:02:57)\c-";
|
||||
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r131 \cu(Wed 22 Jun 01:47:34 CEST 2022)\c-";
|
||||
SWWM_SHORTVER="\cw1.3pre r131 \cu(2022-06-22 01:47:34)\c-";
|
||||
|
|
|
|||
|
|
@ -18,9 +18,9 @@ The ammunition employed by this weapon are AP rounds of 14.5x114mm caliber. Unli
|
|||
|
||||
While generally meant for mounted use, on-the-go operation is possible, provided the user is equipped with silver-rated power armor at minimum in order to handle its heavy recoil.
|
||||
|
||||
\cfPrimary Fire:\c- 700 RPM operation. Sustained fire in this mode is theoretically endless, as the heat produced can be efficiently nullified by the internal cooling systems, it is therefore the recommended mode for most situations.
|
||||
\cfPrimary Fire:\c- 300 RPM operation. A slow spin. Sustained fire in this mode is theoretically endless, as the heat produced can be efficiently nullified by the internal cooling systems, it is therefore the recommended mode for most situations.
|
||||
|
||||
\cfSecondary Fire:\c- 1050 RPM operation. Much faster spin, with moderate heat buildup. It's still possible to keep firing in this mode for about a minute or so from a cold start. If you need to deliver more pain and have the ammunition to spare, choose this.
|
||||
\cfSecondary Fire:\c- 700 RPM operation. Much faster spin, with moderate heat buildup. It's still possible to keep firing in this mode for about a minute or so from a cold start. If you need to deliver more pain and have the ammunition to spare, choose this.
|
||||
|
||||
\cfTertiary Fire:\c- 2100 RPM operation. Extremely fast, with the highest heat potential. Sustained fire in this mode may quickly trigger the weapon's safety lock should the rising heat get too close to non-operational temperature. If you want things dead fast and don't care about running out of ammo in a matter of seconds, do pick this.
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ Developed by **Nuutek** in their days of old, nowadays discontinued but still be
|
|||
|
||||
\cfSecondary Fire:\c- Charged shot. Hold and release. A slower, but much stronger and destructive projectile, especially if charged from a full cell. The gun has to be held with both hands, as the instability induced by internal plasma charge may make aiming far more difficult single-handed.
|
||||
|
||||
\cfReload:\c- Replace the ammo cell on the weapon. Each can power up to 15 shots.
|
||||
\cfReload:\c- Replace the ammo cell on the weapon. Each can power up to 8 shots.
|
||||
|
||||
\cfTechniques:\c- Obtaining a second Plasma Blaster allows switching to dual-wield mode. Secondary fire in this mode shoots the left hand gun.
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ TXT
|
|||
|
||||
Ever since its creation by **Professor Eushura Kmonn Jr.**, the **Ray-Khom** has taken a permanent spot in every **Xekkian** soldier's loadout. Reliable, efficient, needing little to no maintenance due to lacking any moving parts beyond its feeding mechanism. Ammunition is additionally quite easy to come by, at least locally, as exports carry with them heavy taxing.
|
||||
|
||||
The weapon is powered entirely by a compact quad-cell Korberon-Eneiebium battery pack, providing a plentiful supply of energy. Ammunition is fed from 20-round magazines. The ammunition itself, slim 40mm caseless magnetized bolts, fitted with a hyperdense Dyratin ignition charge, releasing potent discharges of ultra-high temperature plasma on impact, capable of melting quickly through anything short of high resonant Almasteel plating and causing strong, stinging burns to Xekkian skin (or severe corrosion of muscle and bone tissue to anything weaker).
|
||||
The weapon is powered entirely by a compact quad-cell Korberon-Eneiebium battery pack, providing a plentiful supply of energy. Ammunition is fed from 10-round magazines. The ammunition itself, slim 40mm caseless magnetized bolts, fitted with a hyperdense Dyratin ignition charge, releasing potent discharges of ultra-high temperature plasma on impact, capable of melting quickly through anything short of high resonant Almasteel plating and causing strong, stinging burns to Xekkian skin (or severe corrosion of muscle and bone tissue to anything weaker).
|
||||
|
||||
\cfPrimary Fire:\c- Steady shooting, quick and precise. Minimal recoil due to the electromagnetic operation, mostly quiet as the projectiles are shot ever so slightly below the speed of sound. Your enemies are guaranteed to not take notice of your attacks until it's too late.
|
||||
|
||||
|
|
|
|||
|
|
@ -14,9 +14,9 @@ La munición empleada por este arma son balas anti-armadura del calibre 14.5x114
|
|||
|
||||
Aunque generalmente ideada para el uso montado, la operación al paso es posible, siempre y cuando el usuario tenga una servoarmadura de grado plata como mínimo para manejar el potente retroceso.
|
||||
|
||||
\cfFuego Primario:\c- Operación a 700 RPM. El fuego prolongado en este modo es en teoría infinito, ya que el calor producido puede ser anulado eficientemente por los sistemas de refrigeración internos, es entonces el modo recomendado para la mayoría de situaciones.
|
||||
\cfFuego Primario:\c- Operación a 300 RPM. Velocidad lenta. El fuego prolongado en este modo es en teoría infinito, ya que el calor producido puede ser anulado eficientemente por los sistemas de refrigeración internos, es entonces el modo recomendado para la mayoría de situaciones.
|
||||
|
||||
\cfFuego Secundario:\c- Operación a 1050 RPM. Mayor velocidad, con calentamiento moderado. Aun es posible el fuego continuado en este modo, durante al menos un minuto aproximadamente desde un inicio en frío. Si necesitas repartir más dolor y tienes munición de sobra, usa esto.
|
||||
\cfFuego Secundario:\c- Operación a 700 RPM. Mayor velocidad, con calentamiento moderado. Aun es posible el fuego continuado en este modo, durante al menos un minuto aproximadamente desde un inicio en frío. Si necesitas repartir más dolor y tienes munición de sobra, usa esto.
|
||||
|
||||
\cfFuego Terciario:\c- Operación a 2100 RPM. Extremadamente rápido, con el mayor potencial de calor. El fuego prolongado en este modo puede activar rápidamente el bloqueo de seguridad del arma si el aumento de temperatura se acerca a niveles no operacionales. Si tienes prisa por matar y no te importa quedarte sin munición en pocos segundos, entonces elige esto.
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ Desarrollado antaño por **Nuutek**, y actualmente descontinuado pero todavía s
|
|||
|
||||
\cfFuego Secundario:\c- Disparo cargado. Mantener y soltar. Un proyectil más lento, pero mucho más fuerte y destructivo, especialmente si se carga con una célula completa. El arma debe ser sujeta con ambas manos, ya que la inestabilidad inducida por la carga interna de plasma puede dificultar el apuntar con una sola mano.
|
||||
|
||||
\cfRecarga:\c- Reemplaza la célula de munición del arma. Cada una puede potenciar hasta 15 disparos.
|
||||
\cfRecarga:\c- Reemplaza la célula de munición del arma. Cada una puede potenciar hasta 8 disparos.
|
||||
|
||||
\cfTécnicas:\c- Obtener un segundo Blaster de Plasma permite alternar a modo dual. El fuego secundario en este modo dispara el arma a mano izquierda.
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ TXT
|
|||
|
||||
Desde su creación por el **Profesor Eushura Kmonn Jr.**, la **Ray-Khom** se ha quedado con un puesto permanente en el equipamiento de cada soldado **Xekkian**. Fiable, eficiente, necesitando casi ningún mantenimiento al carecer de partes móviles a excepción de su mecanismo de carga. La munición es adicionalmente muy fácil de conseguir, al menos localmente, ya que la exportación lleva consigo severos impuestos.
|
||||
|
||||
El arma es potenciada en su totalidad por un compacto paquete de batería de cuatro celdas de Korberon-Eneiebium, proporcionando un abundante suministro energético. La munición viene en cargadores de 20. La munición en sí, proyectiles magnetizados sin casquillo de 40mm, incrustados de una carga de ignición hiperdensa de Dyratin, liberando potentes descargas de plasma ultracaliente, capaz de derretir rápidamente cualquier cosa a excepción de blindaje de Almacero de alta resonancia y causando potentes, urticantes quemaduras en piel Xekkian (o corrosión severa de tejido muscular y óseo en cualquier cosa más débil).
|
||||
El arma es potenciada en su totalidad por un compacto paquete de batería de cuatro celdas de Korberon-Eneiebium, proporcionando un abundante suministro energético. La munición viene en cargadores de 10. La munición en sí, proyectiles magnetizados sin casquillo de 40mm, incrustados de una carga de ignición hiperdensa de Dyratin, liberando potentes descargas de plasma ultracaliente, capaz de derretir rápidamente cualquier cosa a excepción de blindaje de Almacero de alta resonancia y causando potentes, urticantes quemaduras en piel Xekkian (o corrosión severa de tejido muscular y óseo en cualquier cosa más débil).
|
||||
|
||||
\cfFuego Primario:\c- Fuego continuo, rápido y preciso. Retroceso mínimo dada la operación electromagnética, mayormente silencioso ya que los proyectiles son disparados a una velocidad poco menor que la del sonido. Tus enemigos tienen la garantía de no enterarse de tu ataque hasta ser demasiado tarde.
|
||||
|
||||
|
|
|
|||
|
|
@ -320,6 +320,7 @@ Class RayBolt : MagAmmo
|
|||
//$Icon ammo
|
||||
Tag "$T_RAYBOLT";
|
||||
MagAmmo.PickupTag "RAYBOLT";
|
||||
Stamina -8000;
|
||||
Inventory.Icon "graphics/HUD/Icons/A_RayBolt.png";
|
||||
MagAmmo.ParentAmmo "RayAmmo";
|
||||
MagAmmo.ClipSize 10;
|
||||
|
|
@ -397,6 +398,7 @@ Class MisterRound : MagAmmo
|
|||
//$Icon ammo
|
||||
Tag "$T_MRROUND";
|
||||
MagAmmo.PickupTag "MRROUND";
|
||||
Stamina -14000;
|
||||
Inventory.Icon "graphics/HUD/Icons/A_MRRound.png";
|
||||
MagAmmo.ParentAmmo "MisterAmmo";
|
||||
MagAmmo.ClipSize 20;
|
||||
|
|
@ -547,6 +549,7 @@ Class UltimatePod : MagAmmo
|
|||
//$Icon ammo
|
||||
Tag "$T_ULTIMATEPOD";
|
||||
MagAmmo.PickupTag "ULTIMATEPOD";
|
||||
Stamina -400000;
|
||||
Inventory.PickupSound "misc/bullet_pkup_vip";
|
||||
Inventory.Icon "graphics/HUD/Icons/A_UltimatePod.png";
|
||||
MagAmmo.ParentAmmo "UltimateAmmo";
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ Class RayKhom : SWWMWeapon
|
|||
{
|
||||
int clipcount, clipcount2;
|
||||
bool chambered;
|
||||
int charge;
|
||||
|
||||
Property ClipCount : clipcount;
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ Class RafanKos : SWWMWeapon
|
|||
{
|
||||
int clipcount;
|
||||
bool chambered;
|
||||
int charge;
|
||||
|
||||
Property ClipCount : clipcount;
|
||||
|
||||
|
|
|
|||
|
|
@ -481,7 +481,7 @@ extend Class SWWMStatusBar
|
|||
void Alt_DrawWeapons()
|
||||
{
|
||||
if ( CPlayer.ReadyWeapon is 'SWWMWeapon' ) SWWMWeapon(CPlayer.ReadyWeapon).DrawWeaponAlt(FracTic,ss.x-(margin+56),ss.y-(margin+12),hs,ss);
|
||||
else
|
||||
else if ( CPlayer.ReadyWeapon )
|
||||
{
|
||||
// generic display
|
||||
double xx = ss.x-(margin+58), yy = ss.y-(margin+22);
|
||||
|
|
|
|||
|
|
@ -807,6 +807,7 @@ Class SilverBullets : MagAmmo
|
|||
//$Icon ammo
|
||||
Tag "$T_XSBBULLET";
|
||||
MagAmmo.PickupTag "XSBBULLET";
|
||||
Stamina -12000;
|
||||
Inventory.Icon "graphics/HUD/Icons/A_SilverBulletBullet.png";
|
||||
MagAmmo.ParentAmmo "SilverBulletAmmo";
|
||||
MagAmmo.ClipSize 5;
|
||||
|
|
@ -859,6 +860,7 @@ Class SilverBullets2 : MagAmmo
|
|||
//$Icon ammo
|
||||
Tag "$T_FCBBULLET";
|
||||
MagAmmo.PickupTag "FCBBULLET";
|
||||
Stamina -15000;
|
||||
Inventory.Icon "graphics/HUD/Icons/A_SilverBulletBullet2.png";
|
||||
MagAmmo.ParentAmmo "SilverBulletAmmo2";
|
||||
MagAmmo.ClipSize 5;
|
||||
|
|
@ -948,6 +950,7 @@ Class CandyGunBullets : MagAmmo
|
|||
//$Icon ammo
|
||||
Tag "$T_CANDYBULLET";
|
||||
MagAmmo.PickupTag "CANDYBULLET";
|
||||
Stamina -14000;
|
||||
Inventory.Icon "graphics/HUD/Icons/A_CandyBullet.png";
|
||||
MagAmmo.ParentAmmo "CandyGunAmmo";
|
||||
MagAmmo.ClipSize 7;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ Class ArmorNugget : SWWMArmor
|
|||
Default
|
||||
{
|
||||
Inventory.Icon "graphics/HUD/Icons/I_ArmorNugget.png";
|
||||
Inventory.Amount 1;
|
||||
Inventory.Amount 5;
|
||||
Inventory.MaxAmount 200;
|
||||
Inventory.InterHubAmount 200;
|
||||
SWWMArmor.ArmorPriority 3;
|
||||
|
|
@ -52,7 +52,7 @@ Class ArmorNuggetItem : SWWMSpareArmor
|
|||
//$Sprite graphics/HUD/Icons/I_ArmorNugget.png
|
||||
//$Icon armour
|
||||
Tag "$T_NUGGETA";
|
||||
Stamina 400;
|
||||
Stamina 1200;
|
||||
Inventory.PickupMessage "$T_NUGGETA";
|
||||
Inventory.MaxAmount 0;
|
||||
Inventory.InterHubAmount 0;
|
||||
|
|
|
|||
|
|
@ -376,6 +376,17 @@ Class MagAmmo : Inventory abstract
|
|||
// drop excess mag ammo
|
||||
if ( (item is 'MagAmmo') && (MagAmmo(item).GetParentMagAmmo() == GetClass()) )
|
||||
{
|
||||
// can somehow happen
|
||||
if ( !pamo )
|
||||
{
|
||||
pamo = Ammo(Owner.FindInventory(ParentAmmo));
|
||||
if ( !pamo )
|
||||
{
|
||||
pamo = Ammo(Spawn(ParentAmmo));
|
||||
pamo.AttachToOwner(Owner);
|
||||
pamo.Amount = 0;
|
||||
}
|
||||
}
|
||||
if ( bUNDROPPABLE || bUNTOSSABLE )
|
||||
{
|
||||
// undroppable mag ammo only drops full mags.
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ Class SWWMSpareArmor : Inventory abstract
|
|||
override bool Use( bool pickup )
|
||||
{
|
||||
let cur = Owner.FindInventory(giveme);
|
||||
if ( !cur || (!pickup && (cur.Amount < cur.MaxAmount)) || (GetDefaultByType(giveme).Amount+cur.Amount <= cur.MaxAmount) )
|
||||
if ( !cur || (!pickup && (cur.Amount < cur.MaxAmount)) || (GetDefaultByType(giveme).Amount+cur.Amount <= cur.MaxAmount) || ((default.MaxAmount > 0) && (cur.Amount < cur.MaxAmount)) )
|
||||
{
|
||||
if ( pickup && ((Owner.player == players[consoleplayer]) || bBigPowerup) ) Owner.A_StartSound(UseSound,CHAN_ITEMEXTRA,CHANF_OVERLAP);
|
||||
Owner.GiveInventory(giveme,GetDefaultByType(giveme).Amount);
|
||||
|
|
|
|||
|
|
@ -70,8 +70,8 @@ Class SWWMHealth : Inventory abstract
|
|||
override bool Use( bool pickup )
|
||||
{
|
||||
if ( Owner.Health >= GetDefaultByType(giveme).MaxAmount ) return false;
|
||||
// healing items won't get auto-used on pickup if their healing could "be wasted", unless they're powerup health (e.g. Refresher)
|
||||
if ( pickup && !bBIGPOWERUP && (Owner.Health+GetDefaultByType(giveme).Amount > GetDefaultByType(giveme).MaxAmount) ) return false;
|
||||
// healing items won't get auto-used on pickup if their healing could "be wasted", unless they're powerup health (e.g. Refresher) or bonus health
|
||||
if ( pickup && !bBIGPOWERUP && (default.MaxAmount > 0) && (Owner.Health+GetDefaultByType(giveme).Amount > GetDefaultByType(giveme).MaxAmount) ) return false;
|
||||
if ( pickup && ((Owner.player == players[consoleplayer]) || bBigPowerup) ) Owner.A_StartSound(UseSound,CHAN_ITEMEXTRA,CHANF_OVERLAP);
|
||||
SWWMHandler.HealthFlash(Owner.PlayerNumber());
|
||||
Owner.GiveInventory(giveme,GetDefaultByType(giveme).Amount);
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ Class HealthNugget : Health
|
|||
{
|
||||
Default
|
||||
{
|
||||
Inventory.Amount 1;
|
||||
Inventory.Amount 2;
|
||||
Inventory.MaxAmount 200;
|
||||
}
|
||||
}
|
||||
|
|
@ -96,7 +96,7 @@ Class HealthNuggetItem : SWWMHealth
|
|||
//$Sprite graphics/HUD/Icons/I_HealthNugget.png
|
||||
//$Icon health
|
||||
Tag "$T_NUGGETH";
|
||||
Stamina 200;
|
||||
Stamina 500;
|
||||
Inventory.PickupMessage "$T_NUGGETH";
|
||||
Inventory.MaxAmount 0;
|
||||
Inventory.InterHubAmount 0;
|
||||
|
|
|
|||
|
|
@ -3020,9 +3020,9 @@ Class MykradvoX : GhostArtifactX
|
|||
Destroy();
|
||||
return;
|
||||
}
|
||||
prev = target.prev+(0,0,16);
|
||||
prev = target.prev;
|
||||
vel = target.vel;
|
||||
if ( (target.pos != pos+(0,0,16)) || (target.vel != (0,0,0)) ) SetOrigin(target.pos+(0,0,16)+vel,true);
|
||||
if ( (target.pos != pos) || (target.vel != (0,0,0)) ) SetOrigin(target.pos+vel,true);
|
||||
if ( angle != target.angle ) A_SetAngle(target.angle,SPF_INTERPOLATE);
|
||||
FloatBobPhase = target.FloatBobPhase;
|
||||
A_SetScale(.16+.01*sin(GetAge()*4));
|
||||
|
|
|
|||
|
|
@ -141,6 +141,7 @@ Class DemolitionistStoreTab : DemolitionistMenuTab
|
|||
}
|
||||
// ignore child ammos
|
||||
if ( (type is 'Ammo') && (type.GetParentClass() != 'SWWMAmmo') ) return true;
|
||||
if ( (type is 'MagAmmo') && (type.GetParentClass() != 'MagAmmo') ) return true;
|
||||
// items must have a set price
|
||||
if ( inv.Stamina == 0 ) return true;
|
||||
// items with negative stamina can only be sold
|
||||
|
|
@ -478,21 +479,33 @@ Class DemolitionistMenuStoreItem : DemolitionistMenuListItem
|
|||
}
|
||||
}
|
||||
}
|
||||
// nuggets can be bought/sold in bulk
|
||||
else if ( inv is 'MagAmmo' )
|
||||
{
|
||||
// never bought, only sold
|
||||
int maxamt = cur.Amount;
|
||||
// get the largest affordable child pickup amount (that we can sell)
|
||||
for ( int j=0; j<AllActorClasses.Size(); j++ )
|
||||
{
|
||||
let inv2 = (Class<MagAmmo>)(AllActorClasses[j]);
|
||||
if ( !inv2 || (inv2.GetParentClass() != inv) ) continue;
|
||||
let def2 = GetDefaultByType(inv2);
|
||||
int cprice = int(abs(def.Stamina)*(1.+.75*(def2.Amount-1)));
|
||||
if ( (def2.Amount > amt) && (def2.Amount <= maxamt) )
|
||||
{
|
||||
price = cprice;
|
||||
amt = def2.Amount;
|
||||
}
|
||||
}
|
||||
}
|
||||
// nuggets can be bought in bulk
|
||||
else if ( inv is 'HealthNuggetItem' )
|
||||
{
|
||||
let def2 = GetDefaultByType(SWWMHealth(def).giveme);
|
||||
int maxamt;
|
||||
if ( bSell ) maxamt = cur.Amount;
|
||||
else
|
||||
{
|
||||
maxamt = (def2.MaxAmount-players[consoleplayer].Health);
|
||||
maxamt += cur?(cur.MaxAmount-cur.Amount):def.MaxAmount;
|
||||
}
|
||||
for ( int j=5; j<=20; j+=5 )
|
||||
int maxamt = int(ceil((def2.MaxAmount-players[consoleplayer].Health)/double(def2.Amount)));
|
||||
for ( int j=5; j<=25; j+=5 )
|
||||
{
|
||||
int cprice = int(def.Stamina*(1.+.75*(j-1)));
|
||||
if ( (j <= maxamt) && (bSell || SWWMCredits.CanTake(players[consoleplayer],cprice)) )
|
||||
if ( (j <= maxamt) && SWWMCredits.CanTake(players[consoleplayer],cprice) )
|
||||
{
|
||||
price = cprice;
|
||||
amt = j;
|
||||
|
|
@ -503,17 +516,11 @@ Class DemolitionistMenuStoreItem : DemolitionistMenuListItem
|
|||
{
|
||||
let def2 = GetDefaultByType(SWWMSpareArmor(def).giveme);
|
||||
let cur2 = players[consoleplayer].mo.FindInventory(SWWMSpareArmor(def).giveme);
|
||||
int maxamt;
|
||||
if ( bSell ) maxamt = cur.Amount;
|
||||
else
|
||||
{
|
||||
maxamt = cur2?(cur2.MaxAmount-cur2.Amount):def2.MaxAmount;
|
||||
maxamt += cur?(cur.MaxAmount-cur.Amount):def.MaxAmount;
|
||||
}
|
||||
int maxamt = int(ceil((cur2?(cur2.MaxAmount-cur2.Amount):def2.MaxAmount)/double(def2.Amount)));
|
||||
for ( int j=5; j<=20; j+=5 )
|
||||
{
|
||||
int cprice = int(def.Stamina*(1.+.75*(j-1)));
|
||||
if ( (j <= maxamt) && (bSell || SWWMCredits.CanTake(players[consoleplayer],cprice)) )
|
||||
if ( (j <= maxamt) && SWWMCredits.CanTake(players[consoleplayer],cprice) )
|
||||
{
|
||||
price = cprice;
|
||||
amt = j;
|
||||
|
|
@ -527,17 +534,16 @@ Class DemolitionistMenuStoreItem : DemolitionistMenuListItem
|
|||
if ( w.AmmoType1 && (w.AmmoGive1 > 0) )
|
||||
{
|
||||
let am1 = GetDefaultByType(w.AmmoType1);
|
||||
if ( am1.Stamina > 0 ) price -= int(am1.Stamina*(1.+.75*(w.AmmoGive1-1)));
|
||||
if ( am1.Stamina != 0 ) price -= int(abs(am1.Stamina)*(1.+.75*(w.AmmoGive1-1)));
|
||||
}
|
||||
// candygun and rafan-kos are a special case for secondary ammo
|
||||
if ( w.AmmoType2 && (w.AmmoGive2 > 0) && ((inv is 'CandyGun') || (inv is 'RafanKos')) )
|
||||
if ( w.AmmoType2 && (w.AmmoGive2 > 0) )
|
||||
{
|
||||
let am2 = GetDefaultByType(w.AmmoType2);
|
||||
if ( am2.Stamina > 0 ) price -= int(am2.Stamina*(1.+.75*(w.AmmoGive2-1)));
|
||||
if ( am2.Stamina != 0 ) price -= int(abs(am2.Stamina)*(1.+.75*(w.AmmoGive2-1)));
|
||||
}
|
||||
}
|
||||
// sell at half price
|
||||
if ( bSell ) price /= 2;
|
||||
if ( bSell ) price = int(abs(def.Stamina)*amt)/2;
|
||||
return price, amt;
|
||||
}
|
||||
|
||||
|
|
@ -551,14 +557,14 @@ Class DemolitionistMenuStoreItem : DemolitionistMenuListItem
|
|||
{
|
||||
pricelabel = String.Format("\cd¥%d\c-",price);
|
||||
int cur = (inv is 'CandyGun')?(players[consoleplayer].mo.CountInv("CandyGunSpares")+1):players[consoleplayer].mo.CountInv(inv);
|
||||
if ( (cur > 1) || (inv is 'Ammo') ) label = String.Format("%s (%d/%d)",def.GetTag(),amt,cur);
|
||||
if ( (cur > 1) || (inv is 'Ammo') || (inv is 'MagAmmo') ) label = String.Format("%s (%d/%d)",def.GetTag(),amt,cur);
|
||||
else label = def.GetTag();
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( price > master.muns ) pricelabel = String.Format("\cm¥%d\c-",price);
|
||||
else pricelabel = String.Format("\cx¥%d\cx",price);
|
||||
if ( (amt > 1) || (inv is 'Ammo') ) label = String.Format("%dx %s",amt,def.GetTag());
|
||||
if ( (amt > 1) || (inv is 'Ammo') || (inv is 'MagAmmo') ) label = String.Format("%dx %s",amt,def.GetTag());
|
||||
else label = def.GetTag();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue