[HARD-CODED] FTL: Hyperspace

Distribute and discuss mods that are functional. Moderator - Grognak
User avatar
Gencool
Posts: 409
Joined: Sun Jun 16, 2013 1:21 pm

Re: [HARD-CODED] FTL: Hyperspace

Postby Gencool » Thu Mar 03, 2022 10:01 am

Hey Swift!

This mod looks fantastic, I started dipping into the code a little and I might try to re-build some old mods using it.


A few requests (updated)

Code: Select all

GENERAL
* Ability to chose random values from lists wherever possible (e.g. list/range of values for damage, list of races to transform to, list of activatable abilities)
* Check number of owned crew (whitelist) for Reqs

CREW
* Set Stats (e.g. lose stats on Ability usage, or spawn with level 2 in a chosen/random stat)
* Doesn't take space (allow this crew to stack on top of crew that do take space, potentially doubling room capacity)
* Preferred Room (have this crewmember prefer to stand in a system room where possible when AI driven)

SYSTEMBOOST
* statboost but targeting systems; possibly treat the room as if a crewmate is in the specified system(s) at all times if that helps
* mod Ion speed and system levels if possible
Last edited by Gencool on Sun Mar 13, 2022 11:18 pm, edited 2 times in total.
ImageImageImage
- Gencool (aka Puppetsquid) -- I make weird stuff
TheSwiftTiger
Posts: 68
Joined: Sun May 12, 2013 9:21 am

Re: [HARD-CODED] FTL: Hyperspace

Postby TheSwiftTiger » Sun Mar 06, 2022 8:52 pm

Update 0.9.2

This update DOES NOT make the mod work on the latest version of FTL. You will have to downgrade to version 1.6.9 - the instructions for that are in the main post.

Code: Select all

Added multi-type flaks by using blueprint attribute for BURST projectile tags.
Fixed fake projectiles inflicting afflictions etc.
Completed/overtaken quests are now erased on save. Should reduce issues with quests reappearing on load. (possible regression if quest events are unique since they could then be used again; this will probably be tweaked in the next release or in a hotfix)
Adjusted ASB spawning to fix bug where ASB shots could be culled immediately on creation.
Fixed max shield display for shield overcharger when you have a custom energy shield with a max less than 5.
Fixed abnormal-sized rooms with certain door placements crashing the Linux version. This bug also affects the Windows version but would only crash for unusually big rooms.
Fixed recursive hyperspace event handling for multi-level recursion combined with hyperspace tags in the events themselves.
Added custom background objects.
HS now throws an exception if you have an invalid stat boost, instead of killing your entire crew.
Crew can now transform while teleporting and while dying.
Some adjustments to exception handling error messages.
transformRace stat boost
Custom event buttons


Download link is on the main post
TheSwiftTiger
Posts: 68
Joined: Sun May 12, 2013 9:21 am

Re: [HARD-CODED] FTL: Hyperspace

Postby TheSwiftTiger » Sun Apr 17, 2022 8:57 am

Update 1.0.1

This update DOES NOT make the mod work on the latest version of FTL. You will have to downgrade to version 1.6.9 - the instructions for that are in the main post.



Code: Select all

Linux Support:
-We now have native compatibility with Linux, for both the 32-bit and 64-bit versions of FTL. This distributed release only contains 64-bit Linux builds as the 32-bit version is not recommended.
-64-bit version is recommended for Multiverse due to memory requirements.
-Use the appropriate library for your OS (.dll is Windows, .so is Linux) and 32/64 bits.
-For Linux you do *not* have to downgrade FTL; there are libraries for both 1.6.12 and 1.6.13 so use the library matching your FTL version.
-There may still be some odd bugs present, please report anything unusual behaviour on the Linux version.

