Skip to content

Commit

Permalink
Merge branch 'master' into sovul-droogs
Browse files Browse the repository at this point in the history
  • Loading branch information
KoishiVibe committed Sep 7, 2024
2 parents a416f4c + 92944b9 commit 1a5825c
Show file tree
Hide file tree
Showing 105 changed files with 43,238 additions and 32,487 deletions.
1 change: 1 addition & 0 deletions code/__DEFINES/__game.dm
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,7 @@
#define WALL_DEVWALL "devwall"
#define WALL_DEVWALL_R "devwall_r"
#define WALL_HUNTERSHIP "metal"//DMI specific name
#define WALL_AICORE "aiwall"

//Defines for dropship weapon gimbals
#define GIMBAL_LEFT -1
Expand Down
8 changes: 8 additions & 0 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -449,3 +449,11 @@ var/list/default_xeno_onmob_icons = list(
#define MOBILITY_FLAGS_CARBON_DEFAULT (MOBILITY_MOVE | MOBILITY_STAND | MOBILITY_REST | MOBILITY_LIEDOWN)
#define MOBILITY_FLAGS_REST_CAPABLE_DEFAULT (MOBILITY_MOVE | MOBILITY_STAND | MOBILITY_REST | MOBILITY_LIEDOWN)

/// Sleeps for X and will perform return if A is qdeleted or a dead mob.
#define SLEEP_CHECK_DEATH(X, A) \
sleep(X); \
if(QDELETED(A)) return; \
if(ismob(A)) { \
var/mob/sleep_check_death_mob = A; \
if(sleep_check_death_mob.stat == DEAD) return; \
}
4 changes: 4 additions & 0 deletions code/__DEFINES/shuttles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -143,3 +143,7 @@
#define ESCAPE_SHUTTLE_SOUTH_PREFIX "escape_shuttle_s"

#define ESCAPE_SHUTTLE_DOCK_PREFIX "almayer-hangar-escape-shuttle-"

#define MOBILE_SHUTTLE_SHIPMAP_ELEVATOR_ONE "garrow_vehicle_elevator_one"
#define MOBILE_SHUTTLE_SHIPMAP_ELEVATOR_TWO "garrow_vehicle_elevator_two"
#define MOBILE_SHUTTLE_SHIPMAP_ELEVATOR_CARGO "garrow_cargo_elevator"
1 change: 1 addition & 0 deletions code/__DEFINES/sounds.dm
Original file line number Diff line number Diff line change
Expand Up @@ -91,3 +91,4 @@
#define SCAPE_PL_ENG list('sound/soundscape/engamb1.ogg', 'sound/soundscape/engamb2.ogg', 'sound/soundscape/engamb3.ogg', 'sound/soundscape/engamb4.ogg', 'sound/soundscape/engamb5.ogg', 'sound/soundscape/engamb6.ogg', 'sound/soundscape/engamb7.ogg', )
#define SCAPE_PL_HANGAR list('sound/soundscape/hangaramb1.ogg', 'sound/soundscape/hangaramb2.ogg', 'sound/soundscape/hangaramb3.ogg', 'sound/soundscape/hangaramb4.ogg', 'sound/soundscape/hangaramb5.ogg', 'sound/soundscape/hangaramb6.ogg', 'sound/soundscape/hangaramb7.ogg', 'sound/soundscape/hangaramb8.ogg', 'sound/soundscape/hangaramb9.ogg', 'sound/soundscape/hangaramb10.ogg', )
#define SCAPE_PL_ARES list('sound/soundscape/mother.ogg')
#define SCAPE_PL_AICORE list('sound/soundscape/aicore/aicore_beep.ogg', 'sound/soundscape/aicore/aicore_ident.ogg', 'sound/soundscape/aicore/aicore_rumble1.ogg', 'sound/soundscape/aicore/aicore_rumble2.ogg', 'sound/soundscape/aicore/aicore_rumble3.ogg', 'sound/soundscape/aicore/aicore_rumble4.ogg', 'sound/soundscape/aicore/aicore_rumble5.ogg', 'sound/soundscape/aicore/aicore_tone1.ogg', 'sound/soundscape/aicore/aicore_tone2.ogg', 'sound/soundscape/aicore/aicore_tone3.ogg', 'sound/soundscape/aicore/aicore_tone4.ogg', 'sound/soundscape/aicore/aicore_tone5.ogg', 'sound/soundscape/aicore/aicore_tone6.ogg', 'sound/soundscape/aicore/aicore_tone7.ogg', 'sound/soundscape/aicore/aicore_tone8.ogg', 'sound/soundscape/aicore/aicore_tone9.ogg', 'sound/soundscape/aicore/aicore_tone10.ogg', 'sound/soundscape/aicore/aicore_tone11.ogg', 'sound/soundscape/aicore/aicore_tone12.ogg', 'sound/soundscape/aicore/aicore_tone13.ogg', 'sound/soundscape/aicore/aicore_tone14.ogg', 'sound/soundscape/aicore/aicore_tone15.ogg', 'sound/soundscape/aicore/aicore_tone16.ogg', 'sound/soundscape/aicore/aicore_tone17.ogg', 'sound/soundscape/aicore/aicore_tone18.ogg', )
6 changes: 5 additions & 1 deletion code/__DEFINES/xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,7 @@
#define XENO_HEALTH_TIER_14 950 * XENO_UNIVERSAL_HPMULT
#define XENO_HEALTH_QUEEN 1000 * XENO_UNIVERSAL_HPMULT
#define XENO_HEALTH_IMMORTAL 1200 * XENO_UNIVERSAL_HPMULT
#define XENO_HEALTH_KING 1500 * XENO_UNIVERSAL_HPMULT

// Plasma bands
#define XENO_NO_PLASMA 0
Expand Down Expand Up @@ -381,6 +382,7 @@
// Armor mods. Use the above defines for some guidance
// In general, +20 armor should be a little more than +20% effective HP, however,
// the higher the Xeno's base armor, the greater the effect.
#define XENO_ARMOR_MOD_TINY 2.5
#define XENO_ARMOR_MOD_VERY_SMALL 5
#define XENO_ARMOR_MOD_SMALL 10
#define XENO_ARMOR_MOD_MED 15
Expand Down Expand Up @@ -614,6 +616,7 @@
#define XENO_SHIELD_SOURCE_GARDENER 8
#define XENO_SHIELD_SOURCE_SHIELD_PILLAR 9
#define XENO_SHIELD_SOURCE_CUMULATIVE_GENERIC 10
#define XENO_SHIELD_SOURCE_KING_BULWARKSPELL 11

//XENO CASTES
#define XENO_CASTE_LARVA "Bloody Larva"
Expand Down Expand Up @@ -643,12 +646,13 @@
#define XENO_CASTE_RAVAGER "Ravager"
#define XENO_T3_CASTES list(XENO_CASTE_BOILER, XENO_CASTE_PRAETORIAN, XENO_CASTE_CRUSHER, XENO_CASTE_RAVAGER)
//special
#define XENO_CASTE_KING "King"
#define XENO_CASTE_QUEEN "Queen"
#define XENO_CASTE_PREDALIEN "Predalien"
#define XENO_CASTE_HELLHOUND "Hellhound"
#define XENO_SPECIAL_CASTES list(XENO_CASTE_QUEEN, XENO_CASTE_PREDALIEN, XENO_CASTE_HELLHOUND)

#define ALL_XENO_CASTES list(XENO_CASTE_LARVA, XENO_CASTE_PREDALIEN_LARVA, XENO_CASTE_FACEHUGGER, XENO_CASTE_LESSER_DRONE, XENO_CASTE_DRONE, XENO_CASTE_RUNNER, XENO_CASTE_SENTINEL, XENO_CASTE_DEFENDER, XENO_CASTE_BURROWER, XENO_CASTE_CARRIER, XENO_CASTE_HIVELORD, XENO_CASTE_LURKER, XENO_CASTE_WARRIOR, XENO_CASTE_SPITTER, XENO_CASTE_BOILER, XENO_CASTE_PRAETORIAN, XENO_CASTE_CRUSHER, XENO_CASTE_RAVAGER, XENO_CASTE_QUEEN, XENO_CASTE_PREDALIEN, XENO_CASTE_HELLHOUND)
#define ALL_XENO_CASTES list(XENO_CASTE_LARVA, XENO_CASTE_PREDALIEN_LARVA, XENO_CASTE_FACEHUGGER, XENO_CASTE_LESSER_DRONE, XENO_CASTE_DRONE, XENO_CASTE_RUNNER, XENO_CASTE_SENTINEL, XENO_CASTE_DEFENDER, XENO_CASTE_BURROWER, XENO_CASTE_CARRIER, XENO_CASTE_HIVELORD, XENO_CASTE_LURKER, XENO_CASTE_WARRIOR, XENO_CASTE_SPITTER, XENO_CASTE_BOILER, XENO_CASTE_PRAETORIAN, XENO_CASTE_CRUSHER, XENO_CASTE_RAVAGER, XENO_CASTE_QUEEN, XENO_CASTE_PREDALIEN, XENO_CASTE_HELLHOUND, XENO_CASTE_KING)

// Checks if two hives are allied to each other.
// PARAMETERS:
Expand Down
2 changes: 2 additions & 0 deletions code/_globalvars/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,5 @@ GLOBAL_VAR(obfs_x)
GLOBAL_VAR(obfs_y)

GLOBAL_VAR_INIT(ai_xeno_weeding, TRUE)

GLOBAL_LIST_INIT(alldirs, list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST))
1 change: 1 addition & 0 deletions code/datums/langchat/langchat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
/mob/living/carbon/xenomorph/hivelord/langchat_height = 64
/mob/living/carbon/xenomorph/defender/langchat_height = 48
/mob/living/carbon/xenomorph/warrior/langchat_height = 48
/mob/living/carbon/xenomorph/king/langchat_height = 64

