Mega Man 8-bit Deathmatch > DECORATE and ACS Modifications

Weapons

<< < (2/5) > >>

Ivory:

--- Quote from: "DoomThroughDoom" ---
--- Quote from: "Ivory" ---Ah. well no, currently there is not. The best thing I can tell you is  to read and understand this.
http://zdoom.org/wiki/Creating_new_weapons
After that study how Cutty made the MM8BDM weapons in the pk3 file. Decorate really isn't that difficult to learn.
--- End quote ---
Why don't you study how Cutty made them? See how "simple" it is.
The Decorate part is easy. The rest, is not.
--- End quote ---

Because I actually understand it. You have no idea how damned complex my own weapons are in my doom project that I'm still keeping underwraps.

TERRORsphere:
C'mon, take one look of the code for them.

Mr. X:
(click to show/hide)
--- Code: ---actor MegaBuster : Weapon
{
Weapon.AmmoUse 1
Weapon.AmmoGive 3
Weapon.SlotNumber 1
scale 2.0
Obituary "%o was bombed by %k's Mega Buster."
Inventory.Pickupmessage "You got the Mega Buster!"
weapon.ammotype "BusterAmmo"
+WEAPON.AMMO_OPTIONAL
+WEAPON.DONTBOB
States
{
Spawn:
WEAP X 1
stop
Ready:
BUST B 0 A_JumpIfInventory("Once",1,"Ready2")
BUST B 0 ACS_ExecuteAlways(981,0,0)
BUST B 0 A_GiveInventory("Once",1)
Goto Ready2+1
Ready2:
BUST B 0 ACS_ExecuteAlways(998,0,0)
BUST B 1 A_WeaponReady
Goto Ready2+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
BUST B 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
BUST B 1 A_Raise
Loop
Fire:
BUST B 0 A_JumpIfNoAmmo("NoAmmo")
BUST B 0 A_PlaySoundEx("weapon/mbuster","Weapon")
BUST B 0 A_FireCustomMissile("MegaShot",0,0,8,0)
BUST CD 3
BUST B 2
BUST B 0 A_Refire
goto Ready2+1
NoAmmo:
BUST B 1
Goto Ready
}
}

actor Once : Inventory
{
}

actor BusterAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 3
//inventory.icon "AAMOA0"
ammo.backpackamount 1
ammo.backpackmaxamount 3
states
{
Spawn:
PLAY A -1
stop
}
}

actor MegaShot
{
PROJECTILE
+LOOKALLAROUND
+SKYEXPLODE
+DONTBLAST
damagetype "Buster"
//seesound "weapon/mbuster"
Speed 27
Damage (10)
radius 5
height 5
scale 2.5
States
{
Spawn:
TNT1 A 2
BUST A 1
goto spawn+1
Death:
BUST A 1
stop
}
}

actor DarkManBuster : MegaBuster
{
Weapon.AmmoUse 0
Weapon.AmmoGive 3
Weapon.SlotNumber 1
scale 2.5
Obituary "%o was destroyed by %k."
Inventory.Pickupmessage "You got the Dark Man Buster!"
weapon.ammotype "BusterAmmo"
+WEAPON.AMMO_OPTIONAL
+WEAPON.DONTBOB
+WEAPON.CHEATNOTWEAPON
States
{
Spawn:
WEAP X 1
stop
Ready:
BUST B 0 ACS_ExecuteAlways(998,0,8)
BUST B 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
BUST B 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
BUST B 1 A_Raise
Loop
Fire:
BUST B 12 A_FireCustomMissile("DarkProjectile",0,0,0,0)
BUST B 10 A_GiveInventory("Clip",1)
BUST B 0 A_JumpIfInventory("Clip",3,"Next")
BUST B 0 A_Refire
Goto Ready
Next:
BUST B 2 A_TakeInventory("Clip",99)
BUST B 0 A_Jump(256,"Leap","Ready","Leap")
Goto Ready
Leap:
BUST B 0 ACS_Terminate(8,0)
BUST B 0 A_FireCustomMissile("DarkShieldFire1",0,0,0,-30)
BUST B 0 A_FireCustomMissile("DarkShieldFire1",180,0,0,-30)
BUST B 20 //A_GiveInventory("RocketAmmo",1)
BUST B 0 ACS_ExecuteAlways(5,0,4)
BUST B 1 ThrustThingZ(0,50,0,1)
BUST B 20 A_Recoil(random(-16,-34))
BUST B 40 //A_TakeInventory("RocketAmmo",99)
BUST B 0 ACS_Execute(8,0)
BUST B 0 Thing_Remove(600)
Goto Ready
NoAmmo:
BUST B 1
Goto Ready
}
}

actor DarkShieldFire1
{
PROJECTILE
Height 56
Radius 10
Damage (2)
Speed 28
+RIPPER
damagetype "Proto"
+NOINTERACTION
scale 2.5
States
{
Spawn:
DARS ABCABCABCABCABCABCABCABC 1 A_Explode(5,64,0)
DARS A 0 A_Stop
goto Follow
Follow:
DARS A 0 Thing_ChangeTid(0,600)
DARS A 1 A_Explode(2,64,0)
DARS A 0 A_FaceTarget
DARS A 0 A_Recoil(-1)
DARS B 1 A_Explode(2,64,0)
DARS A 0 A_FaceTarget
DARS A 0 A_Recoil(-1)
DARS C 1 A_Explode(2,64,0)
DARS A 0 A_FaceTarget
DARS A 0 A_Recoil(-1)
loop
}
}

