/
Config.event
409 lines (298 loc) · 17.1 KB
/
Config.event
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
#ifndef HAX_CONFIG
#define HAX_CONFIG
// This file holds configuration switches for all hacks shipped with the skill system.
// =========================
// = GENERAL CONFIGURATION =
// =========================
// If commented, the test map will not be installed.
#define USE_TEST_MAP
// The amount of attack speed needed to double an opponent.
#define AS_DOUBLING_THRESHOLD 4
// If true, dropped items will retain their durability.
#define DROPPED_ITEM_DURABILITY True
// ===================================
// = HACK INSTALLATION CONFIGURATION =
// ===================================
// If commented, slayer and effectiveness will remain the same as they are in vanilla
// Look at SkillSystem/Skills/EffectivenessSkills/Nullify/_README.txt for the full ramifications of uncommenting this
#define ENABLE_SLAYER_AND_EFFECTIVENESS_REWORK
// If uncommented, a full str/split will be implemented without replacing any stats
// TODO: Define an item ID for Spirit Dust (Mag statbooster) in "Strmag/Str Mag Split/Installer.event". Energy Ring is used by default!
// Item icon for Spirit Dust is included! Define your icon ID in "Strmag/_Master Asm Installer.event". Default is Green Note.
// #define USE_STRMAG_SPLIT
// If uncommented, the statscreen will have a moving background similar to FE6 and FE7.
// Customization of graphical assets is possible in Necessary/ModularStatScreen/Background/Graphics/Graphics.event.
// #define SCROLLING_STATSCREEN_BACKGROUND
//If uncommented, will enable Battle Stats with Animations Off.
#define BATTLE_STATS
//If uncommented, will enable Casual Mode (set by flag 0xB0).
#define CASUAL_MODE
//If uncommented, will enable Contemporary Talk & Support.
#define CONTEMPORARY_TALK_SUPPORT
//If uncommented, will enable Danger Zone.
#define DANGER_ZONE
//If uncommented, will enable Display Weapon Rank on Level Up.
#define WRANK_ON_LEVELUP
//If uncommented, will use Trap Rework.
//This is automatically used if Dragon Veins or Heal Tiles are uncommented.
#define TRAP_REWORK
//If uncommented, will enable Dragon Veins.
#define DRAGON_VEINS
//If uncommented, will enable Heal Tiles.
#define HEAL_TILES
//If uncommented, will enable event ASMCs for adding traps, rescuing units, and sending items to the convoy respectively.
#define EVENT_ADD_TRAPS
#define EVENT_RESCUE
#define EVENT_SEND_TO_CONVOY
//If uncommented, will enable Event Writer.
#define EVENT_WRITER
//If uncommented, will enable Freeze.
#define FREEZE_HACK
//If uncommented, will enable HP Bars.
#define HP_BARS
//If uncommented, will enable Improved Sound Mixer.
#define IMPROVED_SOUND_MIXER
//If uncommented, will enable L-Toggle Animations.
#define LTOGGLE_HACK
//If uncommented, will enable Menu Semitransparency.
#define SEMITRANSPARENCY_CHANGES
//If uncommented, will enable use of Supply during the prologue.
#define PROLOGUE_SUPPLY
//If uncommented, will enable PC and Generic Music.
//#define CHARACTER_CHAPTER_SPECIFIC_BATTTLETHEMES
//If uncommented, will enable the Movement Arrow Hack.
#define MOVEARROW_HACK
//If uncommented, will enable Negative Weapon Wt/Crit Display.
#define NEGATIVE_WTCRIT_DISPLAY
//If uncommented, will enable the battle crit cap
#define CRIT_CAP
//If uncommented, will enable Chapter Names as Text.
#define TEXT_CHAPTER_NAMES
//If uncommented, will enable Proper Range Getters.
//#define HAX_PROPER_RANGE_GETTERS_EVENT
//If uncommented, will use allegiance-based statscreen palettes.
// #define STATSCREEN_ALLEGIANCE
// If uncommented, the Anima Triangle will be implemented.
// Go to "AnimaTriangle/AnimaTriangle.event" to define your fire, thunder, and wind magic lists.
// This patch normally conflicts with Tri-Adept, but installing here remedies this.
// #define ANIMA_TRIANGLE
// If uncomented, ModularEXP will be implemented.
// Go to "ModularEXP/ModularEXP.event" and "Tables/FE8 Nightmare modules/Misc/Modular EXP Class Table.csv" to edit experience gains.
// This patch normally conflicts with Paragon, but installing here remedies this.
// #define MODULAR_EXP
// If uncommented, PortraitSelectionASM will be implemented.
// Go to "PortraitSelectionASM/PortraitSelectionASM.event" to configure your modular portrait options.
// This patch normally conflicts with Identity Problems and Random Mugs, but installing here remedies this.
// #define PORTRAIT_SELECTION
// If uncommented, StairsASM will be implemented.
// This patch adds an entry to the Unit Menu, so installing here is necessary.
// #define STAIRS_ASM
// If uncommented, Raid will be implemented.
// This patch adds an entry to the Unit Menu, so installing here is necessary.
// #define RAID
// If uncommented, Escape-Arrive will be implemented.
// /this adds entries to the Unit Menu and normally conflicts with Lunge and Stairs. Install here to avoid the conflicts.
// #define ESCAPE_ARRIVE
// If uncommented, Leadership Stars will be implemented.
// Go to LeadershipStars/LeadershipStars.event to edit settings.
// #define LEADERSHIP_STARS
// If uncommented, Biorhythm will be implemented.
// Go to "Biorhythm/Biorhythm.event" to edit settings.
// This adds an entry to the Pre-Battle loop and edits the status screen.
// There is currently no stat screen template that contains both Leadership Stars and Biorhythm, but they do function in tandem if you wish to make one.
// #define BIORHYTHM
//If uncommented, Reaver Split will be implemented.
//Makes weapon ability 2 reaver bit just triangle reversal and weapon ability 3 bit 0x80 triple triangle effect.
// #define REAVER_SPLIT
//If uncommented, Cannot Crit will be implemented.
//Makes weapon crit of 255 negate crits.
//#define CANNOT_CRIT
//If uncommented, AdvWeaponLocks will be implemented.
//This is a rewrite of venno's array-based weapon locks.
// #define ADV_WEAPON_LOCKS
//If uncommented, AdvWeaponLocks will use only the lowest bit of the weapon ability word's 4th byte rather than the entire thing.
//Requires additional configuration in WeaponLockArray/AdvWeaponLocks.event.
// #define CONSOLIDATED_ADV_WEAPON_LOCKS
//If uncommented, Status-Inflicting Weapons will be implemented.
//Setting weapon effect 0xD will apply the effect ID at item data +0x22.
// #define STATUS_WEAPONS
//If uncommented, Narrow Font will be implemented.
//This allows for setting narrower text in addition to standard text.
// #define NARROW_FONT
#ifdef NARROW_FONT
MESSAGE NARROW_FONT is being phased out for UTF-8 encoded Narrow Font.
MESSAGE If you have added custom characters, you will need to add them in Root\EngineHacks\ExternalHacks\Fonts.
MESSAGE Please see the README.md there or ask @Vesly for help.
#endif
//If uncommented, UTF-8 will be implemented.
//This allows for adding new fonts/characters and includes NarrowFont by default.
#define UTF8
// Do not define NARROW_FONT and UTF8 simultaneously.
#ifdef UTF8
#ifdef NARROW_FONT
#undef NARROW_FONT
#endif
#endif
// If uncommented, the fourth page of the stat screen will include personal information on the character.
// This information can be edited in the "Personal Data Editor.csv" file.
// This will automatically enable Narrow Font.
#define ENABLE_PERSONAL_INFO
// If uncommented, the third page of the stat screen will only show weapon ranks that the unit has a rank in.
#define ONLY_SHOW_USED_RANKS
// If uncommented, the second page of the stat screen will display data of map-based ballista in the inventory.
#define QOL_STAT_SCREEN_BALLISTA
// If uncommented, Gaiden Magic 2.0 will be enabled.
// Set spell lists in ExternalHacks/GaidenMagic/GaidenSpellLists.event.
// Set spell HP costs in "Item editors/Gaiden Spell Cost Tables.csv"
// An example for stat screen display is in MSS page 4.
// #define GAIDEN_MAGIC
// If uncommented, Area of Effect (AoE) attacks will be enabled.
// See ExternalHacks/AoE/Installer.event for details.
//#define INSTALL_AoE
// If uncommented, Unlock staves will work on chests.
// #define UNLOCK_WORKS_ON_CHESTS
// If uncommented, damage numbers will display over participants' heads during battle animations.
// #define BATTLE_ANIMATION_NUMBERS
//ID of flag to use for hiding damage numbers, if enabled above.
#define BATTLE_ANIMATION_NUMBERS_FLAG 0xEE
// If uncommented, passive stat boosts will not stack and only the
// first item in the inventory with passive stat boosts will apply them.
// Setting the 0x00800000 bit in the item ability bitfield will enable passive boosts.
// #define DONT_STACK_BOOSTS
// If uncommented all boss kills will play critical hit animations.
// #define FLASHY_MODE
// If uncommented, the unit load buffer will be repointed.
// The location it is repointed to is also defined here. The default location is
// the area used for debug printing.
#define REPOINT_UNIT_LOAD_BUFFER
#define NewUnitLoadBufferLoc 0x2026E30
// If uncommented, unit branched promotion list will be expanded to 6
//#define CLASS_CHG_EXPANSION
// =================================
// = SKILL BEHAVIOUR CONFIGURATION =
// =================================
// If set to false, passive skills will not stack and only the first item with one will have an effect.
// Setting the 0x00800000 bit in the item ability bitfield will enable passive skills.
#define PASSIVE_SKILLS_STACK True
// If set to true, units under roof tiles will be considered for aura skills
#define ROOF_UNIT_AURAS True
// if uncommented units will be select automatically after galeforce (pressing b won't end their turn)
// #define ENABLE_GALEFORCE_AUTOSELECT
// if uncommented lethality will work like it originally did in gba
// #define ENABLE_GBA_LETHALITY
// if set to false, only the skill will work, if set to true both the skill and the ability will work
#define ENABLE_LEGACY_CANTO False
// if commented, enemies with Steal+ will steal as normal in vanilla (ie, the skill will be pretty much useless
#define ENABLE_AI_STEAL_PLUS
// if commented, Steal will no longer be a skill, but a character ability, and Steal+ will require having regular steal
#define ENABLE_STEAL_SKILL
// If commented, debuffs are allowed to take stats below zero
#define DEBUFFS_MIN_ZERO
// If true Shadowgift/Lumina will check for staff ranks when checking for highest magic rank
#define SHADOWGIFT_VIA_STAFF_RANK False
#define LUMINA_VIA_STAFF_RANK True
// If commented, Poison Strike and Grisly Wound will not check whether no damage was dealt before applying additional damage.
#define RESIDUAL_DAMAGE_REQUIRES_BATTLE_DAMAGE
// If commented, Capture will be a global command and will not require the Capture skill.
#define CAPTURE_SKILL_REQUIRED
// If commented, Dragon Veins will be a global command and will not require the Dragon's Blood skill.
#define DRAGON_VEIN_SKILL_REQUIRED
//If commented, Heroes Movement skills will use class checks and will not require their respective skills. Configure lists for each skill in 'SkillSystem/Skills/UnitMenuSkills/HeroesMovement/HeroesMovement.event', at the bottom of the file.
#define HEROES_MOVEMENT_SKILL_REQUIRED
// If uncommented, the Charge mechanic will be disabled and Moonbow will use a skill% activation rate. This will not change Moonbow's description.
// #define DISABLE_CHARGE
//If commented, Triangle Attack will use a skill check instead of a bitflag.
//#define VANILLA_TRIANGLE_ATTACK
//If HEROES_MOVEMENT_SKILL_REQUIRED is not defined, this setting will control whether or not skills can still be used.
#define ALSO_USE_MOVEMENT_SKILL_CHECK True
//If true, get 1/4 prices with both Bargain and Silver Card simultaneously.
#define DOES_BARGAIN_STACK False
//If true, will use the vanilla check in addition to the skill check.
#define ALSO_USE_VANILLA_DANCE_CHECK False
#define ALSO_USE_VANILLA_SUPPLY_CHECK True
#define ALSO_USE_VANILLA_SUMMON_CHECK False
#define ALSO_USE_VANILLA_STEAL_CHECK True
//If uncommented, Combat Arts will be enabled.
//This changes the behavior of most command skills and some proc skills such that they cost additional durability per hit and are selected from a submenu.
// #define COMBAT_ARTS
//If true, Combat Arts will not be allowed to hit more than once.
#define ARTS_HIT_ONCE True
//If uncommented, ModularPreBattleSkill will be installed.
//This modularly affects combat arts. See: SkillSystem\Skills\PreBattleSkills\ModularPreBattleSkills
// #define MODULAR_PRE_BATTLE_SKILLS
// If uncommented, the range skills checker will use SkillTester2 instead of SkillTester.
// This will prevent this function from checking for equipped weapon skills to prevent potential infinite recursion.
// Uncommenting this may hinder edge edge cases of range-based skills working as equipped weapon skills.
// #define RANGE_SKILLS_CHECK_USES_SKILLTESTER2
//If commented, level up skill learn lists will be replaced with ones emulating a vanilla skill spread. This will NOT remove personal skills.
// #define USE_LEGACY_SKILL_DEFAULTS
// Effectiveness skills coincide with a rework of the effectiveness system.
// Weapon effectiveness by default is updated via macros in
// SkillSystem/Skills/EffectivenessSkills/EffectivenessRework.event.
// Forager uses an external list of terrain IDs for what is considered valid for healing.
// This list can be edited, and is located in
// SkillSystem/Skills/HPRestorationSkills/HPRestorationSkills.event.
// Quantum Visage pulls a mug ID from a list of 100 each time its effect is applied.
// The list of valid IDs can be edited, and is located in
// SkillSystem/Skills/MugLoadingSkills/MugLoadingSkills.event.
// Identity Problems swaps between 3 pairs of name IDs and mug IDs.
// Each of these are external values, and can be changed in
// SkillSystem/Skills/MugLoadingSkills/MugLoadingSkills.event.
// Indoor & Outdoor Fighter use external lists of terrain IDs for what is considered indoor and outdoor terrain.
// These lists can be edited, and are located in
// Engine Hacks/SkillSystem/Skills/PreBattleSkills/DoorFighter/DoorFighter.event.
// Black Magic inflicts a random status pulled from an external list of statuses and the likelihood of their application.
// This list can be edited, and is located in
// SkillSystem/Skills/ProcSkills/ProcSkills.event.
// Bargain halves prices in shops, much like a Silver Card.
// It also includes a list of item IDs that are considered as valid Silver Cards, which can be edited in
// SkillSystem/Skills/StandaloneSkills/Bargain/Bargain.event.
// Amische disallows usage of any weapons not contained on a list.
// This list can be edited, and is located in
// SkillSystem/Skills/WeaponUsabilitySkills/WeaponUsabilitySkills.event.
// If true, Hoarders Bane will consume vulneraries from your inventory and the supply (as long as your party can access the supply).
// If false, it will only consume vulneraries from your inventory.
#define HOARDERS_BANE_USE_CONVOY True
// If true, enemies/npcs with Canto+ will retreat to their safest tile with any remaining movement after their action.
#define CANTO_AI True
// ================================
// = GROWTH DISPLAY CONFIGURATION =
// ================================
//If commented, growths will not be displayed by pressing Select.
#define PRESS_SELECT_TO_VIEW_GROWTHS
//If true, the stat colors for player units will reflect their growth in the stat.
#define USE_STAT_COLORS True
//When leveling up, the game rerolls (up to 5 times) until you gain at least this many points
#define MIN_STAT_GAIN 1 // vanilla is 1
// If true, fixed/bracketed levels will consider your lowest level as the level inputted in the character table
#define BRACKETING_USE_BASE_LEVEL False
//If true, Fixed Growths mode will exist.
// Note: this takes promotion level into account, but does not take stat boosters into account
#define FIXED_GROWTHS_MODE False
//ID of flag to use for fixed growths mode, if enabled (also works if flag here is defined as 0)
#define FIXED_GROWTHS_FLAG_ID 0xEF
//If true, Stat bracketing mode will exist. This keeps your stats within X points of the average.
// Note: this takes promotion level into account, but does not take stat boosters into account
#define STAT_BRACKETING_EXISTS False
//ID of flag to use for bracketed growths mode, if enabled (also works if flag here is defined as 0)
#define BRACKETED_GROWTHS_FLAG_ID 0xED // 0xEE is used to hide dmg numbers in battle
//If using stat bracketing and your stat is below average by this many points, always gain it on levelup
#define FORCE_WHEN_BELOW_AVERAGE_BY_AMOUNT 3
//If using stat bracketing and your stat is above average by this many points, never gain it on levelup
#define PREVENT_WHEN_ABOVE_AVERAGE_BY_AMOUNT 5
//If true, passive growth boosters and metis tome will not affect growths in fixed growths mode.
#define FIXED_GROWTHS_DONT_BOOST True
//If true, enemy/NPC autolevels will use fixed growths as well.
#define ENEMY_NPC_FIXED_GROWTHS True
//If true, the effects of multiple passive growth boosters can stack.
//Setting the 0x00800000 bit in the item ability bitfield will enable passive boosts.
#define STACKABLE_GROWTH_BOOSTS True
//Amount for Metis Tome to boost growths by
#define METIS_TOME_BOOST 5
//If true, growths will be calculated as (char growth + class growth).
#define USE_CHAR_AND_CLASS_GROWTHS False
//The growth rate ranges for each stat color and the colors themselves can be edited in
//Necessary/MSS/DisplayGrowthsOptions/GrowthColorsTable.event and NewPalette.event, respectively.
//If you are using Str/Mag Split, these are instead located in
//ExternalHacks/StrMagSplit/ModularStatScreen/DisplayGrowthsOptions.
#endif // HAX_CONFIG