Typo fix.

Readme tweaks.
Add support for recoloring player tags through add-ons.
This commit is contained in:
Mari the Deer 2021-01-13 12:38:50 +01:00
commit 1b7f64ee81
8 changed files with 33 additions and 15 deletions

View file

@ -36,17 +36,18 @@ You are an **Akari Labs Demolitionist Bot**, one of the very first units, fresh
Additional features:
- **Programmable colour tags:** Located around various parts of your body, allows quick and easy differentiation between multiple units (not available due to *engine limitations™*, so they're always green).
- **Lucky Collar:** A little something that your creator gives to all of her creations. Reduces incoming damage by 75% when you're below 25% health.
- **Glowing color tags:** Located around various parts of your body, allows quick and easy differentiation between multiple units (color not directly configurable due to *engine limitations™*).
- **Lucky Collar:** A little something that your creator gives to all of her creations. 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 direct damage is reduced by 50%, and all explosive damage is reduced by 80%.
- **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.
- **Magnetic Utility Belt:** Makes some weapons easier to reload while on the go.
- **Keychain:** For carrying all your keys around, and other valuable things.
- **Pocket Hammerspace™ containers:** These will store and deploy your ammunition and weapons on demand. The capacity for ammo storage can be increased by finding **Hammerspace™ Embiggener** modules.
- **Forx JetBurst™ Units:** Can be used for quick dashes in any direction, or even for short bursts of flight.
- **Magnetic Utility Belt:** Holds important equipment tightly, and is also the secret to how you can reload some weapons so damn fast.
- **Keychain:** A lil' something to bring some extra good luck charms with you.
- **Pocket Hammerspace™ containers:** These will store and deploy items on demand, along with keeping hold of any keys you find. The capacity for ammo storage can be increased by finding **Hammerspace™ Embiggener** modules.
- **Forx JetBurst™ Impulsors:** Can be used for quick dashes in any direction, or even for short bursts of flight.
- **Targetting Array:** Tracks nearby foes and provides basic information on their health. Compatible with **Omnisight™** mapping modules for tracking key items and nearby exits. Can also highlight nearby pickups by holding a dedicated button.
- **Akari Labs CuteEmotion™ Display:** Equipped onto your visor to show a wide range of predefined facial expressions in order to convey simple emotions to others.
- **Akari Labs LoudBoi™ Voicebox:** Allows you to 🇪 🇲 🇮 🇹. Additional voice options will be available through add-ons. Note that the default voice is in Japanese, but subtitles will be provided when available.
- **On-demand Item Obtainers:** AKA "hands". You can pick up certain items from a distance by pressing Use (this is mainly a workaround for any quirks that might come from items in this mod having modified collision).
- **Akari Labs LoudBoi™ Voicebox:** Allows you to 🇪 🇲 🇮 🇹. Easily moddable to allow alternate voicepack add-ons. Note that the default voice is in Japanese, but subtitles will be provided when needed.
- **On-demand Item Obtainers:** AKA "hands". You can pick up the mod's items from a distance by pressing Use (this is mainly a workaround for any quirks that might come from them having modified collision).
**Note:** Since you're a robutt you pretty much can swim indefinitely and are also immune to poison.
@ -455,6 +456,7 @@ A single-volume manga by Saya Miyamoto "based on true events" about a young girl
The most adorable and huggable plush doll of the cutest and sweetest emperor. This was not only also handcrafted by Nukritas 2xx, but also imbued with Kirin's magic, his blessing making anyone feel warm and fuzzy when holding it close to their heart. Like the Saya plush, also emits a cute giggle when squeezed.
## The HUD
![](docimg/hudsample.png)
Pretty simplistic so it doesn't get in the way of the action. Some things may be configurable.
@ -479,7 +481,7 @@ The scoring system is pretty straightforward. Each enemy you kill will give you
You are also given +100 points for each secret found, +1000 if it's the final secret. Countable items give +10 points each or +500 if it's the final item. 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, and it is preserved between hubs.
Score can be used to buy items on the in-game store, and it is preserved between hubs, but pistol starts will reset it.
In **Doom** and **Heretic**, collected keys will be displayed below the score box.

BIN
docimg/hudsample.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

View file

@ -838,8 +838,8 @@ OB_FBOSS = "%o was green'd by the fighty boi's Lame Sword.";
OB_MBOSS = "%o was assploded by the magic boi's Explodey Staff.";
OB_CBOSS = "%o was ghosted by the holy boi's Ghostpenis.";
OB_HERESIARCH = "%o saw that coming.";
DEFOB_PIG = "%o angered the hams."; // gzdoom will look this up since it has no obituary assigned
OB_PIG = "%o angered the hams."; // for when gzdoom fixes this (come on, graf)
DEFOB_PIG = "$$OB_PIG"; // gzdoom will look this up since it has no obituary assigned
// eviternity obituaries
OB_FCAPTAIN = "%o was zapped by an angry green lad.";
OB_ANNIHIL = "%o was terminated by a cybergoat.";
@ -857,6 +857,7 @@ D_RAGEKIT = "The Ragekit has ragequit.";
D_REFRESHER = "The Refresher boost has ended.";
D_WARARMOR = "The War Armor is no more.";
SWWM_URDED = "Demolitionist Unit \"%s\" has fallen";
SWWM_URDED_GEN = "Demolitionist Unit has fallen";
SWWM_URDED2 = "Press \cfUse\c- to restart from the most recent save";
SWWM_URDED3 = "...or press \cfFire\c- to attempt an emergency reboot";
SWWM_URDEDMP = "Press \cfUse\c- to respawn";

View file

@ -783,8 +783,8 @@ OB_FBOSS = "%o fue verdeado por la espada esa del tío ciclao.";
OB_MBOSS = "%o fue reventado por la varita explosiva esa del tío mágico.";
OB_CBOSS = "%o fue fantasmado por la verga fantasma del tío santurrón.";
OB_HERESIARCH = "%o lo vio venir.";
DEFOB_PIG = "%o enfureció a los jamones."; // gzdoom will look this up since it has no obituary assigned
OB_PIG = "%o enfureció a los jamones."; // for when gzdoom fixes this (come on, graf)
DEFOB_PIG = "$$OB_PIG"; // gzdoom will look this up since it has no obituary assigned
// eviternity obituaries
OB_FCAPTAIN = "%o fue chispad@[ao_esp] por un tío verde cabreado.";
OB_ANNIHIL = "%o fue exterminad@[ao_esp] por una cibercabra.";

View file

@ -1,2 +1,2 @@
[default]
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r746 \cu(Wed 13 Jan 12:10:14 CET 2021)";
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r748 \cu(Wed 13 Jan 14:30:04 CET 2021)";

View file

@ -1457,7 +1457,7 @@ Class SWWMShadow : Actor
private void Update( bool nointerpolate = false )
{
// update scale / alpha
if ( ((target is 'Inventory') && Inventory(target).Owner) || target.bKILLED || target.bINVISIBLE || (target.sprite == target.GetSpriteIndex('TNT1')) || (target.sprite == target.GetSpriteIndex('ACLO') )
if ( ((target is 'Inventory') && Inventory(target).Owner) || target.bKILLED || target.bINVISIBLE || (target.sprite == target.GetSpriteIndex('TNT1')) || (target.sprite == target.GetSpriteIndex('ACLO')) )
alpha = 0.;
else
{

View file

@ -1352,7 +1352,9 @@ Class SWWMStatusBar : BaseStatusBar
Screen.DrawText(fnt,Font.CR_RED,xx,yy,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
}
alph = clamp((deadtimer-60)/60.,0.,1.);
str = String.Format(StringTable.Localize("$SWWM_URDED"),CPlayer.GetUserName());
String nam = CPlayer.GetUserName();
if ( nam == "Player" ) str = StringTable.Localize("$SWWM_URDED_GEN");
else str = String.Format(StringTable.Localize("$SWWM_URDED"),nam);
fnt = LangFont(mTewiFont);
len = fnt.StringWidth(str);
xx = int((ss.x-len)/2.);

View file

@ -2865,6 +2865,7 @@ Class DemolitionistSelfLight : Actor
{
bool oldactive;
bool oldglow;
transient Color tagcolor;
Default
{
@ -2894,6 +2895,18 @@ Class DemolitionistSelfLight : Actor
Destroy();
return;
}
if ( tagcolor.a == 0 )
{
let lmp = Wads.FindLump("tagcolor.txt");
if ( lmp )
{
String str = Wads.ReadLump(lmp);
Array<String> rgb;
str.Split(rgb,",",0);
tagcolor = Color(255,rgb[0].ToInt(),rgb[1].ToInt(),rgb[2].ToInt());
}
else tagcolor = Color(255,32,48,24);
}
bool curactive = activelight();
if ( curactive && !oldactive )
target.A_AttachLight('DemoSelfLight',DynamicLight.PointLight,Color(56,72,88),200,0,DynamicLight.LF_DONTLIGHTSELF|DynamicLight.LF_ATTENUATE|DynamicLight.LF_SPOT,(5,0,target.player?(target.player.viewz-target.pos.z):(target.height*.93)),0,30,90,target.pitch);
@ -2901,7 +2914,7 @@ Class DemolitionistSelfLight : Actor
target.A_RemoveLight('DemoSelfLight');
oldactive = curactive;
bool curglow = !(target.bINVISIBLE||(target.alpha <= double.epsilon));
if ( curglow && !oldglow ) target.A_AttachLight('DemoSelfLight2',DynamicLight.PointLight,Color(32,48,24),80,0,DynamicLight.LF_DONTLIGHTSELF|DynamicLight.LF_ATTENUATE,(0,0,target.height/2));
if ( curglow && !oldglow ) target.A_AttachLight('DemoSelfLight2',DynamicLight.PointLight,tagcolor,80,0,DynamicLight.LF_DONTLIGHTSELF|DynamicLight.LF_ATTENUATE,(0,0,target.height/2));
else if ( !curglow && oldglow ) target.A_RemoveLight('DemoSelfLight2');
oldglow = curglow;
}