actor DarkShield1
{
PROJECTILE
Height 56
health 1
+NOBLOOD
Radius 5
Damage (2)
+SHOOTABLE
-NOBLOCKMAP
+REFLECTIVE
+DEFLECT
+DONTREFLECT
+GHOST
Speed 5
scale 2.5
+DONTRIP
States
{
Spawn:
TNT1 A 1
DARS A 2 A_Stop
stop
}
}

actor DarkShield2 : DarkShield1
{
States
{
Spawn:
TNT1 A 1
DARS B 2 A_Stop
stop
}
}

actor DarkShield3 : DarkShield1
{
States
{
Spawn:
TNT1 A 1
DARS C 2 A_Stop
stop
}
}

actor DarkProjectile : FastProjectile
{
PROJECTILE
+RIPPER
+DONTREFLECT
//+THRUGHOST
-MISSILE
Speed 50
damage (3)
Height 6
Radius 6
Scale 2.5
States
{
Spawn:
DARS D 3// ThrustThingZ(0,0,0,0)
DARS D 1 A_ChangeFlag("MISSILE",1)
loop
}
}

actor DarkArmor : PowerProtection
{
damagefactor "Proto", 0.0
}
--- End code ---

The Mega Buster.  It's a work of art, really.

EDIT:  I just realized the Darkman buster is included in this code.

Korby:
Except most of that is Darkman Buster.
(click to show/hide)
--- Code: ---actor MegaBuster : Weapon
{
Weapon.AmmoUse 1
Weapon.AmmoGive 3
Weapon.SlotNumber 1
scale 2.0
Obituary "%o was bombed by %k's Mega Buster."
Inventory.Pickupmessage "You got the Mega Buster!"
weapon.ammotype "BusterAmmo"
+WEAPON.AMMO_OPTIONAL
+WEAPON.DONTBOB
States
{
Spawn:
WEAP X 1
stop
Ready:
BUST B 0 A_JumpIfInventory("Once",1,"Ready2")
BUST B 0 ACS_ExecuteAlways(981,0,0)
BUST B 0 A_GiveInventory("Once",1)
Goto Ready2+1
Ready2:
BUST B 0 ACS_ExecuteAlways(998,0,0)
BUST B 1 A_WeaponReady
Goto Ready2+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
BUST B 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
BUST B 1 A_Raise
Loop
Fire:
BUST B 0 A_JumpIfNoAmmo("NoAmmo")
BUST B 0 A_PlaySoundEx("weapon/mbuster","Weapon")
BUST B 0 A_FireCustomMissile("MegaShot",0,0,8,0)
BUST CD 3
BUST B 2
BUST B 0 A_Refire
goto Ready2+1
NoAmmo:
BUST B 1
Goto Ready
}
}

actor Once : Inventory
{
}

actor BusterAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 3
//inventory.icon "AAMOA0"
ammo.backpackamount 1
ammo.backpackmaxamount 3
states
{
Spawn:
PLAY A -1
stop
}
}

actor MegaShot
{
PROJECTILE
+LOOKALLAROUND
+SKYEXPLODE
+DONTBLAST
damagetype "Buster"
//seesound "weapon/mbuster"
Speed 27
Damage (10)
radius 5
height 5
scale 2.5
States
{
Spawn:
TNT1 A 2
BUST A 1
goto spawn+1
Death:
BUST A 1
stop
}
}

--- End code ---
That much is actually Mega Buster and Pellets/Ammo.
(click to show/hide)
--- Code: ---actor MegaBuster : Weapon
{
Weapon.AmmoUse 1
Weapon.AmmoGive 3
Weapon.SlotNumber 1
scale 2.0
Obituary "%o was bombed by %k's Mega Buster."
Inventory.Pickupmessage "You got the Mega Buster!"
weapon.ammotype "BusterAmmo"
+WEAPON.AMMO_OPTIONAL
+WEAPON.DONTBOB
States
{
Spawn:
WEAP X 1
stop
Ready:
BUST B 0 A_JumpIfInventory("Once",1,"Ready2")
BUST B 0 ACS_ExecuteAlways(981,0,0)
BUST B 0 A_GiveInventory("Once",1)
Goto Ready2+1
Ready2:
BUST B 0 ACS_ExecuteAlways(998,0,0)
BUST B 1 A_WeaponReady
Goto Ready2+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
BUST B 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
BUST B 1 A_Raise
Loop
Fire:
BUST B 0 A_JumpIfNoAmmo("NoAmmo")
BUST B 0 A_PlaySoundEx("weapon/mbuster","Weapon")
BUST B 0 A_FireCustomMissile("MegaShot",0,0,8,0)
BUST CD 3
BUST B 2
BUST B 0 A_Refire
goto Ready2+1
NoAmmo:
BUST B 1
Goto Ready
}
}

--- End code ---
That's the weapon only.

Ivory:
Okay fine. For someone unaware in both decorate and acs, that would be a handful. I take it back, don't study cutty's code for learning.
but I still understand it. The weapons in my mod are absolutely hell.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version