Skip to content

Commit

Permalink
Merge pull request #75 from Starfly-13/YeosaPart2
Browse files Browse the repository at this point in the history
Yeosa'Unathi Act 2: The Lizarding
  • Loading branch information
lectronyx authored Jul 18, 2024
2 parents 3e211f0 + 3c902f5 commit ce3050f
Show file tree
Hide file tree
Showing 15 changed files with 396 additions and 27 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/qa_dreamchecker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: QA
on:
push:
branches:
- master
pull_request:
branches:
- master

jobs:
run_dreamchecker:
name: Dreamchecker
runs-on: ubuntu-22.04
steps:
- name: Checkout Project
uses: actions/checkout@v4

- name: Restore Dreamchecker Cache
id: cache-dreamchecker
uses: actions/cache@v3
with:
path: ~/dreamchecker
key: ${{ runner.os }}-dreamchecker-cache-${{ hashFiles('dependencies.sh') }}

- name: Build Dreamchecker
if: steps.cache-dreamchecker.outputs.cache-hit != 'true'
run: bash tools/ci/build_spaceman_dmm.sh dreamchecker

- name: Run Dreamchecker
run: |
~/dreamchecker
2 changes: 1 addition & 1 deletion _maps/_basemap.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/// VERY IMPORTANT FOR RUNNING FAST IN PRODUCTION!
/// If you define this flag, centcom will load. It's also supposed to preload planetoids, but that is disabled.
#define FULL_INIT
// #define FULL_INIT

#ifdef FULL_INIT
#include "map_files\generic\CentCom.dmm"
Expand Down
14 changes: 14 additions & 0 deletions code/__HELPERS/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,20 @@
"vox_head_quills" = pick(GLOB.vox_head_quills_list),
"vox_neck_quills" = pick(GLOB.vox_neck_quills_list),
"wings" = "None",
FEATURE_UNATHI_COLOR_BODY1 = random_unathi_color(),
FEATURE_UNATHI_COLOR_BODY2 = random_unathi_color(),
FEATURE_UNATHI_COLOR_BODY_MARKING1 = random_unathi_color(),
FEATURE_UNATHI_COLOR_BODY_MARKING2 = random_unathi_color(),
FEATURE_UNATHI_COLOR_FACE_MARKING1 = random_unathi_color(),
FEATURE_UNATHI_COLOR_FACE_MARKING2 = random_unathi_color(),
FEATURE_UNATHI_COLOR_FRILL1 = random_unathi_color(),
FEATURE_UNATHI_COLOR_FRILL2 = random_unathi_color(),
FEATURE_UNATHI_COLOR_HORN1 = random_unathi_color(),
FEATURE_UNATHI_COLOR_HORN2 = random_unathi_color(),
FEATURE_UNATHI_COLOR_SPINE1 = random_unathi_color(),
FEATURE_UNATHI_COLOR_SPINE2 = random_unathi_color(),
FEATURE_UNATHI_COLOR_TAIL1 = random_unathi_color(),
FEATURE_UNATHI_COLOR_TAIL2 = random_unathi_color(),
)

/proc/random_hairstyle(gender)
Expand Down
11 changes: 11 additions & 0 deletions code/game/objects/structures/mirror.dm
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,17 @@
else
to_chat(H, "<span class='notice'>Invalid color. Your secondary color is not bright enough.</span>")

if(UNATHI_COLORS in H.dna.species.species_traits)
choose_unathi_color(H, H.dna.features, FEATURE_UNATHI_COLOR_BODY1, H.dna.species.default_color)
choose_unathi_color(H, H.dna.features, FEATURE_UNATHI_COLOR_BODY_MARKING1, H.dna.species.default_color)
choose_unathi_color(H, H.dna.features, FEATURE_UNATHI_COLOR_FACE_MARKING1, H.dna.species.default_color)
choose_unathi_color(H, H.dna.features, FEATURE_UNATHI_COLOR_FRILL1, H.dna.species.default_color)
choose_unathi_color(H, H.dna.features, FEATURE_UNATHI_COLOR_FRILL2, H.dna.species.default_color)
choose_unathi_color(H, H.dna.features, FEATURE_UNATHI_COLOR_HORN1, H.dna.species.default_color)
choose_unathi_color(H, H.dna.features, FEATURE_UNATHI_COLOR_SPINE1, H.dna.species.default_color)
choose_unathi_color(H, H.dna.features, FEATURE_UNATHI_COLOR_TAIL1, H.dna.species.default_color)
choose_unathi_color(H, H.dna.features, FEATURE_UNATHI_COLOR_TAIL2, H.dna.species.default_color)

