Page 1 of 2

[Request] Punch gun

Posted: Tue Aug 27, 2013 6:42 pm
by wildweasel
I should in theory only need one frame of this: I'm looking for a graphic that is a short, shotgun-sized gun barrel mounted to a Doomguy-gloved arm. The idea is that it be a melee weapon that takes shotgun shells. Even just a start in the right direction would be appreciated.

Re: [Request] Punch gun

Posted: Tue Aug 27, 2013 8:11 pm
by BloodyAcid
The first image that came into mind was doomguy's hand being propelled by the shell fragmentation, loaded something like the automatic from Metro 2033.

http://images2.wikia.nocookie.net/__cb2 ... _M2033.png

Re: [Request] Punch gun

Posted: Tue Aug 27, 2013 11:52 pm
by torridgristle
Tried to merge the top of the Ballistic Fist from Fallout to the Brutal Doom punch frame.

Re: [Request] Punch gun

Posted: Wed Aug 28, 2013 12:01 am
by torridgristle
Alt strap. Probably the better of the two since it looks like it's attached to the side of it.

I'm having no luck with the barrel whatsoever.

Re: [Request] Punch gun

Posted: Wed Aug 28, 2013 1:20 am
by torridgristle
Based on the Sedgley OSS. Might be a bit too cartoony--I don't draw.

https://www.dropbox.com/s/hds64rkp0zyah ... %20Gun.psd

Here's the PSD which uses no layer styles and thus should be compatible with CS4 and GIMP so you can move the gun around on the back of his hand and make further adjustments.

Re: [Request] Punch gun

Posted: Wed Aug 28, 2013 12:46 pm
by wildweasel
The Ballistic Fist version seems like it would do what I need, but if I might nitpick a bit, I have a couple of potential suggestions that I'm currently unable to handle myself. Is there any chance you could make it somewhat larger, and perhaps use this hand as a base instead?
Image

Re: [Request] Punch gun

Posted: Wed Aug 28, 2013 1:37 pm
by torridgristle
I know this isn't what you wanted, but since I've got a proper arm for it now I figured I might as well do a Ballistic Fist that looks closer to canon in case another person wants it. :geek:

Re: [Request] Punch gun

Posted: Wed Aug 28, 2013 1:38 pm
by wildweasel
Actually, this might be precisely what I'm looking for. Is the "gun" part on a separate layer, by chance? That'd ease my implementation of a muzzle flash effect.

Re: [Request] Punch gun

Posted: Wed Aug 28, 2013 1:48 pm
by torridgristle
wildweasel wrote:Actually, this might be precisely what I'm looking for. Is the "gun" part on a separate layer, by chance? That'd ease my implementation of a muzzle flash effect.
You better believe it.

https://www.dropbox.com/s/o4x58r2m0lp49 ... %20Alt.psd

Also, resave the Ballistic Fist. I updated a few parts.

Re: [Request] Punch gun

Posted: Wed Aug 28, 2013 2:08 pm
by wildweasel
Very awesome, thanks for this!

Re: [Request] Punch gun

Posted: Sat Aug 31, 2013 9:32 am
by TheRailgunner
wildweasel wrote:Very awesome, thanks for this!
I know it's not terribly related, but you wouldn't know how to make the gun fire when it hits something, and not fire when it doesn't, would you? I've been messing around with A_JumpIfInside/OutsideMeleeRange, and so far I've just got it to occasionally jump to the firing state on contact.

Re: [Request] Punch gun

Posted: Sat Aug 31, 2013 9:41 am
by wildweasel
I'm using A_JumpIfCloser, myself. Though this does still lead to situations where my custom punch attack connects but the range check does not let the weapon fire. Though, given the cheap nature of the weapon in my mod, I'm entirely willing to let that "glitch" stand as is, and explain it in the accompanying description.

Re: [Request] Punch gun

Posted: Sat Aug 31, 2013 10:06 am
by TheRailgunner
wildweasel wrote:I'm using A_JumpIfCloser, myself. Though this does still lead to situations where my custom punch attack connects but the range check does not let the weapon fire. Though, given the cheap nature of the weapon in my mod, I'm entirely willing to let that "glitch" stand as is, and explain it in the accompanying description.

I've tried A_JumpIfCloser - it tends to either throw the punch into a loop (the "miss" state) or just outright crashes the game entirely.

EDIT: Nevermind, it was because I had stupidly misunderstood how frame-based state jumps worked.

Re: [Request] Punch gun

Posted: Sat Aug 31, 2013 10:33 am
by torridgristle
I'm trying this weapon:
Spoiler: ShotgunFist
and I'm not entirely sure of what's causing it but I think it has to do with how Doom picks which monster you're targeting. I'm not entirely sure if the fist behaves any differently.

Re: [Request] Punch gun

Posted: Sat Aug 31, 2013 10:58 am
by wildweasel
If it helps, here is the current code I'm using:

Code: Select all

ACTOR PunchGunLoaded : Ammo
{
	Inventory.MaxAmount 1
}

