Skip to content

Commit

Permalink
Merge pull request #50 from SWIFTWAVE0/corecode-rewrite
Browse files Browse the repository at this point in the history
Khizriel Interceptor
  • Loading branch information
VoiceInYourHead authored Aug 4, 2024
2 parents 2c7fa4a + e1d76d3 commit c0d09e5
Show file tree
Hide file tree
Showing 10 changed files with 1,251 additions and 2 deletions.
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

0 comments on commit c0d09e5

Please sign in to comment.