FANDOM


WepIconMKN001-Enker Mirror Buster Enkersprite
MirrorBusterWepGif
Weapon code MirrorBusterWep
Comes from Mega Man : Dr. Wily's Revenge
Weapon color scheme Persian blue-on-Yellowish
Fire rate Very Slow-Extremely Slow
Missile speed Medium
Capacity 13 uses (Only protecting)

28 uses (Only reflecting weaker shots)
14 uses (Only reflecting weak shots)
7 uses (Only reflecting strong shots)

Weapon hotkey/type [7] Shield weapon
Damage 15 (Weaker shot)

30 (Weak shot)
5 >> (Strong shot)

Appears in
these maps
MM6BlizzardMM7BurstMM3GeminiMM2HeatMM6MrXMM2WilyMM3WilyMM7Wily4

Mirror Buster projects a reflective shield that covers only the front of you, unlike Leaf Shield or Skull Barrier. The shield will absorb any projectiles that hit it and fire back unique shots in return. These shots will deal damage proportional to the strength of the attack absorbed. You can even use the shield to reflect your own rebounding or boomerang weapons, like Gemini Laser and Ring Boomerang.

Tactics

Using Mirror Buster

Using Mirror Buster is simple. Just get into a fight and hold fire while facing your opponent. Seek out opponents with rapid fire weapons and avoid explosives. However, almost nobody will be stupid enough to continue fighting you with the shield up. Thus, it's a better idea to start a fight with another weapon and switch to Mirror Buster to surprise your opponent.

Mirror Buster can also be used to sneak through the Force Beams on Quick Man's Stage, however, it does not appear on the map outside of being given it in Last Man Standing's weapon rotation, cheats, or by obtaining it by defeating Enker (since Quick Man's stage is part of the Mega Man 2 chapter. Actually, Enker may fight the player between Flash Man and Quick Man's stage).

Vs. Mirror Buster

If you see someone with Mirror Buster, don't attack them. Wait until their ammo runs out, or they switch to another weapon. While ripping weapons like Rolling Cutter can get through the shield, it will also result in a massive counter attack. Explosive weapons like Drill Bomb will also break through the shield with only a single projectile in return. Mirror Buster eats up ammo at a very high rate, so you can always just be patient.

Code