ACTOR PunchGunPuff
{ 
	ActiveSound ""
	AttackSound "weapons/punchgunwall"
	SeeSound "weapons/punchgunpunch"
	Scale 0.75
	RenderStyle Add
	Alpha 0.9
	+NOGRAVITY
	+NOEXTREMEDEATH
	+PUFFONACTORS
	States
	{
	Spawn:
		POOF ABCDE 3 
		Stop
	Melee:
		POOF ABCDE 3 
		Stop
	Crash:
		POOF ABCDE 3 
		Stop
	}
}

ACTOR PunchGun : CashWeapon
{
	Weapon.AmmoType1 "PunchGunLoaded"
	Weapon.AmmoUse1 1
	Weapon.AmmoGive1 0
	Weapon.AmmoType2 "ShotgunAmmo"
	Weapon.AmmoUse2 0
	Weapon.AmmoGive2 0
	Weapon.SlotNumber 1
	+Weapon.Ammo_Optional
	+Weapon.Alt_Ammo_Optional
	Decal "BulletChip"
	States
	{
	Select:
		HAND A 1 A_Raise
		HAND A 0 A_Raise
		Loop
	Deselect:
		HAND A 1 A_Lower
		HAND A 0 A_Lower
		Loop
	Ready:
		HAND A 1 A_WeaponReady(WRF_ALLOWRELOAD)
		Loop
	Fire:
		HAND A 1 Offset(5,40)
		HAND A 1 Offset(12,60)
		HAND A 1 Offset(20,86)
		TNT1 A 1
	Hold: // Even if the gun is unloaded this is here so you can keep trying to punch for raw melee damage
		PNCH A 1 Offset(-50,150)
		PNCH A 1 Offset(-40,120)
		PNCH A 1 Offset(-30,80)
		PNCH A 1 Offset(-20,30) A_PlaySound("weapons/punchgunswing", 6)
		PNCH A 1 A_JumpIfCloser(96, "FireShotgun") // Within 96 units, fires the gun.
		Goto JustPunchEm // Otherwise, jump to a state where only the punch attack happens (so it still makes noise on walls)
	FireShotgun:
		PNCH A 0 A_JumpIfNoAmmo("JustPunchEm") // Go to the punch state if the gun isn't loaded
		PNCH A 0 A_PlaySound("weapons/punchgunfire", CHAN_WEAPON)
		PNCH A 0 A_GunFlash
		PNCH B 0 A_CustomPunch(60, 1, 0, "PunchGunPuff") // Still punches.
		PNCH B 0 A_FireBullets(15, 10, 8, 5, "BulletPuff", 1) //The gun fires on the exact same tic
		PNCH B 1 BRIGHT Offset(-15,40)
		PNCH C 1 BRIGHT Offset(-13,38) A_AlertMonsters // Guns are loud, yo.
		Goto DontFireShotgun
	JustPunchEm:
		PNCH A 1 Offset(-15,40) A_CustomPunch(60, 1, 0, "PunchGunPuff")
		PNCH A 1 Offset(-13,38)
		Goto DontFireShotgun
	DontFireShotgun:
		PNCH A 1 Offset(-12,39)
		PNCH A 1 Offset(-11,40)
		PNCH A 1 Offset(-12,42)
		PNCH A 1 Offset(-13,44)
		PNCH A 1 Offset(-15,47)
		PNCH A 1 Offset(-17,50)
		PNCH A 1 Offset(-19,57)
		PNCH A 1 Offset(-22,65)
		PNCH A 1 Offset(-25,72)
		PNCH A 1 Offset(-29,82)
		PNCH A 1 Offset(-35,90)
		PNCH A 1 Offset(-42,100)
		PNCH A 1 Offset(-49,110)
		PNCH A 1 Offset(-59,111)
		PNCH A 1 Offset(-70,122)
		PNCH A 1 Offset(-80,134)
		PNCH A 1 Offset(-90,150)
		TNT1 A 1 A_Refire
		HAND A 1 Offset(20,66)
		HAND A 1 Offset(17,60)
		HAND A 1 Offset(13,55)
		HAND A 1 Offset(9,50)
		HAND A 1 Offset(5,46)
		HAND A 1 Offset(3,42)
		HAND A 1 Offset(2,38)
		HAND A 1 Offset(1,35)
		Goto Ready
// I omitted the altfire state (where you can punch the gun to force it to discharge without being in melee range) because it's not relevant here.
	Reload:
		HAND A 0 A_JumpIfInventory("PunchGunLoaded", 1, 2)
		HAND A 0 A_JumpIfInventory("ShotgunAmmo", 1, 2)
		HAND A 1 A_WeaponReady(WRF_NOFIRE)
		Goto Ready
		HAND A 1 Offset(5,40)
		HAND A 1 Offset(12,60)
		HAND A 1 Offset(20,86)
		TNT1 A 15
		HAND A 1 Offset(20,66) A_PlaySound("weapons/punchgunload")
		HAND A 1 Offset(17,60) A_TakeInventory("ShotgunAmmo", 1)
		HAND A 1 Offset(13,55) A_GiveInventory("PunchGunLoaded", 1)
		HAND A 1 Offset(9,50)
		HAND A 1 Offset(5,46)
		HAND A 1 Offset(3,42)
		HAND A 1 Offset(2,38)
		HAND A 1 Offset(1,35)
		Goto Ready
	}
}