#define LANGCHAT_LONGEST_TEXT 64
#define LANGCHAT_WIDTH 96
Expand Down
19 changes: 19 additions & 0 deletions code/datums/shuttles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -125,3 +125,22 @@

/datum/map_template/shuttle/trijent_elevator/ice_elevator/requisitions
elevator_network = "Requisitions"

/datum/map_template/shuttle/trijent_elevator/golden_arrow
shuttle_id = "unused"

/datum/map_template/shuttle/trijent_elevator/golden_arrow/vehicleone
name = "Vehicle Elevator One"
shuttle_id = MOBILE_SHUTTLE_SHIPMAP_ELEVATOR_ONE
elevator_network = "ArrowVehicleOne"

/datum/map_template/shuttle/trijent_elevator/golden_arrow/vehicletwo
name = "Vehicle Elevator Two"
shuttle_id = MOBILE_SHUTTLE_SHIPMAP_ELEVATOR_TWO
elevator_network = "ArrowVehicleTwo"

/datum/map_template/shuttle/trijent_elevator/golden_arrow/cargo
name = "Cargo Elevator"
elevator_network = "garrow_cargo"
shuttle_id = MOBILE_SHUTTLE_SHIPMAP_ELEVATOR_CARGO
elevator_network = "ArrowCargo"
20 changes: 20 additions & 0 deletions code/datums/xeno_shields/shield_types/king_shield.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/// Shield can be equal to a maximum of percent_maxhealth_damagecap of the receiver's max hp
/datum/xeno_shield/king_shield
duration = 10 SECONDS
decay_amount_per_second = 100
/// The maximum damage multiplier of max health to apply in a hit
var/percent_maxhealth_damagecap = 0.1