actor MirrorBusterWep : MegaBuster 10081
{
//$Category MM8BDM-Weapons
Weapon.AmmoUse 1
Weapon.AmmoGive 28
Weapon.SlotNumber 7
Obituary "%o saw %hself in %k's Mirror Buster."
Inventory.Pickupmessage "Power up! Mirror Buster!"
weapon.ammotype "MirrorBusterAmmo"
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
inventory.icon "MIRRSI"
Scale 2.0
States
{
Spawn:
WEA3 H 1
loop
Ready:
MIRR F 0 ACS_ExecuteAlways(998,0,52)
MIRR F 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
MIRR F 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
MIRR F 1 A_Raise
Loop
Fire:
MIRR F 0 A_JumpIfNoAmmo("No")
MIRR G 0 A_TakeInventory("MirrorBusterFlag", 999)
Goto Hold
Hold:
MIRR G 0 A_JumpIfNoAmmo("No")
MIRR F 0 A_JumpIfInventory("MirrorBusterFlag", 1, "Hold2")
MIRR F 0 A_JumpIfInventory("MirrorBusterAmmo", 3, "HoldStart")
Goto No
HoldStart:
MIRR F 0 A_PlayWeaponSound("weapon/mirroractivate")
MIRR F 0 A_TakeInventory("MirrorBusterAmmo",2)
Hold2:
MIRR F 0 A_JumpIfInventory("MirrorBusterFlag", 35, "CoolDown")
MIRR HHH 1 A_SpawnItemEx("MirrorBuster1",38,0,0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
MIRR G 0 A_GiveInventory("MirrorBusterFlag", 2)
MIRR HHH 1 A_SpawnItemEx("MirrorBuster2",38,0,0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
MIRR G 0 A_GiveInventory("MirrorBusterFlag", 2)
MIRR G 0 A_Refire
MIRR G 4
Goto Ready+1
No:
MIRR F 1 ACS_Execute(979,0)
Goto Ready+1
CoolDown:
MIRR GF 15
MIRR G 0 A_TakeInventory("MirrorBusterFlag", 999)
Goto Ready+1
}
}

actor MirrorBusterAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
}

actor MirrorBusterFlag : Inventory
{
inventory.amount 1
inventory.maxamount 35
}


actor MirrorBuster1 
{
+MISSILE
//+RIPPER
+DONTSPLASH
+SHOOTABLE
+GHOST
+NOBLOOD
+NOTARGETSWITCH
+DONTRIP
+DONTBLAST
Damage 0
Height 48
speed 0
health 100
painchance 256
Radius 32
scale 2.5
States
{
Spawn:
MIRR A 2
stop
Pain.PharaohHold:
Pain.StarCrash:
Pain.TopSpin:
Pain.FireSpin:
Pain.Tango:
Pain.GeminiLaser:
Pain.JunkShield:
TNT1 A 0
stop
Pain:
TNT1 A 0 
TNT1 A 0 A_JumpIfHealthLower(76,"Shot2")
TNT1 A 0 A_JumpIfHealthLower(89,"Shot1")
TNT1 A 0 A_JumpIfHealthLower(100,"Shot3")
stop
Shot1:
TNT1 A 0 A_ChangeFlag("SHOOTABLE",0)
TNT1 A 1 A_GiveToTarget("MirrorShot1",1)
stop
Shot2:
TNT1 A 0 A_ChangeFlag("SHOOTABLE",0)
TNT1 A 1 A_GiveToTarget("MirrorShot2",1)
stop
Shot3:
TNT1 A 0 A_ChangeFlag("SHOOTABLE",0)
TNT1 A 1 A_GiveToTarget("MirrorShot3",1)
stop
Death:
TNT1 A 0 A_ChangeFlag("SHOOTABLE",0)
TNT1 A 0 A_JumpIfHealthLower(1,"Shot2")
stop
NoShot:
TNT1 A 0
stop
}
}

actor MirrorBuster2 : MirrorBuster1
{
States
{
Spawn:
MIRR B 2
stop
}
}

actor MirrorShot1 : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
states
{
Spawn:
TNT1 A 0
stop
Pickup:
TNT1 A 0 A_FireCustomMissile("MirrorShotWeak",0,0,0,0)
TNT1 A 0 A_TakeInventory("MirrorBusterAmmo",2)
TNT1 A 0 A_TakeInventory("MirrorBusterFlag", 999)
TNT1 A 0 A_PlaySound("weapon/mirrordeflect")
stop
}
}

actor MirrorShot2 : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
states
{
Spawn:
TNT1 A 0
stop
Pickup:
TNT1 A 0 A_FireCustomMissile("MirrorShotStrong",0,0,0,0)
TNT1 A 0 A_TakeInventory("MirrorBusterAmmo",4)
TNT1 A 0 A_TakeInventory("MirrorBusterFlag", 999)
TNT1 A 0 A_PlaySound("weapon/mirrordeflect2")
stop
}
}

actor MirrorShot3 : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
states
{
Spawn:
TNT1 A 0
stop
Pickup:
TNT1 A 0 A_FireCustomMissile("MirrorShotWeaker",0,0,0,0)
TNT1 A 0 A_TakeInventory("MirrorBusterAmmo",1)
TNT1 A 0 A_TakeInventory("MirrorBusterFlag", 999)
TNT1 A 0 A_PlaySound("weapon/mirrordeflect")
stop
}
}


actor MirrorShotWeak : FastProjectile
{
Obituary "%o saw %hself in %k's Mirror Buster."
PROJECTILE
+THRUGHOST
Radius 8
Height 7
scale 2.5
damage (30)
damagetype "MirrorBuster1"
speed 38
States
{
Spawn:
MIRR C 1
loop
}
}

