Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into surgicalroom
Browse files Browse the repository at this point in the history
  • Loading branch information
private-tristan committed Jan 16, 2024
2 parents 93b1e1c + ba62bd8 commit d07cccd
Show file tree
Hide file tree
Showing 56 changed files with 77,821 additions and 911 deletions.
2 changes: 2 additions & 0 deletions code/__DEFINES/__game.dm
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ block( \
#define MAP_SOROKYNE_STRATA "Sorokyne Strata"
#define MAP_CORSAT "CORSAT" // Highpop only
#define MAP_KUTJEVO "Kutjevo Refinery"
#define MAP_ICE_COLONY_V1 "Ice Colony Classic"
#define MAP_ICE_COLONY_V2 "Ice Colony V2"
#define MAP_ICE_COLONY_V3 "Shivas Snowball" //Ice Rework, low pop enabled.
#define MAP_RUNTIME "USS Runtime"
#define MAP_LV522_CHANCES_CLAIM "LV-522 Chance's Claim" // Highpop Only
Expand Down
6 changes: 4 additions & 2 deletions code/__DEFINES/xeno_ai.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ PROBABILITY CALCULATIONS ARE HERE

#define XENO_SLASH 80

#define RETREAT_AT_PLASMA_LEVEL 0.2
#define RETREAT_AT_HEALTH_LEVEL 0.4
#define XENO_DOOR_BUILDING_CHANCE 25

#define PLASMA_RETREAT_PERCENTAGE 10
#define HEALTH_RETREAT_PERCENTAGE 20

#define LURKING_IGNORE_SHOT_CHANCE 75

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@

/datum/component/ai_behavior_override/build
behavior_icon_state = "priority_move_order"

max_assigned = 1

/datum/component/ai_behavior_override/build/Initialize(...)
. = ..()

if(istype(parent, /mob))
return COMPONENT_INCOMPATIBLE

var/turf/open/location = get_turf(parent)
if(location.is_weedable() != FULLY_WEEDABLE)
return COMPONENT_INCOMPATIBLE

/datum/component/ai_behavior_override/build/Destroy(force, silent, ...)
var/turf/parent_turf = get_turf(parent)
if(QDELETED(parent) && parent_turf != parent)
parent_turf.AddComponent(/datum/component/ai_behavior_override/build)

return ..()

/datum/component/ai_behavior_override/build/check_behavior_validity(mob/living/carbon/xenomorph/checked_xeno, distance)
. = ..()
if(!.)
return

var/turf/open/location = get_turf(parent)
if(!istype(location))
qdel(src)
return FALSE

if(locate(/obj/structure/mineral_door/resin) in location)
qdel(src)
return FALSE

if(distance > 10)
return FALSE

if(checked_xeno.current_target)
return FALSE

if(!locate(/datum/action/xeno_action/activable/secrete_resin) in checked_xeno.actions)
return FALSE

if(checked_xeno.get_plasma_percentage() < PLASMA_RETREAT_PERCENTAGE)
var/turf/xeno_loc = get_turf(checked_xeno)
if(xeno_loc.weeds && !checked_xeno.resting)
currently_assigned -= checked_xeno
checked_xeno.lay_down()

return FALSE

return TRUE

/datum/component/ai_behavior_override/build/process_override_behavior(mob/living/carbon/xenomorph/processing_xeno, delta_time)
. = ..()
if(!.)
return

processing_xeno.resting = FALSE

var/turf/xeno_loc = get_turf(processing_xeno)
if(xeno_loc.density)
return FALSE // We shouldn't stand in a wall, let's act default

var/turf/parent_turf = get_turf(parent)

var/is_diagonal = (get_dir(processing_xeno, parent_turf) in diagonals)
if(is_diagonal || get_dist(processing_xeno, parent) > 1)
return processing_xeno.move_to_next_turf(parent_turf)

for(var/obj/structure/blocker in parent_turf.contents)
if(!blocker.unslashable && blocker.density || istype(blocker, /obj/structure/bed))
INVOKE_ASYNC(processing_xeno, TYPE_PROC_REF(/mob, do_click), blocker, "", list())
return TRUE

if(!parent_turf.weeds)
var/datum/action/xeno_action/onclick/plant_weeds/weeds_action = locate() in processing_xeno.actions
INVOKE_ASYNC(weeds_action, TYPE_PROC_REF(/datum/action/xeno_action/onclick/plant_weeds, use_ability_wrapper))
return TRUE

var/list/resin_types = processing_xeno.resin_build_order
processing_xeno.selected_resin = locate(/datum/resin_construction/resin_turf/wall) in resin_types

var/wall_nearby
var/blocked_turfs = 0
for(var/turf/blocked_turf in orange(1, parent_turf) - parent_turf.AdjacentTurfs())
if(get_dir(blocked_turf, parent_turf) in diagonals)
continue

if(blocked_turf.density)
wall_nearby = TRUE

blocked_turfs++

if(blocked_turfs)
if(prob(XENO_DOOR_BUILDING_CHANCE) || (wall_nearby && blocked_turfs == 2))
processing_xeno.selected_resin = locate(/datum/resin_construction/resin_obj/door) in resin_types

var/datum/action/xeno_action/activable/secrete_resin/build_action = locate() in processing_xeno.actions
INVOKE_ASYNC(build_action, TYPE_PROC_REF(/datum/action/xeno_action/activable/secrete_resin, use_ability_wrapper), parent_turf)
return TRUE
18 changes: 18 additions & 0 deletions code/datums/shuttles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -115,3 +115,21 @@

/datum/map_template/shuttle/trijent_elevator/B
elevator_network = "B"

/datum/map_template/shuttle/trijent_elevator/ice_elevator
name = "Classic Ice Elevator"
shuttle_id = "ice_classic_shuttle"

/datum/map_template/shuttle/trijent_elevator/ice_elevator/lab
elevator_network = "lab"

/datum/map_template/shuttle/trijent_elevator/ice_elevator/dorm
elevator_network = "dorm"

/datum/map_template/shuttle/trijent_elevator/ice_elevator/arrivals
elevator_network = "Arrivals"
/datum/map_template/shuttle/trijent_elevator/ice_elevator/omicorn
elevator_network = "Omicorn"

/datum/map_template/shuttle/trijent_elevator/ice_elevator/requisitions
elevator_network = "Requisitions"
3 changes: 2 additions & 1 deletion code/datums/skills/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ United States Colonial Marines
SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED,
SKILL_JTAC = SKILL_JTAC_TRAINED,
SKILL_INTEL = SKILL_INTEL_TRAINED,
SKILL_PILOT = SKILL_PILOT_EXPERT,
)

