Skip to content

Commit

Permalink
Tunnel Vision Quirk (#3246)
Browse files Browse the repository at this point in the history
* Tunnel Vision Quirk

noone wants to tell you this, but the soldiers in the field are free, i have 500 of them at Mother Base.

* ughhhh

cant use the same icon for two different quirks, apparently? why? idk. get fucked i guess. MGS exclamation now.

* post-last minute revision

actually, lets just use a question mark, why not! who cares! you didnt see my PR in the time between this and the last commit, the MGS exclaimation joke would be funny but past that it wouldnt make much sense for a oblivious quirk to have a icon that says attention.

* More Pain, No Gain!

In this episode, i go further insane because DreamMaker doesnt update the checklist unless its closed, even if you hit the save all button.

Adds in the abillity to change just how tunnel your tunnel vision is. from Biohood (90), to Kinda Sucks (180), to Why The FUCK Would You Ever Choose This? (270)
May i never have to deal with these issues again.
  • Loading branch information
Noot-Toot authored Sep 22, 2024
1 parent 0edbf59 commit d5b80f3
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 0 deletions.
26 changes: 26 additions & 0 deletions monkestation/code/datums/quirks/negative_quirks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -214,3 +214,29 @@
if(isipc(quirk_holder)) //monkestation addition
to_chat(quirk_holder, span_boldnotice("Your chassis feels frail."))

/datum/quirk/tunnel_vision
name = "Tunnel Vision"
desc = "You spent too long scoped in. You cant see behind you!"
value = -2
icon = FA_ICON_QUESTION
gain_text = span_notice("You have trouble focusing on what you left behind.")
lose_text = span_notice("You feel paranoid, constantly checking your back...")
medical_record_text = "Patient had trouble noticing people walking up from behind during the examination."

/datum/quirk/tunnel_vision/add_unique(client/client_source)
var/range_name = client_source?.prefs.read_preference(/datum/preference/choiced/tunnel_vision_fov) || "Minor (90 Degrees)"
var/fov_range
switch(range_name)
if ("Severe (270 Degrees)")
fov_range = FOV_270_DEGREES
if ("Moderate (180 Degrees)")
fov_range = FOV_180_DEGREES
else
fov_range = FOV_90_DEGREES
quirk_holder.add_fov_trait("tunnel vision quirk", fov_range)
/*
/datum/quirk/tunnel_vision/add()
quirk_holder.add_fov_trait("tunnel vision quirk", fov_range)
*/
/datum/quirk/tunnel_vision/remove()
quirk_holder.remove_fov_trait("tunnel vision quirk")
18 changes: 18 additions & 0 deletions monkestation/code/modules/client/preferences/tunnel_vision.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
GLOBAL_LIST_INIT(tunnel_vision_fovs, list("Minor (90 Degrees)","Moderate (180 Degrees)","Severe (270 Degrees)"))

/datum/preference/choiced/tunnel_vision_fov
category = PREFERENCE_CATEGORY_SECONDARY_FEATURES
savefile_key = "tunnel_vision_fov"
savefile_identifier = PREFERENCE_CHARACTER

/datum/preference/choiced/tunnel_vision_fov/init_possible_values()
return GLOB.tunnel_vision_fovs

/datum/preference/choiced/tunnel_vision_fov/is_accessible(datum/preferences/preferences)
if (!..(preferences))
return FALSE

return "Tunnel Vision" in preferences.all_quirks

/datum/preference/choiced/tunnel_vision_fov/apply_to_human(mob/living/carbon/human/target, value)
return
1 change: 1 addition & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -6844,6 +6844,7 @@
#include "monkestation\code\modules\client\preferences\prude.dm"
#include "monkestation\code\modules\client\preferences\runechat.dm"
#include "monkestation\code\modules\client\preferences\sounds.dm"
#include "monkestation\code\modules\client\preferences\tunnel_vision.dm"
#include "monkestation\code\modules\client\preferences\alt_jobs\_job.dm"
#include "monkestation\code\modules\client\preferences\alt_jobs\titles.dm"
#include "monkestation\code\modules\client\preferences\species_features\arachnid.dm"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { FeatureChoiced, FeatureDropdownInput } from '../base';

export const tunnel_vision_fov: FeatureChoiced = {
name: 'Tunnel Vision FOV',
component: FeatureDropdownInput,
};

0 comments on commit d5b80f3

Please sign in to comment.