Adds Arousal as a Damage Type (#204)
* auto vote runtime error fix * part 1 * conflict resolution stop fighting, damnit * includes * species flags * toggleable * reagent recipes
This commit is contained in:
@@ -84,6 +84,9 @@ var/list/preferences_datums = list()
|
||||
var/job_engsec_med = 0
|
||||
var/job_engsec_low = 0
|
||||
|
||||
//citadel code
|
||||
var/arousable = TRUE //Allows players to disable arousal from the character creation menu
|
||||
|
||||
// Want randomjob if preferences already filled - Donkie
|
||||
var/joblessrole = BERANDOMJOB //defaults to 1 for fewer assistants
|
||||
|
||||
@@ -435,6 +438,24 @@ var/list/preferences_datums = list()
|
||||
dat += "</td>"
|
||||
|
||||
dat += "</tr></table>"
|
||||
//citadel code
|
||||
if(NOGENITALS in pref_species.species_traits)
|
||||
dat += "<h2>Your species ([pref_species.name]) does not support genitals!</h2>"
|
||||
else
|
||||
dat += "<h2>Genitals</h2>"
|
||||
|
||||
dat += "<table width='100%'><tr><td width='20%' valign='top'>"
|
||||
|
||||
dat += "<td valign='top' width='20%'>"
|
||||
|
||||
dat += "<h3>Options</h3>"
|
||||
dat += "<b>Arousal:</b><a href='?_src_=prefs;preference=arousable'>[arousable == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
dat += "<h2>More Coming Soon(tm)</h2>"
|
||||
|
||||
dat += "</td>"
|
||||
|
||||
|
||||
dat += "</td></tr></table>"
|
||||
|
||||
|
||||
if (1) // Game Preferences
|
||||
@@ -1301,6 +1322,17 @@ var/list/preferences_datums = list()
|
||||
|
||||
else
|
||||
switch(href_list["preference"])
|
||||
|
||||
//citadel code
|
||||
if("arousable")
|
||||
switch(arousable)
|
||||
if(TRUE)
|
||||
arousable = FALSE
|
||||
if(FALSE)
|
||||
arousable = TRUE
|
||||
else//failsafe
|
||||
arousable = FALSE
|
||||
|
||||
if("publicity")
|
||||
if(unlock_content)
|
||||
toggles ^= MEMBER_PUBLIC
|
||||
@@ -1420,6 +1452,8 @@ var/list/preferences_datums = list()
|
||||
else if(firstspace == name_length)
|
||||
real_name += "[pick(last_names)]"
|
||||
|
||||
//citadel code
|
||||
character.canbearoused = arousable
|
||||
character.real_name = real_name
|
||||
character.name = character.real_name
|
||||
|
||||
|
||||
@@ -175,6 +175,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
S["clientfps"] >> clientfps
|
||||
S["parallax"] >> parallax
|
||||
S["uplink_loc"] >> uplink_spawn_loc
|
||||
//citadel code
|
||||
S["arousable"] >> arousable
|
||||
|
||||
//try to fix any outdated data if necessary
|
||||
if(needs_update >= 0)
|
||||
@@ -231,6 +233,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
S["uses_glasses_colour"]<< uses_glasses_colour
|
||||
S["clientfps"] << clientfps
|
||||
S["parallax"] << parallax
|
||||
//citadel code
|
||||
S["arousable"] << arousable
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
/mob/living/carbon/human/verb/suicide()
|
||||
set hidden = 1
|
||||
return
|
||||
if(!canSuicide())
|
||||
return
|
||||
var/oldkey = ckey
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
adjustCloneLoss(damage * hit_percent)
|
||||
if(STAMINA)
|
||||
adjustStaminaLoss(damage * hit_percent)
|
||||
//citadel code
|
||||
if(AROUSAL)
|
||||
adjustArousalLoss(damage * hit_percent)
|
||||
return 1
|
||||
|
||||
/mob/living/proc/apply_damage_type(damage = 0, damagetype = BRUTE) //like apply damage except it always uses the damage procs
|
||||
@@ -41,6 +44,9 @@
|
||||
return adjustCloneLoss(damage)
|
||||
if(STAMINA)
|
||||
return adjustStaminaLoss(damage)
|
||||
//citadel code
|
||||
if(AROUSAL)
|
||||
return adjustArousalLoss(damage)
|
||||
|
||||
/mob/living/proc/get_damage_amount(damagetype = BRUTE)
|
||||
switch(damagetype)
|
||||
@@ -56,9 +62,12 @@
|
||||
return getCloneLoss()
|
||||
if(STAMINA)
|
||||
return getStaminaLoss()
|
||||
//citadel code
|
||||
if(AROUSAL)
|
||||
return getArousalLoss()
|
||||
|
||||
|
||||
/mob/living/proc/apply_damages(brute = 0, burn = 0, tox = 0, oxy = 0, clone = 0, def_zone = null, blocked = 0, stamina = 0)
|
||||
/mob/living/proc/apply_damages(brute = 0, burn = 0, tox = 0, oxy = 0, clone = 0, def_zone = null, blocked = 0, stamina = 0, arousal = 0)
|
||||
if(blocked >= 100)
|
||||
return 0
|
||||
if(brute)
|
||||
@@ -73,6 +82,9 @@
|
||||
apply_damage(clone, CLONE, def_zone, blocked)
|
||||
if(stamina)
|
||||
apply_damage(stamina, STAMINA, def_zone, blocked)
|
||||
//citadel code
|
||||
if(arousal)
|
||||
apply_damage(arousal, AROUSAL, def_zone, blocked)
|
||||
return 1
|
||||
|
||||
|
||||
@@ -232,7 +244,6 @@
|
||||
/mob/living/proc/setStaminaLoss(amount, updating_stamina = TRUE, forced = FALSE)
|
||||
return
|
||||
|
||||
|
||||
// heal ONE external organ, organ gets randomly selected from damaged ones.
|
||||
/mob/living/proc/heal_bodypart_damage(brute, burn, updating_health = 1)
|
||||
adjustBruteLoss(-brute, 0) //zero as argument for no instant health update
|
||||
|
||||
Reference in New Issue
Block a user