H.update_body()
H.update_hair()
H.update_body_parts(TRUE)
Expand Down
94 changes: 87 additions & 7 deletions code/modules/client/preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,21 @@ GLOBAL_LIST_EMPTY(preferences_datums)
"elzu_horns" = "None",
"elzu_tail" = "None",
"flavor_text" = "",
"body_size" = "Normal"
"body_size" = "Normal",
FEATURE_UNATHI_COLOR_BODY1 = "FFF",
FEATURE_UNATHI_COLOR_BODY2 = "FFF",
FEATURE_UNATHI_COLOR_BODY_MARKING1 = "FFF",
FEATURE_UNATHI_COLOR_BODY_MARKING2 = "FFF",
FEATURE_UNATHI_COLOR_FACE_MARKING1 = "FFF",
FEATURE_UNATHI_COLOR_FACE_MARKING2 = "FFF",
FEATURE_UNATHI_COLOR_FRILL1 = "FFF",
FEATURE_UNATHI_COLOR_FRILL2 = "FFF",
FEATURE_UNATHI_COLOR_HORN1 = "FFF",
FEATURE_UNATHI_COLOR_HORN2 = "FFF",
FEATURE_UNATHI_COLOR_SPINE1 = "FFF",
FEATURE_UNATHI_COLOR_SPINE2 = "FFF",
FEATURE_UNATHI_COLOR_TAIL1 = "FFF",
FEATURE_UNATHI_COLOR_TAIL2 = "FFF",
)
var/list/randomise = list(
RANDOM_UNDERWEAR = TRUE,
Expand Down Expand Up @@ -421,18 +435,24 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<a href='?_src_=prefs;preference=toggle_random;random_type=[RANDOM_SKIN_TONE]'>[(randomise[RANDOM_SKIN_TONE]) ? "Lock" : "Unlock"]</A>"
dat += "<br>"

// Everyone gets mutant colors now.
dat += "<h3>Mutant Colors</h3>"
// Everyone except Unathi gets mutant colors now.
if(!(UNATHI_COLORS in pref_species.species_traits))
dat += "<h3>Mutant Colors</h3>"

dat += "<span style='border: 1px solid #161616; background-color: #[features["mcolor"]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=mutant_color;task=input'>Change</a><BR>"
dat += "<span style='border: 1px solid #161616; background-color: #[features["mcolor2"]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=mutant_color_2;task=input'>Change</a><BR>"
dat += "<span style='border: 1px solid #161616; background-color: #[features["mcolor"]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=mutant_color;task=input'>Change</a><BR>"
dat += "<span style='border: 1px solid #161616; background-color: #[features["mcolor2"]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=mutant_color_2;task=input'>Change</a><BR>"

if(istype(pref_species, /datum/species/elzuose)) //not the best thing to do tbf but I dont know whats better.

dat += "<h3>Elzuosa Color</h3>"

dat += "<span style='border: 1px solid #161616; background-color: #[features["ethcolor"]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=color_ethereal;task=input'>Change</a><BR>"

if(UNATHI_COLORS in pref_species.species_traits)
dat += "<h3>Body Color</h3>"
dat += "<span style='border: 1px solid #161616; background-color: #[features[FEATURE_UNATHI_COLOR_BODY1]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=[FEATURE_UNATHI_COLOR_BODY1];task=input'>Change</a><BR>"
// the secondary body color is not used for now, but maybe some day...
// dat += "<span style='border: 1px solid #161616; background-color: #[features[FEATURE_UNATHI_COLOR_BODY2]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=[FEATURE_UNATHI_COLOR_BODY2];task=input'>Change</a><BR>"

if((EYECOLOR in pref_species.species_traits) && !(NOEYESPRITES in pref_species.species_traits))

Expand Down Expand Up @@ -485,6 +505,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<h3>Tail</h3>"

dat += "<a href='?_src_=prefs;preference=tail_lizard;task=input'>[features["tail_lizard"]]</a><BR>"
if(UNATHI_COLORS in pref_species.species_traits)
dat += "<span style='border: 1px solid #161616; background-color: #[features[FEATURE_UNATHI_COLOR_TAIL1]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=[FEATURE_UNATHI_COLOR_TAIL1];task=input'>Change</a><BR>"
dat += "<span style='border: 1px solid #161616; background-color: #[features[FEATURE_UNATHI_COLOR_TAIL2]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=[FEATURE_UNATHI_COLOR_TAIL2];task=input'>Change</a><BR>"

mutant_category++
if(mutant_category >= MAX_MUTANT_ROWS)
Expand All @@ -498,6 +521,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<h3>Face Marking</h3>"

dat += "<a href='?_src_=prefs;preference=face_markings;task=input'>[features["face_markings"]]</a><BR>"
if(UNATHI_COLORS in pref_species.species_traits)
dat += "<span style='border: 1px solid #161616; background-color: #[features[FEATURE_UNATHI_COLOR_FACE_MARKING1]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=[FEATURE_UNATHI_COLOR_FACE_MARKING1];task=input'>Change</a><BR>"
// dat += "<span style='border: 1px solid #161616; background-color: #[features[FEATURE_UNATHI_COLOR_FACE_MARKING2]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=[FEATURE_UNATHI_COLOR_FACE_MARKING2];task=input'>Change</a><BR>"

mutant_category++
if(mutant_category >= MAX_MUTANT_ROWS)
Expand All @@ -511,8 +537,12 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<h3>Horns</h3>"

dat += "<a href='?_src_=prefs;preference=horns;task=input'>[features["horns"]]</a><BR>"
dat += "<span style='border:1px solid #161616; background-color: #[hair_color];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=hair;task=input'>Change</a><BR>"
dat += "<a href='?_src_=prefs;preference=toggle_random;random_type=[RANDOM_HAIR_COLOR]'>[(randomise[RANDOM_HAIR_COLOR]) ? "Lock" : "Unlock"]</A><BR>"
if(UNATHI_COLORS in pref_species.species_traits)
dat += "<span style='border: 1px solid #161616; background-color: #[features[FEATURE_UNATHI_COLOR_HORN1]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=[FEATURE_UNATHI_COLOR_HORN1];task=input'>Change</a><BR>"
// dat += "<span style='border: 1px solid #161616; background-color: #[features[FEATURE_UNATHI_COLOR_HORN2]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=[FEATURE_UNATHI_COLOR_HORN2];task=input'>Change</a><BR>"
else
dat += "<span style='border:1px solid #161616; background-color: #[hair_color];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=hair;task=input'>Change</a><BR>"
dat += "<a href='?_src_=prefs;preference=toggle_random;random_type=[RANDOM_HAIR_COLOR]'>[(randomise[RANDOM_HAIR_COLOR]) ? "Lock" : "Unlock"]</A><BR>"

mutant_category++
if(mutant_category >= MAX_MUTANT_ROWS)
Expand All @@ -526,6 +556,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<h3>Frills</h3>"

dat += "<a href='?_src_=prefs;preference=frills;task=input'>[features["frills"]]</a><BR>"
if(UNATHI_COLORS in pref_species.species_traits)
dat += "<span style='border: 1px solid #161616; background-color: #[features[FEATURE_UNATHI_COLOR_FRILL1]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=[FEATURE_UNATHI_COLOR_FRILL1];task=input'>Change</a><BR>"
dat += "<span style='border: 1px solid #161616; background-color: #[features[FEATURE_UNATHI_COLOR_FRILL2]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=[FEATURE_UNATHI_COLOR_FRILL2];task=input'>Change</a><BR>"

mutant_category++
if(mutant_category >= MAX_MUTANT_ROWS)
Expand All @@ -539,6 +572,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<h3>Spines</h3>"

dat += "<a href='?_src_=prefs;preference=spines;task=input'>[features["spines"]]</a><BR>"
if(UNATHI_COLORS in pref_species.species_traits)
dat += "<span style='border: 1px solid #161616; background-color: #[features[FEATURE_UNATHI_COLOR_SPINE1]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=[FEATURE_UNATHI_COLOR_SPINE1];task=input'>Change</a><BR>"
// dat += "<span style='border: 1px solid #161616; background-color: #[features[FEATURE_UNATHI_COLOR_SPINE2]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=[FEATURE_UNATHI_COLOR_SPINE2];task=input'>Change</a><BR>"

mutant_category++
if(mutant_category >= MAX_MUTANT_ROWS)
Expand All @@ -552,6 +588,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<h3>Body Markings</h3>"

dat += "<a href='?_src_=prefs;preference=body_markings;task=input'>[features["body_markings"]]</a><BR>"
if(UNATHI_COLORS in pref_species.species_traits)
dat += "<span style='border: 1px solid #161616; background-color: #[features[FEATURE_UNATHI_COLOR_BODY_MARKING1]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=[FEATURE_UNATHI_COLOR_BODY_MARKING1];task=input'>Change</a><BR>"
// dat += "<span style='border: 1px solid #161616; background-color: #[features[FEATURE_UNATHI_COLOR_BODY_MARKING2]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=[FEATURE_UNATHI_COLOR_BODY_MARKING2];task=input'>Change</a><BR>"

mutant_category++
if(mutant_category >= MAX_MUTANT_ROWS)
Expand Down Expand Up @@ -1865,6 +1904,47 @@ GLOBAL_LIST_EMPTY(preferences_datums)
else
to_chat(user, "<span class='danger'>Invalid color. Your color is not bright enough.</span>")

if(FEATURE_UNATHI_COLOR_BODY1)
choose_unathi_color(user, features, FEATURE_UNATHI_COLOR_BODY1, pref_species.default_color)

if(FEATURE_UNATHI_COLOR_BODY2)
choose_unathi_color(user, features, FEATURE_UNATHI_COLOR_BODY2, pref_species.default_color)

if(FEATURE_UNATHI_COLOR_BODY_MARKING1)
choose_unathi_color(user, features, FEATURE_UNATHI_COLOR_BODY_MARKING1, pref_species.default_color)

if(FEATURE_UNATHI_COLOR_BODY_MARKING2)
choose_unathi_color(user, features, FEATURE_UNATHI_COLOR_BODY_MARKING2, pref_species.default_color)

if(FEATURE_UNATHI_COLOR_FACE_MARKING1)
choose_unathi_color(user, features, FEATURE_UNATHI_COLOR_FACE_MARKING1, pref_species.default_color)

if(FEATURE_UNATHI_COLOR_FACE_MARKING2)
choose_unathi_color(user, features, FEATURE_UNATHI_COLOR_FACE_MARKING2, pref_species.default_color)

if(FEATURE_UNATHI_COLOR_FRILL1)
choose_unathi_color(user, features, FEATURE_UNATHI_COLOR_FRILL1, pref_species.default_color)

if(FEATURE_UNATHI_COLOR_FRILL2)
choose_unathi_color(user, features, FEATURE_UNATHI_COLOR_FRILL2, pref_species.default_color)

if(FEATURE_UNATHI_COLOR_HORN1)
choose_unathi_color(user, features, FEATURE_UNATHI_COLOR_HORN1, pref_species.default_color)

if(FEATURE_UNATHI_COLOR_HORN2)
choose_unathi_color(user, features, FEATURE_UNATHI_COLOR_HORN2, pref_species.default_color)

if(FEATURE_UNATHI_COLOR_SPINE1)
choose_unathi_color(user, features, FEATURE_UNATHI_COLOR_SPINE1, pref_species.default_color)

if(FEATURE_UNATHI_COLOR_SPINE2)
choose_unathi_color(user, features, FEATURE_UNATHI_COLOR_SPINE2, pref_species.default_color)

if(FEATURE_UNATHI_COLOR_TAIL1)
choose_unathi_color(user, features, FEATURE_UNATHI_COLOR_TAIL1, pref_species.default_color)

if(FEATURE_UNATHI_COLOR_TAIL2)
choose_unathi_color(user, features, FEATURE_UNATHI_COLOR_TAIL2, pref_species.default_color)

if("tail_lizard")
var/new_tail
Expand Down
45 changes: 45 additions & 0 deletions code/modules/client/preferences_savefile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -445,6 +445,21 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
READ_FILE(S["feature_elzu_horns"], features["elzu_horns"])
READ_FILE(S["feature_tail_elzu"], features["tail_elzu"])

READ_FILE(S[FEATURE_UNATHI_COLOR_BODY1], features[FEATURE_UNATHI_COLOR_BODY1])
READ_FILE(S[FEATURE_UNATHI_COLOR_BODY2], features[FEATURE_UNATHI_COLOR_BODY2])
READ_FILE(S[FEATURE_UNATHI_COLOR_BODY_MARKING1], features[FEATURE_UNATHI_COLOR_BODY_MARKING1])
READ_FILE(S[FEATURE_UNATHI_COLOR_BODY_MARKING2], features[FEATURE_UNATHI_COLOR_BODY_MARKING2])
READ_FILE(S[FEATURE_UNATHI_COLOR_FACE_MARKING1], features[FEATURE_UNATHI_COLOR_FACE_MARKING1])
READ_FILE(S[FEATURE_UNATHI_COLOR_FACE_MARKING2], features[FEATURE_UNATHI_COLOR_FACE_MARKING2])
READ_FILE(S[FEATURE_UNATHI_COLOR_FRILL1], features[FEATURE_UNATHI_COLOR_FRILL1])
READ_FILE(S[FEATURE_UNATHI_COLOR_FRILL2], features[FEATURE_UNATHI_COLOR_FRILL2])
READ_FILE(S[FEATURE_UNATHI_COLOR_HORN1], features[FEATURE_UNATHI_COLOR_HORN1])
READ_FILE(S[FEATURE_UNATHI_COLOR_HORN2], features[FEATURE_UNATHI_COLOR_HORN2])
READ_FILE(S[FEATURE_UNATHI_COLOR_SPINE1], features[FEATURE_UNATHI_COLOR_SPINE1])
READ_FILE(S[FEATURE_UNATHI_COLOR_SPINE2], features[FEATURE_UNATHI_COLOR_SPINE2])
READ_FILE(S[FEATURE_UNATHI_COLOR_TAIL1], features[FEATURE_UNATHI_COLOR_TAIL1])
READ_FILE(S[FEATURE_UNATHI_COLOR_TAIL2], features[FEATURE_UNATHI_COLOR_TAIL2])

READ_FILE(S["equipped_gear"], equipped_gear)
if(config) //This should *probably* always be there, but just in case.
if(length(equipped_gear) > CONFIG_GET(number/max_loadout_items))
Expand Down Expand Up @@ -558,6 +573,21 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
features["tail_elzu"] = sanitize_inlist(features["tail_elzu"], GLOB.tails_list_elzu)
features["flavor_text"] = sanitize_text(features["flavor_text"], initial(features["flavor_text"]))

features[FEATURE_UNATHI_COLOR_BODY1] = sanitize_hexcolor(features[FEATURE_UNATHI_COLOR_BODY1])
features[FEATURE_UNATHI_COLOR_BODY2] = sanitize_hexcolor(features[FEATURE_UNATHI_COLOR_BODY2])
features[FEATURE_UNATHI_COLOR_BODY_MARKING1] = sanitize_hexcolor(features[FEATURE_UNATHI_COLOR_BODY_MARKING1])
features[FEATURE_UNATHI_COLOR_BODY_MARKING2] = sanitize_hexcolor(features[FEATURE_UNATHI_COLOR_BODY_MARKING2])
features[FEATURE_UNATHI_COLOR_FACE_MARKING1] = sanitize_hexcolor(features[FEATURE_UNATHI_COLOR_FACE_MARKING1])
features[FEATURE_UNATHI_COLOR_FACE_MARKING2] = sanitize_hexcolor(features[FEATURE_UNATHI_COLOR_FACE_MARKING2])
features[FEATURE_UNATHI_COLOR_FRILL1] = sanitize_hexcolor(features[FEATURE_UNATHI_COLOR_FRILL1])
features[FEATURE_UNATHI_COLOR_FRILL2] = sanitize_hexcolor(features[FEATURE_UNATHI_COLOR_FRILL2])
features[FEATURE_UNATHI_COLOR_HORN1] = sanitize_hexcolor(features[FEATURE_UNATHI_COLOR_HORN1])
features[FEATURE_UNATHI_COLOR_HORN2] = sanitize_hexcolor(features[FEATURE_UNATHI_COLOR_HORN1])
features[FEATURE_UNATHI_COLOR_SPINE1] = sanitize_hexcolor(features[FEATURE_UNATHI_COLOR_SPINE1])
features[FEATURE_UNATHI_COLOR_SPINE2] = sanitize_hexcolor(features[FEATURE_UNATHI_COLOR_SPINE2])
features[FEATURE_UNATHI_COLOR_TAIL1] = sanitize_hexcolor(features[FEATURE_UNATHI_COLOR_TAIL1])
features[FEATURE_UNATHI_COLOR_TAIL2] = sanitize_hexcolor(features[FEATURE_UNATHI_COLOR_TAIL2])

all_quirks = SANITIZE_LIST(all_quirks)

//Make sure all quirks are compatible
Expand Down Expand Up @@ -639,6 +669,21 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["feature_tail_elzu"] , features["tail_elzu"])
WRITE_FILE(S["fbp"] , fbp)

