-
Posts
234 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Everything posted by Grape_You_In_The_Mouth
-
1. Install visual studio code 2. Configure the settings to recognize .gamedatabundle files as json format as shown on the tutorial 3. Copy an existing mod - atlas folder is for icons, design folder is for code, localized folder is for names and descriptions for your code 4. Make the ability in Visual Studio. The game data sequence is Ability or Item --> Attacks --> StatusEffects. Those link from one to the other 5. Before you start, you'll want to open up a browser with one tab for the random guid generator website, one tab for the Obsidian enumeration documentation (Concepts documentation), and one tab on the Fextralife abilities list. GUIDs are the unique identifiers for a code section, used for linking together and referencing them. 6. Create a text file for the text strings you're going to make to name and describe the ability, item, statuseffect. All of these will have names so you'll need to keep a running list of the text string number you give it. Make it a big number so other people don't choose the same one, then each new number is 1+ the previous number 7. It's extremely helpful to have a textfile of helpful guids, such as keywords, animation times, class IDs, tick rates, etc. 8. Copy the exported folder in your game file and look at the copies for reference. Look at similar abilities and statuses and use those as a base for your new ability. 9. Create a ring that gives you the ability so you can just use the console command giveitem ring_name and then put the ring on you, and test it faster that way to see if it works. Visual effects are a pain. If the game won't load because of spinning gears on the main menu, you screwed up your localization text strings. 10. Icons are created using the Sprite Sheet Packer in the tutorial. Just make one big sprite sheet and don't worry about other folders with the same name as your sprite sheet. It's all loaded. The icon location is ...../abilities/icon_name.png 11. Use the Append method in the tutorial to add the ability to the ability tree. Subclasses use special Conditional code that you have to copy and use. All of the base code is in the pt_progressiontables file 12. Your first ability might take 40 hours. If you keep doing it and make nice text files to help you reference easier, you can make an ability as fast as 30 minutes without testing it.
-
I couldn't figure out how to copy a spell effect from the vfx bundle and create a new record, or even alter an existing one. Has anyone discovered anything? It would be killer to be able to change vfx so they can scale, loop, or create copies with a different color.
- 20 replies
-
Pro-Tip: +OnMovementEnd sometimes "doesn't work" because it triggers automatically an extra time, immediately when you don't want it to! - So if you have it cancel on the 2nd time, via MaxTriggerCount: 2, RemoveEffectAtMax: True, then it works as intended - I can't tell when exactly it triggers, but apparently at the end of casting, and at rest. Maybe the beginning of the current action.
-
the characters.gamedatabundle links to the PT_Serafen table 4d20749f-17b8-4ddf-9517-e5396172c99a But he has more tables in the progressiontables.gamedatabundle, so you'd have to see how each of these might interact. Does all of his PT_Serafen abilities exist with other abilities if you choose a multiclass? I don't know. Are his tables special or do they only have the same abilities as everyone else? PT_Serafen certainly has different abilities but I'm not sure about the rest of them. It looks like you'd just have to replace the PT_Serafen_Barbarian table but that's from my cursory view. It would be an easy copy+paste job, I think. Usually all of the PT tables are independent of each other, so there is a new one for each variant. Alternatively you could use the append method to add the subclass abilities to his tables but that would be more difficult because subclasses have different versions of abilities already on those tables.
-
There are a few simple reasons these issues may be happening, but you probably didn't code them wrong so I don't know if they would be applicable. If you chose to hide it from the gui or if it's an effect from multiple layers of linked effects, then it won't show up. If the effect isn't applied directly from a hit, but from linked effects connected to it, then it might not show in the combat log.
- 1 reply
-
- 1
-
-
If you edit it to say loop: true like other effects then you'll see what happens. Either it works, it works abnormally, or it doesn't work at all. You'd have to change the asset data (and possibly graphics) via the UABE to make it enable looping, but I have no idea how to do that other than the flashes of brilliance provided to this forum by Flavh69X (I can't recall if that's his correct username).
-
I've made tutorials on how to change abilities, but the bad news is that there is no status for invisible. You'd have to add a custom keyword named "Invisible" or something and add it to each status effect that creates the invisibility effect (which usually is a material replacement effect). Then you'd make a passive ability that is activated while the character has that status effect, or has that keyword, and deactivated when the reverse is true. That would be done via a "conditional" which is done similarly in many other abilities.
-
Pro-Tip: When things ain't stacking on stacks of stacking things, try the rare setting of "StackedChildrenApplyEffects": "true" . I'm not sure if it's really the reason for success, but In my Fireform attack, a stacking ApplyOnTick ApplyStatusEffectOnEvent applying a stacking DamageMult wasn't stacking the DoT applications, it was only applying at the interval rate, until StackedChildrenApplyEffects "true". It also appears you can just have multiple ApplyStatusEffectOnEvent with the event OnInterval.