Skip to content
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

Khizriel Interceptor #50

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions maps/torch_fd/fd_torch.dm
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,7 @@
#include "../../mods/_fd/_maps/trader_ship/_trader_ship.dme"
#include "../../mods/_fd/_maps/yacht/_yacht.dme"
#include "../../mods/_fd/_maps/gccv_ulyanovsk/_ulyanovsk.dme"
#include "../../mods/_fd/_maps/khizriel/_khizriel.dme"
#include "../../mods/_fd/_maps/dead_sea/_dead_sea.dme"


Expand Down
4 changes: 4 additions & 0 deletions mods/_fd/_maps/khizriel/_khizriel.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/singleton/modpack/khizriel
name = "Khizriel Interceptor"
desc = "Добавляет в игру боевой пиратский перехватчик."
author = "SWIFT0"
25 changes: 25 additions & 0 deletions mods/_fd/_maps/khizriel/_khizriel.dme
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#ifndef MODPACK_KHIZRIEL
#define MODPACK_KHIZRIEL

#include "_khizriel.dm"

#include "code/_khizriel.dm"
#include "code/khizriel_areas.dm"
#include "code/khizriel_jobs.dm"
#include "code/khizriel_shuttles.dm"

#endif
// BEGIN_INTERNALS
// END_INTERNALS
// BEGIN_FILE_DIR
#define FILE_DIR .
// END_FILE_DIR
// BEGIN_PREFERENCES
// END_PREFERENCES
// BEGIN_INCLUDE
#include "_khizriel.dm"
#include "code\_khizriel.dm"
#include "code\khizriel_areas.dm"
#include "code\khizriel_jobs.dm"
#include "code\khizriel_shuttles.dm"
// END_INCLUDE
21 changes: 21 additions & 0 deletions mods/_fd/_maps/khizriel/code/_khizriel.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// Map template data.
/datum/map_template/ruin/away_site/khizriel
name = "IPV Khizriel"
id = "khizriel"
description = "."
prefix = "mods/_fd/_maps/khizriel/maps/"
suffixes = list("khizriel.dmm")
spawn_cost = 2
area_usage_test_exempted_root_areas = /area/ship/khizriel
shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/khizriel)

/obj/overmap/visitable/sector/khizriel
name = "Bluespace Residue"
desc = "/ERROR/."
icon_state = "event"
hide_from_reports = TRUE
sector_flags = OVERMAP_SECTOR_IN_SPACE | OVERMAP_SECTOR_UNTARGETABLE

/obj/submap_landmark/joinable_submap/khizriel
name = "IPV Khizriel"
archetype = /singleton/submap_archetype/khizriel
85 changes: 85 additions & 0 deletions mods/_fd/_maps/khizriel/code/khizriel_areas.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
/area/ship/khizriel
name = "\improper Khizriel"
icon_state = "bridge"
req_access = list(access_syndicate)
area_flags = AREA_FLAG_RAD_SHIELDED | AREA_FLAG_ION_SHIELDED

/area/ship/khizriel/generator
name = "\improper Khizriel - Generator Room"
icon_state = "engineering_workshop"
req_access = list(access_syndicate)

/area/ship/khizriel/kitchen
name = "\improper Khizriel - Kitchen"
icon_state = "kitchen"
req_access = list(access_syndicate)

/area/ship/khizriel/eng
name = "\improper Khizriel - Engineering"
icon_state = "engineering"
req_access = list(access_syndicate)

/area/ship/khizriel/armory
name = "\improper Khizriel - Armory"
icon_state = "brig"
req_access = list(access_syndicate)

/area/ship/khizriel/equip
name = "\improper Khizriel - Equipment Room"
icon_state = "brig"
req_access = list(access_syndicate)

/area/ship/khizriel/ammo_r
name = "\improper Khizriel - Ammunition Laying Right Wing"
icon_state = "hall"
req_access = list(access_syndicate)

/area/ship/khizriel/bar
name = "\improper Khizriel - Bar"
icon_state = "bar"
req_access = list(access_syndicate)

/area/ship/khizriel/ammo_l
name = "\improper Khizriel - Ammunition Laying Left Wing"
icon_state = "hall"
req_access = list(access_syndicate)