/datum/xeno_shield/king_shield/on_hit(damage)
var/relative_damage_cap = linked_xeno.maxHealth * percent_maxhealth_damagecap

if(damage > relative_damage_cap)
damage = relative_damage_cap
return ..(damage)


/datum/xeno_shield/king_shield/on_removal()
. = ..()
if(linked_xeno)
// Remove the shield overlay early
linked_xeno.remove_suit_layer()
9 changes: 6 additions & 3 deletions code/datums/xeno_shields/xeno_shield.dm
Original file line number Diff line number Diff line change
Expand Up @@ -79,11 +79,14 @@
xeno_shields += new_shield
new_shield.last_damage_taken = world.time // So we don't insta-delete our shield.

new_shield.decay_amount_per_second = decay_amount_per_second
if(decay_amount_per_second)
new_shield.decay_amount_per_second = decay_amount_per_second
if(duration)
new_shield.duration = duration
new_shield.linked_xeno = src

if(duration > -1)
addtimer(CALLBACK(new_shield, TYPE_PROC_REF(/datum/xeno_shield, begin_decay)), duration)
if(new_shield.duration > -1)
addtimer(CALLBACK(new_shield, TYPE_PROC_REF(/datum/xeno_shield, begin_decay)), new_shield.duration)

overlay_shields()
return new_shield
Expand Down
49 changes: 48 additions & 1 deletion code/game/area/golden_arrow.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
icon_state = "upperengineering"

/area/golden_arrow/briefing
name = "\improper Briefing Area"
name = "\improper Assembly Room"
icon_state = "briefing"

/area/golden_arrow/dorms
Expand Down Expand Up @@ -81,3 +81,50 @@
/area/golden_arrow/platoonarmory
name = "\improper Platoon Armory"
icon_state = "alpha"

/area/golden_arrow/ai_interface
name = "\improper Human AI Interface"
icon_state = "airoom"
soundscape_playlist = SCAPE_PL_AICORE
soundscape_interval = 7

/area/golden_arrow/motor_pool
name = "\improper Motor Pool"
icon_state = "workshop"