Feature Additions:
-Added many additional boolean conditions for both stat boosts and ability usage that check the status of the crewmember. For example, whether the crewmember is fighting, repairing, moving, stunned, burning, etc.
-Stat boosts can require being above/below a certain amount of health (flat or fractional).
-Stat boosts can require a minimum or maximum oxygen level in the room.
-Added ORIGINAL_ALLIES and ORIGINAL_ENEMIES to stat boost crewTarget. These check the original allegiance of both source and target crewmembers, ignoring mind control.
-Added CREW_TARGET and TARGETS_ME to stat boost shipTarget (note, shipTarget NOT crewTarget). Essentially like CURRENT_ROOM but only the crewmember being attacked by the source crew for CREW_TARGET, and only crewmembers attacking the source crew for TARGETS_ME.
-Stat boosts can now use the MIN and MAX boostType, which work like SET, but can only decrease or increase a stat, respectively.
-You can now use <blueprintList load="..."/> to unpack blueprint lists into a whitelist or a blacklist. Unlike the previous syntax, this lets you unpack more than one list.
-You can give a stat boost the "save" attribute to save it to a given label, then reuse that stat boost later on with <statBoost load="..."/>. Note that the parser must parse the "save" boost before the "load" boost or you'll get an error.
-animBase can now also be "repair" for repair drone animation (this was added in the 0.9.2 hotfixes).
-Events: <choiceRequiresCrew/> to make a choice greyed out if the crew loss/transform event cannot find a valid target of the specified race.
-Added noAI stat, if true then the AI won't be able to move this crewmember if they're not controllable.
-Added validTarget stat, default is true; if false then the crewmember may not be targeted by enemy crew.
-shootTimer (for human animBase) and punchTimer may now be customized. Currently they depend only on race and cannot be modified by stat boosts or abilities.
-Added canPunch stat; if false then crew will shoot in melee instead of punch. Currently can only be set by race and not by ability or stat boost.
-Added essential stat; this acts as a priority. Lower values will preferentiably be picked by crew loss or transformation events, preserving your essential crew.
-Added doorDamageMultiplier stat. Note that door damage is independent from normal damage (as long as normal damage is greater than 0). Non-integer door damage will roll randomly to round up or down.
-Events can use <ignoreEssential/> to ignore the essential stat, either entirely or outside a certain range.
-Added ability to trigger an event upon ability activation or crew death.
-Added ability for an equipment requirement (normal or custom) to trigger a triggered event.
-Added ability for a triggered event box to display the current value of an equipment requirement which is part of a triggered event.
-priorityEvent can now be assigned an equipment requirement; the event will only be added to the generator if the requirement is met. Note that this will also shuffle/change all other events of lower priority when playing on a seeded run.
-Added sector quests; these spawn quests automatically upon entering the sector, and similar to priorityEvent can be given a requirement. These should behave more nicely with seeds than priorityEvent req's.
-Added tile-based crew movement. This is currently disabled by default and needs to be enabled in hyperspace.xml. When enabled, one of your selected crew (first selected has priority) will try to move to the specific tile you right-clicked. Other controllable crew will move out of the way if they can remain in the room.
-Added ability to disable right-click from manipulating doors (in hyperspace.xml).
-Event buttons can now be assigned a custom location anywhere in the game window.
-You can now add your custom achievements to the stats screen.

Changes:
-jumpEvent and deathEvent are now queues. The jumpEvent and deathEvent tags will now queue a new event and *not* replace an existing event. This way addons and interacting features play better together.
-Both jumpEvent and deathEvent now have an optional "name" attribute to give it a label, and it defaults to be the same as the event name.
-Use clearJumpEvent and clearDeathEvent with the "name" attribute to clear all of a given label, or with no attribute to clear everything. The latter is not recommended as it can interfere with other mods.
-Crew removal doesn't target noSlot crew unless all crew of the race is noSlot. You may use <allowNoSlot/> in an event to allow noSlot crew to be picked randomly and <blockNoSlot/> crew to prevent noSlot crew from being picked entirely
-Hyperspace version information is now displayed in the upper right corner, both on the loading screen and when the moreInfo button is toggled on.
-Enemy crew you are mind controlling on your own ship, when being controlled by the crew AI, will no longer try to heal in your own medbay, to be consistent with vanilla FTL. Your own crew, when being controlled by the crew AI, will still try to heal in the medbay if their health is low. Behaviour on the enemy ship is unchanged.
-preventFleet now also acts like preventBossFleet, so the s8 fleet will not waste time trying to take beacons with preventFleet.
-The exitBeacon, rebelBeacon, and removeFirstBeaconNebula tags now must be in STANDARD_SPACE rather than CIVILIAN_SECTOR for sector 1.
-Event button tooltips are now prioritized over ship status tooltips.

