Nimono
11-04-2007, 12:02 PM
Well, it's a semi-combo. It doesn't use any existing combos or flags to tell what combos are deep water. No, the FFC's arguments decide that. First 4 are normal water, second 4 are for Dive Warps.
// Deep Water- When Link steps on a certain combo without a certain item in his inventory, the combo turns into a Damage Combo. If he does, it becomes normal
// water. Simple. as. that. 4 combos for Water, 4 combos for Dive Warp. No Swim Warp, though. Unless you feel like making more variables. Set this script to
// each screen with the desired combo(s). Best not to use it anywhere else. Why? Well, it wouldn't really make sense. A waste of FFCs.
// Constants/Variables:
// water1-water4- D0 through D3. Control what combos turn into water.
// dive1-dive4- D4 through D7. Will be used for Dive Warp instead of Water.
// level2flippers- What item ID will be used for the Level 2 Flippers. And please, remember to set the item in the Flippers Itemclass. It makes it better.
// damage- Which damage combo the deep water combos will turn into if you do not have the Level 2 Flippers. In case 1/2 Heart isn't enough for you.
// warp1-warp4- Which Dive Warp combo the 4 "dive" variables will turn into. They don't even need to be Dive Warp combos. In case you want more than one Dive
// Warp per screen, or if you've used some other warps. Hey, better safe than sorry. I need to make sure of your ideas! :(
// solidity- Solidity for the combos if you don't have Level 2 Flippers. Uses binary system. 0 = Walkable, 15 = Unwalkable.
import "std.zh"
const int level2flippers = 248;
const int damage = 31;
const int warp1 = 19;
const int warp2 = 19;
const int warp3 = 19;
const int warp4 = 19;
const int solidity = 0;
ffc script deepwater
{
void run(int water1, int water2, int water3, int water4, int dive1, int dive2, int dive3, int dive4)
{
while(true)
{
for (int cmbchk = 0; cmbchk < 176; cmbchk++)
{
if(Screen->ComboD[cmbchk] == water1 || Screen->ComboD[cmbchk] == water2 || Screen->ComboD[cmbchk] == water3 || Screen->ComboD[cmbchk] == water4)
{
if(!Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = damage;
Screen->ComboS[cmbchk] = solidity;
}
else if(Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = 3;
Screen->ComboS[cmbchk] = 15;
}
}
if(Screen->ComboD[cmbchk] == dive1)
{
if(!Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = damage;
Screen->ComboS[cmbchk] = 0;
}
else if(Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = warp1;
Screen->ComboS[cmbchk] = 15;
}
}
if(Screen->ComboD[cmbchk] == dive2)
{
if(!Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = damage;
Screen->ComboS[cmbchk] = 0;
}
else if(Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = warp2;
Screen->ComboS[cmbchk] = 15;
}
}
if(Screen->ComboD[cmbchk] == dive3)
{
if(!Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = damage;
Screen->ComboS[cmbchk] = 0;
}
else if(Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = warp3;
Screen->ComboS[cmbchk] = 15;
}
}
if(Screen->ComboD[cmbchk] == dive4)
{
if(!Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = damage;
Screen->ComboS[cmbchk] = 0;
}
else if(Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = warp4;
Screen->ComboS[cmbchk] = 15;
}
}
}
Waitframe();
}
}
}
This is made for 357, so no drowning here. But have no fear, I finally got it to work in 635. So later today, I'll try to modify this script to work with drowning. Only problem is if you have Level 1 Flippers. How am I gonna take them away only when you're on the combo and BEFORE you start swimming? That's the main problem. I can't take them away if you're next to the combo, since you might... Y'know, be either on or next to a normal water Combo... :/ In any case...
D0-D3 are the normal "Deep Water" combos. You take damage if you try to walk on 'em without the Level 2 Flippers. Otherwise, they're normal water. D4-D7 are for if you want Dive Warps. I kept them seperate, though, in case you wanted all 4 combos to go to different locations. level2flippers tells what item ID is used for the Level 2 Flippers. damage tells the ID of the damage combo. For ease of use, don't check std.zh for this. Instead, place said combo on the screen, and press the "q" key twice. The numbers you see are the Combo IDs. 1/2 is 31. 1 is 32. 2 is 33. 4 is 34. Don't think that the higher ones are 35 and up, though. THOSE are in the 100's. So, anyways... The warp variables are for the Dive Warp Deep Water combos. They're all Dive Warp (A) by default... Change them as you see fit. And that's it. Have fun with it.
Edit: Changed the script so you can decide the solidity of the combo if you don't have Level 2 Flippers.
// Deep Water- When Link steps on a certain combo without a certain item in his inventory, the combo turns into a Damage Combo. If he does, it becomes normal
// water. Simple. as. that. 4 combos for Water, 4 combos for Dive Warp. No Swim Warp, though. Unless you feel like making more variables. Set this script to
// each screen with the desired combo(s). Best not to use it anywhere else. Why? Well, it wouldn't really make sense. A waste of FFCs.
// Constants/Variables:
// water1-water4- D0 through D3. Control what combos turn into water.
// dive1-dive4- D4 through D7. Will be used for Dive Warp instead of Water.
// level2flippers- What item ID will be used for the Level 2 Flippers. And please, remember to set the item in the Flippers Itemclass. It makes it better.
// damage- Which damage combo the deep water combos will turn into if you do not have the Level 2 Flippers. In case 1/2 Heart isn't enough for you.
// warp1-warp4- Which Dive Warp combo the 4 "dive" variables will turn into. They don't even need to be Dive Warp combos. In case you want more than one Dive
// Warp per screen, or if you've used some other warps. Hey, better safe than sorry. I need to make sure of your ideas! :(
// solidity- Solidity for the combos if you don't have Level 2 Flippers. Uses binary system. 0 = Walkable, 15 = Unwalkable.
import "std.zh"
const int level2flippers = 248;
const int damage = 31;
const int warp1 = 19;
const int warp2 = 19;
const int warp3 = 19;
const int warp4 = 19;
const int solidity = 0;
ffc script deepwater
{
void run(int water1, int water2, int water3, int water4, int dive1, int dive2, int dive3, int dive4)
{
while(true)
{
for (int cmbchk = 0; cmbchk < 176; cmbchk++)
{
if(Screen->ComboD[cmbchk] == water1 || Screen->ComboD[cmbchk] == water2 || Screen->ComboD[cmbchk] == water3 || Screen->ComboD[cmbchk] == water4)
{
if(!Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = damage;
Screen->ComboS[cmbchk] = solidity;
}
else if(Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = 3;
Screen->ComboS[cmbchk] = 15;
}
}
if(Screen->ComboD[cmbchk] == dive1)
{
if(!Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = damage;
Screen->ComboS[cmbchk] = 0;
}
else if(Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = warp1;
Screen->ComboS[cmbchk] = 15;
}
}
if(Screen->ComboD[cmbchk] == dive2)
{
if(!Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = damage;
Screen->ComboS[cmbchk] = 0;
}
else if(Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = warp2;
Screen->ComboS[cmbchk] = 15;
}
}
if(Screen->ComboD[cmbchk] == dive3)
{
if(!Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = damage;
Screen->ComboS[cmbchk] = 0;
}
else if(Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = warp3;
Screen->ComboS[cmbchk] = 15;
}
}
if(Screen->ComboD[cmbchk] == dive4)
{
if(!Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = damage;
Screen->ComboS[cmbchk] = 0;
}
else if(Link->Item[level2flippers])
{
Screen->ComboT[cmbchk] = warp4;
Screen->ComboS[cmbchk] = 15;
}
}
}
Waitframe();
}
}
}
This is made for 357, so no drowning here. But have no fear, I finally got it to work in 635. So later today, I'll try to modify this script to work with drowning. Only problem is if you have Level 1 Flippers. How am I gonna take them away only when you're on the combo and BEFORE you start swimming? That's the main problem. I can't take them away if you're next to the combo, since you might... Y'know, be either on or next to a normal water Combo... :/ In any case...
D0-D3 are the normal "Deep Water" combos. You take damage if you try to walk on 'em without the Level 2 Flippers. Otherwise, they're normal water. D4-D7 are for if you want Dive Warps. I kept them seperate, though, in case you wanted all 4 combos to go to different locations. level2flippers tells what item ID is used for the Level 2 Flippers. damage tells the ID of the damage combo. For ease of use, don't check std.zh for this. Instead, place said combo on the screen, and press the "q" key twice. The numbers you see are the Combo IDs. 1/2 is 31. 1 is 32. 2 is 33. 4 is 34. Don't think that the higher ones are 35 and up, though. THOSE are in the 100's. So, anyways... The warp variables are for the Dive Warp Deep Water combos. They're all Dive Warp (A) by default... Change them as you see fit. And that's it. Have fun with it.
Edit: Changed the script so you can decide the solidity of the combo if you don't have Level 2 Flippers.