Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
rabidrage

Been a while, but...zooming.

Recommended Posts

Once upon a time I had ripped a shotgun from multiple sources, and I was able to incorporate the zooming effect from BDJ20 quite nicely.  I was able to bind a key to toggle zoom and have a different "ready" state while zoomed as well.  Also, I could fire multiple shots without unzooming.  It doesn't seem to work now!  How would one go about setting something like this up in Decorate?

Share this post


Link to post

It sounds like you want to look into A_ZoomFactor but I personally suck buals at decorate. If no one around here knows it couldn't hurt to ask over at ZDoom as well.

Share this post


Link to post

I might.  I got it zooming via the whole "User2" formula.  But if I set the unzoomed mode to "User 1", it doesn't let me switch back.  I don't get it!  Here's the code.  Maybe somebody can parse this and figure out my issue.

 

Actor 64Shotgun : DoomWeapon
{
  Weapon.SelectionOrder 1300
   +Weapon.NoAutoFire
  Weapon.AmmoUse 1
  Weapon.AmmoGive 0
  Weapon.AmmoType "Shell"
  Inventory.PickupMessage "$GOTSHOTGUN"
 Obituary "$OB_MPSHOTGUN"
  Tag "$TAG_SHOTGUN"
  Scale 0.87
 states
  {
		
		Ready:
    SHTG A 1 A_WeaponReady(WRF_ALLOWUSER3|WRF_ALLOWUSER2)
    Loop
	User3:
	TNT1 A 0 A_Takeinventory("Zoomed",1)
    SHTG A 1
    Loop
	RealReady:
       TNT1 AAAAAAAAAAAAAA 0
		SHTG A 1 A_WeaponReady
		Goto RealReady
  User2:
		TNT1 A 0 A_Giveinventory("Zoomed",1)
		SHT8 A 0 A_ZoomFactor(1.8)
		SHT8 A 3 A_WeaponReady
		SHT8 A 3 A_WeaponReady
		SHT8 A 3 A_WeaponReady
		SHT8 B 3 A_WeaponReady
		SHT8 B 3 A_WeaponReady
		SHT8 B 3 A_WeaponReady
		SHT8 A 3 A_WeaponReady
		SHT8 A 3 A_WeaponReady
		SHT8 A 3 A_WeaponReady
		SHT8 C 3 A_WeaponReady
		SHT8 C 3 A_WeaponReady
		SHT8 C 3 A_WeaponReady
		Loop
	
  Select:
	TNT1 AAAAA 1 A_Raise
	TNT1 AAAAAAAAAA 0 A_Raise
	Goto SelectAnimation

 SelectAnimation:
	SHTS A 1
	SHTS BCD 1
	Goto Ready
	
 Deselect:
	SHTS DCBA 1
	TNT1 A 0 A_TakeInventory (Zoomed,1)
	TNT1 A 0 A_ZoomFactor(1.0)
	TNT1 AAAAAAAAAA 0 A_Lower
	TNT1 A 1 A_Lower
	Wait
	
Fire:
	TNT1 A 0 A_JumpIfInventory("Zoomed",1,"Fire2")
	SHTG A 1
	
	TNT1 AA 0 A_FireCustomMissile("GunFireSmoke", 0, 0, 0, 0, 0, 0)
	SHTG A 0 A_FireBullets (4.0, 4.0, 8, 7, "ShotgunPuff")
	TNT1 A 0 A_PlaySound("SGFIRE", 1)
	TNT1 A 0 A_ZoomFactor(0.95)
    SHTG CC 1 BRIGHT
	TNT1 A 0 A_GunFlash
	TNT1 A 0 A_ZoomFactor(1.0)
    SHTG B 3 A_SetPitch (pitch-2)
    SHTG B 1 A_SetPitch (pitch+0.8)
    SHTG B 1 A_SetPitch (pitch+0.6)
    SHTG A 1 A_SetPitch (pitch+0.4)
   SHTG A 1 A_SetPitch (pitch+0.2)
    SHTG BCDEFG 1
	TNT1 A 0 A_FireCustomMissile("ShotCaseSpawn",0,0,-4,-4)
	TNT1 A 0 A_PlaySound("STGNPUMP", 4)
	SHTG HIJKLMMLKJ 1
	SHTG IHGFEDCB 1
	TNT1 A 0 A_Refire
    Goto Ready
	Flash:
    SHTF A 2 Bright
	SHTF A 2 Bright
	Goto LightDone
	
	Fire2:
		TNT1 A 0 A_Takeinventory("Zoomed",1)
		TNT1 A 0 A_Takeinventory("ADSmode",1)
        TNT1 AAAA 0
        TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_FireBullets(3, 2, 7, 11, "ShotgunPuff")
		TNT1 A 0 A_Takeinventory("ShotgunAmmo",1)
        TNT1 A 0 A_FireCustomMissile("SmokeSpawner",5,0,0,-5)
        TNT1 A 0 A_FireCustomMissile("SmokeSpawner",-5,0,0,-5)
		TNT1 A 0 A_ZoomFactor(1.6)
		TNT1 A 0 A_PlaySound("SHOTGOOD",0)
        SHT8 F 1 BRIGHT
		TNT1 A 0 A_ZoomFactor(1.65)
		TNT1 A 0 A_PlaySound("H4SHOT",0,0.85)
        SHT8 G 1 BRIGHT
        TNT1 A 0 A_SetPitch(pitch - 2.0)
		TNT1 A 0 A_ZoomFactor(1.7)
		SHT8 G 1
        TNT1 A 0 A_SetPitch(pitch + 1.0)
		TNT1 A 0 A_ZoomFactor(1.75)
		SHT8 G 1
        TNT1 A 0 A_SetPitch(pitch + 0.5)
		TNT1 A 0 A_ZoomFactor(1.8)
		SHT8 A 2
        SHT8 D 1
		TNT1 A 0 A_ZoomFactor(1.0)
        XXTF Z 1
        SHT8 E 1
		//SHTG A 2
   		SG64 IBC 1
		SG64 DEF 2
		TNT1 A 0
		SG64 G 1 A_PlaySound("weapons/sgpump", 0)
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",10,0,0,-5)
		TNT1 A 0
		SG64 H 2 A_FireCustomMissile("ShotCaseSpawn",0,0,-5,-12)
		SG64 G 1
		SG64 FED 2
		SG64 CBI 1
		TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		TNT1 A 0 A_JumpIfInventory("GrenadeToss",1,"ThrowGrenade")
		TNT1 A 0 A_JumpIfInventory("Punching",1,"DoPunch")
		//SHTG A 4
		Goto Altfire+1
		
		Altfire:
		TNT1 A 0 A_PlaySound("GUNSIGHT",0)
		TNT1 A 0 A_JumpIfInventory("Zoomed",1,"AltFire2")
		TNT1 A 0 A_Giveinventory("Zoomed",1)
		SHT8 E 1 A_ZoomFactor(1.8)
		TNT1 A 0 A_Takeinventory("Zoomed",1)
		XXTF Z 1
		SHT8 D 1
		Goto User2

	Altfire2:
		TNT1 A 0 A_PlaySound("GUNSIGHT",0)
		SHT8 D 1
		XXTF Z 1 A_ZoomFactor(1.8)
		SHT8 E 1
	Goto User2
  Spawn:
	SHOT A 1
	SHOT A -1
	Loop
  }
}

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×