diff --git a/README.md b/README.md index ca28abc55..ec91c3f96 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ You are an **Akari Labs Demolitionist Bot**, one of the very first units, fresh Additional features: - - **Glowing color tags:** Located around various parts of your body, allows easy signaling and identification of the unit's presence in darker areas. + - **Glowing color tags:** Located around various parts of your body, allows easy signaling and identification of the unit's presence in darker areas. The colors can be customized to easily tell apart multiple units. - **Lucky Collar:** A little gift from your creator, to keep you safe. Reduces incoming damage by 75% when you're below 25% health. Plus an additional 50% reduction to any damage from your own weapons. - **High-Resonant Almasteel Plating:** Your chassis is built from one of the hardest alloys known across the universe. Thus, your body is practically indestructible, but not impervious to damage. All splash damage is reduced by 80%, and you only take half damage from crushers *(and may cause them to break, permanently)*. - **User Menu:** With the press of a button, open a dedicated menu to see all your stats in detail, info on carried items and weapons, check out a grand library of information on things you come across, and access the store for buying extra items with your score points. @@ -190,7 +190,7 @@ Should you make use of its multi-fire functionality, you will soon learn why it ### Puntzer Gamma (slot 4) ~ Replaces SSG, Ethereal Crossbow, Frost Shards ![](docimg/puntzergamma.png) -Just your friendly neighborhood bullpup SMG, with a somewhat unconventional feeding system. +Just your friendly neighborhood SMG, with a somewhat unconventional feeding system. **Primary fire:** It shoots, what else. Note that you'll gradually lose accuracy the longer you keep firing. @@ -693,15 +693,7 @@ Message display. Can be configured to show different numbers of messages dependi ### Top right corner -Current score. - -The scoring system is pretty straightforward. Each enemy you kill will give you points according to 5% of its base health, rounded up to the nearest multiple of 10 and capped to 1000 *(and multiplied by the current skill's damage factor)*, plus some extra bonuses for feats such as multikills *(within 5 seconds of each other)*, gibbing enemies, killing bosses, and much more! - -You are also given score for finding secrets and counted items, +100 for each secret, +1000 if it's the final one and +10 for each item or +500 if it's the final one. In addition, +5000 will be given to all players if the level is fully cleared *(100% kills/items/secrets)*. - -Score can be used to buy items on the in-game store *(or gained from selling them)*, and it is preserved between hubs, but pistol starts will reset it *(configurable, like most things)*. - -Right below your score box, a toggleable minimap will be shown. It works mostly like the radar did in **SWWM Z**, but has the added benefit of also showing map geometry *(an absolute nightmare to code)*. Has its own custom color scheme, but it can also be set to inherit these from GZDoom's own automap settings, or various vanilla presets. +Minimap *(toggleable)*. It works mostly like the radar did in **SWWM Z**, but has the added benefit of also showing map geometry *(an absolute nightmare to code)*. Has its own custom color scheme, but it can also be set to inherit these from GZDoom's own automap settings, or various vanilla presets. In addition, you may also see the stats for the level *(as well as its name if the automap is active)*, and below, any collected keys. @@ -717,13 +709,23 @@ Oh, and also, when bringing up a certain weapon for the first time, you will see Your health and fuel, along with an inventory box, and all active armors and powerups *(with their respective durability/duration)*. +There is also a cute lil' classic animated mugshot, which shows your current mood, plus some visual effects caused by any active powerups. + ### Bottom border Voice acting subtitles and pickup messages. Repeated pickups will have a multiplier suffix added. Total messages shown are also configurable. Achievement popups might also show here sporadically *(yup, the mod has those)*. ### Bottom right corner -The weapon slots. Above them, the currently equipped weapon's stats *(i.e.: ammo(s) and such)*. +The weapon slots. Above them, the currently equipped weapon's stats as well as a listing of your ammo. + +And right above that ammo listing... Your current score. + +The scoring system is pretty straightforward. Each enemy you kill will give you points according to 5% of its base health, rounded up to the nearest multiple of 10 and capped to 1000 *(and multiplied by the current skill's damage factor)*, plus some extra bonuses for feats such as multikills *(within 5 seconds of each other)*, gibbing enemies, killing bosses, and much more! + +You are also given score for finding secrets and counted items, +100 for each secret, +1000 if it's the final one and +10 for each item or +500 if it's the final one. In addition, +5000 will be given to all players if the level is fully cleared *(100% kills/items/secrets)*. + +Score can be used to buy items on the in-game store *(or gained from selling them)*, and it is preserved between hubs, but pistol starts will reset it *(configurable, like most things)*. ### Targeting Array diff --git a/docimg/hammer.png b/docimg/hammer.png new file mode 100644 index 000000000..834f512a0 Binary files /dev/null and b/docimg/hammer.png differ diff --git a/docimg/hudsample.png b/docimg/hudsample.png index 18c279c33..0cd7e09f7 100644 Binary files a/docimg/hudsample.png and b/docimg/hudsample.png differ diff --git a/docimg/mortalrifle.png b/docimg/mortalrifle.png new file mode 100644 index 000000000..d487aa765 Binary files /dev/null and b/docimg/mortalrifle.png differ diff --git a/docimg/plasmablast.png b/docimg/plasmablast.png new file mode 100644 index 000000000..85ff5301c Binary files /dev/null and b/docimg/plasmablast.png differ diff --git a/docimg/puntzerbeta.png b/docimg/puntzerbeta.png new file mode 100644 index 000000000..077e04b8a Binary files /dev/null and b/docimg/puntzerbeta.png differ diff --git a/docimg/puntzergamma.png b/docimg/puntzergamma.png new file mode 100644 index 000000000..97a862bb1 Binary files /dev/null and b/docimg/puntzergamma.png differ diff --git a/docimg/quadravol.png b/docimg/quadravol.png new file mode 100644 index 000000000..179e1bbb5 Binary files /dev/null and b/docimg/quadravol.png differ diff --git a/docimg/rafankos.png b/docimg/rafankos.png new file mode 100644 index 000000000..856bcbfc9 Binary files /dev/null and b/docimg/rafankos.png differ diff --git a/docimg/raykhom.png b/docimg/raykhom.png new file mode 100644 index 000000000..1dab1646e Binary files /dev/null and b/docimg/raykhom.png differ diff --git a/docimg/sparkster.png b/docimg/sparkster.png new file mode 100644 index 000000000..a5e7ee498 Binary files /dev/null and b/docimg/sparkster.png differ diff --git a/language.version b/language.version index bdc49c4b3..5afe488c8 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r280 \cu(Mon 8 Aug 13:46:32 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r280 \cu(2022-08-08 13:46:32)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r281 \cu(Tue 9 Aug 00:53:32 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r281 \cu(2022-08-09 00:53:32)\c-"; diff --git a/zscript/dlc1/swwm_ammoitems_dlc.zsc b/zscript/dlc1/swwm_ammoitems_dlc.zsc index 1987cddc8..cd455b361 100644 --- a/zscript/dlc1/swwm_ammoitems_dlc.zsc +++ b/zscript/dlc1/swwm_ammoitems_dlc.zsc @@ -9,7 +9,7 @@ Class SMW05Ammo : SWWMAmmo Stamina 300; Inventory.Amount 1; Inventory.MaxAmount 80; - Ammo.BackpackAmount 6; + Ammo.BackpackAmount 20; Ammo.BackpackMaxAmount 200; Ammo.DropAmount 3; +FLOATBOB; @@ -61,12 +61,12 @@ Class SheenAmmo : SWWMAmmo Stamina 600; Inventory.Amount 1; Inventory.MaxAmount 400; - Ammo.BackpackAmount 40; + Ammo.BackpackAmount 50; Ammo.BackpackMaxAmount 800; - Ammo.DropAmount 10; + Ammo.DropAmount 20; +FLOATBOB; FloatBobStrength 0.25; - Accuracy 35; + Accuracy 30; Radius 2; Height 22; } @@ -118,9 +118,9 @@ Class QuadravolAmmo : SWWMAmmo SWWMAmmo.PickupTag "QUADAMMO"; Stamina 10000; Inventory.Amount 1; - Inventory.MaxAmount 24; + Inventory.MaxAmount 48; Ammo.BackpackAmount 4; - Ammo.BackpackMaxAmount 40; + Ammo.BackpackMaxAmount 80; Ammo.DropAmount 1; +FLOATBOB; FloatBobStrength 0.25; @@ -156,9 +156,9 @@ Class SparksterBAmmo : SWWMAmmo SWWMAmmo.PickupTag "SPARKBCELL"; Stamina 16000; Inventory.Amount 1; - Inventory.MaxAmount 8; + Inventory.MaxAmount 12; Ammo.BackpackAmount 1; - Ammo.BackpackMaxAmount 16; + Ammo.BackpackMaxAmount 36; Ammo.DropAmount 1; +FLOATBOB; FloatBobStrength 0.25; @@ -194,9 +194,9 @@ Class SparksterRAmmo : SWWMAmmo SWWMAmmo.PickupTag "SPARKRCELL"; Stamina 18000; Inventory.Amount 1; - Inventory.MaxAmount 8; + Inventory.MaxAmount 12; Ammo.BackpackAmount 1; - Ammo.BackpackMaxAmount 16; + Ammo.BackpackMaxAmount 36; Ammo.DropAmount 1; +FLOATBOB; FloatBobStrength 0.25; diff --git a/zscript/items/swwm_ammospawn.zsc b/zscript/items/swwm_ammospawn.zsc index 23488edb6..7fe68dc14 100644 --- a/zscript/items/swwm_ammospawn.zsc +++ b/zscript/items/swwm_ammospawn.zsc @@ -11,7 +11,6 @@ Class SWWMAmmoSpawner : Inventory abstract enemydrop = true; return false; } - abstract Class PickAmmo( bool enemydrop = false ); void SpawnAmmo() @@ -29,6 +28,7 @@ Class SWWMAmmoSpawner : Inventory abstract { let i = Inventory(a); i.bTossed = true; + i.ModifyDropAmount(i.Amount); if ( i.SpecialDropAction(dropper) ) { i.Destroy(); @@ -134,7 +134,7 @@ Class SWWMClipAmmoSmall : SWWMAmmoSpawner bool aex = SWWMUtility.ItemExists('Eviscerator',ownedonly:enemydrop), bex = SWWMUtility.ItemExists('HeavyMahSheenGun',ownedonly:enemydrop); if ( (!aex && bex) || (Random[Replacements](0,1) && bex) ) - return Random[Replacements](0,2)?'SheenAmmo2':'SheenAmmo3'; + return Random[Replacements](0,1)?'SheenAmmo2':'SheenAmmo3'; if ( aex ) return 'EvisceratorShell'; } bool aex = (SWWMUtility.ItemExists('Spreadgun',ownedonly:enemydrop)||SWWMUtility.ItemExists('Wallbuster',ownedonly:enemydrop)), @@ -152,7 +152,7 @@ Class SWWMClipAmmoMed : SWWMAmmoSpawner bool aex = SWWMUtility.ItemExists('Eviscerator',ownedonly:enemydrop), bex = SWWMUtility.ItemExists('HeavyMahSheenGun',ownedonly:enemydrop); if ( (!aex && bex) || (Random[Replacements](0,1) && bex) ) - return Random[Replacements](0,1)?'SheenSmallAmmo':'SheenAmmo3'; + return 'SheenSmallAmmo'; return Random[Replacements](0,1)?'EvisceratorShell2':'EvisceratorShell'; } } @@ -163,7 +163,7 @@ Class SWWMClipAmmoBig : SWWMAmmoSpawner bool aex = SWWMUtility.ItemExists('Eviscerator',ownedonly:enemydrop), bex = SWWMUtility.ItemExists('HeavyMahSheenGun',ownedonly:enemydrop); if ( (!aex && bex) || (Random[Replacements](0,1) && bex) ) - return Random[Replacements](0,1)?'SheenSmallAmmo':'SheenBigAmmo'; + return 'SheenBigAmmo'; return Random[Replacements](0,1)?'EvisceratorShell2':'EvisceratorShell3'; } } @@ -174,7 +174,7 @@ Class SWWMBlastAmmoSmall : SWWMAmmoSpawner bool aex = SWWMUtility.ItemExists('Eviscerator',ownedonly:enemydrop), bex = SWWMUtility.ItemExists('HeavyMahSheenGun',ownedonly:enemydrop); if ( (!aex && bex) || (Random[Replacements](0,1) && bex) ) - return Random[Replacements](0,2)?'SheenAmmo3':'SheenSmallAmmo'; + return Random[Replacements](0,1)?'SheenAmmo3':'SheenSmallAmmo'; return 'EvisceratorShell'; } } @@ -185,7 +185,7 @@ Class SWWMBlastAmmoBig : SWWMAmmoSpawner bool aex = SWWMUtility.ItemExists('Eviscerator',ownedonly:enemydrop), bex = SWWMUtility.ItemExists('HeavyMahSheenGun',ownedonly:enemydrop); if ( (!aex && bex) || (Random[Replacements](0,1) && bex) ) - return Random[Replacements](0,2)?'SheenBigAmmo':'SheenSmallAmmo'; + return 'SheenBigAmmo'; return Random[Replacements](0,2)?'EvisceratorShell3':'EvisceratorShell2'; } }