YesNoOk
avatar

Five Nights at Freddy's 2 FC Compatibility Guide (Read 7500 times)

Started by Jango, May 28, 2015, 07:51:27 AM
Share this topic:
Five Nights at Freddy's 2 FC Compatibility Guide
#1  May 28, 2015, 07:51:27 AM
  • ******
  • Double-Crosser
  • I'm not standing out. This isn't weird at all.
    • USA
In a new attempt at breaking new ground, I decided to try my hand at stage interaction. The stage in question? My own Freddy Fazbear's Pizza FC stage. The interaction?

Spoiler, click to toggle visibilty

KILLSCREENS!

When properly implemented, if your character loses the entire match, on the last round, you will be greeted with a killscreen and the character in question will be missing. Adding these aren't required for the stage to work properly (they'll just hang around like normal if they aren't), but if you want to add a little something special, I will be detailing that in this thread.

So far there is no way to trigger specific killscreens when certain animatronics are present in global MUGEN. That would require spawning them in the character, and that's just a waste of time and effort for everyone involved. Additionally, these will NOT trigger on the "guest" or "jango" variants (or the upcoming "cityhunter" and "iced" variants), but it should be easy to modify the coding to allow them in as well.

While you can make your own killscreens, I've provided some files here if you want the "authentic FNaF Famicom experience." The tutorial will be written assuming you have these assets.
Download

The directions are included in there as well, but if you want something a little easier to read than a .txt document, here you go.

Alright, let's get down to business.

What the .zip file includes:
  • 20 images for 10 killscreens
  • A palette of the Famicom colors (famicompal.act)
  • A sample killscreen sound (killscreen.wav)
  • The text file that you won't be reading because you're reading this guide.

What you will need:
  • Fighter Factory or something that will allow you to add sounds/sprites/palettes/code
  • The ability to copy-paste stuff.

STEP ONE
Using Fighter Factory, add the included famicompal.act to your palettes. Number doesn't matter.

STEP TWO
Using Fighter Factory, add the included images to your .sff. In this example, I'm using Sprite Group 19878. When adding them, force them to reference whatever palette number you assigned to famicompal.act. All axis are at 0,0.

IF you're going to add the Puppet Time Over Killscreen, make sure that the puppetkill1.png and puppetkill2.png are the last two sprites in the group. IF NOT, either exclude the Puppet sprites or edit him into the code. We'll discuss this bit later.

STEP THREE
Using Fighter Factory, add the included killscreen.wav into your .SND file. In this example, I have it set to 19878,0.

STEP FOUR
Either add in the animations manually with Fighter Factory, or copy-paste these anim codes into your .air file. This is assuming the sprite group you're using is 19878, if it's not, edit accordingly.

Code:
[Begin Action 19870]
19878,0, 0,0, 3
19878,1, 0,0, 3

[Begin Action 19871]
19878,2, 0,0, 3
19878,3, 0,0, 3

[Begin Action 19872]
19878,4, 0,0, 3
19878,5, 0,0, 3

[Begin Action 19873]
19878,6, 0,0, 3
19878,7, 0,0, 3

[Begin Action 19874]
19878,8, 0,0, 3
19878,9, 0,0, 3

[Begin Action 19875]
19878,10, 0,0, 3
19878,11, 0,0, 3

[Begin Action 19876]
19878,12, 0,0, 3
19878,13, 0,0, 3

[Begin Action 19876]
19878,14, 0,0, 3
19878,15, 0,0, 3

[Begin Action 19877]
19878,16, 0,0, 3
19878,17, 0,0, 3

[Begin Action 19878]
19878,18, 0,0, 3
19878,19, 0,0, 3

[Begin Action 19879]
19878,20, 0,0, 3
19878,21, 0,0, 3

[Begin Action 19880]
-1,0, 0,0, -1

STEP FIVE Copy everything here into State 5150. If your character does not override State 5150, copy State 5150 from common1.cns into your character, then add the code.