/datum/skills/intel
Expand Down Expand Up @@ -117,7 +118,6 @@ MILITARY NONCOMBATANT
skills = list(
SKILL_FIREARMS = SKILL_FIREARMS_CIVILIAN,
SKILL_MEDICAL = SKILL_MEDICAL_DOCTOR,
SKILL_SURGERY = SKILL_SURGERY_TRAINED,
SKILL_RESEARCH = SKILL_RESEARCH_TRAINED,
SKILL_INTEL = SKILL_INTEL_TRAINED,
)
Expand Down Expand Up @@ -291,6 +291,7 @@ COMMAND STAFF
SKILL_JTAC = SKILL_JTAC_EXPERT,
SKILL_INTEL = SKILL_INTEL_TRAINED,
SKILL_SURGERY = SKILL_SURGERY_NOVICE,
SKILL_PILOT = SKILL_PILOT_EXPERT,
)

/datum/skills/SEA
Expand Down
4 changes: 4 additions & 0 deletions code/datums/vehicles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@
name = "APC - No FPW"
interior_id = "apc_no_fpw"

/datum/map_template/interior/apc_movie
name = "Movie APC"
interior_id = "apc_movie"

/datum/map_template/interior/fancy_locker
name = "Fancy Locker"
interior_id = "fancylocker"
Expand Down
34 changes: 32 additions & 2 deletions code/game/area/IceColony.dm
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,12 @@
name = "\improper South Western Valleys"
icon_state = "valley_south_west"

/area/ice_colony/exterior/surface/valley/northeast/apc_support
always_unpowered = FALSE

/area/ice_colony/exterior/surface/valley/southeast/apc_support
always_unpowered = FALSE

//
// Clearing
// The Colony Center, so to speak
Expand Down Expand Up @@ -791,57 +797,81 @@
/area/shuttle/elevator1/ground
name = "\improper Elevator I"
icon_state = "shuttlered"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator1/underground
name = "\improper Elevator I"
icon_state = "shuttle"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator1/transit
name = "\improper Elevator I"
icon_state = "shuttle2"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator2/ground
name = "\improper Elevator II"
icon_state = "shuttle"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator2/underground
name = "\improper Elevator II"
icon_state = "shuttle2"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator2/transit
name = "\improper Elevator II"
icon_state = "shuttlered"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator3/ground
name = "\improper Elevator III"
icon_state = "shuttle"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator3/underground
name = "\improper Elevator III"
icon_state = "shuttle2"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator3/transit
name = "\improper Elevator III"
icon_state = "shuttlered"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator4/ground
name = "\improper Elevator IV"
icon_state = "shuttlered"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator4/underground
name = "\improper Elevator IV"
icon_state = "shuttle"
requires_power = TRUE
unlimited_power = FALSE

/area/shuttle/elevator4/transit
name = "\improper Elevator IV"
icon_state = "shuttle2"
requires_power = TRUE
unlimited_power = FALSE

/area/ice_colony/landing/console
name = "\improper LZ1 'Lazarus'"
icon_state = "tcomsatcham"
requires_power = 0
requires_power = FALSE

