PDA

View Full Version : Toxic gas room.



Dell297
10-18-2008, 12:58 AM
Ok I am just wondering if i could make a room when upon entering will release a toxic gas that covers a few rooms, the toxic gas would hurt Link overtime until he went into a room without the toxic gas in it.

IS THIS EVEN POSSIBLE?

If it is please tell me how.

If you say damage tiles, tell me how to make the tiles without them knocking Link back like spikes and other damage tiles do.

Shazza Dani
10-18-2008, 01:09 AM
It's probably easy to script in the new betas, but not possible in the current versions. And I can't script, so I can't help you.

Anthus
10-18-2008, 01:53 AM
There is also a "No knock-back" damage combo in the newer versions. This paired with room state carry-overs, and it could be done.

ShadowTiger
10-18-2008, 04:25 PM
There is? I'm not seeing such a combo in the combo list in 864. What's it called?

Anyway, this is certainly quite possible in the 2.5 Alphas using FFC Scripting.

EDIT: In fact, here it is! Big thanks to MatthewPZC / Pikaguy900 for the help.


// D[0] = The damage multiplier. Right now, it does 25% of each heart's worth of damage per second.
// D[1] = The time multiplier. Right now, it's about one second. (Feels longer, to be honest.)
// D[2] = This is the sound you want it to play whenever Link gets his health reduced each second, or whatever. You can see which sound it is to choose from from Quest -> SFX data.

import "std.zh"

ffc script toxicroom
{
void run(int damageAmount, int waitTime, int soundEffect)
{
while(true)
{
Waitframes(62 * (waitTime));
Link->HP -= (4 * damageAmount);
Game->PlaySound((soundEffect));
}
}
}
Copy and paste that into a blank notepad file, and name it something like toxicroom.z and then Load it into the buffer (http://zcu.sephiroth.ws/forums/index.php?showtopic=409), and assign it to the FFC. You'll need an FFC in each room for that. The D[#] things are found In the "Arguments" tab of this (http://users.sephiroth.ws/ZCUTutorials/zscript21days/d1img1.gif) screenshot, when editing an FFC.


EDIT: If you want it to increase Link's health by that amount, you'll have to edit the script. Change the following - to a +.
Link->HP -= (4 * damageAmount);

Anthus
10-18-2008, 06:56 PM
There is? I'm not seeing such a combo in the combo list in 864. What's it called?



Hm. Maybe not, but I could have sworn there was at some point o-o.

ShadowTiger
10-18-2008, 07:07 PM
Aye; though, well, once we can finish rounding out this code with an "If Link is on this combo type," kinda thing with the rest of what's already there, it'll do the same thing.

Din
10-19-2008, 04:04 PM
Actually, if you're using the betas, there is a way to do this WITHOUT scripting. Heart Rings can have negative values, so if you set the "Increase Amount" to a negative number, and give this item to Link in "Init Data" you can make a gas type room. Wait, wouldn't you need to have this for the entire quest? Well, all you need to do is disable the "gas" item for any other DMap. This means that the gas chamber has to be a DMap of its own. Speaking of which, you can even incorporate a "Gas Mask" heart ring, you just set everything to "0". In summary, the Gas item is a Heart Ring with a negative increase amount, disabled in any DMap other then the Gas Chamber. There 'ya go! Ah, yes, it might be a good idea to make the Heart Ring class not show up in the subscreen, so its a hidden item which gases Link.

Dell297
01-12-2009, 01:58 PM
Or i could make a ring of decay. Which will "decay" link until he dies.

Only problem is i could only put the ring for a single dungeon then after link gets the ring that stops the decay i cant have him get another decay ring it won't work like that.:sweat:

Unless, I put multiple different rings of decay each with a higher ring level then the anti- decay ring.

Example:
Ring of decay (ring level 1)
Anti decay ring (ring level 2)
Ring of decay (ring level 3)
and so on.

ShadowTiger
01-12-2009, 02:45 PM
You can, but the easiest way is to do it by a Dmap by Dmap case.