diff --git a/README.md b/README.md index a3e969b95..ec7038b79 100644 --- a/README.md +++ b/README.md @@ -458,7 +458,7 @@ The scoring system is pretty straightforward. Each enemy you kill will give you * +2000 if the enemy killed is a boss. * +1000 if you've killed the last enemy in the map. -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. +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. diff --git a/language.def_base b/language.def_base index 00a930fd0..bf7364461 100644 --- a/language.def_base +++ b/language.def_base @@ -932,6 +932,7 @@ SWWM_LASTITEM = "\cf%s\cf got the last item. +%d\c-"; SWWM_LASTMONSTER = "\cf%s\cf killed the last monster. +%d\c-"; SWWM_NEWLORE = "New entries have been added to the Library."; SWWM_SELLEXTRA = "\cf%s\cf sold an extra %s\cf. +%d\c-"; +SWWM_ALLCLEAR = "\cxLevel all clear! \cf+%d\c-"; // intermission tips SWWM_NINTERTIP = "85"; SWWM_INTERTIP = "Tip #%d:"; diff --git a/language.def_lore b/language.def_lore index fa12b5c10..e907c183c 100644 --- a/language.def_lore +++ b/language.def_lore @@ -76,7 +76,7 @@ SWWM_LORETXT_SAYABEAN = "\cxDesignation:\c-\n\cf Haunted Saya Bean Plush\c-\n\cx SWWM_LORETAG_MILKBREADS = "Milk Breads"; SWWM_LORETAB_MILKBREADS = "Item"; SWWM_LOREREL_MILKBREADS = "Kirin;Anarukon;Saya"; -SWWM_LORETXT_MILKBREADS = "\cxDesignation:\c-\n\cf Akkouxhei Milk Bread\c-\n\cxManufacturer:\c-\n\cf Sykhai Empire\c-\n\cxClassification:\c-\n\cf Pastry\c-\n\nA delicacy of Akkouxhei cuisine, \cfMilk Breads\c- as they are commonly called by the locals are a soft, sugary pastry typically eaten during special events, such as birthdays or weddings. Soft, fluffy buns of sweet bread enhanced with the refined sap of the native \cfYranakha\c- trees and mixed with condensed \cfGray Beast\c- milk, they melt in the mouth with each bite, becoming increasingly sweeter.\n\nThough it is not generally a problem for the native \cfAnarukon\c-, the obscene sugar content of these has proven to be dangerous to mortals unless consumed in moderation, potentially resulting in the development of cardiovascular diseases or even death.\n\nNevertheless, they are quite popular around the world. Many visit the \cfSykhai Empire\c- solely to have a chance at eating them, and may even stay for more. It is even said that they might be one of the secrets behind the nation's rapid growth.\n\n\cxSaya's Notes:\c-\n\cfYou know, learning that the milk comes from THOSE THINGS has absolutely not changed at all my opinion. This stuff is heavenly, it's the most delicious thing ever created, it's so sweet I'd just die for them. I mean, it kinda happened once when I overdosed on them (good god that was embarrassing). Yeah, no wonder I fucking died when I had more sugar than blood in my body. Kirin-kun said he actually heard my heart explode, but I bet he was just being dramatic, there's no way that's what happened.\c-"; +SWWM_LORETXT_MILKBREADS = "\cxDesignation:\c-\n\cf Akkouxhei Milk Bread\c-\n\cxManufacturer:\c-\n\cf Sykhai Empire\c-\n\cxClassification:\c-\n\cf Pastry\c-\n\nA delicacy of Akkouxhei cuisine, \cfMilk Breads\c- as they are commonly called by the locals are a soft, sugary pastry typically eaten during special events, such as birthdays or weddings. Soft, fluffy buns of sweet bread enhanced with the refined sap of the native \cfYranakha\c- trees and mixed with condensed \cfGray Beast\c- milk, they melt in the mouth with each bite, becoming increasingly sweeter.\n\nThough it is not generally a problem for the native \cfAnarukon\c-, the obscene sugar content of these has proven to be dangerous to mortals unless consumed in moderation, potentially resulting in the development of cardiovascular diseases or even death.\n\nNevertheless, they are quite popular around the world. Many visit the \cfSykhai Empire\c- solely to have a chance at eating them, and may even stay for more. It is even said that they might be one of the secrets behind the nation's rapid growth.\n\n\cxSaya's Notes:\c-\n\cfYou know, learning that the milk comes from THOSE THINGS has absolutely not changed at all my opinion. This stuff is heavenly, it's the most delicious thing ever created, it's so sweet I'd just die for them. I mean, it kinda happened once when I overdosed on them (good god that was embarrassing). Yeah, no wonder I fucking died when I had more sugar than blood in my body. Kirin-kun said he actually heard my heart explode, but I bet he was just being dramatic, there's no way that's what happened.\c-\n\n\cfOh yeah, and there's a myth going around that if you eat enough of these your boobs will get huge. I totally don't believe that's possible, of course not. What kind of fool would purposefully overdose on them to grow a pair of real big honkers?\c-"; SWWM_LORETAG_PROPULSOR = "JetBurst Impulsor"; SWWM_LORETAB_PROPULSOR = "Item"; SWWM_LOREREL_PROPULSOR = "Forx;Saya;Ibuki;Unissix"; diff --git a/language.es_base b/language.es_base index 7c69eee42..97fc385de 100644 --- a/language.es_base +++ b/language.es_base @@ -868,6 +868,7 @@ SWWM_LASTITEM = "\cf%s\cf obtuvo el último ítem. +%d\c-"; SWWM_LASTMONSTER = "\cf%s\cf mató al último enemigo. +%d\c-"; SWWM_NEWLORE = "Hay nuevas entradas disponibles en la Biblioteca."; SWWM_SELLEXTRA = "\cf%s\cf vendió un %s\cf extra. +%d\c-"; +SWWM_ALLCLEAR = "\cx¡Nivel despejado! \cf+%d\c-"; // intermission tips SWWM_INTERTIP = "Consejo #%d:"; SWWM_INTERTIP1 = "La Demolicionista es inmune al ahogamiento, veneno e incluso daño por caída (excluyendo hoyos de muerte instantánea)."; diff --git a/language.es_lore b/language.es_lore index 1dbe9ea3c..2c53d3157 100644 --- a/language.es_lore +++ b/language.es_lore @@ -97,7 +97,7 @@ SWWM_LORETXT_BLACKFIREIGNITER = "\cxDesignación:\c-\n\cf Encendedor de Fuego Ne SWWM_LORETXT_IBUKI = "\cxNombre Completo:\c-\n\cf Ibuki Miyamoto\c-\n\cf Oni Rojo (nombre en clave)\c-\n\cxNacionalidad:\c-\n\cf Japonesa\c-\n\cxFecha de Nacimiento:\c-\n\cf 2074-09-09\c-\n\cxTwitter\c-\n\cf @lewd_ibuki (principal)\c-\n\cf @ibuki_tiddy (fotos)\c-\n\n\cfIbuki\c- es el resultado del programa de supersoldado \cfOni Rojo\c-, ideado por \cfSaya Miyamoto\c- de \cfAkari Labs\c-. La existencia de este proyecto se mantuvo en secreto hasta su revelación pública en Junio de 2077. Hubo considerable controversia alrededor del programa Oni Rojo, incluyendo la implicación personal de Saya en él, habiendo aceptado un pago de 40 mil millones de dólares a cambio (lo cual se descubrió tener relación con la anterior venta del estado de Texas a México semanas antes). A pesar de su claro potencial y extraordinarias habilidades de combate, fue enviada demasiado tarde, ya que solo momentos después, la \cfCicatriz Blanca\c- ocurrió, y con ella, la devastación total de los \cfEstados Unidos\c-.\n\nMuchos años después del incidente, Ibuki fue recuperada con éxito del incendiado yermo, habiendo pasado la mayor parte del tiempo como una especie de \"mercenaria ambulante\". Regresó a Japón en Junio de 2091, y una vez instalada, pasó por varios pequeños empleos hasta encontrar su verdadera vocación como modelo de desnudos.\n\nAl haber sido creada desde el ADN de Saya, ha efectivamente heredado la inmortalidad total de la familia Miyamoto, es más, también ha recibido varias mejoras por encima las cuales han aumentado su fuerza y reflejos, junto con hacer que su piel sea a prueba de balas. Saya ha comentado que esto último significa que no necesita llevar ropa.\n\nCitando adicionalmente las \"interesantes\" decisiones de Saya, está el hecho de sus particulares rasgos físicos aparte de su fuerza, incluyendo su obviamente obsceno tamaño de busto, que muchos consideran poco práctico, totalmente en desacuerdo con Saya. Al preguntarle por más detalles, comenzó una extensa diatriba en Twitter centrada sobre \"waifus\".\n\n\cxNotas de Saya:\c-\n\cfOK vale sí, me encantan los pechotes. Pero ¿por que todo dios tiene que soltarme mierda por eso? ¿Acaso hay ALGO malo en eso, eh? Ya, eso pensaba.\c-\n\n\cfVale, Ibuki fue como, mi mayor hornypost en la vida. No me pude aguantar, sabes. Putos... Americanos idiotas que se me acercan con una barbaridad de pasta y me dicen que les haga un supersoldado. Sí, supongo que estuvieron espiando todo el rollo ese que posteé sobre bioingeniería y tal. Madre, si es que estaban desesperados, pues sí... Era realmente patético. PERO, tuve una idea justo entonces. A ver... es que estaba thirsty a más no poder, y pensé... ¿y si.. me hiciera una superfuerte novia tetuda, justo ahí?\c-\n\n\cfY bueno... eso es justo lo que pasó. Pasé tres años con todo eso, criándola en ese tubo. Era mi primera vez haciendo algo así, pero tuve suerte y todo salió de puta madre. Aunque... cuando empezaron a notar lo de la \"anormalidad en el desarrollo de los pechos del sujeto\" me puse nerviosa. ¿Y si lo mandaban todo a la mierda? Acabé admitiendo que era intencionado, soltando no se qué mierda que se me pasó por la cabeza, algo de \"tácticas de distracción\" o así, ya ni me acuerdo. Al final lo dejaron pasar.\c-\n\n\cfOh ya, ¿sabias? Técnicamente, Ibuki es mi clon. Sí, puede que haya habido algún que otro cambio, pero si mi desarrollo no se hubiera parado así porque sí, quien sabe, a lo mejor me habría visto así de sexy algún día. Desde luego da que pensar, vaya...\c-\n\n\cfSí, también me he dado cuenta de que eso significa que en teoría lo estoy haciendo conmigo misma. ¿Y? ¿Acaso es eso un problema también?\c-"; SWWM_LORETXT_CYRUS = "\cxNombre:\c-\n\cf Cyrus Enterprises\c-\n\cxClasificación:\c-\n\cf Startup(???) Tecnológico\c-\n\cxLocalización:\c-\n\cf Isla Kopo, Kereshnovka, Rusia\c-\n\cxPágina Web:\c-\n\cf https://cyrus.enterprises\c-\n\nLa compañía personal de \cfReubens C. Karnanaiahmani\c-, actual alcalde del pueblo de \cfKereshnovka\c-, representante de toda la gente \cfQurensniv\c- de la Tierra, y segundo hijo del rey \cfMarc P. Karnanaiahmani\c-. Reubens maneja todo por su cuenta, sin tener ningún empleado.\n\nCyrus se centra principalmente en traer tecnologías altamente avanzadas de los Qurensiv a la humanidad. Entre las creaciones más notables de la compañía, está el \cfHammerspace™\c-, un método de \"almacenamiento extradimensional\" que permite que un individuo viaje ligero, necesitando solo llevar un pequeño dispositivo para almacenar y recuperar cualquier objeto que necesite a voluntad. Muchos comentarios se han hecho sobre los nombres \"frikis\" de los varios productos de la compañía, siendo éste uno de ellos.\n\nEn referencia al hombre en sí, Reubens es bien conocido no solo por ser un inventor nato, sino también por ser todo un experto en combate cuerpo a cuerpo, siendo diez veces campeón de \cfKo-Ron-Jai\c- (artes marciales Qurensniv), y también un disparador excelente, capaz de alcanzar la cabeza de una cerilla desde un kilómetro de distancia con un simple revolver (aunque esto último no ha sido confirmado). También es un ávido gamer, y se le ha notado comparar muchas veces la vida real y los videojuegos, a veces hasta niveles preocupantes.\n\nCyrus Enterprises, adicionalmente, es el patrocinador principal del proyecto \cfDemolicionista\c-, proporcionando el equipamiento requerido para sus misiones, y pagando de su propio bolsillo por cada objetivo eliminado por el Demilicionista, entre otras cosas.\n\n\cxNotas de Saya:\c-\n\cfEs un friki, UN PUTO FRIKI, ¡UN FRIKAZO!\c-\n\n\cfHala, ya lo he dicho. Es que sí, vale, lo que hace, mola y tal, pero MADRE DE DIOS es que el tío me saca de quicio con toda su mierda friki de videojuegos. ¿No dejarte ir por ahí con todo equipado, y en vez de eso CISCÁNDOLO TODO POR AHÍ para que lo recojas? Esa es una. Que después de cada misión decida quitarte TODO lo que pillaste, es otra cosa también. Pero, que nos suelte unas pelillas cada vez que revientes a algún maleante, eso puedo aceptarlo, que nos vale para cubrir los costes de todo.\c-\n\n\cfPuto friki...\c-"; SWWM_LORETAG_MILKBREADS = "Panes de Leche"; -SWWM_LORETXT_MILKBREADS = "\cxDesignación:\c-\n\cf Pan de Leche Akkouxhei\c-\n\cxFabricante:\c-\n\cf Imperio Sykhai\c-\n\cxClasificación:\c-\n\cf Postre\c-\n\nUna delicia de la cocina Akkouxhei, los \cfPanes de Leche\c- así llamados comúnmente por los lugareños son un postre suave y dulce comido típicamente durante eventos especiales, como cumpleaños o bodas. Blandos y esponjosos bollitos de pan dulce realzados con la savia refinada de los árboles \cfYranakha\c- nativos y mezclados con leche condensada de \cfBestia Gris\c-, se derriten en la boca con cada mordisco, volviéndose más y más dulces.\n\nAunque no es generalmente un problema para los nativos \cfAnarukon\c-, el obsceno contenido de azucar de estos está confirmado como peligroso para mortales a menos que sean consumidos en moderación, potencialmente resultando en el desarrollo de enfermedades cardiovasculares o incluso la muerte.\n\nAun así, son muy populares por todo el mundo. Muchos visitan el \cfImperio Sykhai\c- solo para tener la oportunidad de comerlos, y puede que se queden para más. Se dice incluso que pueden ser uno de los secretos tras el rápido crecimiento de la nación.\n\n\cxNotas de Saya:\c-\n\cfSabes, enterarme de que la leche viene de ESAS COSAS no ha cambiado en absoluto mi opinión. Esta cosa es celestial, es lo más delicioso jamás creado, es tan dulce que me moriría por ellos. A ver, casi que pasó eso justo cuando tuve una sobredosis de ellos (madre de dios que vergüenza). Sí, no me extraña que la palmase mucho cuando tenía más azúcar que sangre en el cuerpo. Kirin-kun dijo que incluso oyó explotar mi corazón, pero apuesto a que solo estaba siendo dramático, eso no puede haber pasado.\c-"; +SWWM_LORETXT_MILKBREADS = "\cxDesignación:\c-\n\cf Pan de Leche Akkouxhei\c-\n\cxFabricante:\c-\n\cf Imperio Sykhai\c-\n\cxClasificación:\c-\n\cf Postre\c-\n\nUna delicia de la cocina Akkouxhei, los \cfPanes de Leche\c- así llamados comúnmente por los lugareños son un postre suave y dulce comido típicamente durante eventos especiales, como cumpleaños o bodas. Blandos y esponjosos bollitos de pan dulce realzados con la savia refinada de los árboles \cfYranakha\c- nativos y mezclados con leche condensada de \cfBestia Gris\c-, se derriten en la boca con cada mordisco, volviéndose más y más dulces.\n\nAunque no es generalmente un problema para los nativos \cfAnarukon\c-, el obsceno contenido de azucar de estos está confirmado como peligroso para mortales a menos que sean consumidos en moderación, potencialmente resultando en el desarrollo de enfermedades cardiovasculares o incluso la muerte.\n\nAun así, son muy populares por todo el mundo. Muchos visitan el \cfImperio Sykhai\c- solo para tener la oportunidad de comerlos, y puede que se queden para más. Se dice incluso que pueden ser uno de los secretos tras el rápido crecimiento de la nación.\n\n\cxNotas de Saya:\c-\n\cfSabes, enterarme de que la leche viene de ESAS COSAS no ha cambiado en absoluto mi opinión. Esta cosa es celestial, es lo más delicioso jamás creado, es tan dulce que me moriría por ellos. A ver, casi que pasó eso justo cuando tuve una sobredosis de ellos (madre de dios que vergüenza). Sí, no me extraña que la palmase mucho cuando tenía más azúcar que sangre en el cuerpo. Kirin-kun dijo que incluso oyó explotar mi corazón, pero apuesto a que solo estaba siendo dramático, eso no puede haber pasado.\c-\n\n\cfOh ya, y resulta que hay un mito por ahí de que si comes suficientes de estos tus tetas se ponen enormes. Pues mira que en serio no creo que sea eso posible, por supuesto que no. ¿Que clase de idiota se metería una sobredosis de estas cosas a propósito para que le crezcan unas domingas gigantes?\c-"; SWWM_LORETAG_FORX = "Aeronáutica Forx"; SWWM_LORETXT_FORX = "\cxNombre:\c-\n\cf Aeronáutica Forx\c-\n\cxClasificación:\c-\n\cf Fabricante de Motores de Propulsión\c-\n\cxLocalización:\c-\n\cf Kent, Inglaterra\c-\n\cxPágina Web:\c-\n\cf https://forx.co.uk\c-\n\nFundada en 2029 por \cfHarold Forx\c-, esta compañía es considerada como la única salvadora de Inglaterra tras su larga caída en la ruina económica tras el \cfBrexit\c- en 2020 y la \cfIndependencia de Escocia\c- en 2022. A pesar de estos dos golpes mortales, \cfAeronáutica Forx\c-, habiendo aparecido casi de la nada, fundada por un hombre que, hace solo pocos años pasaba su vida rebuscando en desguaces, consiguió atraer tanto dinero como para rescatar al país entero solo pocos meses después de ser fundada.\n\nForx es actualmente el proveedor Nº1 de motores de propulsión para todo tipo de aeronaves, incluyendo jets comerciales e incluso naves espaciales. Su dominio se extiende por todo el lado este del Atlántico, ya que al otro lado, en América, la \cfUAC\c- aun reina soberana, con sus propias tecnologías.\n\nAparte de motores de nave, Forx también ha adaptado sus sistemas propietarios de jets propulsores para otros usos, como el \cfImpulsor JetBurst™\c-, el primer jetpack \"realmente portátil\", o el sistema \cfCompensador Jet Rápido\c- de reducción de retroceso par almas de alto calibre, que permite su uso fuera de pesadas e incómodas servo-armaduras.\n\n\cxNotas de Saya:\c-\n\cfSí, sí, la típica historia de \"pobreza a riqueza\". Huérfano sin techo que se convierte en un \"auto-hecho\" millonario a base de esfuerzo y perseverancia, bla bla. Y un huevo de avión. Me apuesto a que hay algo de todo este tema que no le ha contado a nadie. TIENE que ser eso. Nadie va y de repente se vuelve asquerosamente rico así como si nada a menos que tenga contactos en algún lado, no me lo creo.\c-\n\n\cfAparte, el tío es un capullo. Como cualquier sucio cerdo capitalista, sinceramente. ¿Puedes creerte que el muy hijo de puta intentó echar abajo el orfanato en el que creció? Pero la cosa es que, lo intentó, sí... pero no fue bien la cosa, y madre si fue todo un espectáculo.\c-\n\n\cfA ver, la cosa va así, el tío primero intenta decirles que se larguen de ahí y le dejen tirar abajo todo para construir mierdas por ahí. Ni puto caso. Entonces, va ahí en persona, y ESA es la mejor parte. Después de discutir con el director del orfanato, que conoce al tío personalmente, va y le METE UNA HOSTIA TREMENDA que el tío pega la media vuelta y corre fuera llorando.\c-\n\n\cfNo es coña, Demo-chan, te juro que eso es lo que vi. He visto los vídeos de archivo cien veces, porque me ayudan a sentirme mejor cuando ando de mala hostia, y... siempre, la parte en la que el viejales le mete un hostiazo del revés al tío, nunca falla. Es que me desorino. Es BUENÍSIMO.\c-\n\n\cfEn serio, eso es lo que se merece esta gente. No sabes cuantas veces he deseado poder ir ahí y darle una buena paliza al niñato bastardo ese de Kelliher. Desde luego me haría sentir mejor, sí. Que se joda, él y la UAC también. El meme ese de \"comer a los ricos\" sigue siendo relevante, pero yo digo que hay que poner de moda otra cosa, que lo que realmente necesitan es una buena somanta de hostias.\c-"; SWWM_LORETXT_SIDHE = "\cxNombre:\c-\n\cf Sidhe\c-\n\cxClasificación:\c-\n\cf Raza Élfica\c-\n\cxLocalización:\c-\n\cf Parthoris\c-\n\nLos \cfSidhe\c- son una de las principales especies nativas del mundo de \cfParthoris\c-. Muy cercanos a los elfos de fantasía, en cierto modo. Poseen un vínculo natural con la magia, y son reconocidos como luchadores diestros, también. Antes de que llegaran los \cfJinetes de Serpiente\c-, ofrecían sus servicios como guardianes sagrados de las siete naciones, pero una vez se hicieron presentes estas criaturas demoníacas, fueron los únicos que rechazaron servirlos, a diferencia del resto que se rindió tan fácilmente.\n\nAquellos que antes veneraban a los Sidhe ahora estaban en su contra, bajo el control de los Jinetes, y los ejércitos de los siete reinos fueron enviados a destruirlos. Muy pocos sobrevivieron, dispersados por el mundo. Mientras que muchos decidieron permanecer ocultos, otros idearon planes de venganza. Notablemente, hay un pequeño grupo con quien hicimos nuestro primer contacto, y de los cuales aprendimos la mayor parte de lo que sabemos de la situación en este mundo. Pusieron sus esperanzas en un único Sidhe, llamado \cfCorvus\c-, quien pareció ser bastante prometedor. Sin embargo, una vez encontrarse con el \cfDemolicionista\c-, optó en su lugar por que nosotros tomásemos la iniciativa. Es ahora nuestra misión salvar a esta gente, y a su mundo.\n\n\cxNotas de Saya:\c-\n\cfPues sí, los elfos estos mira que fueron rápidos para pasarte todo el rollo de heroísmo a ti, desde luego. Pero es igual, eso es lo que te mola, puedo notarlo. Desde luego que te gusta ese papel, ¿a que sí?\c-\n\n\cfPor cierto, ¿como puñetas se pronuncia eso? El nombre este de \"Sidhe\"... es como... \"saidi\"? nah, eso no suena bien... hm, que más da.\c-\n\n\cfSolo espero que no se cabreen porque usamos cosas hechas de madera, eso si que sería un problema.\c-"; diff --git a/language.version b/language.version index 53e1e0f71..d5f4a8a84 100644 --- a/language.version +++ b/language.version @@ -1,2 +1,2 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r660 \cu(Fri 4 Dec 17:56:25 CET 2020)"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r661 \cu(Sat 5 Dec 18:05:13 CET 2020)"; diff --git a/lore/default/milkbreads.txt b/lore/default/milkbreads.txt index 0a5cca4c4..4b0d9a347 100644 --- a/lore/default/milkbreads.txt +++ b/lore/default/milkbreads.txt @@ -20,3 +20,5 @@ Nevertheless, they are quite popular around the world. Many visit the **Sykhai E \cxSaya's Notes:\c- \cfYou know, learning that the milk comes from THOSE THINGS has absolutely not changed at all my opinion. This stuff is heavenly, it's the most delicious thing ever created, it's so sweet I'd just die for them. I mean, it kinda happened once when I overdosed on them (good god that was embarrassing). Yeah, no wonder I fucking died when I had more sugar than blood in my body. Kirin-kun said he actually heard my heart explode, but I bet he was just being dramatic, there's no way that's what happened.\c- + +\cfOh yeah, and there's a myth going around that if you eat enough of these your boobs will get huge. I totally don't believe that's possible, of course not. What kind of fool would purposefully overdose on them to grow a pair of real big honkers?\c- diff --git a/lore/es/milkbreads.txt b/lore/es/milkbreads.txt index ba5780a28..5040f49d2 100644 --- a/lore/es/milkbreads.txt +++ b/lore/es/milkbreads.txt @@ -16,3 +16,5 @@ Aun así, son muy populares por todo el mundo. Muchos visitan el **Imperio Sykha \cxNotas de Saya:\c- \cfSabes, enterarme de que la leche viene de ESAS COSAS no ha cambiado en absoluto mi opinión. Esta cosa es celestial, es lo más delicioso jamás creado, es tan dulce que me moriría por ellos. A ver, casi que pasó eso justo cuando tuve una sobredosis de ellos (madre de dios que vergüenza). Sí, no me extraña que la palmase mucho cuando tenía más azúcar que sangre en el cuerpo. Kirin-kun dijo que incluso oyó explotar mi corazón, pero apuesto a que solo estaba siendo dramático, eso no puede haber pasado.\c- + +\cfOh ya, y resulta que hay un mito por ahí de que si comes suficientes de estos tus tetas se ponen enormes. Pues mira que en serio no creo que sea eso posible, por supuesto que no. ¿Que clase de idiota se metería una sobredosis de estas cosas a propósito para que le crezcan unas domingas gigantes?\c- diff --git a/palettes/ImpactWav.pal b/palettes/ImpactWav.pal index e01d44d48..e31c2b4f0 100644 Binary files a/palettes/ImpactWav.pal and b/palettes/ImpactWav.pal differ diff --git a/palettes/ImpactWav2.pal b/palettes/ImpactWav2.pal deleted file mode 100644 index b17845ac1..000000000 Binary files a/palettes/ImpactWav2.pal and /dev/null differ diff --git a/palettes/SaltExpl.pal b/palettes/SaltExpl.pal index a105f64de..10222c529 100644 Binary files a/palettes/SaltExpl.pal and b/palettes/SaltExpl.pal differ diff --git a/palettes/SaltTail.pal b/palettes/SaltTail.pal deleted file mode 100644 index 7a5829afd..000000000 Binary files a/palettes/SaltTail.pal and /dev/null differ diff --git a/palettes/SpRainbow.pal b/palettes/SpRainbow.pal new file mode 100644 index 000000000..6cb985ee2 Binary files /dev/null and b/palettes/SpRainbow.pal differ diff --git a/palettes/SparkArc.pal b/palettes/SparkArc.pal deleted file mode 100644 index dba6a7df7..000000000 Binary files a/palettes/SparkArc.pal and /dev/null differ diff --git a/palettes/SparkBeam.pal b/palettes/SparkBeam.pal deleted file mode 100644 index b7c95827c..000000000 Binary files a/palettes/SparkBeam.pal and /dev/null differ diff --git a/palettes/SparkExpl.pal b/palettes/SparkExpl.pal index f13c11c66..5fee1d9d9 100644 Binary files a/palettes/SparkExpl.pal and b/palettes/SparkExpl.pal differ diff --git a/palettes/WhiteExpl.pal b/palettes/WhiteExpl.pal index 3898a3dfe..0b7420e75 100644 Binary files a/palettes/WhiteExpl.pal and b/palettes/WhiteExpl.pal differ diff --git a/palettes/WhiteExpl2.pal b/palettes/WhiteExpl2.pal deleted file mode 100644 index 6b9816a22..000000000 Binary files a/palettes/WhiteExpl2.pal and /dev/null differ diff --git a/sndinfo.txt b/sndinfo.txt index 1d287eae3..b044d2595 100644 --- a/sndinfo.txt +++ b/sndinfo.txt @@ -6,6 +6,7 @@ crash/curb sounds/CURB.ogg brutal/ezmodo sounds/EASYMODO.ogg bestsound sounds/CORK.ogg haha/dab sounds/DAB.ogg +bruh sounds/BRUH.ogg saya/giggle1 sounds/saya/saya_giggle1.ogg saya/giggle2 sounds/saya/saya_giggle2.ogg @@ -275,6 +276,34 @@ voice/default/koraxmasters6 sounds/voice/default/demokoraxmasters6.ogg voice/default/koraxmasters7 sounds/voice/default/demokoraxmasters7.ogg voice/default/koraxmasters8 sounds/voice/default/demokoraxmasters8.ogg voice/default/koraxmasters9 sounds/voice/default/demokoraxmasters9.ogg +voice/default/giggle1 sounds/voice/default/demogigle1.ogg +voice/default/giggle2 sounds/voice/default/demogigle2.ogg +voice/default/giggle3 sounds/voice/default/demogigle3.ogg +voice/default/giggle4 sounds/voice/default/demogigle4.ogg +voice/default/giggle5 sounds/voice/default/demogigle5.ogg +voice/default/giggle6 sounds/voice/default/demogigle6.ogg +voice/default/giggle7 sounds/voice/default/demogigle7.ogg +voice/default/giggle8 sounds/voice/default/demogigle8.ogg +voice/default/giggle9 sounds/voice/default/demogigle9.ogg +voice/default/giggle10 sounds/voice/default/demogigle10.ogg +voice/default/giggle11 sounds/voice/default/demogigle11.ogg +voice/default/giggle12 sounds/voice/default/demogigle12.ogg +voice/default/giggle13 sounds/voice/default/demogigle13.ogg +voice/default/giggle14 sounds/voice/default/demogigle14.ogg +voice/default/giggle15 sounds/voice/default/demogigle15.ogg +voice/default/giggle16 sounds/voice/default/demogigle16.ogg +voice/default/giggle17 sounds/voice/default/demogigle17.ogg +voice/default/giggle18 sounds/voice/default/demogigle18.ogg +voice/default/giggle19 sounds/voice/default/demogigle19.ogg +voice/default/hug1 sounds/voice/default/demohug1.ogg +voice/default/hug2 sounds/voice/default/demohug2.ogg +voice/default/hug3 sounds/voice/default/demohug3.ogg +voice/default/hug4 sounds/voice/default/demohug4.ogg +voice/default/hug5 sounds/voice/default/demohug5.ogg +voice/default/hug6 sounds/voice/default/demohug6.ogg +voice/default/hug7 sounds/voice/default/demohug7.ogg +voice/default/hug8 sounds/voice/default/demohug8.ogg +voice/default/hug9 sounds/voice/default/demohug9.ogg $random voice/default/grunt { voice/default/grunt1 voice/default/grunt2 voice/default/grunt3 voice/default/grunt4 voice/default/grunt5 voice/default/grunt6 } $random voice/default/lopain { voice/default/lopain1 voice/default/lopain2 voice/default/lopain3 voice/default/lopain4 voice/default/lopain5 } @@ -282,6 +311,11 @@ $random voice/default/pain { voice/default/pain1 voice/default/pain2 voice/defau $random voice/default/hipain { voice/default/hipain1 voice/default/hipain2 voice/default/hipain3 voice/default/hipain4 voice/default/hipain5 } $random voice/default/death { voice/default/death1 voice/default/death2 voice/default/death3 voice/default/death4 voice/default/death5 } +$random voice/default/giggle { voice/default/giggle1 voice/default/giggle2 voice/default/giggle3 voice/default/giggle4 voice/default/giggle5 voice/default/giggle6 voice/default/giggle7 voice/default/giggle8 voice/default/giggle9 voice/default/giggle10 voice/default/giggle11 voice/default/giggle12 voice/default/giggle13 voice/default/giggle14 voice/default/giggle15 voice/default/giggle16 voice/default/giggle17 voice/default/giggle18 voice/default/giggle19 } +$random voice/default/hug { voice/default/hug1 voice/default/hug2 voice/default/hug3 voice/default/hug4 voice/default/hug5 voice/default/hug6 voice/default/hug7 voice/default/hug8 voice/default/hug9 } +$random voice/default/gigglelow { voice/default/giggle1 voice/default/giggle2 voice/default/giggle5 voice/default/giggle6 voice/default/giggle8 voice/default/giggle10 voice/default/giggle15 voice/default/giggle16 voice/default/giggle18 } +$random voice/default/gigglehigh { voice/default/giggle3 voice/default/giggle4 voice/default/giggle7 voice/default/giggle9 voice/default/giggle11 voice/default/giggle12 voice/default/giggle13 voice/default/giggle14 voice/default/giggle17 } + demolitionist/walk1 sounds/demolitionist/demowalk1.ogg demolitionist/walk2 sounds/demolitionist/demowalk2.ogg demolitionist/walk3 sounds/demolitionist/demowalk3.ogg @@ -872,6 +906,9 @@ misc/nocheat sounds/DSNOPE.ogg misc/drumroll sounds/DRUMROLL.ogg misc/tada sounds/TADA.ogg misc/heart sounds/KOKORO.ogg +misc/achievement sounds/CTF6.ogg +misc/wow sounds/WOW.ogg +misc/achievement2 sounds/YAY.ogg misc/gibber1 sounds/general/Gib1.ogg misc/gibber2 sounds/general/Gib2.ogg misc/gibber3 sounds/general/Gib3.ogg diff --git a/sounds/voice/default/demogiggle1.ogg b/sounds/voice/default/demogiggle1.ogg new file mode 100644 index 000000000..dc18fc329 Binary files /dev/null and b/sounds/voice/default/demogiggle1.ogg differ diff --git a/sounds/voice/default/demogiggle10.ogg b/sounds/voice/default/demogiggle10.ogg new file mode 100644 index 000000000..d6560c4f5 Binary files /dev/null and b/sounds/voice/default/demogiggle10.ogg differ diff --git a/sounds/voice/default/demogiggle11.ogg b/sounds/voice/default/demogiggle11.ogg new file mode 100644 index 000000000..0e4666732 Binary files /dev/null and b/sounds/voice/default/demogiggle11.ogg differ diff --git a/sounds/voice/default/demogiggle12.ogg b/sounds/voice/default/demogiggle12.ogg new file mode 100644 index 000000000..b09fdc526 Binary files /dev/null and b/sounds/voice/default/demogiggle12.ogg differ diff --git a/sounds/voice/default/demogiggle13.ogg b/sounds/voice/default/demogiggle13.ogg new file mode 100644 index 000000000..96762fa10 Binary files /dev/null and b/sounds/voice/default/demogiggle13.ogg differ diff --git a/sounds/voice/default/demogiggle14.ogg b/sounds/voice/default/demogiggle14.ogg new file mode 100644 index 000000000..4460f0136 Binary files /dev/null and b/sounds/voice/default/demogiggle14.ogg differ diff --git a/sounds/voice/default/demogiggle15.ogg b/sounds/voice/default/demogiggle15.ogg new file mode 100644 index 000000000..38f2e7174 Binary files /dev/null and b/sounds/voice/default/demogiggle15.ogg differ diff --git a/sounds/voice/default/demogiggle16.ogg b/sounds/voice/default/demogiggle16.ogg new file mode 100644 index 000000000..511862fd9 Binary files /dev/null and b/sounds/voice/default/demogiggle16.ogg differ diff --git a/sounds/voice/default/demogiggle17.ogg b/sounds/voice/default/demogiggle17.ogg new file mode 100644 index 000000000..ff15f1ad6 Binary files /dev/null and b/sounds/voice/default/demogiggle17.ogg differ diff --git a/sounds/voice/default/demogiggle18.ogg b/sounds/voice/default/demogiggle18.ogg new file mode 100644 index 000000000..4b06f1ade Binary files /dev/null and b/sounds/voice/default/demogiggle18.ogg differ diff --git a/sounds/voice/default/demogiggle19.ogg b/sounds/voice/default/demogiggle19.ogg new file mode 100644 index 000000000..fb8185b72 Binary files /dev/null and b/sounds/voice/default/demogiggle19.ogg differ diff --git a/sounds/voice/default/demogiggle2.ogg b/sounds/voice/default/demogiggle2.ogg new file mode 100644 index 000000000..0ae0b4d9e Binary files /dev/null and b/sounds/voice/default/demogiggle2.ogg differ diff --git a/sounds/voice/default/demogiggle3.ogg b/sounds/voice/default/demogiggle3.ogg new file mode 100644 index 000000000..a756f85e2 Binary files /dev/null and b/sounds/voice/default/demogiggle3.ogg differ diff --git a/sounds/voice/default/demogiggle4.ogg b/sounds/voice/default/demogiggle4.ogg new file mode 100644 index 000000000..b0e89985d Binary files /dev/null and b/sounds/voice/default/demogiggle4.ogg differ diff --git a/sounds/voice/default/demogiggle5.ogg b/sounds/voice/default/demogiggle5.ogg new file mode 100644 index 000000000..b8c8b55b5 Binary files /dev/null and b/sounds/voice/default/demogiggle5.ogg differ diff --git a/sounds/voice/default/demogiggle6.ogg b/sounds/voice/default/demogiggle6.ogg new file mode 100644 index 000000000..1c0e45454 Binary files /dev/null and b/sounds/voice/default/demogiggle6.ogg differ diff --git a/sounds/voice/default/demogiggle7.ogg b/sounds/voice/default/demogiggle7.ogg new file mode 100644 index 000000000..02dccb542 Binary files /dev/null and b/sounds/voice/default/demogiggle7.ogg differ diff --git a/sounds/voice/default/demogiggle8.ogg b/sounds/voice/default/demogiggle8.ogg new file mode 100644 index 000000000..d01a5e04b Binary files /dev/null and b/sounds/voice/default/demogiggle8.ogg differ diff --git a/sounds/voice/default/demogiggle9.ogg b/sounds/voice/default/demogiggle9.ogg new file mode 100644 index 000000000..0e2f5236d Binary files /dev/null and b/sounds/voice/default/demogiggle9.ogg differ diff --git a/sounds/voice/default/demohug1.ogg b/sounds/voice/default/demohug1.ogg new file mode 100644 index 000000000..f1b467dc0 Binary files /dev/null and b/sounds/voice/default/demohug1.ogg differ diff --git a/sounds/voice/default/demohug2.ogg b/sounds/voice/default/demohug2.ogg new file mode 100644 index 000000000..72885652b Binary files /dev/null and b/sounds/voice/default/demohug2.ogg differ diff --git a/sounds/voice/default/demohug3.ogg b/sounds/voice/default/demohug3.ogg new file mode 100644 index 000000000..b9e445733 Binary files /dev/null and b/sounds/voice/default/demohug3.ogg differ diff --git a/sounds/voice/default/demohug4.ogg b/sounds/voice/default/demohug4.ogg new file mode 100644 index 000000000..229bd65fe Binary files /dev/null and b/sounds/voice/default/demohug4.ogg differ diff --git a/sounds/voice/default/demohug5.ogg b/sounds/voice/default/demohug5.ogg new file mode 100644 index 000000000..b5e991bb1 Binary files /dev/null and b/sounds/voice/default/demohug5.ogg differ diff --git a/sounds/voice/default/demohug6.ogg b/sounds/voice/default/demohug6.ogg new file mode 100644 index 000000000..4b76b4868 Binary files /dev/null and b/sounds/voice/default/demohug6.ogg differ diff --git a/sounds/voice/default/demohug7.ogg b/sounds/voice/default/demohug7.ogg new file mode 100644 index 000000000..a65460b1b Binary files /dev/null and b/sounds/voice/default/demohug7.ogg differ diff --git a/sounds/voice/default/demohug8.ogg b/sounds/voice/default/demohug8.ogg new file mode 100644 index 000000000..7dd7abc3d Binary files /dev/null and b/sounds/voice/default/demohug8.ogg differ diff --git a/sounds/voice/default/demohug9.ogg b/sounds/voice/default/demohug9.ogg new file mode 100644 index 000000000..bc4ff4b8e Binary files /dev/null and b/sounds/voice/default/demohug9.ogg differ diff --git a/swwmvoicepack.txt b/swwmvoicepack.txt index f227d194b..83c9b04e7 100644 --- a/swwmvoicepack.txt +++ b/swwmvoicepack.txt @@ -6,10 +6,10 @@ # voice//<#> for the sndinfo entries # SWWM_SUBS__<#>, plus a SWWM_SUBS__N counter, # for the language strings -# with the exception of pain/death/grunt sounds (which should additionally have -# a $random entry in sndinfo), all lines you may want to register require a -# subtitle language string so they can be properly detected, but you can set -# them to an empty string if you don't want text to display. also don't forget -# to add a SWWM_VOICENAME_* language string for each voice type so they have a -# "human-readable" name in the options menu +# with the exception of pain/death/grunt sounds and the like (which should +# additionally have a $random entry in sndinfo), all lines you may want to +# register require a subtitle language string so they can be properly detected, +# but you can set them to an empty string if you don't want text to display. +# also don't forget to add a SWWM_VOICENAME_* language string for each voice +# type so they have a "human-readable" name in the options menu default diff --git a/zscript/swwm_common.zsc b/zscript/swwm_common.zsc index dba0ecb31..1f9c84648 100644 --- a/zscript/swwm_common.zsc +++ b/zscript/swwm_common.zsc @@ -340,6 +340,7 @@ Class PaletteLight : PointLight { Color pal[256]; bool IsLooping; + int InitialReactionTime; Default { @@ -349,7 +350,7 @@ Class PaletteLight : PointLight } private void UpdateLight() { - int index = clamp(255-((255*ReactionTime)/abs(default.ReactionTime)),0,255); + int index = clamp(255-((255*ReactionTime)/abs(InitialReactionTime)),0,255); args[LIGHT_RED] = pal[index].r; args[LIGHT_GREEN] = pal[index].g; args[LIGHT_BLUE] = pal[index].b; @@ -357,13 +358,23 @@ Class PaletteLight : PointLight override void PostBeginPlay() { Super.PostBeginPlay(); - int lump = Wads.CheckNumForFullname(String.Format("palettes/%s.pal",GetTag())); + InitialReactionTime = ReactionTime; + String palname = GetTag(); + int sep = palname.IndexOf(","); + int palnum = 0; + if ( sep != -1 ) + { + String palnumstr = palname.Mid(sep+1); + palnum = palnumstr.ToInt()*768; + palname.Truncate(sep); + } + int lump = Wads.CheckNumForFullname(String.Format("palettes/%s.pal",palname)); String paldat = Wads.ReadLump(lump); for ( int i=0; i<256; i++ ) { - pal[i].r = paldat.ByteAt(i*3); - pal[i].g = paldat.ByteAt(i*3+1); - pal[i].b = paldat.ByteAt(i*3+2); + pal[i].r = paldat.ByteAt(palnum++); + pal[i].g = paldat.ByteAt(palnum++); + pal[i].b = paldat.ByteAt(palnum++); } if ( ReactionTime < 0 ) { @@ -384,7 +395,7 @@ Class PaletteLight : PointLight Destroy(); return; } - else ReactionTime = abs(default.ReactionTime); + else ReactionTime = abs(InitialReactionTime); } if ( target ) SetOrigin(target.pos,true); UpdateLight(); diff --git a/zscript/swwm_deathlydeathcannon.zsc b/zscript/swwm_deathlydeathcannon.zsc index c44dc3e06..369ab88be 100644 --- a/zscript/swwm_deathlydeathcannon.zsc +++ b/zscript/swwm_deathlydeathcannon.zsc @@ -116,7 +116,7 @@ Class YnykronImpactLight : PaletteLight { Default { - Tag "WhiteExpl2"; + Tag "WhiteExpl,1"; ReactionTime 60; Args 0,0,0,400; } @@ -126,7 +126,7 @@ Class YnykronSubImpactLight : PaletteLight { Default { - Tag "WhiteExpl2"; + Tag "WhiteExpl,1"; ReactionTime 20; Args 0,0,0,200; } @@ -146,7 +146,7 @@ Class YnykronBeamLight : PaletteLight { Default { - Tag "WhiteExpl2"; + Tag "WhiteExpl,1"; ReactionTime 50; Args 0,0,0,600; } diff --git a/zscript/swwm_deepdarkimpact.zsc b/zscript/swwm_deepdarkimpact.zsc index 4bb9e7990..f02129981 100644 --- a/zscript/swwm_deepdarkimpact.zsc +++ b/zscript/swwm_deepdarkimpact.zsc @@ -133,7 +133,7 @@ Class AirRingLight : PaletteLight { Default { - Tag "ImpactWav2"; + Tag "ImpactWav,1"; ReactionTime 30; Args 0,0,0,120; } diff --git a/zscript/swwm_funstuff.zsc b/zscript/swwm_funstuff.zsc index 7f2e4e4bd..a4f200a77 100644 --- a/zscript/swwm_funstuff.zsc +++ b/zscript/swwm_funstuff.zsc @@ -422,6 +422,79 @@ Class FancyConfetti : Actor Stop; } } +Class SuperFancySparkle : Actor +{ + Default + { + RenderStyle "Add"; + Radius 0.1; + Height 0; + Scale .2; + +NOGRAVITY; + +NOBLOCKMAP; + +DONTSPLASH; + +ROLLSPRITE; + +ROLLCENTER; + +FORCEXYBILLBOARD; + +NOINTERACTION; + } + override void PostBeginPlay() + { + Scale *= FRandom[ExploS](.75,1.5); + specialf1 = FRandom[ExploS](.95,.98); + specialf2 = FRandom[ExploS](.005,.015); + double ang = FRandom[ExploS](0,360); + double pt = FRandom[ExploS](-90,30); + vel = (cos(ang)*cos(pt),sin(ang)*cos(pt),sin(-pt))*FRandom[ExploS](4,20); + frame = Random[ExploS](0,7); + } + override void Tick() + { + if ( isFrozen() ) return; + A_SetScale(scale.x*specialf1); + A_FadeOut(specialf2); + Vector3 dir = vel; + double magvel = dir.length(); + magvel *= .99; + if ( magvel > 0. ) + { + dir /= magvel; + dir += .2*(FRandom[ExploS](-1,1),FRandom[ExploS](-1,1),FRandom[ExploS](-1,1)); + vel = dir.unit()*magvel; + } + SetOrigin(level.Vec3Offset(pos,vel),true); + } + States + { + Spawn: + BLPF # -1 Bright; + Stop; + } +} +Class SuperPartyLight : PaletteLight +{ + Default + { + Tag "SpRainbow"; + Args 0,0,0,100; + ReactionTime 40; + } + override void PostBeginPlay() + { + SetTag(String.Format("SpRainbow,%d",Random[ExploS](0,7))); + ReactionTime = Random[ExploS](30,50); + double ang = FRandom[ExploS](0,360); + double pt = FRandom[ExploS](-90,30); + vel = (cos(ang)*cos(pt),sin(ang)*cos(pt),sin(-pt))*FRandom[ExploS](2,10); + Super.PostBeginPlay(); + } + override void Tick() + { + Super.Tick(); + if ( isFrozen() ) return; + SetOrigin(level.Vec3Offset(pos,vel),true); + } +} Class PartyTime : Actor { bool ignite; @@ -460,16 +533,25 @@ Class PartyTime : Actor } action void A_Confetti() { - A_StartSound("misc/tada",CHAN_ITEM); + if ( !bAMBUSH ) A_StartSound("misc/tada",CHAN_ITEM); double ang, pt; int numpt = Random[ExploS](100,120); + if ( bAMBUSH ) numpt *= 2; for ( int i=0; i= 0) && (casings_cnt > swwm_maxcasings) ) @@ -1063,25 +1068,11 @@ Class SWWMHandler : EventHandler oldmaxdebris = swwm_maxdebris; oldmaxblood = swwm_maxblood; oldmaxgibs = swwm_maxgibs; - if ( !mutevoice ) mutevoice = CVar.GetCVar('swwm_mutevoice',players[consoleplayer]); - if ( onelinertic && (onelinertic < gametic) ) - { - if ( players[consoleplayer].health > 0 ) - { - if ( onelinerlevel > mutevoice.GetInt() ) - players[consoleplayer].mo.A_StartSound(onelinersnd,CHAN_DEMOVOICE,CHANF_DEFAULT,1.,ATTN_NONE); - SendNetworkEvent("swwmremoteliner."..onelinersnd,consoleplayer,onelinerlevel); - } - onelinertic = 0; - onelinerspan = 0; - } - for ( int i=0; i= gametic ) continue; - flashes.Delete(i); - i--; - } - // countable item scoring + } + + // countable item scoring + private void ItemCountTrack() + { for ( int i=0; i highesttic+700)) ) lastcombat = AddOneliner("fightstart",1,10); + } + + private void OneHundredPercentCheck() + { + // ignore levels that have NOTHING + if ( (level.total_secrets <= 0) + && (level.total_items <= 0) + && (level.total_monsters <= 0) ) return; + if ( mapclear ) return; + if ( (level.found_secrets < level.total_secrets) + || (level.found_items < level.total_items) + || (level.killed_monsters < level.total_monsters) ) return; + mapclear = true; + Console.Printf(StringTable.Localize("$SWWM_ALLCLEAR"),5000); + S_StartSound("misc/wow",CHAN_VOICE,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE); + for ( int i=0; i 0 ) + { + if ( onelinerlevel > mutevoice.GetInt() ) + players[consoleplayer].mo.A_StartSound(onelinersnd,CHAN_DEMOVOICE,CHANF_DEFAULT,1.,ATTN_NONE); + SendNetworkEvent("swwmremoteliner."..onelinersnd,consoleplayer,onelinerlevel); + } + onelinertic = 0; + onelinerspan = 0; + } + for ( int i=0; i= gametic ) continue; + flashes.Delete(i); + i--; + } + ItemCountTrack(); + CombatTrack(); + OneHundredPercentCheck(); if ( initialized ) return; // wait until bosses are active for ( int i=0; i