Skip to content

Commit

Permalink
Fixes From Test
Browse files Browse the repository at this point in the history
Makes sure ghosts spawn on ghost spawn and not late join, fixes some Outpost skillsets, other fixes for the game mode and the Blackstone map. Some added things, nothing major.
  • Loading branch information
FslashN committed Mar 30, 2024
1 parent cca6851 commit 1ecde0b
Show file tree
Hide file tree
Showing 12 changed files with 299 additions and 210 deletions.
12 changes: 6 additions & 6 deletions code/datums/skills/civilian.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,33 +17,33 @@ CIVILIAN
name = "Civilian Researcher"
skills = list(
SKILL_CQC = SKILL_UNSKILLED,
SKILL_MELEE = SKILL_UNSKILLED,
SKILL_MELEE_WEAPONS = SKILL_UNSKILLED,
SKILL_FIREARMS = SKILL_UNSKILLED,
SKILL_ENDURANCE = SKILL_UNSKILLED,
SKILL_VEHICLE = SKILL_VEHICLE_SMALL,
SKILL_RESEARCH = SKILL_RESEARCH_MAX,
SKILL_MEDICAL = SKILL_MEDICAL_TRAINED,
SKILL_SURGERY = SKILL_MEDICAL_TRAINED,
SKILL_CONSTRUCTION = SKILL_UNSKILLED,//workaround, don't want them to have any construction or engie or spec weapons.
SKILL_ENGINEERING = SKILL_UNSKILLED,
SKILL_ENGINEER = SKILL_UNSKILLED,
SKILL_FIREMAN = SKILL_UNSKILLED,
SKILL_SPEC = SKILL_UNSKILLED,
SKILL_SPEC_WEAPONS = SKILL_UNSKILLED,
SKILL_PILOT = SKILL_UNSKILLED,
)

/datum/skills/civilian/researcher/linguist //No medical/surgery or research skills.
name = "Civilian Linguist"
skills = list(
SKILL_CQC = SKILL_UNSKILLED,
SKILL_MELEE = SKILL_UNSKILLED,
SKILL_MELEE_WEAPONS = SKILL_UNSKILLED,
SKILL_FIREARMS = SKILL_UNSKILLED,
SKILL_ENDURANCE = SKILL_UNSKILLED,
SKILL_VEHICLE = SKILL_VEHICLE_SMALL,
SKILL_DOMESTIC = SKILL_DOMESTIC_TRAINED,
SKILL_CONSTRUCTION = SKILL_UNSKILLED,
SKILL_ENGINEERING = SKILL_UNSKILLED,
SKILL_ENGINEER = SKILL_UNSKILLED,
SKILL_FIREMAN = SKILL_UNSKILLED,
SKILL_SPEC = SKILL_UNSKILLED,
SKILL_SPEC_WEAPONS = SKILL_UNSKILLED,
SKILL_PILOT = SKILL_UNSKILLED,
)

Expand Down
6 changes: 3 additions & 3 deletions code/datums/skills/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ COMMAND STAFF
SKILL_NAVIGATIONS = SKILL_NAVIGATIONS_TRAINED, //can change ship alt
)

/datum/skills/commander/uscm_ground
/datum/skills/oco
name = "Commanding Officer (Outpost)"
skills = list(
SKILL_LEADERSHIP = SKILL_LEAD_MASTER,//Command
Expand All @@ -363,7 +363,7 @@ COMMAND STAFF
SKILL_FIREARMS = SKILL_FIREARMS_EXPERT,//Combat - Some of the best combat skills around. But stuck in the CIC.
SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED,
SKILL_CQC = SKILL_CQC_SKILLED,
SKILL_MELEE = SKILL_MELEE_TRAINED,
SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED,
SKILL_SPEC_WEAPONS = SKILL_SPEC_SMARTGUN,
SKILL_POLICE = SKILL_POLICE_SKILLED,
SKILL_ENGINEER = SKILL_ENGINEER_ENGI,//Support
Expand Down Expand Up @@ -397,7 +397,7 @@ COMMAND STAFF
SKILL_NAVIGATIONS = SKILL_NAVIGATIONS_TRAINED,
)