WRITE_FILE(S[FEATURE_UNATHI_COLOR_BODY1], features[FEATURE_UNATHI_COLOR_BODY1])
WRITE_FILE(S[FEATURE_UNATHI_COLOR_BODY2], features[FEATURE_UNATHI_COLOR_BODY2])
WRITE_FILE(S[FEATURE_UNATHI_COLOR_BODY_MARKING1], features[FEATURE_UNATHI_COLOR_BODY_MARKING1])
WRITE_FILE(S[FEATURE_UNATHI_COLOR_BODY_MARKING2], features[FEATURE_UNATHI_COLOR_BODY_MARKING2])
WRITE_FILE(S[FEATURE_UNATHI_COLOR_FACE_MARKING1], features[FEATURE_UNATHI_COLOR_FACE_MARKING1])
WRITE_FILE(S[FEATURE_UNATHI_COLOR_FACE_MARKING2], features[FEATURE_UNATHI_COLOR_FACE_MARKING2])
WRITE_FILE(S[FEATURE_UNATHI_COLOR_FRILL1], features[FEATURE_UNATHI_COLOR_FRILL1])
WRITE_FILE(S[FEATURE_UNATHI_COLOR_FRILL2], features[FEATURE_UNATHI_COLOR_FRILL2])
WRITE_FILE(S[FEATURE_UNATHI_COLOR_HORN1], features[FEATURE_UNATHI_COLOR_HORN1])
WRITE_FILE(S[FEATURE_UNATHI_COLOR_HORN2], features[FEATURE_UNATHI_COLOR_HORN2])
WRITE_FILE(S[FEATURE_UNATHI_COLOR_SPINE1], features[FEATURE_UNATHI_COLOR_SPINE1])
WRITE_FILE(S[FEATURE_UNATHI_COLOR_SPINE2], features[FEATURE_UNATHI_COLOR_SPINE2])
WRITE_FILE(S[FEATURE_UNATHI_COLOR_TAIL1], features[FEATURE_UNATHI_COLOR_TAIL1])
WRITE_FILE(S[FEATURE_UNATHI_COLOR_TAIL2], features[FEATURE_UNATHI_COLOR_TAIL2])

//Flavor text
WRITE_FILE(S["feature_flavor_text"] , features["flavor_text"])
//Custom names
Expand Down
7 changes: 4 additions & 3 deletions code/modules/jobs/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,10 @@
if (gen_ship_access(ship))
return TRUE

var/obj/item/card/id/id = item?.GetID()
if (id?.has_ship_access(ship))
return TRUE
if(istype(item, /obj/item/card/id))
var/obj/item/card/id/id = item.GetID()
if (id.has_ship_access(ship))
return TRUE

return FALSE

Expand Down
3 changes: 1 addition & 2 deletions code/modules/language/language_holder.dm
Original file line number Diff line number Diff line change
Expand Up @@ -270,8 +270,7 @@ Key procs
understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
/datum/language/draconic = list(LANGUAGE_ATOM))
spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
/datum/language/draconic = list(LANGUAGE_ATOM),
/datum/language/yeosa = list(LANGUAGE_ATOM))
/datum/language/draconic = list(LANGUAGE_ATOM))

/datum/language_holder/lizard/ash
selected_language = /datum/language/draconic
Expand Down
Loading

0 comments on commit ce3050f

Please sign in to comment.