Download:
v 1.1 (Somente GZDoom)
Versões antigas:
v 1.0 (Somente GZDoom)
v 0.9 (GZDoom)
v 0.9 (ZDoom)
(Lembrando que ainda não foi testado e provavelmente não será a versão final, então, por favor, quem descobrir algum bug me avise! Sugestões são bem vindas também!)
Pra quem quiser saber antes de baixar, muitas coisas foram mudadas:
- Todas as armas sofreram mudanças, seja nas animações, cores, sprites ou sons;
- O sistema de reload foi totalmente refeito: as armas não mais fazem animação de reload caso a arma esteja cheia ou o jogador não tenha munição pra recarregar, e são trocadas automaticamente quando a munição acaba;
- Todas as armas possuem um efeito de recoil que, para a alegria dos oldschoolers (a.k.a DU0) não altera o pitch do jogador, ou seja, dá pra jogar sem freelook numa boa.
- Granadas adicionadas! Elas possuem 4 niveis de ataque e podem explodir na mão do jogador;
- Os danos causados por cada arma foram melhorados;
- Motoserra, punhos e lanterna agora produzem sons ao atingir objetos, que variam se o alvo for um monstro ou uma parede;
- Pistol, Shotgun, Machinegun e Chaingun soltam capsulas ao atirar;
- Shotgun recarrega duas shells por vez;
- Todas as armas tem uma animação de seleção personalizada e a troca entre as armas é mais rápida;
- Projeteis do Plasma Rifle e BFG totalmente refeitos com novos sprites;
- Capacidade máxima de balas de todas as armas consertado, assim como os itens de munição de cada uma (alguns são aleatorios)
- A lanterna agora ilumina não só paredes como também monstros e objetos em geral, com sprites novos e o antigo feixe de luz mudado de amarelo para branco;
- Zoom corrigido;
- BFG tem 4 niveis de ataque e pode explodir se sobrecarregada; Projeteis mais fortes gastam mais munição, e caso a munição no pente seja insuficiente para um ataque maior, o ataque que usa a força corresponde à munição disponivel será usado;
- A versão para GZDoom possui sprites melhores para a Plasma Ball e BFG Ball;
- E mais um monte de coisas que eu já nem me lembro mais!
E aos decoraters de plantão, olhem o 'pequeno' código da BFG:
Código: Selecionar todos
ACTOR Doom3BFG9000 : BFG9000 Replaces BFG9000
{
Inventory.PickupMessage "BFG 9000"
Inventory.PickupSound "misc/weapon_pkup"
Weapon.SelectionOrder 50
Weapon.AmmoType1 "XBFGCell"
Weapon.AmmoType2 "BFGCell"
Weapon.AmmoGive1 0
Weapon.AmmoGive2 4
Weapon.AmmoUse1 1
Weapon.AmmoUse2 0
Weapon.Kickback 180
+AMMO_OPTIONAL
States
{
Spawn:
BFUG A -1
Loop
Ready:
BFGS ABCD 1
BFGS E 1 A_PlaySound("weapons/bfg9000/raise")
BFGS FGHIJ 1
BFGG A 0 A_JumpIfInventory("Reload",1,"Reload")
BFGG A 1 A_WeaponReady
Goto Ready+10
Deselect:
BFGS EDCBA 1 A_Lower
Goto Deselect+4
Select:
BFGS A 1
BFGS AA 0 A_Raise
Loop
Fire:
BFGI A 0 A_JumpIfNoAmmo("Reload")
BFGI A 10 A_PlaySoundEx("weapons/bfg9000/fire","weapon")
BFGI A 1 A_Refire
Goto Fire1
Hold:
BFGI A 0 A_JumpIfInventory("BFGHolder",40,"Explode")
BFGI A 0 A_JumpIfInventory("BFGHolder",35,18)
BFGI A 0 A_JumpIfInventory("BFGHolder",30,15)
BFGI A 0 A_JumpIfInventory("BFGHolder",25,12)
BFGI A 0 A_JumpIfInventory("BFGHolder",20,9)
BFGI A 0 A_JumpIfInventory("BFGHolder",15,6)
BFGI A 0 A_JumpIfInventory("BFGHolder",10,3)
BFGI B 2 A_GiveInventory("BFGHolder",1)
BFGI B 1 A_Refire
Goto Fire1
BFGI C 2 A_GiveInventory("BFGHolder",1)
BFGI C 1 A_Refire
Goto Fire1
BFGI D 2 A_GiveInventory("BFGHolder",1)
BFGI D 1 A_Refire
Goto Fire2
BFGI E 2 A_GiveInventory("BFGHolder",1)
BFGI E 1 A_Refire
Goto Fire2
BFGI F 2 A_GiveInventory("BFGHolder",1)
BFGI F 1 A_Refire
Goto Fire3
BFGI G 2 A_GiveInventory("BFGHolder",1)
BFGI G 1 A_Refire
Goto Fire3
BFGI H 2 A_GiveInventory("BFGHolder",1)
BFGI H 1 A_Refire
Goto Fire4
BFGI I 2 A_GiveInventory("BFGHolder",1)
BFGI I 1 A_Refire
Goto Fire4
BFGI A 0
Goto Ready+10
Fire1:
BFGG A 0 A_GunFlash
BFGG A 0 A_StopSoundEx("weapon")
BFGG A 1 A_FireCustomMissile("D3BFGBall1", 0, 1, 1, 0)
BFGG B 1 Radius_Quake(4,4,0,1,0)
BFGG C 1 A_TakeInventory("BFGHolder")
BFGG D 1
BFGG K 1
BFGG J 1
BFGG I 1
BFGG H 1
BFGG G 2
BFGG F 2
BFGG E 1
BFGG D 1
BFGG C 1
BFGG B 2
BFGG A 15
Goto Ready+10
Fire2:
BFGG A 0 A_JumpIfInventory("XBFGCell",2,2)
BFGG A 0
Goto Fire1
BFGG A 0 A_GunFlash
BFGG A 0 A_StopSoundEx("weapon")
BFGG A 1 A_FireCustomMissile("D3BFGBall2", 0, 1, 1, 0)
BFGG A 0 A_FireCustomMissile(" ", 0, 1, 0, 0)
BFGG B 1 Radius_Quake(4,4,0,1,0)
BFGG C 1 A_TakeInventory("BFGHolder")
BFGG D 1
BFGG K 1
BFGG J 1
BFGG I 1
BFGG H 1
BFGG G 2
BFGG F 2
BFGG E 1
BFGG D 1
BFGG C 1
BFGG B 2
BFGG A 15
Goto Ready+10
Fire3:
BFGG A 0 A_JumpIfInventory("XBFGCell",4,2)
BFGG A 0
Goto Fire2
BFGG A 0 A_GunFlash
BFGG A 0 A_StopSoundEx("weapon")
BFGG A 1 A_FireCustomMissile("D3BFGBall3", 0, 1, 1, 0)
BFGG A 0 A_FireCustomMissile(" ", 0, 1, 0, 0)
BFGG A 0 A_FireCustomMissile(" ", 0, 1, 0, 0)
BFGG B 1 Radius_Quake(4,4,0,1,0)
BFGG C 1 A_TakeInventory("BFGHolder")
BFGG D 1
BFGG K 1
BFGG J 1
BFGG I 1
BFGG H 1
BFGG G 2
BFGG F 2
BFGG E 1
BFGG D 1
BFGG C 1
BFGG B 2
BFGG A 15
Goto Ready+10
Fire4:
BFGG A 0 A_JumpIfInventory("XBFGCell",4,2)
BFGG A 0
Goto Fire3
BFGG A 0 A_GunFlash
BFGG A 0 A_StopSoundEx("weapon")
BFGG A 1 A_FireCustomMissile("D3BFGBall4", 0, 1, 1, 0)
BFGG A 0 A_FireCustomMissile(" ", 0, 1, 0, 0)
BFGG A 0 A_FireCustomMissile(" ", 0, 1, 0, 0)
BFGG A 0 A_FireCustomMissile(" ", 0, 1, 0, 0)
BFGG B 1 Radius_Quake(4,4,0,1,0)
BFGG C 1 A_TakeInventory("BFGHolder")
BFGG D 1
BFGG K 1
BFGG J 1
BFGG I 1
BFGG H 1
BFGG G 2
BFGG F 2
BFGG E 1
BFGG D 1
BFGG C 1
BFGG B 2
BFGG A 15
Goto Ready+10
Explode:
BFGG A 0
BFGG A 0 A_StopSoundEx("weapon")
BFGG A 0 A_FireCustomMissile("BFGExplosionSpawn",0,1,0,0)
BFGG A 0 Thing_Damage(0,1000)
Goto Ready+10
AltFire:
BFGI A 0
Goto Reload
Reload:
BFGG A 0 A_TakeInventory("Reload")
BFGG A 0 A_JumpIfInventory("XBFGCell",4,4)
BFGG A 0 A_JumpIfInventory("BFGCell",1,"ReloadStart")
BFGG A 0 A_JumpIfInventory("XBFGCell",1,2)
BFGG A 0
Goto NoAmmo
BFGG A 0
Goto Ready+10
ReloadStart:
BFGG ABCDEFG 1
BFGG H 15 A_PlaySound("weapons/bfg9000/reload")
BFGG H 20
BFGG I 30
BFGG JIHGFEDCBA 1
Goto ReloadCheck
ReloadCheck:
BFGG A 0 A_JumpIfInventory("XBFGCell",4,2)
BFGG A 0 A_JumpIfInventory("BFGCell",1,"ReloadSystem")
BFGG A 0
Goto Ready+10
ReloadSystem:
BFGG A 0 A_TakeInventory("BFGCell",1)
BFGG A 0 A_GiveInventory("XBFGCell",1)
Goto ReloadCheck
NoAmmo:
SISG A 0 A_JumpIfInventory("Doom3PlasmaRifle",1,"SelectPlasma")
SISG A 0 A_JumpIfInventory("Doom3Chaingun",1,"SelectChaingun")
SISG A 0 A_JumpIfInventory("Doom3Machinegun",1,"SelectMachinegun")
SISG A 0 A_JumpIfInventory("Doom3Shotgun",1,"SelectShotgun")
SISG A 0 A_JumpIfInventory("Doom3RocketLauncher",1,"SelectRocket")
SISG A 0 A_JumpIfInventory("Doom3Grenades",1,"SelectGrenades")
SISG A 0 A_JumpIfInventory("Doom3Pistol",1,"SelectPistol")
SISG A 0 A_JumpIfInventory("Doom3Chainsaw",1,"SelectChainsaw")
SISG A 0 A_SelectWeapon("Doom3Fists")
Goto Deselect
SelectPlasma:
SISG A 0 A_JumpIfInventory("XCells",1,3)
SISG A 0 A_JumpIfInventory("Cells",1,2)
SISG A 0
Goto NoAmmo+1
SISG A 0 A_SelectWeapon("Doom3PlasmaRifle")
Goto Deselect
SelectChaingun:
SISG A 0 A_JumpIfInventory("XAmmoBelt",1,3)
SISG A 0 A_JumpIfInventory("AmmoBelt",1,2)
SISG A 0
Goto NoAmmo+2
SISG A 0 A_SelectWeapon("Doom3Chaingun")
Goto Deselect
SelectMachinegun:
SISG A 0 A_JumpIfInventory("XClip",1,3)
SISG A 0 A_JumpIfInventory("Clip",1,2)
SISG A 0
Goto NoAmmo+3
SISG A 0 A_SelectWeapon("Doom3MachineGun")
Goto Deselect
SelectShotgun:
SISG A 0 A_JumpIfInventory("XShells",1,3)
SISG A 0 A_JumpIfInventory("Shells",1,2)
SISG A 0
Goto NoAmmo+4
SISG A 0 A_SelectWeapon("Doom3Shotgun")
Goto Deselect
SelectRocket:
SISG A 0 A_JumpIfInventory("XRockets",1,3)
SISG A 0 A_JumpIfInventory("Rockets",1,2)
SISG A 0
Goto NoAmmo+5
SISG A 0 A_SelectWeapon("Doom3RocketLauncher")
Goto Deselect
SelectGrenades:
SISG A 0 A_JumpIfInventory("GrenadeAmmo",1,2)
SISG A 0
Goto NoAmmo+6
SISG A 0 A_SelectWeapon("Doom3Grenades")
Goto Deselect
SelectPistol:
SISG A 0 A_JumpIfInventory("XBullets",1,3)
SISG A 0 A_JumpIfInventory("Bullets",1,2)
SISG A 0
Goto NoAmmo+7
SISG A 0 A_SelectWeapon("Doom3Pistol")
Goto Deselect
SelectChainsaw:
SISG A 0 A_SelectWeapon("Doom3Chainsaw")
Goto Deselect
Flash:
BFGF A 1 BRIGHT
BFGF B 1 BRIGHT
BFGF C 1 BRIGHT
Stop
}
}
ACTOR BFGHolder : Inventory
{
Inventory.MaxAmount 1
Inventory.MaxAmount 40
}
ACTOR D3BFGBall1
{
Speed 16
Height 16
Radius 8
Scale 0.7
PROJECTILE
+DROPOFF
+NOBLOCKMAP
+NOGRAVITY
RenderStyle Add
SeeSound "weapons/bfg9000/ball"
DeathSound "weapons/bfg9000/explode"
States
{
Spawn:
D3BF ABCDEF 4 BRIGHT
D3BF G 4 BRIGHT A_BFGSpray("D3BFGSpray",40,6)
D3BF ABCDEF 4 BRIGHT
D3BF G 4 BRIGHT A_BFGSpray("D3BFGSpray",40,6)
Loop
Death:
D3BX A 1 BRIGHT A_Explode(200,160,1)
D3BX A 1 BRIGHT Radius_Quake(4,4,0,240,0)
D3BX A 0 A_BFGSpray("D3BFGSpray",40,16)
D3BX BCDEFG 2 BRIGHT
Stop
}
}
ACTOR D3BFGBall2 : D3BFGBall1
{
Speed 22
States
{
Death:
D3BX A 1 BRIGHT A_Explode(220,170)
D3BX A 1 BRIGHT Radius_Quake(4,4,0,240,0)
D3BX A 0 A_BFGSpray("D3BFGSpray",40,16)
D3BX BCDEFG 2 BRIGHT
Stop
}
}
ACTOR D3BFGBall3 : D3BFGBall1
{
Speed 28
States
{
Death:
D3BX A 1 BRIGHT A_Explode(240,180)
D3BX A 1 BRIGHT Radius_Quake(4,4,0,240,0)
D3BX A 0 A_BFGSpray("D3BFGSpray",40,16)
D3BX BCDEFG 2 BRIGHT
Stop
}
}
ACTOR D3BFGBall4 : D3BFGBall1
{
Speed 34
States
{
Death:
D3BX A 1 BRIGHT A_Explode(260,190)
D3BX A 1 BRIGHT Radius_Quake(4,4,0,240,0)
D3BX A 0 A_BFGSpray("D3BFGSpray",40,16)
D3BX BCDEFG 2 BRIGHT
Stop
}
}
ACTOR D3BFGSpray
{
RenderStyle ADD
Alpha 0.6
Scale 0.65
PROJECTILE
+DROPOFF
+NOBLOCKMAP
+NOGRAVITY
States
{
Spawn:
SBAL ABCD 3 BRIGHT
Stop
}
}
ACTOR BFGExplosionSpawn
{
Speed 20
PROJECTILE
+NOCLIP
States
{
Spawn:
TNT1 AA 1 A_CustomMissile("BFGExplosion",0,0,random(-2,2),2,random(-2,2))
Stop
}
}
ACTOR BFGExplosion
{
Radius 2
Height 2
Speed 0.4
Scale 0.7
RenderStyle Add
PROJECTILE
+NOBLOCKMAP
+DROPOFF
+MISSILE
+ACTIVATEIMPACT
+NOGRAVITY
SeeSound "weapons/bfg9000/explode"
States
{
Spawn:
D3BX A 0
D3BX A 1 BRIGHT A_Explode(256,160,1)
D3BX A 1 BRIGHT Radius_Quake(4,4,0,192,0)
D3BX A 0 A_BFGSpray("D3BFGSpray",40,16)
D3BX BCDEFG 2 BRIGHT
Stop
}
}
ACTOR XBFGCell : Ammo
{
Inventory.Amount 4
Inventory.MaxAmount 4
Ammo.BackpackAmount 0
Ammo.BackpackMaxAmount 4
Inventory.icon "ABFGA0"
}
ACTOR BFGCell : Ammo Replaces CellPack
{
Inventory.Amount 4
Inventory.MaxAmount 16
Ammo.BackpackAmount 8
Ammo.BackpackMaxAmount 32
Inventory.PickupMessage "BFG Cell"
Inventory.PickupSound "misc/cell_pkup"
Inventory.Icon "ABFGA0"
Scale 0.8
States
{
Spawn:
ABFG A -1
Stop
}
}