diff --git a/language.def_lore b/language.def_lore index dbae6b5bc..c2d3afb9b 100644 --- a/language.def_lore +++ b/language.def_lore @@ -510,7 +510,7 @@ SWWM_LORETXT_BLACKMANN = "\n" "\cfBlackmann Arms\c- was founded in 1924 by \cfDaniel Ischer\c-, initially under the name of \cfSchwarzmann Exotischwaffen\c-, as an \"exotic weapons\" workshop in Cologne, Germany. When the family migrated to America in 1933, in the beginnings of the \cfNazi Regime\c-, the shop \"americanized\" itself under its current name, and quickly rose to fame designing all sorts of ingenious weaponry for the allied forces, and taking all sorts of requests for original designs, their slogan becoming \"if you can imagine it, we can make it\".\n" "\n" -"Blackmann became quite popular due to not only the swiftness in designing all kinds of odd firearms clients would request, but also some of their own original inventions, such as the \cfSilver Bullet\c- series of ultra-high caliber sniper rifles, or the \cfPuntzer\c- series of firearms designed to \"penetrate any material, no matter how resilient\", thanks to their patented \cfSpin Motion Wedge (SMW)\c- bullet design.\n" +"Blackmann became quite popular due to not only the swiftness in designing all kinds of odd firearms clients would request, but also some of their own original inventions, such as the \cfSilver Bullet\c- series of ultra-high caliber anti-materiel rifles, or the \cfPuntzer\c- series of firearms designed to \"penetrate any material, no matter how resilient\", thanks to their patented \cfSpin Motion Wedge (SMW)\c- bullet design.\n" "\n" "As of 2148, the company is handled by \cfHermann E. Ischer\c- the great-great-grandson of its founder, who has made it his personal goal that any newly created weapon to come out of their factories capable of holding more than one bullet should have the ability to shoot out everything at once, or as quickly as possible. The man himself is also quite popular on social media due to his status as the world record holder for \"largest eyebrows\", often showing them off or talking in detail about the maintenance of such a thing.\n" "\n" @@ -3774,7 +3774,7 @@ SWWM_LORETXT_SILVERBULLET = "\cf Blackmann Arms Ltd.\c-\n" "\cf Forx Aeronautics\c-\n" "\cxClassification:\c-\n" -"\cf Ultra-High Caliber Sniper Rifle\c-\n" +"\cf Ultra-High Caliber Anti-Materiel Rifle\c-\n" "\n" "The \cfSilver Bullet JET\c- is the 1.150 member of the \cfSilver Bullet\c- series of ultra-high caliber rifles manufactured by \cfBlackmann Arms\c-. It was created as a lighter, more \"reasonable\" alternative to the 1.350 \cfBehemoth\c- model. Weighing 43 kilograms and sporting a total length of 2.4 meters, it is sufficiently compact for non-augmented human use.\n" "\n" diff --git a/language.es_lore b/language.es_lore index ae2d4f035..854e99b3c 100644 --- a/language.es_lore +++ b/language.es_lore @@ -484,7 +484,7 @@ SWWM_LORETXT_BLACKMANN = "\n" "\cfBlackmann Arms\c- fue fundada en 1924 por \cfDaniel Ischer\c-, inicialmente bajo el nombre de \cfSchwartzmann Exotischwaffen\c-, como un taller de \"armas exóticas\" en Colonia, Alemania. Cuando la familia emigró a América en 1933, en los comienzos de la \cfDictadura Nazi\c-, la tienda se \"americanizó\" bajo su nombre actual, y alcanzó la fama rápidamente diseñando toda clase de ingeniosas armas para las fuerzas aliadas, y aceptando toda clase de peticiones de diseños originales, su eslogan era \"si puedes imaginarlo, podemos crearlo\".\n" "\n" -"Blackmann se popularizó no solo por la rapidez en diseñar toda clase de curiosas armas que sus clientes pedían, sino también por sus propios inventos originales, como la serie \cfSilver Bullet\c- de rifles de francotirador de calibre ultra-alto, o la serie \cfPuntzer\c- de armas diseñadas para \"penetrar cualquier material, sin importar su resistencia\", gracias a su patentado diseño de bala \cfSpin Motion Wedge (SMW)\c-.\n" +"Blackmann se popularizó no solo por la rapidez en diseñar toda clase de curiosas armas que sus clientes pedían, sino también por sus propios inventos originales, como la serie \cfSilver Bullet\c- de fusiles antimaterial de calibre ultra-alto, o la serie \cfPuntzer\c- de armas diseñadas para \"penetrar cualquier material, sin importar su resistencia\", gracias a su patentado diseño de bala \cfSpin Motion Wedge (SMW)\c-.\n" "\n" "A partir de 2148, la compañía está a cargo de \cfHermann E. Ischer\c- tataranieto de su fundador, quien ha hecho su objetivo personal que toda arma creada en sus fábricas capaz de tener más de una bala cargada debe tener la habilidad de dispararlo todo a la vez, o lo más rápido posible. El hombre es también popular en redes sociales dado su estatus por tener el record mundial de \"mayores cejas\", frecuentemente presumiendo de ellas o hablando en detalle de su mantenimiento.\n" "\n" @@ -3510,7 +3510,7 @@ SWWM_LORETXT_SILVERBULLET = "\cf Blackmann Arms S.L.\c-\n" "\cf Aeronáutica Forx\c-\n" "\cxClasificación:\c-\n" -"\cf Rifle de Francotirador de Calibre Ultra-Alto\c-\n" +"\cf Fusil Antimaterial de Calibre Ultra-Alto\c-\n" "\n" "El \cfSilver Bullet JET\c- es el miembro de calibre 1.150 de la serie \cfSilver Bullet\c- de rifles de calibre ultra-alto fabricados por \cfBlackmann Arms\c-. Fue creado como una alternativa ligera y más \"razonable\" del modelo \cfBehemoth\c- de calibre 1.350. Pesando 43 kilos y con una longitud total de 2.4 metros, es suficientemente compacto para el uso por humanos no mejorados.\n" "\n" diff --git a/language.version b/language.version index 45f152796..0bd28a5a5 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r628 \cu(Tue 22 Nov 13:40:08 CET 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r628 \cu(2022-11-22 13:40:08)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r629 \cu(Tue 22 Nov 23:05:20 CET 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r629 \cu(2022-11-22 23:05:20)\c-"; diff --git a/lore/default/blackmann.txt b/lore/default/blackmann.txt index 6055c3fa3..e15eec878 100644 --- a/lore/default/blackmann.txt +++ b/lore/default/blackmann.txt @@ -16,7 +16,7 @@ TXT **Blackmann Arms** was founded in 1924 by **Daniel Ischer**, initially under the name of **Schwarzmann Exotischwaffen**, as an "exotic weapons" workshop in Cologne, Germany. When the family migrated to America in 1933, in the beginnings of the **Nazi Regime**, the shop "americanized" itself under its current name, and quickly rose to fame designing all sorts of ingenious weaponry for the allied forces, and taking all sorts of requests for original designs, their slogan becoming "if you can imagine it, we can make it". -Blackmann became quite popular due to not only the swiftness in designing all kinds of odd firearms clients would request, but also some of their own original inventions, such as the **Silver Bullet** series of ultra-high caliber sniper rifles, or the **Puntzer** series of firearms designed to "penetrate any material, no matter how resilient", thanks to their patented **Spin Motion Wedge (SMW)** bullet design. +Blackmann became quite popular due to not only the swiftness in designing all kinds of odd firearms clients would request, but also some of their own original inventions, such as the **Silver Bullet** series of ultra-high caliber anti-materiel rifles, or the **Puntzer** series of firearms designed to "penetrate any material, no matter how resilient", thanks to their patented **Spin Motion Wedge (SMW)** bullet design. As of 2148, the company is handled by **Hermann E. Ischer** the great-great-grandson of its founder, who has made it his personal goal that any newly created weapon to come out of their factories capable of holding more than one bullet should have the ability to shoot out everything at once, or as quickly as possible. The man himself is also quite popular on social media due to his status as the world record holder for "largest eyebrows", often showing them off or talking in detail about the maintenance of such a thing. diff --git a/lore/default/silverbullet.txt b/lore/default/silverbullet.txt index 9a0c95c8f..bd0c7dac5 100644 --- a/lore/default/silverbullet.txt +++ b/lore/default/silverbullet.txt @@ -11,7 +11,7 @@ TXT \cf Blackmann Arms Ltd.\c- \cf Forx Aeronautics\c- \cxClassification:\c- -\cf Ultra-High Caliber Sniper Rifle\c- +\cf Ultra-High Caliber Anti-Materiel Rifle\c- The **Silver Bullet JET** is the 1.150 member of the **Silver Bullet** series of ultra-high caliber rifles manufactured by **Blackmann Arms**. It was created as a lighter, more "reasonable" alternative to the 1.350 **Behemoth** model. Weighing 43 kilograms and sporting a total length of 2.4 meters, it is sufficiently compact for non-augmented human use. diff --git a/lore/es/blackmann.txt b/lore/es/blackmann.txt index 1db200086..890e5e29d 100644 --- a/lore/es/blackmann.txt +++ b/lore/es/blackmann.txt @@ -10,7 +10,7 @@ TXT **Blackmann Arms** fue fundada en 1924 por **Daniel Ischer**, inicialmente bajo el nombre de **Schwartzmann Exotischwaffen**, como un taller de "armas exóticas" en Colonia, Alemania. Cuando la familia emigró a América en 1933, en los comienzos de la **Dictadura Nazi**, la tienda se "americanizó" bajo su nombre actual, y alcanzó la fama rápidamente diseñando toda clase de ingeniosas armas para las fuerzas aliadas, y aceptando toda clase de peticiones de diseños originales, su eslogan era "si puedes imaginarlo, podemos crearlo". -Blackmann se popularizó no solo por la rapidez en diseñar toda clase de curiosas armas que sus clientes pedían, sino también por sus propios inventos originales, como la serie **Silver Bullet** de rifles de francotirador de calibre ultra-alto, o la serie **Puntzer** de armas diseñadas para "penetrar cualquier material, sin importar su resistencia", gracias a su patentado diseño de bala **Spin Motion Wedge (SMW)**. +Blackmann se popularizó no solo por la rapidez en diseñar toda clase de curiosas armas que sus clientes pedían, sino también por sus propios inventos originales, como la serie **Silver Bullet** de fusiles antimaterial de calibre ultra-alto, o la serie **Puntzer** de armas diseñadas para "penetrar cualquier material, sin importar su resistencia", gracias a su patentado diseño de bala **Spin Motion Wedge (SMW)**. A partir de 2148, la compañía está a cargo de **Hermann E. Ischer** tataranieto de su fundador, quien ha hecho su objetivo personal que toda arma creada en sus fábricas capaz de tener más de una bala cargada debe tener la habilidad de dispararlo todo a la vez, o lo más rápido posible. El hombre es también popular en redes sociales dado su estatus por tener el record mundial de "mayores cejas", frecuentemente presumiendo de ellas o hablando en detalle de su mantenimiento. diff --git a/lore/es/silverbullet.txt b/lore/es/silverbullet.txt index 2f8b7fd75..e2ea17c64 100644 --- a/lore/es/silverbullet.txt +++ b/lore/es/silverbullet.txt @@ -5,7 +5,7 @@ TXT \cf Blackmann Arms S.L.\c- \cf Aeronáutica Forx\c- \cxClasificación:\c- -\cf Rifle de Francotirador de Calibre Ultra-Alto\c- +\cf Fusil Antimaterial de Calibre Ultra-Alto\c- El **Silver Bullet JET** es el miembro de calibre 1.150 de la serie **Silver Bullet** de rifles de calibre ultra-alto fabricados por **Blackmann Arms**. Fue creado como una alternativa ligera y más "razonable" del modelo **Behemoth** de calibre 1.350. Pesando 43 kilos y con una longitud total de 2.4 metros, es suficientemente compacto para el uso por humanos no mejorados. diff --git a/readme.txt b/readme.txt index 372ebce03..c0f675fdb 100644 --- a/readme.txt +++ b/readme.txt @@ -182,7 +182,7 @@ at the price of some slight unstability (you might hurt yourself with it). 2.1.8. Silver Bullet JET -Slot 8. Sniper rifle. +Slot 8. Anti-Materiel rifle. The big and bulky brother of that unwieldy thing from Ultra Suite. Primary fire (you guessed it) shoots. Secondary fire cycles the bolt. diff --git a/zscript/dlc1/swwm_mister.zsc b/zscript/dlc1/swwm_mister.zsc index 030396f9d..94206cb51 100644 --- a/zscript/dlc1/swwm_mister.zsc +++ b/zscript/dlc1/swwm_mister.zsc @@ -831,9 +831,7 @@ Class MisterRifle : SWWMWeapon b = Spawn("MisterRailBeam",sstart); b.target = self; b.frame = 1; - b.scale.y = 32; - b.angle = atan2(sdir.y,sdir.x); - b.pitch = asin(-sdir.z)+90; + [b.angle, b.pitch, b.scale.y] = SWWMUtility.CalcYBeam(sdir,32); MisterRailBeam(b).mrc = mrc; mrc.effectors.Push(b); sstart += sdir*32; @@ -846,9 +844,7 @@ Class MisterRifle : SWWMWeapon b.frame = 1; } b.target = self; - b.scale.y = sdist; - b.angle = atan2(sdir.y,sdir.x); - b.pitch = asin(-sdir.z)+90; + [b.angle, b.pitch, b.scale.y] = SWWMUtility.CalcYBeam(sdir,sdist); MisterRailBeam(b).mrc = mrc; mrc.effectors.Push(b); } @@ -865,9 +861,7 @@ Class MisterRifle : SWWMWeapon b = Spawn("MisterRailBeam",sstart); b.target = self; b.frame = 1; - b.scale.y = 32; - b.angle = atan2(sdir.y,sdir.x); - b.pitch = asin(-sdir.z)+90; + [b.angle, b.pitch, b.scale.y] = SWWMUtility.CalcYBeam(sdir,32); MisterRailBeam(b).mrc = mrc; mrc.effectors.Push(b); sstart += sdir*32; @@ -882,9 +876,7 @@ Class MisterRifle : SWWMWeapon } else b = Spawn("MisterRailBeam",sstart); b.target = self; - b.scale.y = sdist; - b.angle = atan2(sdir.y,sdir.x); - b.pitch = asin(-sdir.z)+90; + [b.angle, b.pitch, b.scale.y] = SWWMUtility.CalcYBeam(sdir,sdist); MisterRailBeam(b).mrc = mrc; mrc.effectors.Push(b); sstart = mrt.portalseg[i].exit; @@ -895,9 +887,7 @@ Class MisterRifle : SWWMWeapon sdir /= sdist; b = Spawn("MisterRailBeam",sstart); b.target = self; - b.scale.y = sdist; - b.angle = atan2(sdir.y,sdir.x); - b.pitch = asin(-sdir.z)+90; + [b.angle, b.pitch, b.scale.y] = SWWMUtility.CalcYBeam(sdir,sdist); MisterRailBeam(b).mrc = mrc; mrc.effectors.Push(b); } diff --git a/zscript/items/swwm_funstuff.zsc b/zscript/items/swwm_funstuff.zsc index 10a6d4dc4..fa0be9113 100644 --- a/zscript/items/swwm_funstuff.zsc +++ b/zscript/items/swwm_funstuff.zsc @@ -592,10 +592,8 @@ Class SuperFancySparkle : SWWMNonInteractiveActor dir /= dist; let t = Spawn("SuperFancyTrail",pos); t.alpha = alpha*.5; - t.scale.y = dist; t.scale.x *= scale.x; - t.angle = atan2(dir.y,dir.x); - t.pitch = asin(-dir.z)+90; + [t.angle, t.pitch, t.scale.y] = SWWMUtility.CalcYBeam(dir,dist); t.SetState(t.SpawnState+frame); } States diff --git a/zscript/swwm_common_fx.zsc b/zscript/swwm_common_fx.zsc index e294ae36e..725b5d7d5 100644 --- a/zscript/swwm_common_fx.zsc +++ b/zscript/swwm_common_fx.zsc @@ -517,9 +517,7 @@ Class SWWMSpark : SWWMNonInteractiveActor taildir /= taillen; let t = Spawn("SWWMSparkTrail",newpos); t.alpha = alpha*.3; - t.scale.y = taillen; - t.angle = atan2(taildir.y,taildir.x); - t.pitch = asin(-taildir.z)+90; + [t.angle, t.pitch, t.scale.y] = SWWMUtility.CalcYBeam(taildir,taillen); } SetOrigin(newpos,true); if ( (pos.z <= floorz) && GetFloorTerrain().IsLiquid ) diff --git a/zscript/utility/swwm_utility.zsc b/zscript/utility/swwm_utility.zsc index 9c27c3e27..1112d888b 100644 --- a/zscript/utility/swwm_utility.zsc +++ b/zscript/utility/swwm_utility.zsc @@ -1475,6 +1475,22 @@ Class SWWMUtility return false; } + // calculate angle, pitch and yscale of YBeam based on direction vector and length + static clearscope double, double, double CalcYBeam( Vector3 dir, double dist ) + { + // new code post pixelstretch bug fix, don't use yet + /*dir *= level.pixelstretch; + double len = dir.length(); + dir /= len; + double angle = atan2(dir.y,dir.z); + double pitch = asin(-dir.z)+90; + double yscale = dist*len; + return angle, pitch, yscale;*/ + double angle = atan2(dir.y,dir.z); + double pitch = asin(-dir.z)+90; + return angle, pitch, dist; + } + static clearscope bool IdentifyingDog( Actor a ) { if ( a is 'MBFHelperDog' ) return true; diff --git a/zscript/weapons/swwm_danmaku_fx.zsc b/zscript/weapons/swwm_danmaku_fx.zsc index 879fd8a84..e6b735927 100644 --- a/zscript/weapons/swwm_danmaku_fx.zsc +++ b/zscript/weapons/swwm_danmaku_fx.zsc @@ -208,9 +208,7 @@ Class EvisceratorChunk : Actor dir /= dist; let t = Spawn("EvisceratorChunkTrail",pos); t.alpha = alph; - t.scale.y = dist; - t.angle = atan2(dir.y,dir.x); - t.pitch = asin(-dir.z)+90; + [t.angle, t.pitch, t.scale.y] = SWWMUtility.CalcYBeam(dir,dist); t.SetState(t.SpawnState+trailcolor); if ( trailcolor > 0 ) { diff --git a/zscript/weapons/swwm_deathlydeathcannon_fx.zsc b/zscript/weapons/swwm_deathlydeathcannon_fx.zsc index 2c516a1d1..b42fddbc8 100644 --- a/zscript/weapons/swwm_deathlydeathcannon_fx.zsc +++ b/zscript/weapons/swwm_deathlydeathcannon_fx.zsc @@ -1903,9 +1903,7 @@ Class YnykronVoidSparkle : SWWMNonInteractiveActor let t = Spawn("YnykronVoidSparkleTrail",newpos); t.alpha = alpha*.5; t.scale.x *= scale.x; - t.scale.y = len; - t.angle = atan2(dir.y,dir.x); - t.pitch = asin(-dir.z)+90; + [t.angle, t.pitch, t.scale.y] = SWWMUtility.CalcYBeam(dir,len); } SetOrigin(newpos,true); }