Ænima wrote:
I don't want a normal speed PR. AlienWolve and I wanted to make the plasma rifle less spammy (hold fire to win) and more hard-hitting. I'll just up the damage. Also, I think you're looking at the wrong plasmaball actor.
Code: Select all
actor SSTPlasmaRifle : PlasmaRifle replaces plasmarifle
{
Game Doom
SpawnID 30
Weapon.SelectionOrder 98
Weapon.AmmoUse 2
Weapon.AmmoGive 40
Weapon.AmmoType "Cell"
Inventory.PickupMessage "$GOTPLASMA" // "You got the plasma gun!"
Obituary "%o was fried by %k's plasma rifle."
Weapon.preferredSkin "PlasmaSkin"
+NOALERT
States
{
Ready:
SSPL CB 2
ActualReady:
PLSG A 1 A_WeaponReady
Loop
Deselect:
TNT1 A 0 ACS_ExecuteAlways(779,0, 2,0,0)
TNT1 A 0
PLSG A 1 A_Lower
Goto DeSelect+2
Select:
TNT1 A 0 ACS_ExecuteAlways(779,0, 11,0,0)
TNT1 A 0
PLSG B 1 A_Raise
Goto Select+2
Fire:
PLSG A 0 A_JumpIfInventory("RedPlasmaChecker", 1, "Fire2")
//PLSG A 0 A_JumpIfInventory("cell", 2, 1)
//Goto FireA
PLSG A 0 A_Jump(127, "FireA")
PLSG A 0 A_GunFlash
PLSG A 0 A_FireCustomMissile ("SSTPlasmaBall", 0, 1, 0, 1)
PLSG A 0 A_PlaySoundEx ("weapons/plasmaf", "Weapon")
PLSG A 0 //A_TakeInventory("cell", 1)
PLSG A 5
PLSG B 0 A_ReFire
SSPL DDDDCB 1
//SSPL BCDDDD 1
Goto ActualReady
FireA:
PLSG A 0 A_GunFlash
PLSG A 0 A_FireCustomMissile ("SSTPlasmaBall3", 0, 1, 0, 1)
PLSG A 0 A_PlaySoundEx ("weapons/plasmaf", "Weapon")
PLSG A 5
PLSG B 0 A_ReFire
SSPL DDDDCB 1
//SSPL BCDDDD 1
Goto ActualReady
Fire2:
PLSG A 0 A_Jump(127, "Fire2A")
//PLSG A 0 A_JumpIfInventory("cell", 2, 1)
//Goto Fire2A
PLSG A 0 A_GunFlash
PLSG A 0 A_FireCustomMissile ("SSTPlasmaBall2", 0, 1, 0, 1)
PLSG A 0 A_PlaySoundEx ("weapons/plasmaf", "Weapon")
PLSG A 0 //A_TakeInventory("cell", 1)
PLSG A 5
PLSG B 0 A_ReFire
SSPL DDDDCB 1
//SSPL BCDDDD 1
Goto ActualReady
Fire2A:
PLSG A 0 A_GunFlash
PLSG A 0 A_FireCustomMissile ("SSTPlasmaBall4", 0, 1, 0, 1)
PLSG A 0 A_PlaySoundEx ("weapons/plasmaf", "Weapon")
PLSG A 5
PLSG B 0 A_ReFire
SSPL DDDDCB 1
//SSPL BCDDDD 1
Goto ActualReady
Flash:
NULL A 0 A_SpawnItemEx ("PlasmaEcho", 0,0,0, 0,0,0, 0, 160)
PLSG A 0 A_JumpIfInventory("RedPlasmaChecker", 1, 5)
PLSF A 2 Bright A_Light1
TNT1 A 0 ACS_ExecuteAlways(925,0, 150,0,0)
PLSF B 2 Bright A_Light0
RLGG E 0 A_AlertMonsters
Goto LightDone
PLSF C 2 Bright A_Light1
TNT1 A 0 ACS_ExecuteAlways(925,0, 150,0,0)
PLSF D 2 Bright A_Light0
RLGG E 0 A_AlertMonsters
Goto LightDone
Spawn:
PLAG A -1
Stop
}
}
actor SSTPlasmaBall
{
Radius 10
Height 8
Speed 50
Damage 8
Projectile
+RANDOMIZE
RenderStyle Add
Alpha 0.75
scale 0.75
//SeeSound "weapons/plasmaf"
DeathSound "weapons/plasmax"
Obituary "$OB_MPPLASMARIFLE"
damagetype "Plasma"
States
{
Spawn:
PLSE AAAAAAAAAAAA 1 bright A_SpawnItemEx ("PlasmaTrail", random(-0.25,0.25), random(-0.25,0.25), random(-0.25,0.25), 0, 0, 0, 0, 160)
loop
XDeath:
TNT1 A 0 A_PlaySoundEx("plasma/zap", soundslot6)
NULL AAAAAAAA 0 A_SpawnItemEx ("PlasmaBallCrackleSpawner", 0,0,0, 0,0,0, 0, 160)
PLSE ABCDE 4 bright
stop
Death:
NULL A 0 A_SpawnItemEx ("BlueParticleSphere", 0,0,0, 0,0,0, 0, 160)
PLSE ABCDE 4 bright
stop
}
}
actor SSTPlasmaBall3 : SSTPlasmaBall
{
Damage 7 //this was 6 in 1.3
States
{
Spawn:
PLSE AAAAAAAAAAAA 1 bright A_SpawnItemEx ("PlasmaTrail", random(-0.25,0.25), random(-0.25,0.25), random(-0.25,0.25), 0, 0, 0, 0, 160)
loop
XDeath:
TNT1 A 0 A_PlaySoundEx("plasma/zap", soundslot6)
NULL AAAAAAAA 0 A_SpawnItemEx ("PlasmaBallCrackleSpawner", 0,0,0, 0,0,0, 0, 160)
PLSE A 1 bright
PLSE A 0 A_Explode(1,16,0,0) //16 was 8
PLSE A 3 bright
PLSE ABCDE 4 bright
stop
Death:
NULL A 0 A_SpawnItemEx ("BlueParticleSphere", 0,0,0, 0,0,0, 0, 160)
PLSE A 1 bright
PLSE A 0 A_Explode(1,16,0,0) //16 was 8
PLSE A 3 bright
PLSE ABCDE 4 bright
stop
}
}
You're right. it's 7-56 or 8-64 damage, average 7.5-60, with a worse stunlock rate than the Plasma Rifle.
Really, the easiest (and most logical) solution is to just make it a normal plasma rifle (3 tics per shot, one cell per shot).
Do you know how cool it'd look to spray the area with white-hot plasma given all the fancy effects? It'd look flashy as heck.
Besides, what's wrong with a fast-fire plasma rifle? Rapidfire stuff is fun.
That and, it was never "Press fire to win". It's not powerful enough to do so, and it uses cells, the rarest ammo type in the game.
Really, the SSG is that role more than anything else;
and we wouldn't have it any other way.
On an unrelated note,
Code: Select all
ACTOR SSTBFG10k : BFG10k replaces bfg10k
{
SpawnID 165
Radius 20
Height 20
Weapon.Selectionorder 2799
Weapon.AmmoUse2 0
Weapon.AmmoGive2 80
Weapon.AmmoType2 "Cell"
Weapon.AmmoUse1 1
Weapon.AmmoGive1 0
Weapon.AmmoType1 "10kShot"
Weapon.Kickback 100
Inventory.Pickupmessage "You got the BFG10000! (Alt-fire reloads.)" // "You got the BFG10000! (Alt-fire reloads.)"
Obituary "%o blown away by %k's BFG10k."
+NOALERT
+WEAPON.NOAUTOFIRE
+WEAPON.NOLMS
+BLOODSPLATTER
+AXEBLOOD
//+AMMO_OPTIONAL
Weapon.preferredSkin "10kSkin"
States
{
Spawn:
BFG2 A -1
Stop
AlmostReady:
BG2G OOOOOOOO 2 A_Raise
BG2G O 1 //A_WeaponReady
BG2G A 0 //A_Refire
BG2G O 1 A_Raise
Goto Ready
Ready:
TNT1 A 0 A_ZoomFactor(1.0)
RLGG E 0 A_JumpIfNoAmmo("Reload")
BG2G E 0 A_JumpIfInventory("10kShot", 1, 1)
Goto ReadyEmpty
BG2G A 0 A_PlayweaponSound ("weapons/bfg10kidle")
BG2G A 1 A_WeaponReady
BG2G A 1 A_WeaponReady
BG2G A 1 A_WeaponReady
BG2G B 1 A_WeaponReady
BG2G B 1 A_WeaponReady
BG2G B 1 A_WeaponReady
BG2G C 1 A_WeaponReady
BG2G C 1 A_WeaponReady
BG2G C 1 A_WeaponReady
BG2G D 1 A_WeaponReady
BG2G D 1 A_WeaponReady
BG2G D 1 A_WeaponReady
Loop
ReadyEmpty:
BG2G OO 1 A_WeaponReady
RLGG E 0 A_JumpIfNoAmmo("Reload")
Loop
Deselect:
TNT1 A 0 ACS_ExecuteAlways(779,0, 2,0,0)
BG2G E 0 A_JumpIfInventory("10kShot", 1, 1)
Goto DeselectEmpty
TNT1 A 0
BG2G E 1 A_Lower
Goto DeSelect+2
DeselectEmpty:
TNT1 A 0
BG2G O 1 A_Lower
Goto DeSelectEmpty
Select:
RLGG F 0 A_GiveInventory("10krefirecheck", 1)
TNT1 A 0 ACS_ExecuteAlways(779,0, 6,0,0)
BG2G E 0 A_JumpIfInventory("10kShot", 1, 1)
Goto SelectEmpty
TNT1 A 0
BG2G E 1 A_Raise
Goto Select+3
SelectEmpty:
TNT1 A 0
BG2G O 1 A_Raise
Goto SelectEmpty
Fire:
BG2G E 0 A_JumpIfNoAmmo("Reload")
BG2G E 0 A_JumpIfInventory("10kShot", 1, 1)
Goto Reload
RLGG F 0 A_TakeInventory("10krefirecheck", 1)
BG2G E 20 A_PlayweaponSound ("weapons/bfg10kf")
BG2G F 4
BG2G G 1
BG2G H 1
BG2G I 1
BG2G J 1
TNT1 A 0 BRIGHT A_ZoomFactor(0.90)
Goto Hold
Hold:
BG2G E 0 A_JumpIfInventory("10krefirecheck", 1, "Fire")
BG2G E 0 A_JumpIfNoAmmo("Reload")
BG2G E 0 A_JumpIfInventory("10kShot", 1, 1)
Goto Reload
//RLGG F 0 A_TakeInventory("10kShot", 1)
BG2G K 2 BRIGHT A_GunFlash
TNT1 A 0 Radius_Quake(2,4,0,1, 0)
RLGG E 0 A_AlertMonsters
BG2G L 0 A_RailAttack (0, 0, 0, "none", "00 DD 00", 1, 0, "Bulletpuff")
BG2G L 2 BRIGHT A_FireBullets(0,0,1,0,"SSTBFG10kShot")
BG2G M 2
BG2G E 0 A_JumpIfInventory("10kShot", 1, 1)
Goto Reload
BG2G N 0 A_ReFire
BG2G O 0 A_PlayweaponSound ("weapons/bfg10kcool")
BG2G O 1 A_ZoomFactor(0.91)
BG2G O 1 A_ZoomFactor(0.92)
BG2G O 1 A_ZoomFactor(0.93)
BG2G O 1 A_ZoomFactor(0.94)
BG2G O 1 A_ZoomFactor(0.95)
BG2G O 1 A_ZoomFactor(0.96)
BG2G O 1 A_ZoomFactor(0.97)
BG2G O 1 A_ZoomFactor(0.98)
BG2G O 1 A_ZoomFactor(0.99)
BG2G O 1 A_ZoomFactor(1.0)
BG2G O 25
Goto Ready
Flash:
TNT1 A 0 A_Playsoundex ("weapons/10kshoot",soundslot7)
TNT1 A 2 Bright A_Light2
TNT1 A 2 Bright A_light0
TNT1 A 0 ACS_ExecuteAlways(925,0, random(200,320),0,0)
TNT1 A 1 Bright A_light0
Goto LightDone
Stop
Reload:
TNT1 A 0 A_ZoomFactor(1.0)
RLGG F 0 A_JumpIfInventory("Cell", 10, 2)
BG2G E 0 A_JumpIfInventory("10kShot", 1, "Ready")
Goto ReadyEmpty
RLGG F 0 A_GiveInventory("10krefirecheck", 1)
BG2G OOOOOOOOO 2 A_Lower
BG2G O 0 A_playsoundex("weapons/BFG10Kreload", "soundslot5")
BG2G O 40
Load:
RLGG F 0 A_JumpIfInventory("10kShot", 16, "AlmostReady")
RLGG F 0 A_TakeInventory("Cell", 10)
RLGG F 0 A_GiveInventory("10kShot", 1)
RLGG F 0 A_JumpIfInventory("Cell", 10, 1)
Goto AlmostReady
RLGG F 0
LOOP
Altfire:
BG2G E 0 A_JumpIfInventory("10kShot", 16, "Ready")
BG2G O 1
Goto Reload
}
}
actor 10kShot : Ammo
{
+IGNORESKILL
inventory.pickupmessage "You probably shouldn't see this."
inventory.amount 1
inventory.maxamount 16
inventory.icon "CELLA0"
ammo.backpackamount 0
ammo.backpackmaxamount 16
}
actor 10krefirecheck : Inventory
{
inventory.amount 1
inventory.maxamount 1
}
actor SSTBFG10KShot : BFG10KShot replaces bfg10kshot
{
damagetype "Rocket"
//SpawnID 217
//Radius 11
//Height 8
//Speed 20
//Damage 160
+NOBLOCKMAP
+NOGRAVITY
+ACTIVATEIMPACT
+ACTIVATEPCROSS
+NOTELEPORT
+PUFFONACTORS
//+PUFFGETSOWNER
+FORCERADIUSDMG
Renderstyle Add
Alpha 0.75
SeeSound "weapons/bfg10kx"
AttackSound "weapons/bfg10kx"
Obituary "$OB_BFG10K" // "%o was blasted by %k's BFG10K."
States
{
Spawn:
BFE1 A 0 Bright
NULL A 0 A_SpawnItemEx ("GreenParticleSphere", 0,0,0, 0,0,0, 0, 160)
NULL A 0 A_SpawnItemEx ("RocketEcho", 0,0,0, 0,0,0, 0, 160)
NULL A 0 Radius_Quake (2.75, 10, 0, 8, 0)
BFE1 A 3 Bright A_Detonate
BFE1 BCDEF 3 Bright
Stop
}
}
The BFG10000's only supposed to take 5 cells per shot, but currently it's taking 10 cells to reload (and 160 cells total to reload the clip). You might wanna fix that, as currently the BFG9000's overall the better weapon (except maybe in DM since hitscans, but what maniac places BFGs in a DM map).