Additional voice lines because fun.

This commit is contained in:
Mari the Deer 2021-10-29 20:09:35 +02:00
commit d6ce6ef068
17 changed files with 66 additions and 7 deletions

View file

@ -118,6 +118,7 @@ nosave string swwm_tooltipshown = ""; // which weapons have already had their t
nosave noarchive bool swwm_tooltipnote = false; // set if the note on how to disable tooltips was already displayed
nosave bool swwm_nointertips = false; // hides intermission tips, in case you don't want to see them
server bool swwm_demoslayer = false; // if you're below 100hp, enemies drop healing orbs when you kill them
nosave bool swwm_beepboop = false; // prompts the Demolitionist to go "beep", "boop" and "bop" when pressing any switch (may get annoying)
// minimap settings
nosave bool swwm_mm_enable = true; // show a minimap below the score counter

View file

@ -207,6 +207,7 @@ SWWM_CRESET = "Reset to Defaults";
SWWM_ARESET = "Wipe Achievements";
SWWM_NOINTERTIPS = "Hide Intermission Tips";
SWWM_DEMOSLAYER = "Demoslayer Mode";
SWWM_BEEPBOOP = "Switch Emoting";
SWWM_MMTITLE = "Minimap Settings";
SWWM_MM_ENABLE = "Show Minimap";
SWWM_MM_ROTATE = "Rotate Minimap";
@ -364,6 +365,7 @@ TOOLTIP_EVENT_SWWMRESETCVARS = "Resets all the mod's settings to their original
TOOLTIP_EVENT_SWWMRESETACHIEVEMENTS = "Erases all your archievement progress.";
TOOLTIP_SWWM_NOINTERTIPS = "Hides intermission tips, in case you don't want to see them.";
TOOLTIP_SWWM_DEMOSLAYER = "If you're below 100 health, killed enemies will drop health orbs.";
TOOLTIP_SWWM_BEEPBOOP = "The Demolitionist will make cute noises whenever pressing any usable line. This might get annoying, so it's optional.";
TOOLTIP_SWWMMINIMAPMENU = "Configure the minimap.";
TOOLTIP_SWWMACHIEVEMENTMENU = "View your achievements.";
TOOLTIP_SWWM_MM_ENABLE = "Displays a minimap under the score counter.";

View file

@ -73,7 +73,7 @@ SWWM_SUBS_DEFAULT_FIGHTSTART19 = "It's showtime!";
SWWM_SUBS_DEFAULT_FIGHTSTART20 = "Oh, you're dead.";
SWWM_SUBS_DEFAULT_FIGHTSTART21 = "Good. Was wondering when you'd show up.";
// played at map start
SWWM_SUBS_DEFAULT_NMAPSTART = "13";
SWWM_SUBS_DEFAULT_NMAPSTART = "14";
SWWM_SUBS_DEFAULT_MAPSTART1 = "Ugh, fuck... This place reeks. I'd vomit if I could.";
SWWM_SUBS_DEFAULT_MAPSTART2 = "Alright, let's get to work.";
SWWM_SUBS_DEFAULT_MAPSTART3 = "Mission... start?";
@ -87,6 +87,7 @@ SWWM_SUBS_DEFAULT_MAPSTART10 = "Time to blaze on through.";
SWWM_SUBS_DEFAULT_MAPSTART11 = "Well, let's not keep everyone waiting.";
SWWM_SUBS_DEFAULT_MAPSTART12 = "I'll do my best.";
SWWM_SUBS_DEFAULT_MAPSTART13 = "Let me say this: Anything I find, I keep.";
SWWM_SUBS_DEFAULT_MAPSTART14 = "I'm here to chew bubblegum and kick ass... And I don't have a mouth.";
// every time a secret is found
SWWM_SUBS_DEFAULT_NFINDSECRET = "13";
SWWM_SUBS_DEFAULT_FINDSECRET1 = "Oh, that was a secret?";
@ -399,3 +400,10 @@ SWWM_SUBS_DEFAULT_PETMASHIRO4 = "Thanks for your help, miss.";
SWWM_SUBS_DEFAULT_PETMASHIRO5 = "There... good girl...";
SWWM_SUBS_DEFAULT_PETMASHIRO6 = "Hehe... cute moth girl~";
SWWM_SUBS_DEFAULT_PETMASHIRO7 = "Good friend~";
// Button pushing
SWWM_SUBS_DEFAULT_NBUTTONPUSH = "3";
SWWM_SUBS_DEFAULT_BUTTONPUSH1 = "Beep.";
SWWM_SUBS_DEFAULT_BUTTONPUSH2 = "Boop.";
SWWM_SUBS_DEFAULT_BUTTONPUSH3 = "Bop.";
// Fall "scream"
SWWM_SUBS_DEFAULT_FALLING = "Wheeeeeeeeeee~!";

