[WIP]Vanilla Glory Kill - Universal Glory Kill mod for Doom

Projects that alter game functions but do not include new maps belong here.
Forum rules
The Projects forums are ONLY for YOUR PROJECTS! If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.

[WIP]Vanilla Glory Kill - Universal Glory Kill mod for Doom

Postby OverDriver05 » Fri Aug 28, 2020 3:14 am

Say, have you enjoyed playing Doom 4 Vanilla (D4V), but still want that gory Glory Kills?

Introducing:
Vanilla Glory Kill
by Redxone and OverDriver05

What is the Vanilla Glory Kill?
The Vanilla Glory Kill is a gameplay mod for Doom (1994) and Doom II: Hell on Earth, designed with one thing in mind: To give the classic Doom duology a classically-modern cherry on top by giving Doomguy the ability to gloriously rip and tear through Hell's armies with his own bare hands (and sometimes with the help of his huge arsenal).

In other words, this gameplay mod introduces "Glory Kills" long before their 2016 successor actually did! Using Redxone Gaming's Universal Glory Kill mod as the base, the Vanilla Glory Kill was designed to be compatible with EVERY Doom Gameplay/TC (Total Conversion)/Slaughtermap/Gore mod(s) ever, with an extra care for mobile source ports such as Doom Touch and Delta Touch.

Key Features:
* Compatible with (most) WADS and mods made for Doom (1994) and Doom II: Hell on Earth.
* Running out of health really fast? Rip and tear that hellspawn and get your precious health back!
* Revved up that chainsaw and rip your enemies in half to restore your ammunition supply!
* Countless creative ways to rip through the forces of Hell!
* Mobile source port-friendly!

Vanilla Glory Kill Project Roadmap:
* Ver. 0.1: Actually getting the mod to work! (COMPLETE!)
* Ver. 0.2: Adds Basic Glory Kill(s) and implement Glory Kill Shader
* Ver. 0.3: Adds alt-fire option for the Chainsaw to enables Quick Glory Kill at a cost of a separate fuel
* Ver. 0.4: Adds Weapon-Specific Glory Kills
* Ver. 0.5: Adds Aerial Glory Kills for flying Demons (e.g. Cacodemons and Revenants)
* Ver. 1.0: Adds more Glory Kills

Why wasn't released yet?
Well, i'm still a newbie in making Doom mods, not to mention pretty much bad at coding and stuff!

Is there anything we can do?
There is a way to help! You can help in improving the Vanilla Glory Kill mod by contributing in the official Git.Hub page:
https://github.com/OverDriver05/Vanilla-Glory-Kill

Also, i'll be regularly contributing to the improvement of the mod, though i'll be needing some coding help to make this mod happen!
Last edited by OverDriver05 on Sun Aug 30, 2020 7:59 pm, edited 3 times in total.
OverDriver05
 
Joined: 26 Aug 2020
Discord: OverDriver05
Github ID: OverDriver05
Operating System: Windows Vista/7/2008 64-bit
Graphics Processor: nVidia (Modern GZDoom)

Re: [WIP]Vanilla Glory Kill - A Universal Glory Kill mod for

Postby tuintje » Fri Aug 28, 2020 6:49 am

for some reason not working wanted to test it

Script error, "Vanilla-Glory-Kill-master.zip:scripts/ggk_weapons.zs" line 174:
Unexpected end of file
Expecting '.' or 'class' or identifier or 'native' or 'ui' or 'play' or 'version' or 'color' or 'clearscope' or 'int8' or 'uint8' or 'int16' or 'uint16' or 'int' or 'uint' or 'bool' or 'float' or 'double' or 'vector2' or 'vector3' or 'name' or 'sound' or 'state' or 'let' or '@' or 'readonly' or 'map' or 'array' or 'void' or 'action' or 'deprecated' or 'static' or 'private' or 'protected' or 'latent' or 'final' or 'meta' or 'transient' or 'internal' or 'virtual' or 'override' or 'vararg' or 'virtualscope'
User avatar
tuintje
 
Joined: 14 Sep 2013

Re: [WIP]Vanilla Glory Kill - A Universal Glory Kill mod for

Postby Ferretmanjcdenton » Fri Aug 28, 2020 7:21 am

Doesn't work with any port ..not gz/lz/zan
________________________
One error while parsing
Glory-kill.pk3 script
_________________________

That's the message I get
Even tried on 4 different gz versions and 2 zandronum ones
User avatar
Ferretmanjcdenton
 