/area/golden_arrow/lower_cargo
name = "\improper Lower Cargo Bays"
icon_state = "req"

/area/golden_arrow/supplydrop
name = "\improper Supply Drop Bay"
icon_state = "astronavigation"


/area/golden_arrow/cargo_shuttle
name = "\improper cargo_shuttle"
icon_state = "lifeboat"

/area/golden_arrow/cargo_shuttle/elevator
name = "\improper Cargo Elevator"
unlimited_power = TRUE
requires_power = FALSE

/area/golden_arrow/cargo_shuttle/lower
name = "\improper Cargo Elevator Lower Level"

/area/golden_arrow/cargo_shuttle/upper
name = "\improper Cargo Elevator Upper Level"

/area/golden_arrow/vehicle_shuttle
name = "\improper Vehicle Elevator One"

/area/golden_arrow/vehicle_shuttle/upper
name = "\improper Vehicle Elevator One Upper"

/area/golden_arrow/vehicle_shuttle/two
name = "\improper Vehicle Elevator Two"

/area/golden_arrow/vehicle_shuttle/two/upper
name = "\improper Vehicle Elevator Two Upper"

2 changes: 2 additions & 0 deletions code/game/jobs/role_authority.dm
Original file line number Diff line number Diff line change
Expand Up @@ -796,6 +796,8 @@ I hope it's easier to tell what the heck this proc is even doing, unlike previou
M = /mob/living/carbon/xenomorph/predalien
if(XENO_CASTE_HELLHOUND)
M = /mob/living/carbon/xenomorph/hellhound
if(XENO_CASTE_KING)
M = /mob/living/carbon/xenomorph/king
return M


Expand Down
15 changes: 15 additions & 0 deletions code/game/machinery/doors/poddoor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,7 @@
/obj/structure/machinery/door/airlock,
)


/obj/structure/machinery/door/poddoor/almayer/open
density = FALSE

Expand All @@ -319,6 +320,20 @@
. = ..()
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, relativewall_neighbours)), 10)

/obj/structure/machinery/door/poddoor/almayer/blended/aicore
icon_state = "aidoor1"
base_icon_state = "aidoor"

/obj/structure/machinery/door/poddoor/almayer/blended/aicore/open
density = FALSE

/obj/structure/machinery/door/poddoor/almayer/blended/white_aicore
icon_state = "w_aidoor1"
base_icon_state = "w_aidoor"

/obj/structure/machinery/door/poddoor/almayer/blended/white_aicore/open
density = FALSE

/obj/structure/machinery/door/poddoor/almayer/locked
unacidable = TRUE

Expand Down
16 changes: 16 additions & 0 deletions code/game/objects/effects/effect_system/smoke.dm
Original file line number Diff line number Diff line change
Expand Up @@ -681,6 +681,22 @@

// XENO SMOKES

/obj/effect/particle_effect/smoke/king
opacity = FALSE
color = "#000000"
icon = 'icons/effects/effects.dmi'
icon_state = "sparks"
anchored = TRUE
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
layer = BELOW_OBJ_LAYER
time_to_live = 5
spread_speed = 1
pixel_x = 0
pixel_y = 0

/datum/effect_system/smoke_spread/king_doom
smoke_type = /obj/effect/particle_effect/smoke/king

/datum/effect_system/smoke_spread/xeno_acid
smoke_type = /obj/effect/particle_effect/smoke/xeno_burn

Expand Down
13 changes: 13 additions & 0 deletions code/game/objects/effects/temporary_visuals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,19 @@
. = ..()
deltimer(timerid)

//-----------------------------------------
//HEAVY IMPACT
//-----------------------------------------

/obj/effect/temp_visual/heavy_impact
icon = 'icons/effects/heavyimpact.dmi'
icon_state = "heavyimpact"
duration = 1.3 SECONDS

/obj/effect/temp_visual/heavyimpact/Initialize(mapload)
. = ..()
flick("heavyimpact", src)

/obj/effect/temp_visual/dir_setting
randomdir = FALSE

Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/storage/belt.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1686,7 +1686,7 @@
/obj/item/device/flashlight/flare,
/obj/item/weapon/gun/flare,
/obj/item/weapon/gun/pistol,
/obj/item/weapon/gun/revolver/m44,
/obj/item/weapon/gun/revolver,
/obj/item/ammo_magazine/revolver,
/obj/item/ammo_magazine/pistol,
/obj/item/ammo_magazine/smartgun,
Expand Down
5 changes: 5 additions & 0 deletions code/game/objects/items/toys/toys.dm
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,11 @@
desc = "Mini-Mecha action figure! Collect them all! 11/11."
icon_state = "phazonprize"

