Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#1 2011-06-05 11:34:38

Miksy91
Member
Registered: 2010-10-16
Post 381/2,311

Freezingly cold mountain

I got an awesome idea on my mind and almost figured out a way how to implement it as well...
I thought about writing it down here (I may still use it but will have problems putting it in the game) so you could give me tips how to do it if there is a way that I've missed.

I planned on creating a cave called "North Star" in Pokemon Dark Future.
There would be plenty of rooms in there and in each one of them, many triggered scripts.
These triggered scripts check whether hiro has particular key items in the key item pocket and according to that, may set bittable1 bits 0000, 0100 and 0200.

If all of these bits are set (and hiro walks into another trigger event without particular key items), hiro will be sent out of the cave, fainted due to the cold temperature.

There will be key items for resisting the temperature (Woolly Hat, and two other more special ones).
Anyways, the trigger table in 0x94000 has room for only 59 trigger events (should be enough even though ~30 of them were used, maybe not though).
Besides, I'm not even sure if it's possible to make a map have more than one ram offset where it would look data for triggered scripts.


12 - Activate Trigger Event from afar
Changes trigger event number on map (map bank/map no) to xx.

xx = trigger event number that should be activated

Structure:
[12][MapBank][MapNo][xx]


According to this (although it's just a scripting command), each map could have only one ram offset where the trigger event number could be changed into another. However, wouldn't it be possible to make it so it had more than onle place (actually, plenty of them) ?

Eg.
[Map Bank] = xx
[Map No] = yy

$94000
xx yy B7 D6 xx yy B8 D6...

I could of course activate and de-activate the trigger events straight with codes 19-1B (although it would require work).

*Trigger flags are stored in D6B7-D6F1 in RAM
Originally the structure in 0x94000 is like this:
[Map Bank][Map No][RAM Adress]


*There should be many trigger events in the maps because then I wouldn't have to do it so that you'd run into them certainly (wouldn't be fun at all).
Instead, you could circle most of them if you somehow happened to knew their exact locations

Last edited by Miksy91 (2011-06-05 11:41:10)

Offline

#2 2011-06-05 12:28:39

Cheestendo
Member
Registered: 2011-03-30
Post 143/319

Re: Freezingly cold mountain

you can put that not it faints on the each of the triggers , but it is like poison takes each pokemons health a bit off. btw great idea.

Last edited by Cheestendo (2011-06-05 12:28:55)

Offline

#3 2011-06-05 19:54:24

Tauwasser
Member
Registered: 2010-10-16
Post 141/448

Re: Freezingly cold mountain

First, no, it's not possible to have multiple RAM offsets in there. Actually, for all maps that are not in the table, the routine that reads the table will spit out wrong data. Also, what exactly do you get with multiple trigger ID's? You can just check for the proper bits to be set or reset and then decide whether each of these triggers sends you back or not.

cYa,

Tauwasser

Offline

#4 2011-06-05 19:59:31

Cheestendo
Member
Registered: 2011-03-30
Post 145/319

Re: Freezingly cold mountain

@kkj1116 -
another idea : there maybe could be like radiation and needing a full-pressure suit.. and if you have that your overworld change .. <- wow what an idea :)

Offline

#5 2011-06-05 20:18:47

Mateo
Member
From: The Sims 4
Registered: 2009-11-25
Post 683/3,492

Re: Freezingly cold mountain

Perhaps I'm misreading the idea, but it seems to me like the best way is to just have the triggers be wherever you want them to be, and they all have the main trigger time for that map, and each trigger's script will be like
check for item 1
check for item 2
check for item 3
if it has all of them, it does nothing
it one or more is missing, it does whatever you said for frozenness. No need for multiple flags to be set all over the place, and you can have all of them point to the same script, so you would only have to code it once. Again, this is assuming I understood what you are wanting to do.

Offline

#6 2011-06-09 15:30:19

Miksy91
Member
Registered: 2010-10-16
Post 382/2,311

Re: Freezingly cold mountain

Tauwasser wrote:

Actually, for all maps that are not in the table, the routine that reads the table will spit out wrong data. Also, what exactly do you get with multiple trigger ID's? You can just check for the proper bits to be set or reset and then decide whether each of these triggers sends you back or not.

I actually figured this much later, no idea where I got the idea that I need multiple ram offsets for each map :)


Mateo wrote:

Perhaps I'm misreading the idea, but it seems to me like the best way is to just have the triggers be wherever you want them to be, and they all have the main trigger time for that map, and each trigger's script will be like
check for item 1
check for item 2
check for item 3
if it has all of them, it does nothing
it one or more is missing, it does whatever you said for frozenness. No need for multiple flags to be set all over the place, and you can have all of them point to the same script, so you would only have to code it once. Again, this is assuming I understood what you are wanting to do.

yeah, there will actually be trigger events of three types with flags 00, 01 and 02.


I'll think about those other ideas later.
In this place though, you'll faint if you run into too many trigger events without specific items - I've planned it well and this is a far better way to implement it that by making pokemon lose health (because now you're forced to get some items to get deeper in the cave (optional)).

Last edited by Miksy91 (2011-06-09 15:33:26)

Offline

Board footer

Powered by FluxBB