Jump to content

Photo

healed landscapes and lots of maps

overworld dmap changes

  • Please log in to reply
3 replies to this topic

#1 LikeLike on fire

LikeLike on fire

    vaugly coherent

  • Members
  • Location:NJ

Posted 07 October 2013 - 03:48 PM

so if  want to have a curropted landscape part in an overworld, i make the perilful one, with danger and hp drains and damage floors and an ugly ill colored pallet and a dmap for the area. i can make the second "healed" one after getting a triforce and it will change it.

 

is there anyway to do this, and make the area still stay in it's new form when you exist the area and keep a secrete? or no?



#2 MoscowModder

MoscowModder

    Sometimes lurking. Rarely posting.

  • Members
  • Location:Wisconsin

Posted 07 October 2013 - 04:04 PM

This DMap will trigger a warp depending on the DMap and secret state. This works with two DMaps that can have the same map or a different one, but needs a Side Warp set up on every screen you can enter the DMap from.

 

Short version: If current DMap == D0 and secret state == D1, trigger Side Warp A.

//======* DMap Changer * ===============
//D0 = Dmap to change *from*
//D1: if 0, script warps until secrets are triggered; if 1, warps after secrets are triggered
//Set the Dmap/screen to warp to in Side warp A
//Set CMB_AUTOWARPA to the combo number of an auto side warp A combo (unless you already have it set in another script)

//const int CMB_AUTOWARPA = 12483; //Only include this once in the script file

ffc script DMapChange{
    void run(int dmapnum, int secrets){
        while(true)
        {
            if(Screen->State[ST_SECRET] == secrets && Game->GetCurDMap() == dmapnum)
            {
                this->Data = CMB_AUTOWARPA;
            }
        Waitframe();
        }
    }
}


#3 Aevin

Aevin

  • Members
  • Pronouns:He / Him
  • Location:Oregon

Posted 07 October 2013 - 10:11 PM

There's two ways I can think of that could do it without scripts, but either way has its limitations. Both rely on using screen state carryovers, which you access in the screen data. What you do is set the carryover on the trigger screen (in this case, probably a boss that triggers secrets on that screen before you get the triforce). Set the values to the next map (not Dmap) and screen you want affected. You can then set the carryover on the next screen to affect a third screen, and chain them together for as many screens as you like.

 

The easiest way to do this would be to make the area only accessible by tile warp, like through a cave or warp tile. When you beat the boss, use the screen state carryover to trigger secrets that switch the tile warps so they go to the new, healed area instead of the old, corrupted area.

 

If you don't want to use tile warps, you could use this to trigger a secret on every screen of your corrupted area to get rid of the damage combos and nasty looking stuff. If you arranged your csets right, these secrets could even change the colors on the entire screens to make it look like a whole new area. I'd do it by drawing the healed area on layer 0, then drawing the damage combos and nasty palette over the top of it on layer 1, and use secret flags to clear away all of layer 1 when the secret is tripped. This also assumes you don't want any other secrets on these screens and don't need the enemy groups to change.

 

But yeah, scripting is probably the easiest and most flexible way to accomplish it.


Edited by Aevin, 08 October 2013 - 04:10 PM.


#4 LikeLike on fire

LikeLike on fire

    vaugly coherent

  • Members
  • Location:NJ

Posted 09 October 2013 - 08:27 AM

yeah sounds right. i'll save that for later.  or come up with ideas and work with someone.





Also tagged with one or more of these keywords: overworld, dmap changes

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users