Typo fix.
Readme tweaks. Add support for recoloring player tags through add-ons.
This commit is contained in:
parent
18c47e67eb
commit
1b7f64ee81
8 changed files with 33 additions and 15 deletions
20
README.md
20
README.md
|
|
@ -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
|
||||

|
||||
|
||||
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
BIN
docimg/hudsample.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.3 KiB |
|
|
@ -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";
|
||||
|
|
|
|||
|
|
@ -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.";
|
||||
|
|
|
|||
|
|
@ -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)";
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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.);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue