Merge pull request #31 from Alphas00/master

Human genitals fix & Fat persistance
This commit is contained in:
evilew
2024-11-30 21:44:31 +01:00
committed by GitHub
3 changed files with 31 additions and 12 deletions
+19 -3
View File
@@ -5,7 +5,7 @@
/mob/living/carbon/proc/perma_fat_save(mob/living/carbon/character)
var/key = savekey
if(!key)
return FALSE
return FALSE
var/filename = "preferences.sav"
var/path = "data/player_saves/[key[1]]/[key]/[filename]"
@@ -21,11 +21,27 @@
S["weight_gain_persistent"] >> persi
if(persi)
WRITE_FILE(S["starting_weight"] , character.fatness_real)
var/perma
var/perma
S["weight_gain_permanent"] >> perma
if(S["weight_gain_permanent"])
WRITE_FILE(S["permanent_fat"] , character.fatness_perma)
/datum/controller/subsystem/ticker/gather_roundend_feedback()
for(var/mob/m in GLOB.player_list)
if(iscarbon(m))
var/mob/living/carbon/C = m
if(C)
C.perma_fat_save(C)
..()
/obj/machinery/cryopod/despawn_occupant()
var/mob/living/mob_occupant = occupant
if(iscarbon(mob_occupant))
var/mob/living/carbon/C = mob_occupant
if(C)
C.perma_fat_save(C)
..()
/*
/datum/preferences/proc/perma_fat_save(character)
if(iscarbon(character))
@@ -45,7 +61,7 @@
if(!S)
return FALSE
S.cd = "/character[default_slot]"
if(C.client.prefs.weight_gain_persistent)
WRITE_FILE(S["starting_weight"] , C.fatness_real)
if(C.client.prefs.weight_gain_permanent)
-6
View File
@@ -280,12 +280,6 @@ GLOBAL_LIST_EMPTY(cryopod_computers)
var/mob/living/mob_occupant = occupant
var/list/crew_member = list()
//GS13 Process permanent fat
if(iscarbon(mob_occupant))
var/mob/living/carbon/C = mob_occupant
if(C)
C.perma_fat_save(C)
crew_member["name"] = mob_occupant.real_name
if(mob_occupant.mind)
+12 -3
View File
@@ -359,13 +359,22 @@
if("belly_color")
genital_overlay.color = "#[dna.features["belly_color"]]"
//GS13 Port - Specific check for belly since we need organ values specifically and not sprite_accessories, maybe can rewrite this more generically later?
// In any case I don't want any specific calculations done here
//GS13 - Because each genital's file has different naming schemes for their icon_states,
// I've made it so each type is checked and the icon_state built based on which genital it is
if(G.slot == "belly")
genital_overlay.icon = G.icon
genital_overlay.icon_state = "[G.icon_state]_[aroused_state]_[layertext]"
else
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size][(dna.species.use_skintones && !dna.skin_tone_override) ? "_s" : ""]_[aroused_state]_[layertext]"
if(G.slot == "breasts")
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size][(dna.species.use_skintones && !dna.skin_tone_override) ? "-s" : ""]_[aroused_state]_[layertext]"
else
if(G.slot == "penis")
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size]_[aroused_state]_[layertext]"
else
if(G.slot == "vagina")
genital_overlay.icon_state = "[G.slot][(dna.species.use_skintones && !dna.skin_tone_override) ? "-s" : ""]_[S.icon_state]_[size]_[aroused_state]_[layertext]"
else
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size][(dna.species.use_skintones && !dna.skin_tone_override) ? "_s" : ""]_[aroused_state]_[layertext]"
if(layers_num[layer] == GENITALS_FRONT_LAYER && G.genital_flags & GENITAL_THROUGH_CLOTHES)
genital_overlay.layer = -GENITALS_EXPOSED_LAYER