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:
TalkingCactus
2017-02-07 00:57:29 -05:00
committed by Poojawa
parent fc18933fc8
commit cdea2c6766
22 changed files with 549 additions and 3 deletions
+34
View File
@@ -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
+1
View File
@@ -2,6 +2,7 @@
/mob/living/carbon/human/verb/suicide()
set hidden = 1
return
if(!canSuicide())
return
var/oldkey = ckey
+13 -2
View File
@@ -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