Bug Fixes/Technical Changes:
-Code is now optimized; expect a substantial improvement in FPS.
-Crew are now assigned a selfId much like projectiles and drones.
-Added persistence for assigning selfId to prevent collisions.
-Projectiles now save and load their custom state properly.
-Fixed a rare crash when switching medical systems.
-Temporal manipulator strength/duration now properly updated if power is added/removed while active (e.g. by ion damage or moving zoltans).
-Weapons (particularly beams) now work properly when you swap them out of your cargo in the middle of a fight.
-rangedDamageMultiplier now works in ability temporary effects.
-priorityEvent now works differently; priorities should be adhered to regardless of which file the tag is placed in (either hyperspace.xml or sector_data.xml).
-Fixed slug req.
-Delayed quest seeds are now saved differently, to make the code easier to work with.
-Fixed healCrewAmount ignoring healSpeed.
-Fixed custom lockImage not being centered for custom achievements.
-Fixed locked custom achievements displaying their name as the description if they did not have a secret description.

Hyperspace.ftl fixes:
-Fixed error in vanilla reward template (for LOW fuel reward).


Download link is on the main post
Mr. Doom
Posts: 14
Joined: Thu Apr 21, 2022 5:24 am

Re: [HARD-CODED] FTL: Hyperspace

Postby Mr. Doom » Thu Apr 21, 2022 5:25 am

Update 1.0.2

This update DOES NOT make the mod work on the latest version of FTL. You will have to downgrade to version 1.6.9 - the instructions for that are in the main post.



Code: Select all

Bug Fixes/Technical Changes:
- Fix door gap rendering (Linux 64-bit)
- Fix double counting normal augments
- Fix above/below for stat boosts
- Fix stat boost affectsSelf when modder left it uninitialized


Download link is on the main post
Mr. Doom
Posts: 14
Joined: Thu Apr 21, 2022 5:24 am

Re: [HARD-CODED] FTL: Hyperspace

Postby Mr. Doom » Fri Apr 29, 2022 9:04 pm

Update 1.0.3
This update DOES NOT make the mod work on the latest version of FTL. You will have to downgrade to version 1.6.9 - the instructions for that are in the main post.

Code: Select all

- Fixes loading from a save in custom secret sectors rather than loading the vanilla secret sector (Linux).
- Fixed a bug where reloading the game twice while the flagship is moving away from the base changes its location.
- Crew source IDs are now saved to stat boosts and can be properly loaded.
- Stat boosts referring to deleted crew will now have their references to the deleted crew removed. (this is mostly for future updates)
- Fixed advanced equipment check not activating when using loadEventList with generate="true".


Download link is on the main post
The_Art_Of_Warp
Posts: 2
Joined: Tue Jun 28, 2022 1:55 am

Re: [HARD-CODED] FTL: Hyperspace

Postby The_Art_Of_Warp » Tue Jun 28, 2022 2:07 am

Hey there Hyperspace Team!

I have a couple of questions about modding and your own mod. The first and foremost is whether or not a person can create multiple purchasable artilleries all assigned to the same room and you can swap them out in a similar fashion to the clone bay and medbay. This would allow me to create adaptable and universal artilleries that if you grow tired of you can swap it out at a store for another one of equal level. An example of this may be a chain mini beam arty that gets faster the more you use it (5-6 chains) on top of the bonus from a powered system but you are like that cluster bomb artillery is far more synergistic to my current set up. I liked what CE tried to do but they were just too ship-specific that it was almost not worth buying. With this, the weapons are still a little generic looking (maybe slightly modeled differently to fit differing ships) and functional. So is such a thing possible?

A second question would be how you add extra bonus sectors and/or secret ones since I am just getting started and am trying to figure this out!
Thank you for everything!