/area/ship/khizriel/bridge
name = "\improper Khizriel - Bridge"
icon_state = "bridge"
req_access = list(access_syndicate)

/area/ship/khizriel/warehouse_r
name = "\improper Khizriel - Warehouse Right Wing"
icon_state = "warehouse"
req_access = list(access_syndicate)

/area/ship/khizriel/warehouse_l
name = "\improper Khizriel - Warehouse Left Wing"
icon_state = "warehouse"
req_access = list(access_syndicate)

/area/ship/khizriel/living
name = "\improper Khizriel - Living Quarters"
icon_state = "crew_quarters"
req_access = list(access_syndicate)

/area/ship/khizriel/med
name = "\improper Khizriel - Medbay"
icon_state = "medbay2"
req_access = list(access_syndicate)

/area/ship/khizriel/cryo
name = "\improper Khizriel - Cryo Storage"
icon_state = "cryo"
req_access = list(access_syndicate)

/area/ship/khizriel/gun
name = "\improper Khizriel - Right Wing Gunnery"
icon_state = "ofd"
req_access = list(access_syndicate)

/area/ship/khizriel/harpoon
name = "\improper Khizriel - Left Wing Gunnery"
icon_state = "ofd"
req_access = list(access_syndicate)
102 changes: 102 additions & 0 deletions mods/_fd/_maps/khizriel/code/khizriel_jobs.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
// Submap datum and archetype.
/singleton/submap_archetype/khizriel
descriptor = "IPV Khizriel"
map = "Khizriel"
crew_jobs = list(/datum/job/submap/khizriel/crewman, /datum/job/submap/khizriel/cyborg)

/obj/item/card/id/syndicate_command/khizriel
name = "Khizriel Crewman"
desc = ""
registered_name = "Khizriel"
assignment = "Khizriel Interceptor"
access = list(access_syndicate)
color = COLOR_RED_GRAY
detail_color = COLOR_GRAY40

/obj/item/card/id/synthetic/khizriel

access = list(access_syndicate)

/datum/job/submap/khizriel/crewman
title = "Khizriel Crewman"
total_positions = 12
spawn_positions = 12
supervisors = "orders of your Captain."
info = "You are a lawless crew member of pirate's Vessel - Khizriel. You have no mercy, no remorse or fear. Only greed."
whitelisted_species = list(SPECIES_HUMAN,SPECIES_IPC,SPECIES_SPACER,SPECIES_GRAVWORLDER,SPECIES_VATGROWN,SPECIES_TRITONIAN)
is_semi_antagonist = TRUE
access = list(access_syndicate)
outfit_type = /singleton/hierarchy/outfit/job/khizriel/crewman
loadout_allowed = TRUE
skill_points = 26
min_skill = list(
SKILL_EVA = SKILL_TRAINED,
SKILL_HAULING = SKILL_BASIC,
SKILL_COMBAT = SKILL_BASIC,
SKILL_WEAPONS = SKILL_TRAINED,
SKILL_PILOT = SKILL_BASIC
)

/singleton/hierarchy/outfit/job/khizriel/crewman
name = "Khizriel Crewman"
uniform = /obj/item/clothing/under/color/black
l_pocket = /obj/item/device/flashlight/maglight
shoes = /obj/item/clothing/shoes/black
id_slot = slot_wear_id
id_types = list(/obj/item/card/id/syndicate_command/khizriel)
pda_type = /obj/item/modular_computer/pda

/obj/submap_landmark/spawnpoint/khizriel/crewman
name = "Khizriel Crewman"
movable_flags = MOVABLE_FLAG_EFFECTMOVE