View file

@ -206,6 +206,7 @@ SWWM_CRESET = "Restaurar Predeterminado";
SWWM_ARESET = "Borrar Logros";
SWWM_NOINTERTIPS = "Ocultar Consejos de Intermisión";
SWWM_DEMOSLAYER = "Modo Demoslayer";
SWWM_BEEPBOOP = "Ruiditos de Activación";
SWWM_MMTITLE = "Opciones de Minimapa";
SWWM_MM_ENABLE = "Mostrar Minimapa";
SWWM_MM_ROTATE = "Rotar Minimapa";
@ -363,6 +364,7 @@ TOOLTIP_EVENT_SWWMRESETCVARS = "Resetea todas las opciones del mod a sus valores
TOOLTIP_EVENT_SWWMRESETACHIEVEMENTS = "Borra todo tu progreso de logros.";
TOOLTIP_SWWM_NOINTERTIPS = "Oculta los consejos de intermisión, por si no quieres verlos.";
TOOLTIP_SWWM_DEMOSLAYER = "Si tienes menos de 100 puntos de vida, los enemigos que mates soltarán orbes de salud.";
TOOLTIP_SWWM_BEEPBOOP = "La Demolicionista hará ruiditos adorables cuando pulse cualquier línea utilizable. Esto puede que resulte cansino, así que es opcional.";
TOOLTIP_SWWMMINIMAPMENU = "Configura el minimapa.";
TOOLTIP_SWWMACHIEVEMENTMENU = "Revisa tus logros.";
TOOLTIP_SWWM_MM_ENABLE = "Muestra un minimapa bajo el contador de puntuación.";

View file

@ -77,6 +77,7 @@ SWWM_SUBS_DEFAULT_MAPSTART10 = "Hora de pisar a fondo.";
SWWM_SUBS_DEFAULT_MAPSTART11 = "Bueno, mas vale no dejar a todos esperando.";
SWWM_SUBS_DEFAULT_MAPSTART12 = "Me esforzaré al máximo.";
SWWM_SUBS_DEFAULT_MAPSTART13 = "Deja que diga una cosa: Todo lo que encuentre, me lo quedo.";
SWWM_SUBS_DEFAULT_MAPSTART14 = "Vengo a mascar chicle y patear traseros... Y no tengo boca.";
// every time a secret is found
SWWM_SUBS_DEFAULT_FINDSECRET1 = "Oh, ¿eso era un secreto?";
SWWM_SUBS_DEFAULT_FINDSECRET2 = "Sí, molo bastante.";
@ -361,3 +362,8 @@ SWWM_SUBS_DEFAULT_PETMASHIRO4 = "Gracias por tu ayuda, señorita.";
SWWM_SUBS_DEFAULT_PETMASHIRO5 = "Ya está... buena chica...";
SWWM_SUBS_DEFAULT_PETMASHIRO6 = "Jeje... bonita chica polilla~";
SWWM_SUBS_DEFAULT_PETMASHIRO7 = "Buena amiga~";
// Button pushing
SWWM_SUBS_DEFAULT_BUTTONPUSH1 = "Bip.";
SWWM_SUBS_DEFAULT_BUTTONPUSH2 = "Bup.";
// Fall "scream"
SWWM_SUBS_DEFAULT_FALLING = "¡Wiiiiiiiiiiii~!";

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\chSWWM \czGZ\c- \cw1.2pre r44 \cu(Mon 25 Oct 16:30:43 CEST 2021)\c-";
SWWM_SHORTVER="\cw1.2pre r44 \cu(2021-10-25 16:30:43)\c-";
SWWM_MODVER="\chSWWM \czGZ\c- \cw1.2pre r45 \cu(Fri 29 Oct 20:09:35 CEST 2021)\c-";
SWWM_SHORTVER="\cw1.2pre r45 \cu(2021-10-29 20:09:35)\c-";

