-
-
Notifications
You must be signed in to change notification settings - Fork 266
Adds a station boarding mission #2823
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
And also let me make the mission fully work
|
Can we get a whole metastation next? |
| var/list/candidates = list() | ||
| for(var/datum/star_system/S in SSstar_system.neutral_zone_systems) | ||
| // Is this even in a reasonable location? | ||
| if(S.hidden || (S.sector != 2) || S.get_info()?["Black hole"] || S.name == "Rubicon") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That get_info() use looks very fishy (since it returns a list of lists).
|
|
||
| /datum/overmap_objective/board_station/check_completion() | ||
| if(defense_complete) | ||
| target_station.block_deletion = FALSE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't it intended to be able to be destroyed after the initial boarding, not only after completing the mission?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's used in some other places too but I'll look at it more
| reinforcements.move(target_system, TRUE) | ||
| RegisterSignal(target_station, COMSIG_SHIP_KILLED_FLEET, PROC_REF(fleet_destroyed), target_station) //Kill the fleet and you're done | ||
|
|
||
| /datum/overmap_objective/board_station/proc/fleet_destroyed() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SIGNAL_HANDLER
| return COMSIG_SHIP_BLOCKS_RELEASE_BOARDING | ||
| return 0 | ||
|
|
||
| /datum/overmap_objective/board_station/proc/iff_change() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SIGNAL_HANDLER
Also the comsig for this is currently sent before actually changing the faction - maybe use the unimplemented comsig you added?
| UnregisterSignal(target_system, COMSIG_SHIP_RELEASE_BOARDING) //Now that you've captured it you can do whatever | ||
| .=..() | ||
|
|
||
| /datum/overmap_objective/board_station/proc/release_boarding() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SIGNAL_HANDLER
| #define COMSIG_TARGET_LOCKED "target_locked" //! from base of /obj/structure/overmap/proc/select_target: (target) | ||
| #define COMSIG_LOCK_LOST "lock_lost" //! from base of /obj/structure/overmap/proc/dump_lock: (target) | ||
|
|
||
| #define COMSIG_SHIP_IFF_CHANGE "iff_change" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unused signal.
| // How long should this take? | ||
| var/list/fastest_route = find_route(SSstar_system.find_system(SSovermap_mode.mode.starting_system), target_system) | ||
| var/distance = 0 | ||
| for(var/i = 2; i < length(fastest_route); i++) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
off by one since due to < length the last jump isn't accounted for.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copied this from the board ship mission lol, I'll get on it
| F.add_ship(target_station, "supply") | ||
|
|
||
| // How long should this take? | ||
| var/list/fastest_route = find_route(SSstar_system.find_system(SSovermap_mode.mode.starting_system), target_system) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should probably have wormholes_allowed = FALSE since those can sometimes be fairly hard to track down (e.g. sector 1 -> target system).
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
About The Pull Request
Adds a board station mission. The objective is to defeat a fleet and capture the station they're defending. After that, you will have to defend the station from an enemy boarding fleet.
Why It's Good For The Game
More objective variety!
Testing Photographs and Procedure
Screenshots&Videos
Put screenshots and videos here with an empty line between the screenshots and the
<details>tags.Changelog
🆑
add: Added a new mission about boarding and defending a station
/:cl: