From 323d3aa42c41f8e8a2db492b00c9541d584ece24 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Thu, 19 Apr 2018 18:06:02 -0500 Subject: [PATCH] Species economic modifier is now a species var --- code/game/jobs/job/job.dm | 2 +- code/modules/economy/economy_misc.dm | 11 - .../living/carbon/human/species/species.dm | 225 +++++++++--------- .../human/species/station/prometheans.dm | 7 +- .../carbon/human/species/station/seromi.dm | 4 + .../carbon/human/species/station/station.dm | 12 + 6 files changed, 136 insertions(+), 125 deletions(-) diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index e2a92afd348..6a51a8a560c 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -61,7 +61,7 @@ if(CLASS_LOWER) income = 0.50 //give them an account in the station database - var/money_amount = (rand(5,50) + rand(5, 50)) * income * economic_modifier * (H.species ? economic_species_modifier[H.species.type] : 2) + var/money_amount = (rand(5,50) + rand(5, 50)) * income * economic_modifier * (H.species.economic_modifier) var/datum/money_account/M = create_account(H.real_name, money_amount, null) if(H.mind) var/remembered_info = "" diff --git a/code/modules/economy/economy_misc.dm b/code/modules/economy/economy_misc.dm index 1ca55ddf08f..4dce5a62a85 100644 --- a/code/modules/economy/economy_misc.dm +++ b/code/modules/economy/economy_misc.dm @@ -47,17 +47,6 @@ #define GEAR_EVA 15 -/var/list/economic_species_modifier = list( - /datum/species/human = 10, - /datum/species/human/vatgrown = 10, - /datum/species/skrell = 12, - /datum/species/unathi = 7, - /datum/species/tajaran = 7, - /datum/species/teshari = 6, - /datum/species/diona = 4, - /datum/species/shapeshifter/promethean = 3 - ) - //---- The following corporations are friendly with NanoTrasen and loosely enable trade and travel: //Corporation NanoTrasen - Generalised / high tech research and phoron exploitation. //Corporation Vessel Contracting - Ship and station construction, materials research. diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 787ec957192..bddbf7b9820 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -5,84 +5,84 @@ /datum/species // Descriptors and strings. - var/name // Species name. - var/name_plural // Pluralized name (since "[name]s" is not always valid) - var/blurb = "A completely nondescript species." // A brief lore summary for use in the chargen screen. + var/name // Species name. + var/name_plural // Pluralized name (since "[name]s" is not always valid) + var/blurb = "A completely nondescript species." // A brief lore summary for use in the chargen screen. // Icon/appearance vars. - var/icobase = 'icons/mob/human_races/r_human.dmi' // Normal icon set. - var/deform = 'icons/mob/human_races/r_def_human.dmi' // Mutated icon set. + var/icobase = 'icons/mob/human_races/r_human.dmi' // Normal icon set. + var/deform = 'icons/mob/human_races/r_def_human.dmi' // Mutated icon set. - var/speech_bubble_appearance = "normal" // Part of icon_state to use for speech bubbles when talking. See talk.dmi for available icons. - var/fire_icon_state = "humanoid" // The icon_state used inside OnFire.dmi for when on fire. - var/suit_storage_icon = 'icons/mob/belt_mirror.dmi' // Icons used for worn items in suit storage slot. + var/speech_bubble_appearance = "normal" // Part of icon_state to use for speech bubbles when talking. See talk.dmi for available icons. + var/fire_icon_state = "humanoid" // The icon_state used inside OnFire.dmi for when on fire. + var/suit_storage_icon = 'icons/mob/belt_mirror.dmi' // Icons used for worn items in suit storage slot. // Damage overlay and masks. var/damage_overlays = 'icons/mob/human_races/masks/dam_human.dmi' var/damage_mask = 'icons/mob/human_races/masks/dam_mask_human.dmi' var/blood_mask = 'icons/mob/human_races/masks/blood_human.dmi' - var/prone_icon // If set, draws this from icobase when mob is prone. - var/blood_color = "#A10808" // Red. - var/flesh_color = "#FFC896" // Pink. - var/base_color // Used by changelings. Should also be used for icon previews. + var/prone_icon // If set, draws this from icobase when mob is prone. + var/blood_color = "#A10808" // Red. + var/flesh_color = "#FFC896" // Pink. + var/base_color // Used by changelings. Should also be used for icon previews. - var/tail // Name of tail state in species effects icon file. - var/tail_animation // If set, the icon to obtain tail animation states from. + var/tail // Name of tail state in species effects icon file. + var/tail_animation // If set, the icon to obtain tail animation states from. var/tail_hair - var/icon_scale = 1 // Makes the icon larger/smaller. + var/icon_scale = 1 // Makes the icon larger/smaller. - var/race_key = 0 // Used for mob icon cache string. - var/icon/icon_template // Used for mob icon generation for non-32x32 species. + var/race_key = 0 // Used for mob icon cache string. + var/icon/icon_template // Used for mob icon generation for non-32x32 species. var/mob_size = MOB_MEDIUM var/show_ssd = "fast asleep" var/virus_immune - var/short_sighted // Permanent weldervision. - var/blood_volume = 560 // Initial blood volume. - var/bloodloss_rate = 1 // Multiplier for how fast a species bleeds out. Higher = Faster - var/hunger_factor = 0.05 // Multiplier for hunger. - var/active_regen_mult = 1 // Multiplier for 'Regenerate' power speed, in human_powers.dm + var/short_sighted // Permanent weldervision. + var/blood_volume = 560 // Initial blood volume. + var/bloodloss_rate = 1 // Multiplier for how fast a species bleeds out. Higher = Faster + var/hunger_factor = 0.05 // Multiplier for hunger. + var/active_regen_mult = 1 // Multiplier for 'Regenerate' power speed, in human_powers.dm - var/taste_sensitivity = TASTE_NORMAL // How sensitive the species is to minute tastes. + var/taste_sensitivity = TASTE_NORMAL // How sensitive the species is to minute tastes. var/min_age = 17 var/max_age = 70 // Language/culture vars. - var/default_language = LANGUAGE_GALCOM // Default language is used when 'say' is used without modifiers. - var/language = LANGUAGE_GALCOM // Default racial language, if any. - var/species_language = LANGUAGE_GALCOM // Used on the Character Setup screen - var/list/secondary_langs = list() // The names of secondary languages that are available to this species. - var/list/speech_sounds // A list of sounds to potentially play when speaking. - var/list/speech_chance // The likelihood of a speech sound playing. - var/num_alternate_languages = 0 // How many secondary languages are available to select at character creation - var/name_language = LANGUAGE_GALCOM // The language to use when determining names for this species, or null to use the first name/last name generator + var/default_language = LANGUAGE_GALCOM // Default language is used when 'say' is used without modifiers. + var/language = LANGUAGE_GALCOM // Default racial language, if any. + var/species_language = LANGUAGE_GALCOM // Used on the Character Setup screen + var/list/secondary_langs = list() // The names of secondary languages that are available to this species. + var/list/speech_sounds // A list of sounds to potentially play when speaking. + var/list/speech_chance // The likelihood of a speech sound playing. + var/num_alternate_languages = 0 // How many secondary languages are available to select at character creation + var/name_language = LANGUAGE_GALCOM // The language to use when determining names for this species, or null to use the first name/last name generator //Soundy emotey things. var/scream_verb = "screams" - var/male_scream_sound //= 'sound/goonstation/voice/male_scream.ogg' Removed due to licensing, replace! - var/female_scream_sound //= 'sound/goonstation/voice/female_scream.ogg' Removed due to licensing, replace! + var/male_scream_sound //= 'sound/goonstation/voice/male_scream.ogg' Removed due to licensing, replace! + var/female_scream_sound //= 'sound/goonstation/voice/female_scream.ogg' Removed due to licensing, replace! var/male_cough_sounds = list('sound/effects/mob_effects/m_cougha.ogg','sound/effects/mob_effects/m_coughb.ogg', 'sound/effects/mob_effects/m_coughc.ogg') var/female_cough_sounds = list('sound/effects/mob_effects/f_cougha.ogg','sound/effects/mob_effects/f_coughb.ogg') var/male_sneeze_sound = 'sound/effects/mob_effects/sneeze.ogg' var/female_sneeze_sound = 'sound/effects/mob_effects/f_sneeze.ogg' // Combat vars. - var/total_health = 100 // Point at which the mob will enter crit. - var/list/unarmed_types = list( // Possible unarmed attacks that the mob will use in combat, + var/total_health = 100 // Point at which the mob will enter crit. + var/list/unarmed_types = list( // Possible unarmed attacks that the mob will use in combat, /datum/unarmed_attack, /datum/unarmed_attack/bite ) - var/list/unarmed_attacks = null // For empty hand harm-intent attack - var/brute_mod = 1 // Physical damage multiplier. - var/burn_mod = 1 // Burn damage multiplier. - var/oxy_mod = 1 // Oxyloss modifier - var/toxins_mod = 1 // Toxloss modifier - var/radiation_mod = 1 // Radiation modifier - var/flash_mod = 1 // Stun from blindness modifier. - var/chemOD_mod = 1 // Damage modifier for overdose - var/vision_flags = SEE_SELF // Same flags as glasses. + var/list/unarmed_attacks = null // For empty hand harm-intent attack + var/brute_mod = 1 // Physical damage multiplier. + var/burn_mod = 1 // Burn damage multiplier. + var/oxy_mod = 1 // Oxyloss modifier + var/toxins_mod = 1 // Toxloss modifier + var/radiation_mod = 1 // Radiation modifier + var/flash_mod = 1 // Stun from blindness modifier. + var/chemOD_mod = 1 // Damage modifier for overdose + var/vision_flags = SEE_SELF // Same flags as glasses. // Death vars. var/meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/human @@ -95,23 +95,23 @@ var/cloning_modifier = /datum/modifier/cloning_sickness // Environment tolerance/life processes vars. - var/reagent_tag //Used for metabolizing reagents. - var/breath_type = "oxygen" // Non-oxygen gas breathed, if any. - var/poison_type = "phoron" // Poisonous air. - var/exhale_type = "carbon_dioxide" // Exhaled gas type. + var/reagent_tag //Used for metabolizing reagents. + var/breath_type = "oxygen" // Non-oxygen gas breathed, if any. + var/poison_type = "phoron" // Poisonous air. + var/exhale_type = "carbon_dioxide" // Exhaled gas type. - var/body_temperature = 310.15 // Species will try to stabilize at this temperature. (also affects temperature processing) + var/body_temperature = 310.15 // Species will try to stabilize at this temperature. (also affects temperature processing) // Cold - var/cold_level_1 = 260 // Cold damage level 1 below this point. - var/cold_level_2 = 200 // Cold damage level 2 below this point. - var/cold_level_3 = 120 // Cold damage level 3 below this point. + var/cold_level_1 = 260 // Cold damage level 1 below this point. + var/cold_level_2 = 200 // Cold damage level 2 below this point. + var/cold_level_3 = 120 // Cold damage level 3 below this point. - var/breath_cold_level_1 = 240 // Cold gas damage level 1 below this point. - var/breath_cold_level_2 = 180 // Cold gas damage level 2 below this point. - var/breath_cold_level_3 = 100 // Cold gas damage level 3 below this point. + var/breath_cold_level_1 = 240 // Cold gas damage level 1 below this point. + var/breath_cold_level_2 = 180 // Cold gas damage level 2 below this point. + var/breath_cold_level_3 = 100 // Cold gas damage level 3 below this point. - var/cold_discomfort_level = 285 // Aesthetic messages about feeling chilly. + var/cold_discomfort_level = 285 // Aesthetic messages about feeling chilly. var/list/cold_discomfort_strings = list( "You feel chilly.", "You shiver suddenly.", @@ -119,15 +119,15 @@ ) // Hot - var/heat_level_1 = 360 // Heat damage level 1 above this point. - var/heat_level_2 = 400 // Heat damage level 2 above this point. - var/heat_level_3 = 1000 // Heat damage level 3 above this point. + var/heat_level_1 = 360 // Heat damage level 1 above this point. + var/heat_level_2 = 400 // Heat damage level 2 above this point. + var/heat_level_3 = 1000 // Heat damage level 3 above this point. - var/breath_heat_level_1 = 380 // Heat gas damage level 1 below this point. - var/breath_heat_level_2 = 450 // Heat gas damage level 2 below this point. - var/breath_heat_level_3 = 1250 // Heat gas damage level 3 below this point. + var/breath_heat_level_1 = 380 // Heat gas damage level 1 below this point. + var/breath_heat_level_2 = 450 // Heat gas damage level 2 below this point. + var/breath_heat_level_3 = 1250 // Heat gas damage level 3 below this point. - var/heat_discomfort_level = 315 // Aesthetic messages about feeling warm. + var/heat_discomfort_level = 315 // Aesthetic messages about feeling warm. var/list/heat_discomfort_strings = list( "You feel sweat drip down your neck.", "You feel uncomfortably warm.", @@ -135,13 +135,13 @@ ) - var/passive_temp_gain = 0 // Species will gain this much temperature every second - var/hazard_high_pressure = HAZARD_HIGH_PRESSURE // Dangerously high pressure. - var/warning_high_pressure = WARNING_HIGH_PRESSURE // High pressure warning. - var/warning_low_pressure = WARNING_LOW_PRESSURE // Low pressure warning. - var/hazard_low_pressure = HAZARD_LOW_PRESSURE // Dangerously low pressure. - var/light_dam // If set, mob will be damaged in light over this value and heal in light below its negative. - var/minimum_breath_pressure = 16 // Minimum required pressure for breath, in kPa + var/passive_temp_gain = 0 // Species will gain this much temperature every second + var/hazard_high_pressure = HAZARD_HIGH_PRESSURE // Dangerously high pressure. + var/warning_high_pressure = WARNING_HIGH_PRESSURE // High pressure warning. + var/warning_low_pressure = WARNING_LOW_PRESSURE // Low pressure warning. + var/hazard_low_pressure = HAZARD_LOW_PRESSURE // Dangerously low pressure. + var/light_dam // If set, mob will be damaged in light over this value and heal in light below its negative. + var/minimum_breath_pressure = 16 // Minimum required pressure for breath, in kPa var/metabolic_rate = 1 @@ -149,52 +149,55 @@ // HUD data vars. var/datum/hud_data/hud var/hud_type - var/health_hud_intensity = 1 // This modifies how intensely the health hud is colored. + var/health_hud_intensity = 1 // This modifies how intensely the health hud is colored. // Body/form vars. - var/list/inherent_verbs // Species-specific verbs. - var/has_fine_manipulation = 1 // Can use small items. - var/siemens_coefficient = 1 // The lower, the thicker the skin and better the insulation. - var/darksight = 2 // Native darksight distance. - var/flags = 0 // Various specific features. - var/appearance_flags = 0 // Appearance/display related features. - var/spawn_flags = 0 // Flags that specify who can spawn as this species + var/list/inherent_verbs // Species-specific verbs. + var/has_fine_manipulation = 1 // Can use small items. + var/siemens_coefficient = 1 // The lower, the thicker the skin and better the insulation. + var/darksight = 2 // Native darksight distance. + var/flags = 0 // Various specific features. + var/appearance_flags = 0 // Appearance/display related features. + var/spawn_flags = 0 // Flags that specify who can spawn as this species - var/slowdown = 0 // Passive movement speed malus (or boost, if negative) + var/slowdown = 0 // Passive movement speed malus (or boost, if negative) var/obj/effect/decal/cleanable/blood/tracks/move_trail = /obj/effect/decal/cleanable/blood/tracks/footprints // What marks are left when walking var/list/skin_overlays = list() - var/has_floating_eyes = 0 // Whether the eyes can be shown above other icons - var/has_glowing_eyes = 0 // Whether the eyes are shown above all lighting - var/water_movement = 0 // How much faster or slower the species is in water - var/snow_movement = 0 // How much faster or slower the species is on snow + var/has_floating_eyes = 0 // Whether the eyes can be shown above other icons + var/has_glowing_eyes = 0 // Whether the eyes are shown above all lighting + var/water_movement = 0 // How much faster or slower the species is in water + var/snow_movement = 0 // How much faster or slower the species is on snow - var/item_slowdown_mod = 1 // How affected by item slowdown the species is. - var/primitive_form // Lesser form, if any (ie. monkey for humans) - var/greater_form // Greater form, if any, ie. human for monkeys. + var/item_slowdown_mod = 1 // How affected by item slowdown the species is. + var/primitive_form // Lesser form, if any (ie. monkey for humans) + var/greater_form // Greater form, if any, ie. human for monkeys. var/holder_type - var/gluttonous // Can eat some mobs. 1 for mice, 2 for monkeys, 3 for people. - var/rarity_value = 1 // Relative rarity/collector value for this species. - // Determines the organs that the species spawns with and - var/list/has_organ = list( // which required-organ checks are conducted. - O_HEART = /obj/item/organ/internal/heart, - O_LUNGS = /obj/item/organ/internal/lungs, - O_LIVER = /obj/item/organ/internal/liver, - O_KIDNEYS = /obj/item/organ/internal/kidneys, - O_BRAIN = /obj/item/organ/internal/brain, + var/gluttonous // Can eat some mobs. 1 for mice, 2 for monkeys, 3 for people. + + var/rarity_value = 1 // Relative rarity/collector value for this species. + var/economic_modifier = 2 // How much money this species makes + + // Determines the organs that the species spawns with and + var/list/has_organ = list( // which required-organ checks are conducted. + O_HEART = /obj/item/organ/internal/heart, + O_LUNGS = /obj/item/organ/internal/lungs, + O_LIVER = /obj/item/organ/internal/liver, + O_KIDNEYS = /obj/item/organ/internal/kidneys, + O_BRAIN = /obj/item/organ/internal/brain, O_APPENDIX = /obj/item/organ/internal/appendix, - O_EYES = /obj/item/organ/internal/eyes + O_EYES = /obj/item/organ/internal/eyes ) - var/vision_organ // If set, this organ is required for vision. Defaults to "eyes" if the species has them. + var/vision_organ // If set, this organ is required for vision. Defaults to "eyes" if the species has them. var/list/has_limbs = list( - BP_TORSO = list("path" = /obj/item/organ/external/chest), - BP_GROIN = list("path" = /obj/item/organ/external/groin), - BP_HEAD = list("path" = /obj/item/organ/external/head), - BP_L_ARM = list("path" = /obj/item/organ/external/arm), - BP_R_ARM = list("path" = /obj/item/organ/external/arm/right), - BP_L_LEG = list("path" = /obj/item/organ/external/leg), - BP_R_LEG = list("path" = /obj/item/organ/external/leg/right), + BP_TORSO = list("path" = /obj/item/organ/external/chest), + BP_GROIN = list("path" = /obj/item/organ/external/groin), + BP_HEAD = list("path" = /obj/item/organ/external/head), + BP_L_ARM = list("path" = /obj/item/organ/external/arm), + BP_R_ARM = list("path" = /obj/item/organ/external/arm/right), + BP_L_LEG = list("path" = /obj/item/organ/external/leg), + BP_R_LEG = list("path" = /obj/item/organ/external/leg/right), BP_L_HAND = list("path" = /obj/item/organ/external/hand), BP_R_HAND = list("path" = /obj/item/organ/external/hand/right), BP_L_FOOT = list("path" = /obj/item/organ/external/foot), @@ -202,12 +205,12 @@ ) var/list/genders = list(MALE, FEMALE) - var/ambiguous_genders = FALSE // If true, people examining a member of this species whom are not also the same species will see them as gender neutral. Because aliens. + var/ambiguous_genders = FALSE // If true, people examining a member of this species whom are not also the same species will see them as gender neutral. Because aliens. // Bump vars - var/bump_flag = HUMAN // What are we considered to be when bumped? - var/push_flags = ~HEAVY // What can we push? - var/swap_flags = ~HEAVY // What can we swap place with? + var/bump_flag = HUMAN // What are we considered to be when bumped? + var/push_flags = ~HEAVY // What can we push? + var/swap_flags = ~HEAVY // What can we swap place with? var/pass_flags = 0 @@ -283,9 +286,9 @@ if((organ in H.organs) || (organ in H.internal_organs)) qdel(organ) - if(H.organs) H.organs.Cut() - if(H.internal_organs) H.internal_organs.Cut() - if(H.organs_by_name) H.organs_by_name.Cut() + if(H.organs) H.organs.Cut() + if(H.internal_organs) H.internal_organs.Cut() + if(H.organs_by_name) H.organs_by_name.Cut() if(H.internal_organs_by_name) H.internal_organs_by_name.Cut() H.organs = list() diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans.dm b/code/modules/mob/living/carbon/human/species/station/prometheans.dm index 00f7973202c..94b38d10d96 100644 --- a/code/modules/mob/living/carbon/human/species/station/prometheans.dm +++ b/code/modules/mob/living/carbon/human/species/station/prometheans.dm @@ -35,11 +35,14 @@ var/datum/species/shapeshifter/promethean/prometheans male_cough_sounds = list('sound/effects/slime_squish.ogg') female_cough_sounds = list('sound/effects/slime_squish.ogg') + min_age = 1 + max_age = 10 + + economic_modifier = 3 + gluttonous = 1 virus_immune = 1 blood_volume = 560 - min_age = 1 - max_age = 10 brute_mod = 0.75 burn_mod = 2 oxy_mod = 0 diff --git a/code/modules/mob/living/carbon/human/species/station/seromi.dm b/code/modules/mob/living/carbon/human/species/station/seromi.dm index a8b39251582..1d1c0036bea 100644 --- a/code/modules/mob/living/carbon/human/species/station/seromi.dm +++ b/code/modules/mob/living/carbon/human/species/station/seromi.dm @@ -10,8 +10,12 @@ secondary_langs = list(LANGUAGE_SCHECHI, LANGUAGE_SKRELLIAN) name_language = LANGUAGE_SCHECHI species_language = LANGUAGE_SCHECHI + min_age = 12 max_age = 45 + + economic_modifier = 6 + health_hud_intensity = 3 male_cough_sounds = list('sound/effects/mob_effects/tesharicougha.ogg','sound/effects/mob_effects/tesharicoughb.ogg') diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index f1911b29df5..f605529211e 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -12,8 +12,12 @@ species_language = LANGUAGE_SOL_COMMON secondary_langs = list(LANGUAGE_SOL_COMMON, LANGUAGE_TERMINUS) name_language = null // Use the first-name last-name generator rather than a language scrambler + min_age = 17 max_age = 130 + + economic_modifier = 10 + health_hud_intensity = 1.5 spawn_flags = SPECIES_CAN_JOIN @@ -52,6 +56,8 @@ min_age = 32 max_age = 260 + economic_modifier = 7 + blurb = "A heavily reptillian species, Unathi hail from the \ Uuosa-Eso system, which roughly translates to 'burning mother'.

Coming from a harsh, inhospitable \ planet, they mostly hold ideals of honesty, virtue, proficiency and bravery above all \ @@ -156,6 +162,8 @@ min_age = 17 max_age = 80 + economic_modifier = 7 + blurb = "The Tajaran are a mammalian species resembling roughly felines, hailing from Meralar in the Rarkajar system. \ While reaching to the stars independently from outside influences, the humans engaged them in peaceful trade contact \ and have accelerated the fledgling culture into the interstellar age. Their history is full of war and highly fractious \ @@ -237,6 +245,8 @@ min_age = 19 max_age = 130 + economic_modifier = 12 + darksight = 4 flash_mod = 1.2 chemOD_mod = 0.9 @@ -312,6 +322,8 @@ min_age = 1 max_age = 300 + economic_modifier = 4 + blurb = "Commonly referred to (erroneously) as 'plant people', the Dionaea are a strange space-dwelling collective \ species hailing from Epsilon Ursae Minoris. Each 'diona' is a cluster of numerous cat-sized organisms called nymphs; \ there is no effective upper limit to the number that can fuse in gestalt, and reports exist of the Epsilon Ursae \