Only species with CAN_BE_FAT can, well, be fat.

This commit is contained in:
Rob Nelson
2013-09-07 03:15:19 -07:00
parent 2f91c79645
commit 8ae61739f5
4 changed files with 29 additions and 24 deletions

View File

@@ -16,7 +16,7 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set
"infested monkey" = IS_MODE_COMPILED("monkey"), // 9
"ninja" = "true", // 10
"vox raider" = IS_MODE_COMPILED("heist"), // 11
"diona" = 1, // 12
"diona" = 0, // 12
)
var/const/MAX_SAVE_SLOTS = 10
@@ -520,6 +520,8 @@ datum/preferences
return
proc/ShowDisabilityState(mob/user,flag,label)
if(flag==DISABILITY_FLAG_FAT && species!="Human")
return "<li><i>[species] cannot be fat.</i></li>"
return "<li><b>[label]:</b> <a href=\"?_src_=prefs;task=input;preference=disabilities;disability=[flag]\">[disabilities & flag ? "Yes" : "No"]</a></li>"
proc/SetDisabilities(mob/user)
@@ -761,8 +763,10 @@ datum/preferences
disabilities=0
SetDisabilities(user)
if("input")
if(text2num(href_list["disability"]) >= 0)
disabilities ^= text2num(href_list["disability"]) //MAGIC
var/dflag=text2num(href_list["disability"])
if(dflag >= 0)
if(dflag==DISABILITY_FLAG_FAT && species=="Human")
disabilities ^= text2num(href_list["disability"]) //MAGIC
SetDisabilities(user)
else
SetDisabilities(user)
@@ -1251,7 +1255,7 @@ datum/preferences
else if(status == "cyborg")
O.status |= ORGAN_ROBOT
if(disabilities & DISABILITY_FLAG_FAT)
if(disabilities & DISABILITY_FLAG_FAT && species=="Human")//character.species.flags & CAN_BE_FAT)
character.mutations += FAT
if(disabilities & DISABILITY_FLAG_NEARSIGHTED)
character.disabilities|=NEARSIGHTED

View File

@@ -869,22 +869,23 @@
heal_overall_damage(1,1)
//The fucking FAT mutation is the greatest shit ever. It makes everyone so hot and bothered.
if(FAT in mutations)
if(overeatduration < 100)
src << "\blue You feel fit again!"
mutations.Remove(FAT)
update_mutantrace(0)
update_mutations(0)
update_inv_w_uniform(0)
update_inv_wear_suit()
else
if(overeatduration > 500)
src << "\red You suddenly feel blubbery!"
mutations.Add(FAT)
update_mutantrace(0)
update_mutations(0)
update_inv_w_uniform(0)
update_inv_wear_suit()
if(species.flags & CAN_BE_FAT)
if(FAT in mutations)
if(overeatduration < 100)
src << "\blue You feel fit again!"
mutations.Remove(FAT)
update_mutantrace(0)
update_mutations(0)
update_inv_w_uniform(0)
update_inv_wear_suit()
else
if(overeatduration > 500)
src << "\red You suddenly feel blubbery!"
mutations.Add(FAT)
update_mutantrace(0)
update_mutations(0)
update_inv_w_uniform(0)
update_inv_wear_suit()
// nutrition decrease
if (nutrition > 0 && stat != 2)

View File

@@ -145,7 +145,7 @@ datum/preferences
icobase = 'icons/mob/human_races/r_human.dmi'
var/fat=""
if(disabilities&DISABILITY_FLAG_FAT)
if(disabilities&DISABILITY_FLAG_FAT && current_species.flags & CAN_BE_FAT)
fat="_fat"
preview_icon = new /icon(icobase, "torso_[g][fat]")
preview_icon.Blend(new /icon(icobase, "groin_[g]"), ICON_OVERLAY)

View File

@@ -308,9 +308,9 @@ var/MAX_EXPLOSION_RANGE = 14
// Used in preferences.
#define DISABILITY_FLAG_NEARSIGHTED 1
#define DISABILITY_FLAG_FAT 2
#define DISABILITY_FLAG_EPILEPTIC 4
#define DISABILITY_FLAG_DEAF 4
#define DISABILITY_FLAG_FAT 2
#define DISABILITY_FLAG_EPILEPTIC 4
#define DISABILITY_FLAG_DEAF 8
// Generic mutations:
#define TK 1