View file

@ -87,6 +87,7 @@ OptionMenu "SWWMOptionMenu"
SWWMPlayTime "$SWWM_PLAYTIME", "swwm_playtime"
SWWMVoiceOption "$SWWM_VOICETYPE", "swwm_voicetype"
Option "$SWWM_MUTELEVEL", "swwm_mutevoice", "SWWMVoice"
Option "$SWWM_BEEPBOOP", "swwm_beepboop", "YesNo"
Option "$SWWM_6DOF", "swwm_fly6dof", "YesNo"
Option "$SWWM_REVIVE", "swwm_revive", "YesNo"
ScaleSliderFix "$SWWM_REVIVECOOLDOWN", "swwm_revivecooldown", -1, 300, 30, "$SWWM_UNLIMITED", "$SWWM_ONERETRY"

View file

@ -155,6 +155,7 @@ voice/default/mapstart10 sounds/voice/default/va/demomapstart10.ogg
voice/default/mapstart11 sounds/voice/default/va/demomapstart11.ogg
voice/default/mapstart12 sounds/voice/default/va/demomapstart12.ogg
voice/default/mapstart13 sounds/voice/default/va/demomapstart13.ogg
voice/default/mapstart14 sounds/voice/default/va/demomapstart14.ogg
voice/default/puzzfail1 sounds/voice/default/va/demopuzzfail1.ogg
voice/default/puzzfail2 sounds/voice/default/va/demopuzzfail2.ogg
voice/default/puzzfail3 sounds/voice/default/va/demopuzzfail3.ogg
@ -423,6 +424,10 @@ voice/default/petmashiro4 sounds/voice/default/va/demopetmashiro4.ogg
voice/default/petmashiro5 sounds/voice/default/va/demopetmashiro5.ogg
voice/default/petmashiro6 sounds/voice/default/va/demopetmashiro6.ogg
voice/default/petmashiro7 sounds/voice/default/va/demopetmashiro7.ogg
voice/default/buttonpush1 sounds/voice/default/va/demobuttonpush1.ogg
voice/default/buttonpush2 sounds/voice/default/va/demobuttonpush2.ogg
voice/default/buttonpush3 sounds/voice/default/va/demobuttonpush3.ogg
voice/default/falling sounds/voice/default/va/demofalling.ogg
demolitionist/walk1 sounds/demolitionist/demowalk1.ogg
demolitionist/walk2 sounds/demolitionist/demowalk2.ogg

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -8,7 +8,7 @@ Class LastLine
extend Class SWWMHandler
{
transient String oneliner, onelinersnd;
transient String oneliner, onelinersnd, onelinertype;
transient int onelinertic, onelinerspan, onelinerlevel;
transient Array<LastLine> lastlines;
@ -34,6 +34,7 @@ extend Class SWWMHandler
hnd.oneliner = String.Format("$SWWM_SUBS_%s_%s",voicetype.MakeUpper(),type.MakeUpper());
hnd.onelinersnd = String.Format("voice/%s/%s",voicetype,type);
hnd.onelinertic = gametic+delay;
hnd.onelinertype = type;
hnd.onelinerspan = int(S_GetLength(hnd.onelinersnd)*GameTicRate);
if ( hnd.onelinerspan == 0 )
{
@ -74,6 +75,7 @@ extend Class SWWMHandler
hnd.onelinersnd = String.Format("voice/%s/%s%d",voicetype,type,whichline);
hnd.onelinertic = gametic+delay;
hnd.onelinerspan = int(S_GetLength(hnd.onelinersnd)*GameTicRate);
hnd.onelinertype = type;
if ( hnd.onelinerspan == 0 )
{
if ( developer >= 2 ) Console.Printf("No sound for voice line '%s%d'",type,whichline);
@ -83,6 +85,15 @@ extend Class SWWMHandler
return hnd.onelinertic+hnd.onelinerspan;
}
static void CancelOneliner( String type )
{
let hnd = SWWMHandler(EventHandler.Find("SWWMHandler"));
if ( !hnd ) return;
if ( (hnd.onelinertype != type) || (hnd.onelinertic < gametic) ) return;
hnd.onelinertic = 0;
hnd.onelinerspan = 0;
}
private void OnelinerTick()
{
if ( !onelinertic || (onelinertic >= gametic) ) return;

View file

@ -6,7 +6,7 @@ Class DemolitionistMenuList ui
Array<DemolitionistMenuListItem> items;
int selected;
// functions to save time
// get the highest width among all items
int GetWidth()
{
int mw = 0;
@ -17,6 +17,7 @@ Class DemolitionistMenuList ui
}
return mw;
}
// get the total height of all items combined
int GetHeight()
{
int th = 0;
@ -24,6 +25,19 @@ Class DemolitionistMenuList ui
th += items[i].GetHeight();
return th;
}
// tick all items
void Ticker()
{
for ( int i=0; i<items.Size(); i++ )
items[i].Ticker();
}
// draw all items with a specific offset and clip region
void Drawer( Vector2 offset, int cliptop, int clipbottom, int clipleft, int clipright )
{
for ( int i=0; i<items.Size(); i++ )
items[i].Drawer((items[i].xpos,items[i].ypos)+offset,(i==selected),cliptop,clipbottom,clipleft,clipright);
// scrollbar drawing is handled by the tab, as the list itself is entirely unaware of its frame dimensions
}
}
// basic list item
@ -31,6 +45,7 @@ Class DemolitionistMenuListItem ui
{
DemolitionistMenu master;
String label;
int xpos, ypos;
DemolitionistMenuListItem Init( DemolitionistMenu master, String txt )
{
@ -50,8 +65,8 @@ Class DemolitionistMenuListItem ui
}
// checks if the mouse position is within bounds of the item
// (relative to item itself)
virtual bool CheckBounds( double x, double y )
// (relative to item itself, not offset coords)
virtual bool CheckBounds( int x, int y )
{
return false;
}

View file

@ -174,6 +174,8 @@ Class SWWMHandler : EventHandler
{
if ( !(e.ActivationType&SPAC_Use) ) return;
if ( !e.Thing || !e.Thing.player ) return;
if ( (e.Thing.player == players[consoleplayer]) && swwm_beepboop )
SWWMHandler.AddOneliner("buttonpush",2,0);
let w = SWWMWeapon(e.Thing.player.ReadyWeapon);
if ( (!w || !w.wallponch) && (!(e.Thing is 'Demolitionist') || !Demolitionist(e.Thing).hitactivate) ) return;
let s = SWWMStats.Find(e.Thing.player);

View file

@ -75,6 +75,8 @@ Class Demolitionist : PlayerPawn
transient bool bWalking;
int airscreamtime;
Property DashFuel : dashfuel;
Default
@ -1037,9 +1039,13 @@ Class Demolitionist : PlayerPawn
cairtime++;
if ( cairtime > mystats.airtime ) mystats.airtime = cairtime;
mystats.airdist += traveldist;
if ( (vel.z < -fallingscreamminspeed) && (vel.z > -fallingscreammaxspeed) && (player == players[consoleplayer]) )
SWWMHandler.AddOneliner("falling",2,30);
}
else
{
SWWMHandler.CancelOneliner("falling");
airscreamtime = 0;
cairtime = 0;
mystats.grounddist += traveldist;
SWWMUtility.AchievementProgressIncDouble("travel",traveldist/32000.,player);