Joined: 09 Mar 2020
Location: Germany
Discord: https://discord.gg/hRm8w97
Operating System: Other Linux ARM/PPC/etc
OS Test Version: Yes (Using Development/Testing Version)
Graphics Processor: Not Listed

Re: [WIP]Vanilla Glory Kill - A Universal Glory Kill mod for

Postby wildweasel » Fri Aug 28, 2020 9:09 am

Which version of GZDoom?
User avatar
wildweasel
change o' pace.
Moderator Team Lead
 
Joined: 16 Jul 2003

Re: [WIP]Vanilla Glory Kill - A Universal Glory Kill mod for

Postby tuintje » Fri Aug 28, 2020 9:33 am

i tried 4.3.3 and newest 4.4
User avatar
tuintje
 
Joined: 14 Sep 2013

Re: [WIP]Vanilla Glory Kill - A Universal Glory Kill mod for

Postby MeowCatMeow » Fri Aug 28, 2020 4:52 pm

When attempting to launch this mod on the latest version of GZDoom (v4.4.2), I get this error:

"Script error, "Vanilla-Glory-Kill-master.pk3:scripts/ggk_weapons.zs" line 174:
Unexpected end of file
Expecting '.' or 'class' or identifier or 'native' or 'ui' or 'play' or 'version' or 'color' or 'clearscope' or 'int8' or 'uint8' or 'int16' or 'uint16' or 'int' or 'uint' or 'bool' or 'float' or 'double' or 'vector2' or 'vector3' or 'name' or 'sound' or 'state' or 'let' or '@' or 'readonly' or 'map' or 'array' or 'void' or 'action' or 'deprecated' or 'static' or 'private' or 'protected' or 'latent' or 'final' or 'meta' or 'transient' or 'internal' or 'virtual' or 'override' or 'vararg' or 'virtualscope'"

The mod has such a cool concept. I hope it gets fixed soon.
MeowCatMeow
 
Joined: 28 Aug 2020
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: [WIP]Vanilla Glory Kill - A Universal Glory Kill mod for

Postby Ferretmanjcdenton » Sat Aug 29, 2020 2:52 pm

wildweasel wrote:Which version of GZDoom?



I tried 1.9/3.2/3.8/4.4.2/4.5
User avatar
Ferretmanjcdenton
 
Joined: 09 Mar 2020
Location: Germany
Discord: https://discord.gg/hRm8w97
Operating System: Other Linux ARM/PPC/etc
OS Test Version: Yes (Using Development/Testing Version)
Graphics Processor: Not Listed

Re: [WIP]Vanilla Glory Kill - A Universal Glory Kill mod for

Postby Jarewill » Sat Aug 29, 2020 3:09 pm

As a minimal fix to make it work, open the zip file and go into Vanilla-Glory-Kill-master\Scripts\
From there, open ggk_weapons.zs as a text file and change the following line: (line number is 122)
Code: Select allExpand view
        A_CustomPunch(1,true,0,"NewBulletPuff",64,0,0,"","none"); 

Into this:
Code: Select allExpand view
        A_CustomPunch(1,true,0,"BulletPuff",64,0,0,"","none"); 

And then at the very bottom of the text file, add a closing bracket. }

This is a minimal fix to make it start, there are still a few truncation errors and "bad frame character" errors.
Jarewill
 
 
 
Joined: 21 Jul 2019

Re: [WIP]Vanilla Glory Kill - A Universal Glory Kill mod for

Postby OverDriver05 » Sat Aug 29, 2020 9:45 pm

Done editing the code, but doesn't start!

Full code:
Code: Select allExpand view
// Glory kill fist
class GloryFist : Weapon
{   
   Default
   {
      AttackSound "*fist";
   }
   
   Weapon prevWeapon;
   Actor ptarget;
   int ptics;
   float vbob;
   