edit: is it possible for you to make a version of the mod with the artillery charge-up bar with a button to activate it when ready or is that not possible or not on the to-do list? Possibly used with the F key (for fire) if that is not currently used for anything?
Mr. Doom
Posts: 14
Joined: Thu Apr 21, 2022 5:24 am

Re: [HARD-CODED] FTL: Hyperspace

Postby Mr. Doom » Thu Jul 07, 2022 3:30 pm

The_Art_Of_Warp wrote:Hey there Hyperspace Team!

I have a couple of questions about modding and your own mod. The first and foremost is whether or not a person can create multiple purchasable artilleries all assigned to the same room and you can swap them out in a similar fashion to the clone bay and medbay. This would allow me to create adaptable and universal artilleries that if you grow tired of you can swap it out at a store for another one of equal level. An example of this may be a chain mini beam arty that gets faster the more you use it (5-6 chains) on top of the bonus from a powered system but you are like that cluster bomb artillery is far more synergistic to my current set up. I liked what CE tried to do but they were just too ship-specific that it was almost not worth buying. With this, the weapons are still a little generic looking (maybe slightly modeled differently to fit differing ships) and functional. So is such a thing possible?

A second question would be how you add extra bonus sectors and/or secret ones since I am just getting started and am trying to figure this out!
Thank you for everything!

edit: is it possible for you to make a version of the mod with the artillery charge-up bar with a button to activate it when ready or is that not possible or not on the to-do list? Possibly used with the F key (for fire) if that is not currently used for anything?


We don't check these forums very often, your best bet for questions like this is to join the Muliverse discord https://discord.gg/ftlmultiverse and ask under the #hyperspace-development channel.
The_Art_Of_Warp
Posts: 2
Joined: Tue Jun 28, 2022 1:55 am

Re: [HARD-CODED] FTL: Hyperspace

Postby The_Art_Of_Warp » Thu Jul 07, 2022 4:06 pm

Mr. Doom wrote:
The_Art_Of_Warp wrote:Hey there Hyperspace Team!

I have a couple of questions about modding and your own mod. The first and foremost is whether or not a person can create multiple purchasable artilleries all assigned to the same room and you can swap them out in a similar fashion to the clone bay and medbay. This would allow me to create adaptable and universal artilleries that if you grow tired of you can swap it out at a store for another one of equal level. An example of this may be a chain mini beam arty that gets faster the more you use it (5-6 chains) on top of the bonus from a powered system but you are like that cluster bomb artillery is far more synergistic to my current set up. I liked what CE tried to do but they were just too ship-specific that it was almost not worth buying. With this, the weapons are still a little generic looking (maybe slightly modeled differently to fit differing ships) and functional. So is such a thing possible?

A second question would be how you add extra bonus sectors and/or secret ones since I am just getting started and am trying to figure this out!
Thank you for everything!

edit: is it possible for you to make a version of the mod with the artillery charge-up bar with a button to activate it when ready or is that not possible or not on the to-do list? Possibly used with the F key (for fire) if that is not currently used for anything?


We don't check these forums very often, your best bet for questions like this is to join the Muliverse discord https://discord.gg/ftlmultiverse and ask under the #hyperspace-development channel.


Good to know I will figure out discord and try again there!
Mr. Doom
Posts: 14
Joined: Thu Apr 21, 2022 5:24 am

Re: [HARD-CODED] FTL: Hyperspace

Postby Mr. Doom » Tue Aug 16, 2022 4:34 am

Update 1.2.1
This update DOES NOT make the mod work on the latest version of FTL. You will have to downgrade to version 1.6.9 - the instructions for that are in the main post.

See changelog on GitHub

Download link is on the main post
Mr. Doom
Posts: 14
Joined: Thu Apr 21, 2022 5:24 am

Re: [HARD-CODED] FTL: Hyperspace

Postby Mr. Doom » Tue Aug 16, 2022 3:01 pm

Update 1.2.2
This update DOES NOT make the mod work on the latest version of FTL. You will have to downgrade to version 1.6.9 - the instructions for that are in the main post.

See changelog on GitHub

Download link is on the main post