actor MirrorShotWeaker : MirrorShotWeak
{
damage (15)
damagetype "MirrorBuster"
}

actor MirrorShotStrong : FastProjectile
{
Obituary "%o saw %hself in %k's Mirror Buster."
+RIPPER
+THRUGHOST
scale 2.5
damage (5)
damagetype "MirrorBuster2"
speed 38
States
{
Spawn:
MIRR DE 2
loop
}
}

actor MirrorShotWeakBoss : MirrorShotWeak
{
damage (10)
speed 38
states
{
Spawn:
MIRR D 0
MIRR D 0 ThrustThingZ(0,0,0,0)
MIRR C 1
loop
}
}

actor MirrorShotStrongBoss : MirrorShotStrong
{
damage (12)
speed 50
states
{
Spawn:
MIRR D 0
MIRR D 0 ThrustThingZ(0,0,0,0)
MIRR DE 2
loop
}
}

actor MirrorShotStrongerBoss : MirrorShotStrong
{
damage (10)
speed 80
radius 32
states
{
Spawn:
MIRR D 0
MIRR D 0 ThrustThingZ(0,0,0,0)
MIRR DE 2
loop
}
}

actor MirrorBusterWepBoss : MirrorBusterWep
{
weapon.ammouse 0
+WEAPON.CHEATNOTWEAPON
States
{
Fire:
MIRR F 0 A_JumpIfInventory("EnkerMirrorCount",4,"Fire4")
MIRR F 0 A_JumpIfInventory("EnkerMirrorCount",3,"Fire3")
MIRR F 0 A_JumpIfInventory("EnkerMirrorCount",1,"Fire2")
MIRR F 0 ACS_Execute(5,0)
MIRR FF 8 A_SpawnItemEx("EnkerMelee")
MIRR F 0 ACS_ExecuteAlways(998,0,52)
MIRR FFFFFFFF 8 A_SpawnItemEx("EnkerMelee")
MIRR F 0 A_Stop
MIRR F 0 SetPlayerProperty(0,1,0)
MIRR F 0 A_GiveInventory("EnkerMirrorCount",1)
MIRR F 0 ACS_Execute(5,0,1)
MIRR F 50
MIRR F 0 SetPlayerProperty(0,0,0)
Goto Ready
Fire2:
MIRR F 0 ACS_ExecuteAlways(998,0,52)
MIRR F 0 A_FireCustomMissile("MirrorShotWeakBoss",0,0,0,0)
MIRR F 10 A_PlaySound("weapon/mirrordeflect")
MIRR F 0 ThrustThingZ(0,58,0,1)
MIRR F 0 A_Recoil(-18)
Goto Mirror
Fire3:
MIRR F 0 ACS_ExecuteAlways(998,0,52)
MIRR F 0 A_FireCustomMissile("MirrorShotStrongBoss",0,0,0,0)
MIRR F 0 A_PlaySound("weapon/mirrordeflect2")
MIRR F 0 ThrustThingZ(0,58,0,1)
MIRR F 0 A_Recoil(-18)
Goto Mirror
Fire4:
MIRR F 0 ACS_ExecuteAlways(998,0,52)
MIRR F 0 A_FireCustomMissile("MirrorShotStrongerBoss",0,0,0,0)
MIRR F 0 A_PlaySound("weapon/mirrordeflect2")
Goto Mirror
Mirror:
MIRR F 0 A_TakeInventory("EnkerMirrorCount",999)
MIRR F 0 SetPlayerProperty(0,0,0)
Goto Ready
}
}

actor EnkerMirrorCount : Inventory
{
inventory.amount 1
inventory.maxamount 8
}

actor EnkerMelee
{
PROJECTILE
States
{
Spawn:
TNT1 A 0 
TNT1 A 1 A_Explode(20, 80, 0)
stop
}
}

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.