   action void A_ResetWeapon()
   {
      PlayerInfo plr = PlayerPawn(self).player;

      if(invoker.ptarget)
      {
         if(sv_glorykilldrops)
         {
            int drops = ceil((80-plr.health)/3)+1;
            if(drops <= 0) drops = random(1,6);
            for(int i = 0; i < drops; i++)
            {   
               float xoffs = cos(invoker.ptarget.angle)*frandom(-10,10);
               float yoffs = sin(invoker.ptarget.angle)*frandom(-10,10);
               float zoffs = frandom(5,invoker.ptarget.height);
               let hpup = SuperHealthBonus(Spawn("SuperHealthBonus",(invoker.ptarget.pos.x,invoker.ptarget.pos.y,invoker.ptarget.pos.z-zoffs)));
               if(hpup)
               {
                  hpup.plr = plr.mo;
                  hpup.vel.x = xoffs;
                  hpup.vel.y = yoffs;
               }
            }
         }
         invoker.ptarget.tics = invoker.ptics;
      }
      plr.cheats &= ~(CF_TOTALLYFROZEN|CF_NOTARGET|CF_GODMODE|CF_GODMODE2|CF_INSTANTWEAPSWITCH|CF_DOUBLEFIRINGSPEED);
      plr.mo.ViewBob = invoker.vbob;
      
      if(plr)
      {
         plr.PendingWeapon = invoker.prevWeapon;
         PSprite pweapon = plr.GetPSprite(PSP_WEAPON);
         pweapon.x -= 130;
         //pweapon.y = WEAPONTOP;
         pweapon.ResetInterpolation();
      }
      RemoveInventory(invoker);
   }
   
   action void A_ToggleFlip()
   {
      PlayerInfo plr = PlayerPawn(self).player;
      PSprite pweapon = plr.GetPSprite(PSP_WEAPON);
      if(pweapon)
      {
         pweapon.bFlip = !pweapon.bFlip;   
         pweapon.x -= 130 * (pweapon.bFlip*-1);
         pweapon.ResetInterpolation();
      }
   }
   
   override void DoEffect()
   {      
      if(!PlayerPawn(Owner))
      {
         super.DoEffect();
         return;
      }
      if(ptarget && ptarget.health >= 0)
      {
         if(ptarget.tics != -1)
         {
            ptics = ptarget.tics;
            ptarget.tics = -1;
         }
         PlayerInfo plr = PlayerPawn(Owner).player;
         plr.mo.vel *= 0;
         if(!vbob)
         {   
            vbob = plr.mo.ViewBob;
            plr.mo.ViewBob *= 0;
         }
         plr.cheats |= CF_TOTALLYFROZEN|CF_NOTARGET|CF_GODMODE2|CF_GODMODE|CF_DOUBLEFIRINGSPEED|CF_INSTANTWEAPSWITCH;
         if(!prevWeapon) prevWeapon = plr.ReadyWeapon;
      }
      super.DoEffect();
   }
   
   static double GetPushWeight(double emass)
   {
      // Deviation from small weight, 0 means no deviation.
      double m = 200; // Base mass
      double d = 0.15; // Mass dropoff
      double x = (1. - (emass/m));
      double y = -d*(x**2) + 1;
      return clamp(y*0.75,0.1,1.0);
   }
   
   action void A_GloryPunch(bool kill = false)
   {   
      A_Quake(3,3,0,10,"");
      A_CustomPunch(1,true,0,"BulletPuff",64,0,0,"","none");
      if(invoker.ptarget && kill)
      {
         invoker.ptarget.A_Die("GloryKill");
         double pwmass = invoker.GetPushWeight(invoker.ptarget.mass);
         invoker.ptarget.Thrust(20. * pwmass, angle);
         invoker.ptarget.vel.z += (12. * pwmass);
      }
   }
   

   action void A_GloryKick(bool kill = false)
   {   
      PlayerInfo plr = PlayerPawn(self).player;
      A_PlaySound("fht1",0);
      A_Quake(5,3,0,10,"");
      A_CustomPunch(1,true,0,"BulletPuff",64,0,0,"","none");
      if(invoker.ptarget && kill) invoker.ptarget.A_Die("GloryKill");
      //plr.mo.ViewBob *= 1;
   }   