Code:
[State 5150, Jumpscare]
type = Helper
triggerall = stagevar(info.name) = "Freddy Fazbear's Pizza FC"
trigger1 = !numhelper(19878) && matchover && roundstate = 4
helpertype = normal ;player
name = "Jumpscare"
ID = 19878
stateno = 19878
pos = 0,0
postype = right    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 1
supermovetime = 0
pausemovetime = 95

STEP SIX
Copy everything here into Statedef -2.

Code:
;FNAF2-FC Jumpscare Activation
[State -2, Helper]
type = Helper
triggerall = !numhelper(19879) && !time
trigger1 = stagevar(info.name) = "Freddy Fazbear's Pizza FC"
helpertype = normal ;player
name = "Enragement Child Detection"
ID = 19879
stateno = 19879
pos = 0,0
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 0
supermovetime = 0
pausemovetime = 0
ignorehitpause = 1
persistent = 0

[State -2]
type = assertspecial
triggerall = stagevar(info.name) = "Freddy Fazbear's Pizza FC"
trigger1 = numhelper(19878)&& !alive
flag = invisible

STEP SEVEN
Copy everything here... somewhere in one of your .cns or .st files. If you're going to include The Puppet in the regular kills, in the explod coding, change the anim coding to "19870+random%9"

Code:
;FNaF2 Famicom Jumpscare
[Statedef 19878]
type = A
movetype = I
anim = 19879
sprpriority = -3

[State 19878, PlaySnd]
type = PlaySnd
trigger1 = Time = 0
value = 19878,0
volume = 255
channel = -1
freqmul = 1.0
loop = 0
pan = 0

[State 19878]
type = assertspecial
trigger1 = 1
flag = nobardisplay
flag2 = nofg

[State 19878, explod]
type = explod
trigger1 = Time = 0
anim = 19870+random%8
ID = 19878
sprpriority = 5
ontop = 1
scale = 1,1
postype = left
pos = 0,0
ownpal = 1
bindtime = -1
removetime = 96
pausemovetime = 96
supermovetime = 96

[State 19878, SuperPause]
type = SuperPause
trigger1 = !time
time = 95
anim = -1
pos = 0,0
movetime = 0
darken = 0
p2defmul = 1
poweradd = 0
unhittable = 1
persistent = 0

;ENRAGEMENT CHILD DETECTION
[Statedef 19879]
type = A
movetype = I
anim = 19880
sprpriority = -3

[State 19879, Suicide]
type = Destroyself
trigger1 = Roundstate = 4 && !alive && matchover

These last two steps are for adding in a unique killscreen for The Puppet, so that he handles the kill if the character loses the match by a time over.

(OPTIONAL) STEP EIGHT:
Add this line of code to State 170

Code:
[State 170, Puppet Kill]
type =  changestate
trigger1 = stagevar(info.name) = "Freddy Fazbear's Pizza FC" && !time && matchover
value = 171

(OPTIONAL) STEP NINE:
Copy this code

Code:
; Puppet Killscreen
[Statedef 171]
type = S
ctrl = 0
anim = 170
velset = 0

[State 0, explod]
type = explod
trigger1 = Time = 0
anim = 19879
ID = 19878
sprpriority = 5
ontop = 1
scale = 1,1
postype = left
pos = 0,0
ownpal = 1
bindtime = -1
removetime = 96
pausemovetime = 96
supermovetime = 96

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Time = 0
value = 19878,0
volume = 255
channel = -1
freqmul = 1.0
loop = 0
pan = 0

[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = invisible
persistent = 1

[State 170, 1]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1

STEP TEN: Turn on MUGEN and enjoy! And don't forget to keep the damn music box wound!

I want to give a BIG shout-out to The_None for staying up with me the night I was developing this and just randomly throwing out an idea that ended up making this whole thing possible (The SuperPause to keep the winpose screen from ending too quickly).

Anyway, try it out, and let me know if everything works out.