/obj/item/toy/prize/apc
name = "toy APC"
desc = "Limited edition APC action figure."
icon_state = "apctoy"

/obj/item/toy/inflatable_duck
name = "inflatable duck"
desc = "No bother to sink or swim when you can just float!"
Expand Down
21 changes: 21 additions & 0 deletions code/game/objects/structures/gun_rack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -91,3 +91,24 @@

/obj/structure/gun_rack/m41/recon/unloaded
populate_type = /obj/item/weapon/gun/rifle/m41aMK1/forecon/unloaded

/obj/structure/gun_rack/flamer
name = "M240A1 incinerator rack"
icon_state = "m240"
desc = "ARMAT-produced gun rack for storage of long guns. While initial model was supposed to be extremely modifiable, USCM comissioned racks with fixed slots which only fit M240A1 incinerators. Some say they were cheaper, and some say the main reason was marine's ability to easily break anything more complex than a tungsten ball."
max_stored = 2
initial_stored = 2
allowed_type = /obj/item/weapon/gun/flamer
populate_type = /obj/item/weapon/gun/flamer

/obj/structure/gun_rack/flamer/unloaded
populate_type = /obj/item/weapon/gun/flamer/unloaded

/obj/structure/gun_rack/mk221
name = "M120 shotgun rack"
icon_state = "mk221"
desc = "ARMAT-produced gun rack for storage of long guns. While initial model was supposed to be extremely modifiable, USCM comissioned racks with fixed slots which only fit M120 tactical shotguns. Some say they were cheaper, and some say the main reason was marine's ability to easily break anything more complex than a tungsten ball."
max_stored = 2
initial_stored = 2
allowed_type = /obj/item/weapon/gun/shotgun/combat
populate_type = /obj/item/weapon/gun/shotgun/combat
27 changes: 26 additions & 1 deletion code/game/objects/structures/signs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,32 @@
/obj/structure/sign/banners/united_americas_flag
name = "\improper United Americas flag"
desc = "A flag of the United Americas. Inspires patriotism, fear, or revulsion depending on the viewer's political leanings."
icon_state = "ua_flag"
icon_state = "uaflag"

/obj/structure/sign/banners/colonial_marines_flag
name = "\improper United States Colonial Marine Corps flag"
desc = "A flag of the United States Colonial Marine Corps. Inspires patriotism, fear, or revulsion depending on the viewer's political leanings."
icon_state = "cmflag"
/obj/structure/sign/banners/colonial_marines_flag_worn
name = "\improper Worn United States Colonial Marine Corps flag"
desc = "A very worn flag of the United States Colonial Marine Corps. Inspires patriotism, fear, or revulsion depending on the viewer's political leanings."
icon_state = "cmflag_worn"
/obj/structure/sign/banners/twe_flag
name = "\improper Three World Empire flag"
desc = "A flag of the Three World Empire. Inspires patriotism, fear, or revulsion depending on the viewer's political leanings."
icon_state = "tweflag"
/obj/structure/sign/banners/twe_worn
name = "\improper Worn Three World Empire flag"
desc = "A very worn flag of the Three World Empire. Inspires patriotism, fear, or revulsion depending on the viewer's political leanings."
icon_state = "tweflag_worn"
/obj/structure/sign/banners/upp_flag
name = "\improper Union of Progressive Peoples flag"
desc = "A flag of the Union of Progressive Peoples. Inspires patriotism, fear, or revulsion depending on the viewer's political leanings."
icon_state = "uppflag"
/obj/structure/sign/banners/upp_worn
name = "\improper Worn Union of Progressive Peoples flag"
desc = "A very worn flag of the Union of Progressive Peoples. Inspires patriotism, fear, or revulsion depending on the viewer's political leanings."
icon_state = "uppflag_worn"

//=====================//
// SEMIOTIC STANDARD //
Expand Down
8 changes: 8 additions & 0 deletions code/game/objects/structures/tables_racks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -625,6 +625,14 @@
icon_state = "clothtable"
table_prefix = "cloth"

/obj/structure/surface/table/reinforced/aicore
name = "AI interface table"
desc = "A rather fancy looking table for the ship's AI core."
icon_state = "aicoretable"

/obj/structure/surface/table/reinforced/aicore/update_icon()
return

/obj/structure/surface/table/reinforced/toc
name = "operations table"
desc = "A square metal surface resting on its fat metal bottom. You can't flip something that doesn't have legs."
Expand Down
Loading

0 comments on commit 1a5825c

Please sign in to comment.