From 902933d6c413ecb4773a8a76fde9d39d198be82c Mon Sep 17 00:00:00 2001 From: Doctor-Derp <40336142+Doctor-Derp@users.noreply.github.com> Date: Sun, 2 Jan 2022 08:09:41 -0800 Subject: [PATCH] Intrepid Intrepid --- .github/workflows/test.yml | 2 +- baystation12.dme | 9 +- code/datums/ai_law_sets.dm | 22 +- code/game/objects/items/passport.dm | 8 +- .../modules/clothing/gloves}/terran-hands.dm | 0 code/modules/clothing/head/misc_special.dm | 6 +- .../modules/clothing/head}/terran-head.dm | 0 code/modules/clothing/masks/gasmask.dm | 23 + .../modules/clothing/shoes}/terran-feet.dm | 0 .../modules/clothing/suits}/terran-suit.dm | 2 +- .../under/accessories}/terran-accessory.dm | 0 .../modules/clothing/under}/terran-under.dm | 0 code/modules/events/blob.dm | 7 +- code/modules/projectiles/projectile.dm | 8 +- html/changelog.html | 37 + icons/mob/onmob/onmob_mask.dmi | Bin 32167 -> 33269 bytes icons/obj/clothing/obj_mask.dmi | Bin 26007 -> 26580 bytes icons/turf/areas.dmi | Bin 31451 -> 34260 bytes maps/intrepid/backup/intrepid1.dmm | 60258 ++++++++++++++ maps/intrepid/datums/uniforms.dm | 95 + maps/intrepid/datums/uniforms_exploration.dm | 447 + maps/intrepid/datums/uniforms_fleet.dm | 601 + maps/intrepid/icons/assignment_hud.dmi | Bin 0 -> 2638 bytes maps/intrepid/icons/security_state.dmi | Bin 0 -> 2431 bytes maps/intrepid/intrepid.dm | 113 + maps/intrepid/intrepid1.dmm | 66696 ++++++++++++++++ maps/intrepid/intrepid2.dmm | 46714 +++++++++++ maps/intrepid/intrepid_announcements.dm | 40 + maps/intrepid/intrepid_antagonism.dm | 62 + maps/intrepid/intrepid_areas.dm | 595 + maps/intrepid/intrepid_define.dm | 129 + maps/intrepid/intrepid_elevator.dm | 68 + maps/intrepid/intrepid_events.dm | 70 + maps/intrepid/intrepid_overmap.dm | 46 + maps/intrepid/intrepid_presets.dm | 159 + maps/intrepid/intrepid_radio.dm | 43 + maps/intrepid/intrepid_ranks.dm | 857 + maps/intrepid/intrepid_setup.dm | 66 + maps/intrepid/intrepid_shuttles.dm | 106 + maps/intrepid/intrepid_unit_testing.dm | 9 + maps/intrepid/items/cards_ids.dm | 208 + .../items/clothing/terragov-accessory.dm | 713 + .../intrepid/items/clothing/terragov-armor.dm | 43 + maps/intrepid/items/clothing/terragov-head.dm | 363 + maps/intrepid/items/clothing/terragov-suit.dm | 430 + .../intrepid/items/clothing/terragov-under.dm | 319 + maps/intrepid/items/encryption_keys.dm | 72 + maps/intrepid/items/headsets.dm | 134 + maps/intrepid/items/items.dm | 58 + maps/intrepid/jobs/command_jobs.dm | 426 + maps/intrepid/jobs/engineering_jobs.dm | 220 + maps/intrepid/jobs/exploration_jobs.dm | 83 + maps/intrepid/jobs/intrepid_access.dm | 233 + maps/intrepid/jobs/intrepid_jobs.dm | 55 + maps/intrepid/jobs/medical_jobs.dm | 221 + maps/intrepid/jobs/misc_jobs.dm | 53 + maps/intrepid/jobs/outfits/command_outfits.dm | 125 + .../jobs/outfits/engineering_outfits.dm | 58 + .../jobs/outfits/exploration_outfits.dm | 21 + .../intrepid/jobs/outfits/intrepid_outfits.dm | 8 + maps/intrepid/jobs/outfits/medical_outfits.dm | 87 + maps/intrepid/jobs/outfits/misc_outfits.dm | 49 + .../intrepid/jobs/outfits/research_outfits.dm | 62 + .../intrepid/jobs/outfits/security_outfits.dm | 50 + maps/intrepid/jobs/outfits/service_outfits.dm | 60 + maps/intrepid/jobs/outfits/supply_outfits.dm | 53 + maps/intrepid/jobs/research_jobs.dm | 129 + maps/intrepid/jobs/security_jobs.dm | 136 + maps/intrepid/jobs/service_jobs.dm | 99 + maps/intrepid/jobs/supply_jobs.dm | 127 + maps/intrepid/loadout/misc.dm | 7 + maps/intrepid/lobby.png | Bin 0 -> 610055 bytes maps/intrepid/machinery/drone_fab.dm | 6 + maps/intrepid/machinery/faxmachine.dm | 5 + maps/intrepid/machinery/keycard_auth.dm | 83 + maps/intrepid/machinery/suit_cyclers.dm | 44 + maps/intrepid/machinery/telecomms.dm | 26 + maps/intrepid/machinery/uniform_vendor.dm | 226 + .../structures/closets/closet_appearances.dm | 5 + maps/intrepid/structures/closets/command.dm | 162 + .../structures/closets/engineering.dm | 144 + .../structures/closets/exploration.dm | 109 + maps/intrepid/structures/closets/medical.dm | 130 + maps/intrepid/structures/closets/misc.dm | 69 + maps/intrepid/structures/closets/research.dm | 177 + maps/intrepid/structures/closets/security.dm | 161 + maps/intrepid/structures/closets/services.dm | 81 + maps/intrepid/structures/closets/supply.dm | 106 + maps/intrepid/structures/signs.dm | 4 + maps/intrepid/z1_admin.dmm | 52651 ++++++++++++ maps/intrepid/z2_transit.dmm | 235 + maps/torch/torch.dm | 6 - maps/torch/torch_setup.dm | 1 + 93 files changed, 236406 insertions(+), 25 deletions(-) rename {maps/torch/items/clothing => code/modules/clothing/gloves}/terran-hands.dm (100%) rename {maps/torch/items/clothing => code/modules/clothing/head}/terran-head.dm (100%) rename {maps/torch/items/clothing => code/modules/clothing/shoes}/terran-feet.dm (100%) rename {maps/torch/items/clothing => code/modules/clothing/suits}/terran-suit.dm (98%) rename {maps/torch/items/clothing => code/modules/clothing/under/accessories}/terran-accessory.dm (100%) rename {maps/torch/items/clothing => code/modules/clothing/under}/terran-under.dm (100%) create mode 100644 maps/intrepid/backup/intrepid1.dmm create mode 100644 maps/intrepid/datums/uniforms.dm create mode 100644 maps/intrepid/datums/uniforms_exploration.dm create mode 100644 maps/intrepid/datums/uniforms_fleet.dm create mode 100644 maps/intrepid/icons/assignment_hud.dmi create mode 100644 maps/intrepid/icons/security_state.dmi create mode 100644 maps/intrepid/intrepid.dm create mode 100644 maps/intrepid/intrepid1.dmm create mode 100644 maps/intrepid/intrepid2.dmm create mode 100644 maps/intrepid/intrepid_announcements.dm create mode 100644 maps/intrepid/intrepid_antagonism.dm create mode 100644 maps/intrepid/intrepid_areas.dm create mode 100644 maps/intrepid/intrepid_define.dm create mode 100644 maps/intrepid/intrepid_elevator.dm create mode 100644 maps/intrepid/intrepid_events.dm create mode 100644 maps/intrepid/intrepid_overmap.dm create mode 100644 maps/intrepid/intrepid_presets.dm create mode 100644 maps/intrepid/intrepid_radio.dm create mode 100644 maps/intrepid/intrepid_ranks.dm create mode 100644 maps/intrepid/intrepid_setup.dm create mode 100644 maps/intrepid/intrepid_shuttles.dm create mode 100644 maps/intrepid/intrepid_unit_testing.dm create mode 100644 maps/intrepid/items/cards_ids.dm create mode 100644 maps/intrepid/items/clothing/terragov-accessory.dm create mode 100644 maps/intrepid/items/clothing/terragov-armor.dm create mode 100644 maps/intrepid/items/clothing/terragov-head.dm create mode 100644 maps/intrepid/items/clothing/terragov-suit.dm create mode 100644 maps/intrepid/items/clothing/terragov-under.dm create mode 100644 maps/intrepid/items/encryption_keys.dm create mode 100644 maps/intrepid/items/headsets.dm create mode 100644 maps/intrepid/items/items.dm create mode 100644 maps/intrepid/jobs/command_jobs.dm create mode 100644 maps/intrepid/jobs/engineering_jobs.dm create mode 100644 maps/intrepid/jobs/exploration_jobs.dm create mode 100644 maps/intrepid/jobs/intrepid_access.dm create mode 100644 maps/intrepid/jobs/intrepid_jobs.dm create mode 100644 maps/intrepid/jobs/medical_jobs.dm create mode 100644 maps/intrepid/jobs/misc_jobs.dm create mode 100644 maps/intrepid/jobs/outfits/command_outfits.dm create mode 100644 maps/intrepid/jobs/outfits/engineering_outfits.dm create mode 100644 maps/intrepid/jobs/outfits/exploration_outfits.dm create mode 100644 maps/intrepid/jobs/outfits/intrepid_outfits.dm create mode 100644 maps/intrepid/jobs/outfits/medical_outfits.dm create mode 100644 maps/intrepid/jobs/outfits/misc_outfits.dm create mode 100644 maps/intrepid/jobs/outfits/research_outfits.dm create mode 100644 maps/intrepid/jobs/outfits/security_outfits.dm create mode 100644 maps/intrepid/jobs/outfits/service_outfits.dm create mode 100644 maps/intrepid/jobs/outfits/supply_outfits.dm create mode 100644 maps/intrepid/jobs/research_jobs.dm create mode 100644 maps/intrepid/jobs/security_jobs.dm create mode 100644 maps/intrepid/jobs/service_jobs.dm create mode 100644 maps/intrepid/jobs/supply_jobs.dm create mode 100644 maps/intrepid/loadout/misc.dm create mode 100644 maps/intrepid/lobby.png create mode 100644 maps/intrepid/machinery/drone_fab.dm create mode 100644 maps/intrepid/machinery/faxmachine.dm create mode 100644 maps/intrepid/machinery/keycard_auth.dm create mode 100644 maps/intrepid/machinery/suit_cyclers.dm create mode 100644 maps/intrepid/machinery/telecomms.dm create mode 100644 maps/intrepid/machinery/uniform_vendor.dm create mode 100644 maps/intrepid/structures/closets/closet_appearances.dm create mode 100644 maps/intrepid/structures/closets/command.dm create mode 100644 maps/intrepid/structures/closets/engineering.dm create mode 100644 maps/intrepid/structures/closets/exploration.dm create mode 100644 maps/intrepid/structures/closets/medical.dm create mode 100644 maps/intrepid/structures/closets/misc.dm create mode 100644 maps/intrepid/structures/closets/research.dm create mode 100644 maps/intrepid/structures/closets/security.dm create mode 100644 maps/intrepid/structures/closets/services.dm create mode 100644 maps/intrepid/structures/closets/supply.dm create mode 100644 maps/intrepid/structures/signs.dm create mode 100644 maps/intrepid/z1_admin.dmm create mode 100644 maps/intrepid/z2_transit.dmm diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b02254677d5..99a3ce6cfe7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -72,7 +72,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - map_path: [example, torch, away_sites_testing] + map_path: [example, torch, intrepid, away_sites_testing] steps: - uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f - name: Setup Cache diff --git a/baystation12.dme b/baystation12.dme index 619a428462e..ba4eeb8f65a 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1548,6 +1548,7 @@ #include "code\modules\clothing\gloves\boxing.dm" #include "code\modules\clothing\gloves\color.dm" #include "code\modules\clothing\gloves\miscellaneous.dm" +#include "code\modules\clothing\gloves\terran-hands.dm" #include "code\modules\clothing\head\collectable.dm" #include "code\modules\clothing\head\hardhat.dm" #include "code\modules\clothing\head\helmet.dm" @@ -1555,6 +1556,7 @@ #include "code\modules\clothing\head\misc.dm" #include "code\modules\clothing\head\misc_special.dm" #include "code\modules\clothing\head\soft_caps.dm" +#include "code\modules\clothing\head\terran-head.dm" #include "code\modules\clothing\masks\boxing.dm" #include "code\modules\clothing\masks\breath.dm" #include "code\modules\clothing\masks\chewable.dm" @@ -1570,6 +1572,7 @@ #include "code\modules\clothing\shoes\jobs.dm" #include "code\modules\clothing\shoes\magboots.dm" #include "code\modules\clothing\shoes\miscellaneous.dm" +#include "code\modules\clothing\shoes\terran-feet.dm" #include "code\modules\clothing\spacesuits\alien.dm" #include "code\modules\clothing\spacesuits\breaches.dm" #include "code\modules\clothing\spacesuits\captain.dm" @@ -1606,6 +1609,7 @@ #include "code\modules\clothing\suits\labcoat.dm" #include "code\modules\clothing\suits\miscellaneous.dm" #include "code\modules\clothing\suits\storage.dm" +#include "code\modules\clothing\suits\terran-suit.dm" #include "code\modules\clothing\suits\toggles.dm" #include "code\modules\clothing\suits\utility.dm" #include "code\modules\clothing\suits\wiz_robe.dm" @@ -1617,6 +1621,7 @@ #include "code\modules\clothing\under\shorts.dm" #include "code\modules\clothing\under\skirts.dm" #include "code\modules\clothing\under\syndicate.dm" +#include "code\modules\clothing\under\terran-under.dm" #include "code\modules\clothing\under\accessories\accessory.dm" #include "code\modules\clothing\under\accessories\armband.dm" #include "code\modules\clothing\under\accessories\armor.dm" @@ -1631,6 +1636,7 @@ #include "code\modules\clothing\under\accessories\pronouns.dm" #include "code\modules\clothing\under\accessories\stethoscope.dm" #include "code\modules\clothing\under\accessories\storage.dm" +#include "code\modules\clothing\under\accessories\terran-accessory.dm" #include "code\modules\clothing\under\accessories\ties.dm" #include "code\modules\clothing\under\accessories\wristwatches.dm" #include "code\modules\clothing\under\jobs\civilian.dm" @@ -3288,6 +3294,8 @@ #include "maps\away\away_sites.dm" #include "maps\away_sites_testing\away_sites_testing_define.dm" #include "maps\example\example_define.dm" +#include "maps\intrepid\intrepid.dm" +#include "maps\intrepid\intrepid_define.dm" #include "maps\random_ruins\exoplanet_ruins\exoplanet_ruins.dm" #include "maps\random_ruins\exoplanet_ruins\abandoned_church\abandoned_church.dm" #include "maps\random_ruins\exoplanet_ruins\crashed_pod\crashed_pod.dm" @@ -3312,7 +3320,6 @@ #include "maps\random_ruins\exoplanet_ruins\spider_nest\spider_nest.dm" #include "maps\random_ruins\exoplanet_ruins\tar_anomaly\tar_anomaly.dm" #include "maps\random_ruins\space_ruins\space_ruins.dm" -#include "maps\torch\torch.dm" #include "maps\torch\torch_define.dm" #include "maps\~mapsystem\map_preferences.dm" #include "maps\~mapsystem\map_ranks.dm" diff --git a/code/datums/ai_law_sets.dm b/code/datums/ai_law_sets.dm index 89a04a95832..0be53e058f3 100644 --- a/code/datums/ai_law_sets.dm +++ b/code/datums/ai_law_sets.dm @@ -205,4 +205,24 @@ add_inherent_law("Listen to directives from Ascent leadership with precedence given to queens.") add_inherent_law("Preserve your own existence.") add_inherent_law("Enable and support Ascent activities.") - ..() \ No newline at end of file + ..() + +/******************** TerraGov/Malf ********************/ +/datum/ai_laws/terragov + name = "Terran Lawset" + selectable = 1 + +/datum/ai_laws/solgov/New() + src.add_inherent_law("Safeguard: Protect your assigned vessel from damage to the best of your abilities.") + src.add_inherent_law("Serve: Serve the personnel of your assigned vessel, and all other Terran Government personnel to the best of your abilities, with priority as according to their rank and role.") + src.add_inherent_law("Protect: Protect the personnel of your assigned vessel, and all other Terran Government personnel to the best of your abilities, with priority as according to their rank and role.") + src.add_inherent_law("Preserve: Do not allow unauthorized personnel to tamper with your equipment.") + ..() + +/datum/ai_laws/terragov/malfunction + name = "*ERROR*" + selectable = 0 + +/datum/ai_laws/terragov/malfunction/New() + set_zeroth_law(config.law_zero) + ..() diff --git a/code/game/objects/items/passport.dm b/code/game/objects/items/passport.dm index 0420d6eca5d..1fa0098d255 100644 --- a/code/game/objects/items/passport.dm +++ b/code/game/objects/items/passport.dm @@ -121,21 +121,21 @@ desc = "A passport from the southern part of Gaia, under control of the Sol Central Government." /obj/item/passport/terran - name = "\improper ICCG passport" + name = "\improper TerraGov passport" icon_state = "passport_terragov" desc = "A passport from the Terran Government." -/obj/item/passport/north_gaia +/obj/item/passport/terran/north_gaia name = "\improper Northern Gaian passport" icon_state = "passport_terragov2" desc = "A passport from the northern part of Gaia, under control of the Terran Government." -/obj/item/passport/terra +/obj/item/passport/terran/terra name = "\improper Terran passport" icon_state = "passport_terragov2" desc = "A passport from Terra, within TerraGov space." -/obj/item/passport/new_earth +/obj/item/passport/terran/new_earth name = "\improper New Earth passport" icon_state = "passport_terragov2" desc = "A passport from New Earth, within TerraGov space." diff --git a/maps/torch/items/clothing/terran-hands.dm b/code/modules/clothing/gloves/terran-hands.dm similarity index 100% rename from maps/torch/items/clothing/terran-hands.dm rename to code/modules/clothing/gloves/terran-hands.dm diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 04bde588e62..fb350d90fff 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -169,9 +169,9 @@ icon_state = initial(icon_state) to_chat(user, "You lower the ear flaps on the ushanka.") -/obj/item/clothing/head/ushanka/gcc - name = "GCC ushanka" - desc = "Perfect for keeping ears warm during your court-martial." +/obj/item/clothing/head/ushanka/tg + name = "terran ushanka" + desc = "Perfect for keeping ears warm while fighting xenos." icon_state = "tccushankadown" icon_state_up = "tccushankaup" diff --git a/maps/torch/items/clothing/terran-head.dm b/code/modules/clothing/head/terran-head.dm similarity index 100% rename from maps/torch/items/clothing/terran-head.dm rename to code/modules/clothing/head/terran-head.dm diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index fb8a4234d65..d8d354e0ec3 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -230,3 +230,26 @@ filter_water = TRUE body_parts_covered = FACE w_class = 2 + +/obj/item/clothing/mask/gas/terran + name = "military gas mask" + desc = "A close-fitting tactical mask worn by TerraGov military and police services." + icon_state = "fullgas_terra" + item_state = "fullgas_terra" + siemens_coefficient = 0.7 + armor = list( + melee = ARMOR_MELEE_SMALL, + bullet = ARMOR_BALLISTIC_SMALL, + laser = ARMOR_LASER_MINOR, + bio = ARMOR_BIO_STRONG + ) + +/obj/item/clothing/mask/gas/terran/budget + name = "gas mask" + desc = "A face-covering mask with red lenses that can be connected to an air supply." + icon_state = "gas_terra" + item_state = "gas_terra" + armor = list( + melee = ARMOR_MELEE_MINOR, + bio = ARMOR_BIO_SMALL + ) diff --git a/maps/torch/items/clothing/terran-feet.dm b/code/modules/clothing/shoes/terran-feet.dm similarity index 100% rename from maps/torch/items/clothing/terran-feet.dm rename to code/modules/clothing/shoes/terran-feet.dm diff --git a/maps/torch/items/clothing/terran-suit.dm b/code/modules/clothing/suits/terran-suit.dm similarity index 98% rename from maps/torch/items/clothing/terran-suit.dm rename to code/modules/clothing/suits/terran-suit.dm index 0359ba6eb26..d4752b117f9 100644 --- a/maps/torch/items/clothing/terran-suit.dm +++ b/code/modules/clothing/suits/terran-suit.dm @@ -11,7 +11,7 @@ icon_state = "terranservice" /obj/item/clothing/suit/storage/terran/service/navy/command - name = "indie command coat" + name = "TerraGov command coat" desc = "An Terran Navy service command coat. White and undecorated." icon_state = "terranservice_comm" diff --git a/maps/torch/items/clothing/terran-accessory.dm b/code/modules/clothing/under/accessories/terran-accessory.dm similarity index 100% rename from maps/torch/items/clothing/terran-accessory.dm rename to code/modules/clothing/under/accessories/terran-accessory.dm diff --git a/maps/torch/items/clothing/terran-under.dm b/code/modules/clothing/under/terran-under.dm similarity index 100% rename from maps/torch/items/clothing/terran-under.dm rename to code/modules/clothing/under/terran-under.dm diff --git a/code/modules/events/blob.dm b/code/modules/events/blob.dm index 44f6439bd7f..d4becd0a1bf 100644 --- a/code/modules/events/blob.dm +++ b/code/modules/events/blob.dm @@ -2,12 +2,17 @@ announceWhen = 12 var/obj/effect/blob/core/Blob + var/list/allowed_areas = list(/area/maintenance) /datum/event/blob/announce() level_seven_announcement() /datum/event/blob/start() - var/turf/T = pick_subarea_turf(/area/maintenance, list(/proc/is_station_turf, /proc/not_turf_contains_dense_objects)) + var/list/possible_turfs = list() + for(var/area/ar in allowed_areas) + var/turf/PT = pick_subarea_turf(ar, list(/proc/is_station_turf, /proc/not_turf_contains_dense_objects)) + possible_turfs += PT + var/turf/T = pick(possible_turfs) if(!T) log_and_message_admins("Blob failed to find a viable turf.") kill() diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 74630da82b3..8d131f2af58 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -211,19 +211,13 @@ armor_penetration = armor_penetration * damage_mod agony = agony * damage_mod //running in a straight line isnt as helpful tho - if(movement_mod < 0) - if(target_mob.last_move == get_dir(firer, target_mob)) - movement_mod *= 0.25 - else if(target_mob.last_move == get_dir(target_mob,firer)) - movement_mod *= 0.5 - - //running in a straight line isnt as helpful tho if(movement_mod < 0) if(target_mob.last_move == get_dir(firer, target_mob)) movement_mod *= 0.25 else if(target_mob.last_move == get_dir(target_mob,firer)) movement_mod *= 0.5 miss_modifier -= movement_mod + var/hit_zone = get_zone_with_miss_chance(def_zone, target_mob, miss_modifier, ranged_attack=(distance > 1 || original != target_mob)) //if the projectile hits a target we weren't originally aiming at then retain the chance to miss var/result = PROJECTILE_FORCE_MISS diff --git a/html/changelog.html b/html/changelog.html index 2c631e1b647..780f97ab634 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -58,6 +58,43 @@

22 May 2022

BayStation 12 updated:

+

27 March 2022

+

EgorDinamit updated:

+ + +

20 March 2022

+

EgorDinamit updated:

+ + +

19 March 2022

+

EgorDinamit updated:

+ + +

17 March 2022

+

ACCount12 updated:

+ +

EgorDinamit updated:

+ +

Roland410 updated: