Omega Zero mod - Version 2 Release
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.
Got a cool project idea but nothing else? Put it in the project ideas thread instead!
Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.
Please read the full rules for more details.
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.
Got a cool project idea but nothing else? Put it in the project ideas thread instead!
Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.
Please read the full rules for more details.
-
- Posts: 176
- Joined: Wed Jan 04, 2017 8:27 pm
- Location: My Foot,Your Face! (Team Monster)
Re: Omega Zero mod - Beta 1 release
An idea for you, lizard, might be to make a Discord server centered around the mod with persons who wish to help you work on this mod. They can give you real time info on the things they find and suggest. It would also be a great way to interact with fans who may be able to contribute resources.
-
-
- Posts: 1805
- Joined: Sun Jul 21, 2019 8:54 am
Re: Omega Zero mod - Beta 1 release
A_Raise and A_Lower can take a parameter that is the speed of raising/lowering the weapon.lizardcommando wrote:In order to change the weapon select speed, would I just need to change the amount of frames/tics in the Select and Deselect parts of the coding?
Also, whan I was trying to change the level counter max to 60, it seems to have disrupted how the charging sounds would play. It would play fine the first time, but after charging my weapons the second time around, it wouldn't play the sound effect.
By default it's 6, so for example A_Raise(12) will select the weapon twice as fast.
Alternatively, simply setting the tic duration to 0 instead of 1 will instantly select the weapon.
As for the sound issue, that is weird.
It plays the sounds normally for me.
Might I ask for a video or something similar showcasing the problem?
-
- Posts: 1489
- Joined: Thu Sep 07, 2006 12:24 pm
- Location: Boringland, California
Re: Omega Zero mod - Beta 1 release
Here is the coding for the ZBuster (the charge sequence is practically identical for the Z-Saber.)
Code: Select all
actor ZBuster : Weapon replaces Pistol
{
obituary "%o was blasted by %k's Z-Buster."
attacksound "omegazero/zbuster"
weapon.selectionorder 1900
weapon.kickback 100
weapon.ammouse 0
states
{
Ready:
ZBUS A 1 A_WeaponReady
loop
Deselect:
ZBUS A 1 A_Lower
loop
Select:
TNT1 A 0
TNT1 A 0 A_TakeInventory("LevelCounter",60)
TNT1 A 0 A_TakeInventory("FrameCounter",7)
TNT1 A 0 A_TakeInventory("FrameIdle",5)
ZBUS A 1 A_Raise
Wait
Fire:
ZBUS A 1
ZBSF A 2 BRIGHT A_FireCustomMissile("ZBustershot",0,0,4,7,0)
ZBSF B 2 BRIGHT
ZBSF C 2
ZBUS A 1 A_ReFire
goto Ready
AltFire:
ZBUS A 2
AltHold:
TNT1 A 0 A_GiveInventory("FrameIdle",1) //increment the frame duration
TNT1 A 0 A_GiveInventory("LevelCounter",1)
TNT1 A 0 A_JumpIfInventory("LevelCounter",56,"Level3Loop")
Level0Charge:
TNT1 A 0 A_JumpIfInventory("LevelCounter",5,"Level1Charge")
TNT1 A 0 A_JumpIfInventory("FrameIdle",0,1) //check frame duration
Goto Display
TNT1 A 0 A_TakeInventory("FrameIdle",5)
Goto FrameCheck
Level1Charge:
TNT1 A 0 A_JumpIfInventory("LevelCounter",12,"Level2Charge")
TNT1 A 0 A_JumpIfInventory("LevelCounter",6,2) //First time here?
TNT1 A 0 A_PlaySound("omegazero/zbcharge1",CHAN_WEAPON,1,1)
TNT1 A 0 A_JumpIfInventory("FrameIdle",3,1) //check frame duration
Goto Display
TNT1 A 0 A_TakeInventory("FrameIdle",5)
Goto FrameCheck
Level2Charge:
TNT1 A 0 A_JumpIfInventory("FrameIdle",2,1)
Goto Display
TNT1 A 0 A_TakeInventory("FrameIdle",5)
Goto FrameCheck
Level3Loop:
TNT1 A 0 A_JumpIfInventory("LevelCounter",0,2) //First time here?
TNT1 A 0 A_PlaySound("omegazero/zbcharge2",CHAN_WEAPON,1,1)
TNT1 A 0 A_JumpIfInventory("FrameIdle",1,1)
Goto Display
TNT1 A 0 A_TakeInventory("FrameIdle",5)
Goto FrameCheck
FrameCheck:
TNT1 A 0 A_GiveInventory("FrameCounter",1)
TNT1 A 0 A_JumpIfInventory("FrameCounter",0,1) //check frame letter
Goto Display
TNT1 A 0 A_TakeInventory("FrameCounter",7)
Goto Display
Display:
TNT1 A 0 A_JumpIfInventory("LevelCounter",0,"FullDisplay")
TNT1 A 0 A_JumpIfInventory("FrameCounter",1,3)
ZBCH A 1 BRIGHT
TNT1 A 0 A_Refire
Goto ShotSelect
TNT1 A 0 A_JumpIfInventory("FrameCounter",2,3)
ZBCH B 1 BRIGHT
TNT1 A 0 A_Refire
Goto ShotSelect
TNT1 A 0 A_JumpIfInventory("FrameCounter",3,3)
ZBCH C 1 BRIGHT
TNT1 A 0 A_Refire
Goto ShotSelect
TNT1 A 0 A_JumpIfInventory("FrameCounter",4,3)
ZBCH D 1 BRIGHT
TNT1 A 0 A_Refire
Goto ShotSelect
TNT1 A 0 A_JumpIfInventory("FrameCounter",5,3)
ZBCH E 1 BRIGHT
TNT1 A 0 A_Refire
Goto ShotSelect
TNT1 A 0 A_JumpIfInventory("FrameCounter",6,3)
ZBCH F 1 BRIGHT
TNT1 A 0 A_Refire
Goto ShotSelect
ZBUS A 1 BRIGHT
TNT1 A 0 A_Refire
Goto ShotSelect
FullDisplay:
TNT1 A 0 A_JumpIfInventory("FrameCounter",1,3)
ZBCH G 1 BRIGHT
TNT1 A 0 A_Refire
Goto FullChargeShot
TNT1 A 0 A_JumpIfInventory("FrameCounter",2,3)
ZBCH H 1 BRIGHT
TNT1 A 0 A_Refire
Goto FullChargeShot
TNT1 A 0 A_JumpIfInventory("FrameCounter",3,3)
ZBCH I 1 BRIGHT
TNT1 A 0 A_Refire
Goto FullChargeShot
TNT1 A 0 A_JumpIfInventory("FrameCounter",4,3)
ZBCH J 1 BRIGHT
TNT1 A 0 A_Refire
Goto FullChargeShot
TNT1 A 0 A_JumpIfInventory("FrameCounter",5,3)
ZBCH K 1 BRIGHT
TNT1 A 0 A_Refire
Goto FullChargeShot
TNT1 A 0 A_JumpIfInventory("FrameCounter",6,3)
ZBCH L 1 BRIGHT
TNT1 A 0 A_Refire
Goto FullChargeShot
ZBCH G 1 BRIGHT
TNT1 A 0 A_Refire
Goto FullChargeShot
ShotSelect:
TNT1 A 0 A_JumpIfInventory("LevelCounter",12,"MidChargeShot")
TNT1 A 0 A_StopSound(CHAN_WEAPON)
ZBSF A 2 BRIGHT A_FireCustomMissile("ZBustershot",0,0,4,7,0)
ZBSF BC 2
ZBUS A 2
Goto CleanUp
MidChargeShot:
ZBMC A 3 BRIGHT A_PlaySound("omegazero/zbmidshot",CHAN_WEAPON)
ZBMC B 2 BRIGHT A_FireCustomMissile("ZBMidChargeShot",0,0,4,7,0)
ZBUS A 3
Goto CleanUp
FullChargeShot:
ZBUS A 1 BRIGHT A_StopSound(CHAN_WEAPON)
ZBFC A 3 BRIGHT A_PlaySound ("omegazero/zbusterfullshot",CHAN_WEAPON)
ZBFC B 2 BRIGHT A_FireCustomMissile("ZBFullChargeShot",0,0,4,6,0)
ZBFC C 2
ZBFC D 4
ZBCH A 2
CleanUp:
TNT1 A 0 A_TakeInventory("LevelCounter",60)
TNT1 A 0 A_TakeInventory("FrameCounter",7)
TNT1 A 0 A_TakeInventory("FrameIdle",5)
TNT1 A 0 A_Refire //!!!!!
goto Ready
}
}
-
-
- Posts: 1805
- Joined: Sun Jul 21, 2019 8:54 am
Re: Omega Zero mod - Beta 1 release
Tried it and it still seems to be working for me.lizardcommando wrote:Here is the coding for the ZBuster (the charge sequence is practically identical for the Z-Saber.)
Either I misunderstood the issue, (which is that the charging sound is not playing the second time the weapon is charging, right?)
Or there is some other A_PlaySound which is also on CHAN_WEAPON and it overrides the charging sound.
-
- Posts: 1489
- Joined: Thu Sep 07, 2006 12:24 pm
- Location: Boringland, California
Re: Omega Zero mod - Beta 1 release
Yeah, this is the issue:
The issue seems to go away when you switch back and forth between the weapons though.(which is that the charging sound is not playing the second time the weapon is charging, right?)
-
-
- Posts: 1805
- Joined: Sun Jul 21, 2019 8:54 am
Re: Omega Zero mod - Beta 1 release
I was able to make it trigger by giving myself 60 LevelCounters with a console command.
This line skips the sound playing if the player has maximum amount of LevelCounters.
Level1Charge also has two of such lines.
The fact that the issue goes away when switching weapons (that's when A_TakeInventory gets called) means that the issue is with LevelCounters not being removed from the player inventory.
The question is when does the issue happen, since all three levels of charged shots go to the CleanUp state which also calls it....
Maybe try commenting out the "First time here?" lines and see if the issue still persists?
And moving the A_PlaySound in Level1Charge to be before the Level2Charge?
Code: Select all
TNT1 A 0 A_JumpIfInventory("LevelCounter",0,2) //First time here?
Level1Charge also has two of such lines.
The fact that the issue goes away when switching weapons (that's when A_TakeInventory gets called) means that the issue is with LevelCounters not being removed from the player inventory.
The question is when does the issue happen, since all three levels of charged shots go to the CleanUp state which also calls it....
Maybe try commenting out the "First time here?" lines and see if the issue still persists?
And moving the A_PlaySound in Level1Charge to be before the Level2Charge?
-
- Posts: 1489
- Joined: Thu Sep 07, 2006 12:24 pm
- Location: Boringland, California
Re: Omega Zero mod - Beta 1 release
OK, I just figured it out. I had to fiddle around with the numbers in the "Display" part of the coding. Not only that, but I had to go back and reupload some parts of the animation and tweak the animation sequences. I think it should be working now.
-
- Posts: 1489
- Joined: Thu Sep 07, 2006 12:24 pm
- Location: Boringland, California
Re: Omega Zero mod - Beta 1 release
Updates are coming in slowly. I replaced the old HUD that is in the current version to be more like the HUD in Mega Man Zero 3. I also changed the charge time for the Z Saber and Z Buster so now they charge a little faster. Some small changes in the animation frames have changed too.
Now I have hit a bit of a snag. I'm trying to replace the Berserkpack with an item that is supposed to temporarily give you powered up versions of your weapons, but for some reason, they aren't being activated to the powered up version. What am I doing wrong? Right now I am just trying to implement the powered up version of the Z Buster.
Now I have hit a bit of a snag. I'm trying to replace the Berserkpack with an item that is supposed to temporarily give you powered up versions of your weapons, but for some reason, they aren't being activated to the powered up version. What am I doing wrong? Right now I am just trying to implement the powered up version of the Z Buster.
Code: Select all
actor ZBuster : Weapon replaces Pistol
{
obituary "%o was blasted by %k's Z-Buster."
attacksound "omegazero/zbuster"
Weapon.SisterWeapon PoweredZBuster
weapon.selectionorder 1900
weapon.kickback 100
weapon.ammouse 0
Code: Select all
actor PoweredZBuster : ZBuster
{
obituary "%o was blasted by %k's Z-Buster."
attacksound "omegazero/zbmidshot"
Weapon.SisterWeapon ZBuster
+POWERED_UP
weapon.selectionorder 1900
weapon.kickback 100
weapon.ammouse 0
Code: Select all
ACTOR CyberElfPower : PowerWeaponLevel2 replaces Berserk
{
+FLOATBOB
+INVENTORY.PICKUPFLASH
Powerup.Duration 1000
Inventory.PickupMessage "Cyber Elf?! It's giving me great strength!"
States
{
Spawn:
CYEL ABCDEFGH 2 Bright
Loop
}
}
-
-
- Posts: 1805
- Joined: Sun Jul 21, 2019 8:54 am
Re: Omega Zero mod - Beta 1 release
Just a pure guess, but maybe it's because the player picks up a raw powerup without a PowerupGiver?
Something like the Tome of Power from Heretic as the pickup itself might work.
Also great to hear this mod is getting updated!
Hope you are also doing alright.
Something like the Tome of Power from Heretic as the pickup itself might work.
Also great to hear this mod is getting updated!
Hope you are also doing alright.
-
- Posts: 1489
- Joined: Thu Sep 07, 2006 12:24 pm
- Location: Boringland, California
Re: Omega Zero mod - Beta 1 release
I was trying to follow along with the example that was given in this section, but I don't get what I am doing wrong here.
-
-
- Posts: 1805
- Joined: Sun Jul 21, 2019 8:54 am
Re: Omega Zero mod - Beta 1 release
Hmmm.
Could you use the following console command and see if it works?
give PowerWeaponLevel2
Could you use the following console command and see if it works?
give PowerWeaponLevel2
-
- Posts: 1489
- Joined: Thu Sep 07, 2006 12:24 pm
- Location: Boringland, California
Re: Omega Zero mod - Beta 1 release
Yeah, that seems to be working when I use that console command.
-
-
- Posts: 1805
- Joined: Sun Jul 21, 2019 8:54 am
Re: Omega Zero mod - Beta 1 release
Then it must be because the pickup inherits from the raw powerup.
Can you try replacing the berserk pack with a PowerupGiver with the property: Powerup.Type Weaponlevel2
Something like the Tome of Power from Heretic.
Can you try replacing the berserk pack with a PowerupGiver with the property: Powerup.Type Weaponlevel2
Something like the Tome of Power from Heretic.
-
- Posts: 1489
- Joined: Thu Sep 07, 2006 12:24 pm
- Location: Boringland, California
Re: Omega Zero mod - Beta 1 release
I'm still really stumped. This is what I have so far:
I decided to rename that CyberElfPower to DarkCyberElf since that rolls off the tongue easier (and since that is what it is supposed to be). Was this what I was supposed to change?
Code: Select all
ACTOR DarkCyberElf : PowerUpGiver replaces Berserk
{
health 100
+FLOATBOB
+INVENTORY.PICKUPFLASH
powerup.type "PowerWeaponLevel2"
powerup.duration 130
Inventory.PickupMessage "Dark Cyber Elf?! It's giving me incredible strength!"
States
{
Spawn:
CYEL ABCDEFGH 2 Bright
Loop
}
}
-
-
- Posts: 1805
- Joined: Sun Jul 21, 2019 8:54 am
Re: Omega Zero mod - Beta 1 release
I think it might be adding the powerupgiver to the player's inventory, but not using it.
Try adding the following properties:
And also, the duration is incredibly short: it lasts for 130 tics, which is about 3 seconds.
If you want it to last 130 seconds, you have to set the duration to -130
Try adding the following properties:
Code: Select all
+INVENTORY.AUTOACTIVATE
+INVENTORY.ALWAYSPICKUP
Inventory.MaxAmount 0
If you want it to last 130 seconds, you have to set the duration to -130