/datum/job/submap/khizriel/cyborg
title = "Khizriel Bot"
total_positions = 1
spawn_positions = 1
supervisors = "Your laws and your crew."
minimal_player_age = 7
account_allowed = 0
economic_power = 0
loadout_allowed = FALSE
outfit_type = /singleton/hierarchy/outfit/job/silicon/cyborg
hud_icon = "hudblank"
skill_points = 0
min_skill = list(
SKILL_BUREAUCRACY = SKILL_EXPERIENCED,
SKILL_FINANCE = SKILL_EXPERIENCED,
SKILL_EVA = SKILL_EXPERIENCED,
SKILL_MECH = SKILL_EXPERIENCED,
SKILL_PILOT = SKILL_EXPERIENCED,
SKILL_HAULING = SKILL_UNSKILLED,
SKILL_COMPUTER = SKILL_MASTER,
SKILL_BOTANY = SKILL_EXPERIENCED,
SKILL_COOKING = SKILL_EXPERIENCED,
SKILL_COMBAT = SKILL_EXPERIENCED,
SKILL_WEAPONS = SKILL_EXPERIENCED,
SKILL_FORENSICS = SKILL_EXPERIENCED,
SKILL_CONSTRUCTION = SKILL_EXPERIENCED,
SKILL_ELECTRICAL = SKILL_EXPERIENCED,
SKILL_ATMOS = SKILL_EXPERIENCED,
SKILL_ENGINES = SKILL_EXPERIENCED,
SKILL_DEVICES = SKILL_EXPERIENCED,
SKILL_SCIENCE = SKILL_EXPERIENCED,
SKILL_MEDICAL = SKILL_EXPERIENCED,
SKILL_ANATOMY = SKILL_EXPERIENCED,
SKILL_CHEMISTRY = SKILL_EXPERIENCED
)

/datum/job/submap/khizriel/cyborg/handle_variant_join(mob/living/carbon/human/H, alt_title)
return H && H.Robotize(SSrobots.get_mob_type_by_title(alt_title || title))

/datum/job/submap/khizriel/cyborg/equip(mob/living/carbon/human/H)
return !!H

/datum/job/submap/khizriel/cyborg/New(datum/submap/_owner, abstract_job = FALSE)
..()
alt_titles = SSrobots.robot_alt_titles.Copy()
alt_titles -= title // So the unit test doesn't flip out if a mob or mmi type is declared for our main title.

/obj/submap_landmark/spawnpoint/khizriel/cyborg
name = "Khizriel Bot"
movable_flags = MOVABLE_FLAG_EFFECTMOVE
37 changes: 37 additions & 0 deletions mods/_fd/_maps/khizriel/code/khizriel_shuttles.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/obj/overmap/visitable/ship/landable/khizriel
name = "IPV Khizriel"
shuttle = "Khizriel"
desc = "Sensor array is detecting a small-size vessel, broadcasting unknown registration codes \"12JJJ-0x000x-Z-███\"."
max_speed = 1/(2 SECONDS)
burn_delay = 1 SECONDS
vessel_mass = 13400
skill_needed = SKILL_TRAINED
vessel_size = SHIP_SIZE_LARGE
fore_dir = WEST
dir = WEST
hide_from_reports = TRUE
initial_restricted_waypoints = list(
"Bluespace Residue" = list("nav_khizriel")
)

/obj/machinery/computer/shuttle_control/explore/khizriel
name = "vessel control console"
shuttle_tag = "Khizriel"

/obj/shuttle_landmark/khizriel
name = "Khizriel Landing Zone"
landmark_tag = "nav_khizriel"
docking_controller = "khizriel_dock"
movable_flags = MOVABLE_FLAG_EFFECTMOVE

/datum/shuttle/autodock/overmap/khizriel
name = "Khizriel"
warmup_time = 10
move_time = 20
range = 1
shuttle_area = list(/area/ship/khizriel/generator, /area/ship/khizriel/kitchen, /area/ship/khizriel/eng, /area/ship/khizriel/armory, /area/ship/khizriel/equip, /area/ship/khizriel/ammo_r, /area/ship/khizriel/bar, /area/ship/khizriel/ammo_l, /area/ship/khizriel/bridge, /area/ship/khizriel/warehouse_r, /area/ship/khizriel/warehouse_l, /area/ship/khizriel/living, /area/ship/khizriel/med, /area/ship/khizriel/cryo, /area/ship/khizriel/gun, /area/ship/khizriel/harpoon)
defer_initialisation = TRUE
flags = SHUTTLE_FLAGS_PROCESS
skill_needed = SKILL_BASIC
ceiling_type = /turf/simulated/floor/shuttle_ceiling
current_location = "nav_khizriel"
Loading
Loading