/area/ice_colony/landing/console2
name = "\improper LZ2 'Underground'"
icon_state = "tcomsatcham"
requires_power = 0
requires_power = FALSE
4 changes: 4 additions & 0 deletions code/game/area/golden_arrow.dm
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,7 @@
/area/golden_arrow/synthcloset
name = "\improper Synthetic Storage Closet"
icon_state = "livingspace"

/area/golden_arrow/firingrange
name = "\improper Firing Range"
icon_state = "firingrange"
18 changes: 18 additions & 0 deletions code/game/machinery/doors/poddoor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
layer = PODDOOR_CLOSED_LAYER
open_layer = PODDOOR_OPEN_LAYER
closed_layer = PODDOOR_CLOSED_LAYER
///How many tiles the shutter occupies
var/shutter_length = 1

/obj/structure/machinery/door/poddoor/Initialize()
. = ..()
Expand Down Expand Up @@ -114,6 +116,8 @@
operating = FALSE

/obj/structure/machinery/door/poddoor/two_tile/open()
if(!density)
return
if(operating) //doors can still open when emag-disabled
return

Expand Down Expand Up @@ -151,6 +155,8 @@
..()

/obj/structure/machinery/door/poddoor/two_tile/close()
if(density)
return
if(operating)
return
start_closing()
Expand Down Expand Up @@ -185,6 +191,7 @@
/obj/structure/machinery/door/poddoor/two_tile
dir = EAST
icon = 'icons/obj/structures/doors/1x2blast_hor.dmi'
shutter_length = 2
var/obj/structure/machinery/door/poddoor/filler_object/f1
var/obj/structure/machinery/door/poddoor/filler_object/f2

Expand Down Expand Up @@ -214,6 +221,7 @@

/obj/structure/machinery/door/poddoor/two_tile/four_tile
icon = 'icons/obj/structures/doors/1x4blast_hor.dmi'
shutter_length = 4
var/obj/structure/machinery/door/poddoor/filler_object/f3
var/obj/structure/machinery/door/poddoor/filler_object/f4

Expand Down Expand Up @@ -243,6 +251,7 @@

/obj/structure/machinery/door/poddoor/filler_object
name = ""
icon = null
icon_state = ""
unslashable = TRUE
unacidable = TRUE
Expand All @@ -265,6 +274,15 @@
/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical/secure/open
density = FALSE

/obj/structure/machinery/door/poddoor/two_tile/four_tile/pivot/Initialize()
. = ..()
RegisterSignal(src, COMSIG_ATOM_DIR_CHANGE, PROC_REF(direction_change_move))

/obj/structure/machinery/door/poddoor/two_tile/four_tile/pivot/proc/direction_change_move(source, old_dir, new_dir)
if(old_dir == new_dir)
return
x -= shutter_length - 1

/obj/structure/machinery/door/poddoor/two_tile/secure
icon = 'icons/obj/structures/doors/1x2blast_hor.dmi'
openspeed = 17
Expand Down
1 change: 1 addition & 0 deletions code/game/machinery/vending/vendor_types/crew/synthetic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_synth, list(
list("M3A1 Pattern Synthetic Utility Vest (UA Jungle)", 0, /obj/item/clothing/suit/storage/marine/light/synvest/jungle, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR),
list("M3A1 Pattern Synthetic Utility Vest (UA Snow)", 0, /obj/item/clothing/suit/storage/marine/light/synvest/snow, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR),
list("M3A1 Pattern Synthetic Utility Vest (UA Desert)", 0, /obj/item/clothing/suit/storage/marine/light/synvest/desert, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR),
list("M3-VL Pattern Ballistics Vest", 0, /obj/item/clothing/suit/storage/marine/light/vest, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR),

list("GLOVES (CHOOSE 1)", 0, null, null, null),
list("Insulated Gloves", 0, /obj/item/clothing/gloves/yellow, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_RECOMMENDED),
Expand Down
5 changes: 5 additions & 0 deletions code/game/objects/effects/spawners/prop_gun_spawner.dm
Original file line number Diff line number Diff line change
Expand Up @@ -90,3 +90,8 @@
prop_gun_type = /obj/item/weapon/gun/rifle/m41aMK1
custom_gun_name = "\improper Broken M41A pulse rifle"
custom_gun_desc = "An older design of the Pulse Rifle commonly used by Colonial Marines. This one has seen better days. The trigger is missing, the barrel is bent, and it no longer appropriately feeds magazines."

/obj/effect/spawner/prop_gun/anti_tank
prop_gun_type = /obj/item/weapon/gun/launcher/rocket/anti_tank
custom_gun_name = "\improper Spent M83A2 SADAR"
custom_gun_desc = "A spent M83A2 tube. It's been kept as a trophy after a lucky tank kill nearly a thousand meters out. Someone has engraved a single tally-mark on the side to begin recording a kill-count."
Loading

0 comments on commit d07cccd

Please sign in to comment.