Well, now that I'm looking at it, it kinda looks like a headache. Here's an example of one of the weapons, but realistically I can live without the reloads (or just play mods that auto reload) I don't want to wear you out with all the requests --
Anyway.. If you still feel like it, have a look:
Code: Select all
ACTOR ProphetPistol : Weapon replaces Pistol
{
Scale 0.25
+NOALERT
+AMMO_OPTIONAL
+NOAUTOFIRE
+NOEXTREMEDEATH
Weapon.SelectionOrder 500
Inventory.PickupSound "weapons/prophetreload3"
Inventory.PickupMessage "You got the 'Prophet' high-caliber handgun!"
Weapon.AmmoType "Clip"
Weapon.AmmoGive 32
Weapon.AmmoUse 1
Weapon.Kickback 150
Weapon.AmmoType2 "ProphetInClip"
AttackSound "weapons/prophetfire"
//Weapon.UpSound "weapons/susanclose"
Obituary "%o bowed down to %k's prophecy of lead."
States
{
Spawn:
VUPP A -1
Loop
Ready:
VUPX LK 1
VUPX J 1 A_PlayWeaponSound("weapons/susanclose")
VUPX IHGFEDCBA 1
VUPG A 0 A_FireCustomMissile("LaserSightSpawner", 0, 0, 0, 4)
//VUPG A 0 A_FireBullets(0, -1, 1, 0, "ProphetLasersight", 0)
VUPG A 1 A_WeaponReady
Goto Ready+12
Deselect:
TNT1 A 0 A_PlaySound("weapons/holster")
VUPD ABCDE 1
VUPG A 1 A_Lower
Wait
Select:
TNT1 A 0 SetPlayerProperty(0,1,2) //Instant Weapon Switch
TNT1 A 0 ACS_Execute(882,0,2,0,0) //Current Weapon Indicator
VUPG A 1 A_Raise
Loop
Fire:
VUPG A 0 A_JumpIfInventory("ProphetInClip", 1, 2)
VUPG A 1 A_PlaySound("weapons/dryfire")
goto Ready+12
//True Fire:
VUPG A 0 A_GunFlash
VUPG A 0 A_FireCustomMissile("CheapAlert",0,0,0,0) //Alert Monsters
VUPG A 0 A_TakeInventory("ProphetInClip",1)
VUPF A 1 BRIGHT A_FireBullets(0,0,1,15,"Puff2",0)
VUPG E 1 A_FireCustomMissile("ProphetCasingSpawner", -3, 0, 0, 0)
VUPG DCBAAA 1
goto Ready+12
AltFire:
//Reloading Sequence
VUPG A 0 A_JumpIfInventory("ProphetInClip", 0, 2)
VUPG A 0 A_JumpIfInventory("Clip", 1, 2)
VUPG A 0
goto Ready+12
VUPG A 1 A_PlaySound("weapons/prophetreload1")
VUPG A 0 A_JumpIfInventory("ProphetInClip", 1, 3)
VUPG B 1 A_FireCustomMissile("SpentClip1", 3, 0, 5, 0)
VUPG A 0 A_Jump(256, 2)
VUPF B 1 A_FireCustomMissile("SpentClip1", 3, 0, 5, 0)
VUPG CDE 1
VUPG E 12
VUPG F 1 A_PlaySound("weapons/prophetreload2")
VUPG GH 1
VUPR ABCD 1
VUPR N 0 A_TakeInventory("Clip",1)
VUPR N 0 A_GiveInventory("ProphetInClip",1)
VUPR N 0 A_JumpIfInventory("ProphetInClip",0,2)
VUPR N 0 A_JumpIfInventory("Clip",1,2)
VUPR N 0
Goto AltFire+25
VUPR N 0
Goto AltFire+19
VUPR E 7 A_PlaySound("weapons/prophetreload3")
VUPR FGHIJK 1
goto Ready+12
Flash:
TNT1 A 0 BRIGHT A_FireCustomMissile("PistolSmokeSpawner",0,0,8,6)
TNT1 A 0 A_FireCustomMissile("LaserSightSpawner", 0, 0, random(-4,4), random(-4,4))
TNT1 A 1 BRIGHT A_Light2
TNT1 A 0 A_FireCustomMissile("LaserSightSpawner", 0, 0, random(-3,3), random(-3,3))
TNT1 A 1 BRIGHT A_Light1
TNT1 A 0 A_FireCustomMissile("LaserSightSpawner", 0, 0, random(-2,2), random(-2,2))
TNT1 A 1 BRIGHT A_Light0
TNT1 A 1 A_FireCustomMissile("LaserSightSpawner", 0, 0, random(-1,1), random(-1,1))
TNT1 AAAA 1 A_FireCustomMissile("LaserSightSpawner",0, 0, 0, 4)
Stop
}
}
ACTOR ProphetInClip : Ammo
{
Inventory.MaxAmount 8
Inventory.Icon NULLA0
States
{
Spawn:
TNT1 A 4
loop
}
}