Jump to content

Mr.Night's Trippy Eventing library of the Abyss


MrNight48
 Share

Recommended Posts

What the fuck is this?

- This will be my "bug log" of sorts for my eventing experiments, stuff I found out by playing around, heard from others but not in a easy to find place, etc. Also to be a sort of weird solution board to odd problems or old problems that was never said because its hidden from people wearing "pro shades".

Pro Shades? trying to say something?

-It's a term I made up to describe the phenomenon of when someone new is trying to learn something what is considered super easy and expected to know by veterans but is written, if at all, in a very hard to find/buried place mentioned in some comment. Then when newbie reads the solution/ figured it out, the problem is now considered easy and forgets to write it down in a easier to see/search place for the newbies after that person. I really have no better way to describe that so here is an example.

i.e, i spent weeks trying to figure out how do i code for chapter 1 after the prologue because I didn't know what I was suppose to change on the prologue template from eventiel on TEB. took me a while to realize that this long ass list of codes....


0x00 None
0x01 ObjectSets: Sacae Plains
0x02 Palette: Sacae Plains: Light Sand
0x03 Set confic: Sacae Plains
0x04 Prologue Map
0x05 Animation: Water (Fields; Plains; M&S)
0x06 Prologue Events
0x07 Palette: Sacae Plains: Dark Sand
0x08 Ch.1 Map
0x09 Ch.1 Events
0x0A ObjectSets: Plains&Castle
0x0B Palette: Plains&Castle: Bright
0x0C Set config: Plains&Castle
0x0D Ch.2 Map
0x0E Ch.2 Map Tile change
0x0F Ch.2 Events
0x10 ObjectSets: Town&Docks
0x11 Palette: Town: Cliffs&stone road unusable
0x12 Set config: Town&Docks
0x13 Ch.3 Map
0x14 Ch.3 Map Tile change
0x15 Ch.3 Events
0x16 ObjectSets: Fortress&Fields
0x17 Palette: Fortress&Fields: Dawn
0x18 Set config: Fortress&Fields
0x19 Ch.4 Map
0x1A Ch.4 Map Tile change
0x1B Ch.4 Events
0x1C ObjectSets: Fields
0x1D ObjectSets: Fields
0x1E Palette: Fields: Sunny weather
0x1F Set config: Fields
0x20 Ch.5 Map
0x21 Ch.5 Events
0x22 Palette: Town: Cliffs&ship unusable
0x23 Ch.6 Map
0x24 Ch.6 Map Tile change
0x25 Ch.6 Events
0x26 Ch.7 Map
0x27 Ch.7 Map Tile change
0x28 Ch.7 Events
0x29 Palette: Plains&Castle: Neutral
0x2A Ch.7x Map
0x2B Ch.7x Map Tile change
0x2C Ch.7x Events
0x2D Ch.8 Map
0x2E Ch.8 Map Tile change
0x2F Ch.8 Events
0x30 Ch.9 Map
0x31 Ch.9 Map Tile change
0x32 Ch.9 Events
0x33 Palette: Fields: Darker; suitable for rain
0x34 Ch.10 Map
0x35 Ch.10 Map Tile change
0x36 Ch.10 Events
0x37 Ch.11E Map
0x38 Ch.11E Map Tile Change
0x39 Ch.11E Events
0x3A Palette: Plains&Castle: Castle Ostia/Laus
0x3B Ch.11H Map
0x3C Ch.11H Map Tile Change
0x3D Ch.11H Events
0x3E Ch.12 Map
0x3F Ch.12 Map Tile change
0x40 Ch.12 Events
0x41 Ch.13 Map
0x42 Ch.13 Map Tile change
0x43 Ch.13 Events
0x44 Palette: Fields: Night
0x45 Ch.13x Map
0x46 Ch.13x Map Tile change
0x47 Ch.13x Events
0x48 Palette: Fields: Darker; suitable for rain
0x49 Ch.14 Map
0x4A Ch.14 Map Tile change
0x4B Ch.14 Events
0x4C Ch.15H Map
0x4D Ch.15H Map Tile change
0x4E Ch.15H Events
0x4F Ch.15/16 Map
0x50 Ch.15/16 Map Tile change
0x51 Ch.15/16 Events
0x52 Palette: Plains&Castle: Castle Caelin
0x53 Ch.16/17 Map
0x54 Ch.16/17 Map Tile change
0x55 Ch.16/17 Events
0x56 Palette: Town: Ship&stone road unusable
0x57 Ch.16x/17x Map
0x58 Animation: Water (Town&Docks)
0x59 Ch.16x/17x Map Tile change
0x5A Ch.16x/17x Events
0x5B ObjectSets: Ship
0x5C Palette: Ship
0x5D Set config: Ship
0x5E Ch.17/18 Map
0x5F Animation: Water (Ship)
0x60 Ch.17/18 Map Tile Change
0x61 Ch.17/18 Events
0x62 Palette: Fields: Dull; suitable for fog
0x63 Ch.18/19 Map
0x64 Ch.18/19 Map Tile change
0x65 Ch.18/19 Events
0x66 Palette: Fields: Sunny weather
0x67 Ch.18x/19x Map
0x68 Ch.18x/19x Map Tile change
0x69 Ch.18x/19x Events
0x6A ObjectSets: Mountains&Shrine
0x6B Palette: Mountains&Shrine: Neutral
0x6C Set config: Mountains&Shrine
0x6D Ch.19x pt2 Map
0x6E Ch.19x pt2 Map Tile changes
0x6F Ch.19x pt2 Events
0x70 Ch.19/20 Map
0x71 Ch.19/20 Map Tile changes
0x72 Ch.19/20 Events
0x73 Palette: Town: Night
0x74 Ch.20/21 Map
0x75 Ch.20/21 Map Tile changes
0x76 Ch.20/21 Events
0x77 Palette: Fortress&Fields: Daytime
0x78 Ch.21/22 Map
0x79 Ch.21/22 Map Tile changes
0x7A Ch.21/22 Events
0x7B ObjectSets: Desert
0x7C Palette: Desert
0x7D Set config: Desert
0x7E Ch.22/23 Map
0x7F Ch.22/23 Events
0x80 Palette: Plains&Castle: Green&blue
0x81 Ch.22x/23x Map
0x82 Ch.22x/23x Map Tile changes
0x83 Ch.22x/23x Events
0x84 Ch.23/24 Map (Lloyd)
0x85 Ch.23/24 Map (Lloyd) Tile changes
0x86 Ch.23/24 (Lloyd) Events
0x87 Ch.23/24 Map (Linus)
0x88 Ch.23/24 Map (Linus) Tile changes
0x89 Ch.23/24 (Linus) Events
0x8A Palette: Fields: Neutral
0x8B Ch.25H Map
0x8C Ch.25H Map Tile changes
0x8D Ch.25H Events
0x8E Ch.24/26 Map
0x8F Ch.24/26 Map tile changes
0x90 Ch.24/26 Events
0x91 ObjectSets: Snow
0x92 Palette: Snow
0x93 Set confic: Snow
0x94 Ch.25/27 Map (Kenneth)
0x95 Ch.25/27 Map (Kenneth) Tile changes
0x96 Ch.25/27 (Kenneth) Events
0x97 Ch.25/27 Map (Jerme)
0x98 Animation: Shimmering ice (Snow)
0x99 Ch.25/27 Map (Jerme) Tile change
0x9A Ch.25/27 (Jerme) Events
0x9B Palette: Plains&Castle: Night
0x9C Ch.26/28 Map
0x9D Ch.26/28 Map Tile change
0x9E Ch.26/28 Events
0x9F Palette: Plains&Castle: Purple
0xA0 Ch.26x/28x Map
0xA1 Animation: Water (Plains&Castle)
0xA2 Ch.26x/28x Map Tile changes
0xA3 Ch.26x/28x Events
0xA4 Ch.27/29 Map
0xA5 Ch.27/29 Map Tile changes
0xA6 Ch.27/29 Events
0xA7 ObjectSets: Lava Cave
0xA8 Palette: Lava Cave
0xA9 Set config: Lava Cave
0xAA Ch.28E Map
0xAB Animation: Lava (Lava Cave)
0xAC Ch.28E Map
0xAD Ch.28E Events
0xAE ObjectSets: Sand Cave
0xAF Palette: Sand Cave
0xB0 Set config: Sand Cave
0xB1 Ch.30H Map
0xB2 Ch.30H Map Tile changes
0xB3 Ch.30H Events
0xB4 Ch.29/31 Map
0xB5 Ch.29/31 Map Tile change
0xB6 Ch.29/31 Events
0xB7 Palette: Town: Ship&stone road unusable
0xB8 Ch.29x/31x Map
0xB9 Ch.29x/31x Events
0xBA Ch.30/32 Map
0xBB Ch.30/32 Map Tile Changes
0xBC Ch.30/32 Events
0xBD Palette: Mountains&Shrine: No plains
0xBE Ch.32x Map
0xBF Ch.32x Map Tile changes
0xC0 Ch.32x Events
0xC1 ObjectSets: Dragon's Gate
0xC2 Palette: Dragon's Gate
0xC3 Set config Dragon's Gate
0xC4 Final Ch. pt1 Map
0xC5 Animation: Gate and flames (Dragon's Gate)
0xC6 Final Ch. pt1 Map Tile change
0xC7 Final Ch. pt1 Events
0xC8 Final Ch. pt2 Map
0xC9 Final Ch. pt2 Map Tile change
0xCA Final Ch. pt2 Events
0xCB [3642E8]
0xCC [CE3A60] Tile change
0xCD [CA6890]
0xCE [36423C]
0xCF [CA68F0]
0xD0 [364108]
0xD1 [CA6950]
0xD2 [363FE4]
0xD3 [CA69B0]
0xD4 [366678]
0xD5 [363E80]
0xD6 [CA6A10]
0xD7 [363D2C]
0xD8 [CA6A70]
0xD9 [360538]
0xDA [363C58]
0xDB [CA6AD0]
0xDC [363B7C]
0xDD [CA6B30]
0xDE [363A38]
0xDF [CA6B90]
0xE0 [3603F8]
0xE1 [363900]
0xE2 [CA6BF0]
0xE3 [363800]
0xE4 [CA6C50]
0xE5 [3636F4]
0xE6 [CA6CB0]
0xE7 [3602B8]
0xE8 [3635B0]
0xE9 [CA6D10]
0xEA [363474]
0xEB [CA6D70]
0xEC [363328]
0xDE [CA6DD0]
0xEE [3631C8]
0xEF [CE3B40] Tile change
0xF0 [CA6E30]
0xF1 [3630C0]
0xF2 [362FB8]



was meant to changes things like the chapter you are editing for here

EventPointerTable(0x??,Pointers)

basically change ?? to the chapter code like 0x09 for chapter one. sounds super easy but not if you are new.

so without further ado...

Abyss Library

(Disclaimer: I take no credit for finding out shit that is probably already known, just writing/rewriting it down for the search junkies, if something is not right just correct it or expand on it. Thanks)


Number One Rule:
ALWAYS FIND THE "READ ME"!

I usually forget its there and it usually solves pretty much all your problems in some way. If you are having a problem with a program maybe the read me already covers it, find it, read it, pin it, love it.

FE6:


FE7:

Eventing:

- "Events end at offset 0x??????" message from event assembler is where your offset ends and is what you should put next to "ORG" in your next chapter event code.???/ maps have their own offset and not the same as the event offset (I am ashamed to say this was the cause of so many bugs in some of my hacks)


Max units:
-The max units for each side is 50 (except for the blue side apparently)
- (Unknown?) may count dead units too
- [Experiments] when trying to create a rampaging dragon, if one side has 50 units and you try to convert a unit to that side, they will glitch out and disappear. thus making your treasured mechanic broken, possible <solution> to that is have a hidden unit as a placeholder for the important units that switch sides a lot or reinforcements you do not want blocked by a clever player and have the placeholder to switch sides with the target.
- apparently blue side can have more than 50 units. Went over 50 when testing my MAFC1 hack.

'MOVE' code notes:
-[Experiment, warping houses] the 'MOVE' code cannot be used in a event trigger when visting a house, the unit that trigger the house event has to be in the same spot. (basically can't have a unit visit a house, then have that event tied to the house move the unit that triggered the event. just puts right back to the house.)
<solutions> do the MOVE event after the turn ends.
create a blue unit that warps units then turn into a npc to get deleted.

-[Experiment, Moving units to a walled off section in the map] when loading the same units elsewhere, make sure to move the cusor off them before the command otherwise it will be ignored.
<solution> have some kind of event that triggers the move again with a throw away unit.


Different Event trigger acting at the same time:
- can not have reinforcement ID and conditional ID event trigger at the same time.
(Not sure on how true this is, all I know is when I kept trying to do it, it refuse to work)


IFCD is a pain in the ass:
-want to have a red unit's death trigger an event with IFCD? [iFCD 0x0E 0x03 0xA6]
the motherfucking 0x0E-0x10 has to be there or it will get ignored.
(again, this is what made it work after the code kept being ignored. so not a 100% on this)
- 0x0E = 0xA6
- in nightmare for civilians(green npc units) had to set the death quote trigger id to 0x11? not sure why it worked but it fucking did.
-also any death code with triggers requires death quote id triggers
ignore the shit i said above for IFCD, it only works for blue units. (recently found this out in FEuniverse thanks to prime and agro)
I am not sure why the earlier experiments I did made it work sometimes for npc's/enemy units but it was probably due to some other condition code.
<possible solution> stick a AFEV event to point to the death quote trigger ID which is usually 0x02 (can be edited in nightmare in case you have multiple bosses/important npc's.



Multiple Event Assembly compiling:
-for multiple testing purposes, the save states will work with the new events put into game, just reload file then go to save state for testing. (must be careful, very easy for stuff to go wrong so if things start to break, do it the proper way be restarting the chapter. Also if you made nightmare/feditior changes compared to the savestate, they won't be there so just restart.)


Ambush Spawns:
-can't have ambush spawn events on enemy turn without units

For Scroll Word bubble (mostly used for narrating):
- to use tex6 you need this format...
STAL 8
TEX6 0x1 [7,12] 0x822
_ASM0x42 0x83181
RETB



AI code Breakdown:
-the format
[AI 1 = Primary AI] [AI 2 = Secondary] [AI 3 = Recovery/Targeting] ["AI 4" seems to be a flag to stop enemies moving from their place if AI 2 = 03 (not sure what AI 4 does)]
for more details go here http://serenesforest.net/forums/index.php?showtopic=25452

UPDATE: go here instead for a far more detailed documentation- AI Thread in FEuniverse

(thank Crazycolorz5 for all of this)

- for thief AI escape, better to go here and express your gratitude to the people who made it easier
http://serenesforest.net/forums/index.php?showtopic=48914#entry3236364

(im sure there is a thread about this in feuniverse too, will include it later.)
- units with 1 range weapons move before 2 range units

- Changing enemy AI with event code changes all of them with the same character ID


IFUF:
-for IFUF condition code, format is IFUF faction# conditionID# characterID#
0= player's faction
1= enemy's faction
(still testing, seems to work)

Wrong End Command:
- Doing;
Label:
unit data
ENDA //(suppose to be UNIT)

in unit placement will spawn a npc citizen along with the unit you called forth.


GameOver/Unclosed Villages:
Want a village to still be open to bandits destroying it? Simply use the open village tile instead of the closed one and the game will trigger the map change without calling another map change you put in. This will allow the AI to still see that the village is open for ransacking even though the player already triggered the event.


Movement in Weather:
-units who can walk on rivers can't do it in the rain. Use Movement type editor in Nightmare and change the 255 to 5

Reusing Event IDs: (warning, this is dangerous and highly reconmended to make backups before attemping this!)
TurnEventPlayer(0x3B,EventCodeChecker5,2)
TurnEventPlayer(0x3C,EventCodeChecker6,3)
TurnEventPlayer(0x3B,EventCodeChecker7,4)
EventCodeChecker5:
LOU1 Good
ENDA
EventCodeChecker6:
ENUF 0x3B
ENDA
EventCodeChecker7:
LOU1 LoneWolf
ENDA
-Ok so what this does is allow me to use an event with a event ID, Set the event ID as unused, and reassign the event ID with another event and you can bet your ass it works. however this is dangerous.

Characters:

- to load in a new class under a character that was already on the map, kill them off then you can load them in with the new class.

FE8:

-Disabling world map events will cause a lot of bugs (may have to do with skirmishes).


Maps:

Maps in other chapters:

- for inserting maps in later chapters, check nightmare mod event table references

Breakable Wall Respawn Glitch:
-destorying a wall before a map change that includes that wall will respawn the wall as an actual wall. Can't be rebroken.


Unlimited Movement Glitch:
-the unlimited movement glitch is usually caused by the wrong map change ID. (What happens is your unit can move just about anywhere then a ear splitting crash, may be used for something)

Wall Events:

- it is possible to add events to walls, 0xFC is the literal character ID for walls and you can give them a death quote.

Nightmare:

Devil Effect Increase:
- to get the devil reversal effect to trigger nearly all the time, the formula is [31-LUCK] meaning Luck has to be 131 0r -131(with weapon bonus stats)
to get [100]% (still testing, seems to work)
UPDATE: ignore this, just makes the chance 100% due to stupid programming math

(credit to Gryz for explaining this)

Disable World Events:
-to get rid of world events, go to chapter data editor in nightmare and set world events to prologue prologue or none. {FE7}

Character without Hard Codes:
-All the data is stored in the character number or class number, if you
want the class without the hard code, make another non-coded class become a copy.

Character Seniority:
-Character Information takes seniority over class Information, This means you can have generic units have base weapons set to A but
characters of that class can be set lower and that will be the official weapon rank.(i.e hector as a brigand will have C rank in axes but generic brigands can have A rank axes)

Why some music stops on the map:
-You can change the theme that plays on the map in Nightmare's Chapter Data Editor, but Nightmare's Music Array Editor reads some songs as songs with certain purposes and IDs. It's rated from lowest to highest. In order for a song to play properly on a map, you need to set the song to Higher.(Or the one that says "Map Music.") If the Player Phase theme, nor the Enemy Phase theme are on the "Higher" scale. They're rated as "Highest." (BGM. Use this for battle themes like Rise to the Challenge, or Softly with Grace.) As a result, the music deactivates after a battle because the songs are not configured correctly in the Music Array Editor.
(credit to TheBladehero22 for saying this on youtube.)
Weapons:
- staffs seem to be hardcoded, however turning them into unlimited weapons seems to make them equipable.
- Weapon ability 1 0x0E is the unlimited weapon power for staffs

FEditor Advance:

No Nightmare:
- as stated before, the same rom cannot be worked on by FEditor and Nightmare at the same time. will break shit
-also note you can work with event assembly but will have to reassemble each time if you didn't reload the rom in nightmare/FEditor.

Eventiel:

Event Output:

- When you see this [// <a href='javascript:removeCondition(2,"traps");'>Delete</a>] when using eventiel to code traps/ballistas, delete it, just javascript code

Unit Blocks Editor:

-In eventiel, it only shows the basic character ids, you can use far more. Just check character IDs in Nightmare.

-0x4C is Queen not Peer(F), 0x4E is the Peer (F)

-Seize throne AI doesn't seem to work

Animations:

Palette and color organization (never even heard of it until I ran into this problem while working on animations for klok):
- top right corner of standing frame animation, there is a palette order your colors must be in

hair 1-3, skin 1-3, white, transparent color
outline, main 1-4, secondary color 1-3


constants: outline, white, transparent, skin, hair
can play with: mains and secondaries as long as they have 4 and 3.
this makes it way easier to recolor shit and use different palettes.

Fortify Animations
-for staff animations to work with fortify, add staff frames in modes 1 and 3, not sure why but it worked.

For New Feditior with the code dump:
-do not include modes 2 and 4, they will be done for you when re-inserting something you dumped.

Usenti:
-Using Requantize
open Usenti >open that sheet >go to the Palette Tab >click Requantize >type in 16 colors >click okay.
An easier way to force your image to 16 colors. For better or for worse.

Frame and Animation limits:

- any animation that crosses into 0-105 in width is too many tiles. No limit on height.

Cool Animation Tricks:
-Looping Frames, how to do them.
C04 or C05 (must come before the "L" command)
L
[frames]
C01 (c01 is the terminator as the looping frames as well)
With this, the frames will loop until C01 activates. More idea for magic classes for now. might be able to come up with something cool for physical classes.
(thanks to Alfred Kamon for telling me this, strangely I could not find any information about this whatsoever in the FEditior docs)
Edited by MrNight48
Link to comment
Share on other sites

  • 1 year later...

Updated with new info I came across or discovered while messing around.

Also made some edits to make things more organized. From now on new stuff will be in purple, warnings in red, and examples/formats will be in orange. Might be using dark green in the future for something but for now going with this.

I don't hack FE8 so I don't know much on it so if any of y'all have tons of FE8 info you think should be documented in more places, feel free to put it here and I will add it.

Link to comment
Share on other sites

It's better to think of AI1 as a "primary" AI and AI2 to be a "secondary" AI that gets used if AI1 fails to provide an action.

For example, AI1 could be attack in range. If there are no units in range, then it fails and AI 2 gets used. AI2 could be something like, "do nothing" or "move closer to enemies".
In the former case, the observed behavior is "attack in range" and in the latter case "pursue without heed"

http://feuniverse.us/t/fe7-the-official-ai-documentation-thread/348?u=crazycolorz5
^ more info

Link to comment
Share on other sites

It's better to think of AI1 as a "primary" AI and AI2 to be a "secondary" AI that gets used if AI1 fails to provide an action.

For example, AI1 could be attack in range. If there are no units in range, then it fails and AI 2 gets used. AI2 could be something like, "do nothing" or "move closer to enemies".

In the former case, the observed behavior is "attack in range" and in the latter case "pursue without heed"

http://feuniverse.us/t/fe7-the-official-ai-documentation-thread/348?u=crazycolorz5

^ more info

Crap I knew I was forgetting something. thanks for reminding me, will update it as well as including that link because all that info you did was extremely helpful. Allows for some pretty complex AI movements than the standard rush units.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...