   States
   {
      Ready:
         PONG A 1 A_WeaponReady();
      goto Fire;
      Done:
         PONG A 1 A_ResetWeapon();
      Deselect:
         PONG A 1 A_Lower(WEAPONBOTTOM);
      Loop;
      Select:
         PONG A 1 A_Raise(WEAPONTOP);
      Loop;
      Fire:
                        TNT1 A 0 A_Jump(64,"AltKill");
         TNT1 A 0 A_Jump(96,"AltKill2");
         TNT1 A 0 A_WeaponOffset(-20,60);
         PONG BCC 1;
         PONG D 2 A_GloryPunch();
         PONG DD 1
         {   
            A_WeaponOffset(30/2,-32/2,WOF_ADD | WOF_INTERPOLATE);
            A_SetRoll(roll+1.25,SPF_INTERPOLATE);
         }
         PONG DDD 2
         {
            A_WeaponOffset(-30/5,32/5,WOF_ADD | WOF_INTERPOLATE);
            A_SetRoll(roll-1.25,SPF_INTERPOLATE);
         }
         TNT1 A 0 A_WeaponOffset(-20,60);
         PONG CCB 2;
         TNT1 A 0 A_ToggleFlip();
         PONG BCC 1;
         PONG D 1 A_GloryPunch(true);
         PONG DD 1
         {   
            A_WeaponOffset(-30/2,-32/2,WOF_ADD | WOF_INTERPOLATE);
            A_SetRoll(roll-1.25,SPF_INTERPOLATE);
         }
         PONG DDD 2
         {
            A_WeaponOffset(30/5,32/5,WOF_ADD | WOF_INTERPOLATE);
            A_SetRoll(roll+1.25,SPF_INTERPOLATE);
         }
         PONG CCB 1;
      Goto Done;
   }

Is there anything wrong here?
OverDriver05
 
Joined: 26 Aug 2020
Discord: OverDriver05
Github ID: OverDriver05
Operating System: Windows Vista/7/2008 64-bit
Graphics Processor: nVidia (Modern GZDoom)

Re: [WIP]Vanilla Glory Kill - A Universal Glory Kill mod for

Postby Jarewill » Sun Aug 30, 2020 1:58 am

OverDriver05 wrote:Is there anything wrong here?

It's still missing the closing bracket at the end of the file.
Add a new line like this at the end:
Code: Select allExpand view
}
Jarewill
 
 
 
Joined: 21 Jul 2019

Re: [WIP]Vanilla Glory Kill - Universal Glory Kill mod for D

Postby AstartesCitizen » Sun Aug 30, 2020 4:59 pm

I like the concept of this, also getting errors when trying to run it but I like where this is going, still seems rough though hoping to see a progress in this.
User avatar
AstartesCitizen
"The Emperor Protects"
 
Joined: 10 Mar 2020
Location: The Phalanx
Operating System: Windows Vista/7/2008 32-bit
Graphics Processor: Intel (Legacy GZDoom)

Re: [WIP]Vanilla Glory Kill - Universal Glory Kill mod for D

Postby OverDriver05 » Sun Aug 30, 2020 7:29 pm

Finally managed to make it work!

Thanks, Jarewill!

Now, to get those new Glory Kill up and running!

Once again, if you want to contribute in making this mod better, you can visit the official Git.Hub page:
https://github.com/OverDriver05/Vanilla ... ree/master

The page has almost all of the sprites and codes ready to be edited!

EDITED: I noticed that the sprites were...kinda off!
OverDriver05
 
Joined: 26 Aug 2020
Discord: OverDriver05
Github ID: OverDriver05
Operating System: Windows Vista/7/2008 64-bit
Graphics Processor: nVidia (Modern GZDoom)

Re: [WIP]Vanilla Glory Kill - Universal Glory Kill mod for D

Postby BROS_ETT_311 » Fri Sep 04, 2020 12:35 am

This is so kick ass! Works pretty well straight out of the box, except it could probably use some sort of check so it only apply to monsters...as hilarious as it is to glory kill explosive barrels. Then again, when aimed and timed right it does make for a pretty useful grenade, not to mention the health drops you get from it! On that note actually, is it intentional for those to take the player health past the 200 maximum? Not complaining, just curious. There is one aspect that gives me pause though; Activating a glory kill while in god mode will disable it once completed, which could inadvertently break mods with that sort of power-up. Maybe that's just a caveat of this mod, but might be worth looking into. Either way, I'm having a total blast and am nowhere near done playing this with other mods!
User avatar
BROS_ETT_311
 
Joined: 04 Nov 2017

Re: [WIP]Vanilla Glory Kill - Universal Glory Kill mod for D

Postby Yeetee » Fri Sep 11, 2020 2:58 pm

I've noticed a problem where god mode will be taken, should you do a glory kill. Please fix this, I was so excited!
Yeetee
 
Joined: 31 Aug 2020

Re: [WIP]Vanilla Glory Kill - Universal Glory Kill mod for D

Postby Mario hector » Mon Sep 28, 2020 2:23 pm

How I do the glory kills with the chainsaw
Mario hector
 
Joined: 28 Sep 2020
Discord: Not aviavle
Github ID: Not aviavle
Operating System: Windows Vista/7/2008 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: Not Listed

Next

Return to Gameplay Mods

Who is online

Users browsing this forum: Solaela and 16 guests