/datum/skills/XO/uscm_ground //Battlefield doctor/second in command.
/datum/skills/AO //Battlefield doctor/second in command.
name = "Adjunct Officer (Outpost)"
skills = list(
SKILL_LEADERSHIP = SKILL_LEAD_MASTER,//Command
Expand Down
5 changes: 5 additions & 0 deletions code/game/gamemodes/colonialmarines/ai/remote_outpost.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
config_tag = GAMEMODE_REMOTE_OUTPOST
votable = TRUE
flags_round_type = MODE_GROUND_ONLY|MODE_NO_XENO_EVOLVE|MODE_NEW_SPAWN
toggleable_flags = MODE_NO_JOIN_AS_XENO|MODE_HARDCORE_PERMA

taskbar_icon = 'icons/taskbar/gml_wo.png'

Expand Down Expand Up @@ -36,6 +37,10 @@
if(!(I.z in SSmapping.levels_by_trait(ZTRAIT_GROUND)))
qdel(I) //We don't want people to late-join somewhere they shouldn't.

for(var/obj/I in GLOB.observer_starts)
if(!(I.z in SSmapping.levels_by_trait(ZTRAIT_GROUND)))
qdel(I) //So ghosts spawn in near the action, but not strictly necessary.

. = ..()

/datum/game_mode/remote_outpost/announce()
Expand Down
4 changes: 2 additions & 2 deletions code/game/objects/structures.dm
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,8 @@
for(var/obj/item/grab/grabbing in list(user.l_hand, user.r_hand))
grabbed_things += grabbing.grabbed_thing
/*
Safety in case our layer doesn't reset in time. Not entirely safe, but with a short reset timer, it should. But you never know.
Can also cause issues if we're somehow in a logic fail of going from one thing to another thing with a higher climb_layer. Again, hopefully never comes up.
Safety in case our layer doesn't reset in time. Not entirely safe, but with a short reset timer, it should be okay. But you never know.
Can also cause issues if we're somehow in a logic fail of going from one thing to another thing with a higher climb_layer. Hopefully never comes up.
Xeno large sprites are still entirely cursed when it comes to layering so I am not going to bother trying to fix that. Vehicles too, unfortunately.
*/
if(climb_layer && climb_layer > grabbing.grabbed_thing.layer)
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/structures/crates_lockers/closets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
update_icon()

playsound(src.loc, close_sound, 15, 1)
density = TRUE
density = initial(density) //If they were not dense closed, they retain that.
return TRUE

/obj/structure/closet/proc/store_items(stored_units)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@
req_one_access = null
desc = "A secure storage unit for an outpost smartgunner."
can_be_stacked = TRUE
density = FALSE

/obj/structure/closet/secure_closet/smartgunner/uscm_ground/one/Initialize()
. = ..()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@
new /obj/item/device/flash(src)
new /obj/item/weapon/baton(src)
new /obj/item/reagent_container/spray/pepper(src)
new /obj/item/clothing/suit/storage/marine/MP/CO(src)
new /obj/item/clothing/head/helmet/marine/CO(src)

/obj/structure/closet/secure_closet/marine_personal/uscm_ground/lieutenant
job = JOB_USCM_GROUND_AO
Expand All @@ -99,6 +101,8 @@
new /obj/item/handcuffs
new /obj/item/device/flash(src)
new /obj/item/weapon/baton(src)
new /obj/item/clothing/suit/storage/marine/MP/SO(src)
new /obj/item/clothing/head/helmet/marine/MP/SO(src)

/obj/structure/closet/secure_closet/marine_personal/uscm_ground/civilian
job = JOB_USCM_GROUND_CIVILIAN
Expand Down
1 change: 1 addition & 0 deletions code/modules/cm_marines/equipment/kit_boxes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@
/obj/item/storage/box/spec/sapper/fill_preset_inventory()
new /obj/item/defenses/handheld/sentry/custom(src)
new /obj/item/ammo_magazine/sentry(src)
new /obj/item/ammo_magazine/sentry(src)
new /obj/item/storage/pouch/general/large(src)
new /obj/item/storage/pouch/construction(src)
new /obj/item/stack/sheet/plasteel/med_large_stack(src)
Expand Down
4 changes: 2 additions & 2 deletions code/modules/gear_presets/uscm_ground.dm
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
paygrade = "MO3"
role_comm_title = "OCO"
minimum_age = 30
skills = /datum/skills/XO
skills = /datum/skills/oco

minimap_icon = list("cic" = MINIMAP_ICON_COLOR_COMMANDER)
minimap_background = MINIMAP_ICON_BACKGROUND_CIC
Expand Down Expand Up @@ -94,7 +94,7 @@
paygrade = "MO2"
role_comm_title = "AO"
minimum_age = 27
skills = /datum/skills/auxiliary_officer
skills = /datum/skills/AO

minimap_icon = list("cic" = MINIMAP_ICON_COLOR_HEAD)
minimap_background = MINIMAP_ICON_BACKGROUND_CIC
Expand Down
2 changes: 1 addition & 1 deletion code/modules/gear_presets/uscm_ship.dm
Original file line number Diff line number Diff line change
Expand Up @@ -657,7 +657,7 @@
paygrade = "MO2"
role_comm_title = "ASO"
minimum_age = 27
skills = /datum/skills/auxiliary_officer
skills = /datum/skills/AO

minimap_icon = list("cic" = MINIMAP_ICON_COLOR_SILVER)
minimap_background = MINIMAP_ICON_BACKGROUND_CIC
Expand Down
31 changes: 17 additions & 14 deletions code/modules/mob/new_player/new_player.dm
Original file line number Diff line number Diff line change
Expand Up @@ -48,15 +48,15 @@

if(round_start)
output += "<p>\[ [ready? "<b>Ready</b>":"<a href='byond://?src=\ref[src];lobby_choice=ready'>Ready</a>"] | [ready? "<a href='byond://?src=\ref[src];lobby_choice=unready'>Not Ready</a>":"<b>Not Ready</b>"] \]</p>"
output += "<b>Be Xenomorph:</b> [(client.prefs && (client.prefs.get_job_priority(JOB_XENOMORPH))) ? "Yes" : "No"]"
//output += "<b>Be Xenomorph:</b> [(client.prefs && (client.prefs.get_job_priority(JOB_XENOMORPH))) ? "Yes" : "No"]"

else
output += "<a href='byond://?src=\ref[src];lobby_choice=manifest'>View the Crew Manifest</A><br><br>"
output += "<a href='byond://?src=\ref[src];lobby_choice=hiveleaders'>View Hive Leaders</A><br><br>"
output += "<p><a href='byond://?src=\ref[src];lobby_choice=late_join'>Join the USCM!</A></p>"
output += "<p><a href='byond://?src=\ref[src];lobby_choice=late_join_xeno'>Join the Hive!</A></p>"
if(SSticker.mode.flags_round_type & MODE_PREDATOR)
if(SSticker.mode.check_predator_late_join(src,0)) output += "<p><a href='byond://?src=\ref[src];lobby_choice=late_join_pred'>Join the Hunt!</A></p>"
//output += "<a href='byond://?src=\ref[src];lobby_choice=hiveleaders'>View Hive Leaders</A><br><br>"
output += "<p><a href='byond://?src=\ref[src];lobby_choice=late_join'>Join the action!</A></p>"
//output += "<p><a href='byond://?src=\ref[src];lobby_choice=late_join_xeno'>Join the Hive!</A></p>"
//if(SSticker.mode.flags_round_type & MODE_PREDATOR)
// if(SSticker.mode.check_predator_late_join(src,0)) output += "<p><a href='byond://?src=\ref[src];lobby_choice=late_join_pred'>Join the Hunt!</A></p>"

output += "<p><a href='byond://?src=\ref[src];lobby_choice=observe'>Observe</A></p>"

Expand Down Expand Up @@ -115,24 +115,27 @@
if(!SSticker || SSticker.current_state == GAME_STATE_STARTUP)
to_chat(src, SPAN_WARNING("The game is still setting up, please try again later."))
return
if(alert(src,"Are you sure you wish to observe? When you observe, you will not be able to join as marine. It might also take some time to become a xeno or responder!","Player Setup","Yes","No") == "Yes")
if(alert(src,"Are you sure you wish to observe? When you observe, you may not be able to play this round!","Player Setup","Yes","No") == "Yes")
if(!client)
return TRUE
var/obj/effect/landmark/observer_start/O = SAFEPICK(GLOB.observer_starts)
if(!istype(O))
to_chat(src, SPAN_DANGER("Could not locate an observer spawn point. Contact a coder!"))
log_debug(SPAN_DEBUG("[src] tried spawning as an observer but could not locate an observer spawn point."))
return FALSE

if(!client.prefs?.preview_dummy)
client.prefs.update_preview_icon()
var/mob/dead/observer/observer = new /mob/dead/observer(get_turf(pick(GLOB.latejoin)), client.prefs.preview_dummy)
var/mob/dead/observer/observer = new /mob/dead/observer(get_turf(O), client.prefs.preview_dummy)
observer.set_lighting_alpha_from_pref(client)
spawning = TRUE
observer.started_as_observer = TRUE

close_spawn_windows()

var/obj/effect/landmark/observer_start/O = SAFEPICK(GLOB.observer_starts)
if(istype(O))
to_chat(src, SPAN_NOTICE("Now teleporting."))
observer.forceMove(O.loc)
else
to_chat(src, SPAN_DANGER("Could not locate an observer spawn point. Use the Teleport verb to jump to the station map."))
to_chat(src, SPAN_NOTICE("Now teleporting."))
observer.forceMove(O.loc)

observer.icon = 'icons/mob/humans/species/r_human.dmi'
observer.icon_state = "anglo_example"
observer.alpha = 127
Expand Down
Loading

0 comments on commit 1ecde0b

Please sign in to comment.