Species Economic Modifier Fixes (#3291)

* economy fixes
* fix scaling
This commit is contained in:
Lohikar
2017-08-30 21:10:00 +02:00
committed by Werner
parent 9c472d4ce3
commit 8dd6cead66
4 changed files with 74 additions and 71 deletions
+16 -25
View File
@@ -63,16 +63,18 @@
var/loyalty = 1
if(H.client)
switch(H.client.prefs.nanotrasen_relation)
if(COMPANY_LOYAL) loyalty = 1.30
if(COMPANY_SUPPORTATIVE)loyalty = 1.15
if(COMPANY_NEUTRAL) loyalty = 1
if(COMPANY_SKEPTICAL) loyalty = 0.85
if(COMPANY_OPPOSED) loyalty = 0.70
if(COMPANY_LOYAL) loyalty = 1.30
if(COMPANY_SUPPORTATIVE) loyalty = 1.15
if(COMPANY_NEUTRAL) loyalty = 1
if(COMPANY_SKEPTICAL) loyalty = 0.85
if(COMPANY_OPPOSED) loyalty = 0.70
//give them an account in the station database
var/species_modifier = (H.species ? economic_species_modifier[H.species.type] : 2)
if(!species_modifier)
species_modifier = economic_species_modifier[/datum/species/human]
var/species_modifier = (H.species ? H.species.economic_modifier : null)
if (!species_modifier)
var/datum/species/human_species = global.all_species["Human"]
species_modifier = human_species.economic_modifier
PROCLOG_WEIRD("species [H.species || "NULL"] did not have a set economic_modifier!")
var/money_amount = (rand(5,50) + rand(5, 50)) * loyalty * economic_modifier * species_modifier
var/datum/money_account/M = create_account(H.real_name, money_amount, null)
@@ -133,25 +135,14 @@
var/loyalty = 1
if(H.client)
switch(H.client.prefs.nanotrasen_relation)
if(COMPANY_LOYAL) loyalty = 3
if(COMPANY_SUPPORTATIVE)loyalty = 2
if(COMPANY_NEUTRAL) loyalty = 1
if(COMPANY_SKEPTICAL) loyalty = -2
if(COMPANY_OPPOSED) loyalty = -3
if(COMPANY_LOYAL) loyalty = 3
if(COMPANY_SUPPORTATIVE) loyalty = 2
if(COMPANY_NEUTRAL) loyalty = 1
if(COMPANY_SKEPTICAL) loyalty = -2
if(COMPANY_OPPOSED) loyalty = -3
//give them an account in the station database
var/species_modifier = 0
if(economic_species_modifier[H.species.type])
switch(economic_species_modifier[H.species.type])
if(/datum/species/human) species_modifier = 0
if(/datum/species/skrell) species_modifier = 0
if(/datum/species/tajaran) species_modifier = -2
if(/datum/species/unathi) species_modifier = -2
if(/datum/species/diona) species_modifier = -4
if(/datum/species/machine) species_modifier = -4
if(/datum/species/bug) species_modifier = -6
else species_modifier = -3
var/species_modifier = min((H.species ? H.species.economic_modifier : 0) - 9, 0)
var/wealth = (loyalty + economic_modifier + species_modifier)
-11
View File
@@ -46,17 +46,6 @@
#define GEAR_EVA 15
/var/list/economic_species_modifier = list(
/datum/species/human = 12,
/datum/species/skrell = 10,
/datum/species/tajaran = 7,
/datum/species/unathi = 7,
/datum/species/diona = 3,
/datum/species/machine = 3,
/datum/species/bug = 1
)
//---- 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.
@@ -13,6 +13,7 @@
var/bodytype
var/age_min = 17
var/age_max = 85
var/economic_modifier = 0
// Icon/appearance vars.
var/icobase = 'icons/mob/human_races/r_human.dmi' // Normal icon set.
@@ -5,8 +5,15 @@
name_plural = "Humans"
bodytype = "Human"
age_max = 125
economic_modifier = 12
primitive_form = "Monkey"
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/punch, /datum/unarmed_attack/bite)
unarmed_types = list(
/datum/unarmed_attack/stomp,
/datum/unarmed_attack/kick,
/datum/unarmed_attack/punch,
/datum/unarmed_attack/bite
)
blurb = "Humanity originated in the Sol system, and over the last four centuries has spread colonies across a wide swathe of space. \
They hold a wide range of forms and creeds.<br><br>\
The Sol Alliance is still massively influential, but independent human nations have managed to shake off its dominance and forge their \
@@ -21,7 +28,7 @@
appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_TONE | HAS_LIPS | HAS_UNDERWEAR | HAS_EYE_COLOR | HAS_SOCKS
remains_type = /obj/effect/decal/remains/human
stamina = 130 // Humans can sprint for longer than any other species
stamina = 130 // Humans can sprint for longer than any other species
stamina_recovery = 5
sprint_speed_factor = 0.9
sprint_cost_factor = 0.5
@@ -35,7 +42,12 @@
deform = 'icons/mob/human_races/r_def_lizard.dmi'
tail = "sogtail"
tail_animation = 'icons/mob/species/unathi/tail.dmi'
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp)
unarmed_types = list(
/datum/unarmed_attack/stomp,
/datum/unarmed_attack/kick,
/datum/unarmed_attack/claws,
/datum/unarmed_attack/bite/sharp
)
primitive_form = "Stok"
darksight = 3
gluttonous = 1
@@ -44,6 +56,7 @@
fall_mod = 1.2
ethanol_resistance = 0.4
taste_sensitivity = TASTE_SENSITIVE
economic_modifier = 7
num_alternate_languages = 2
secondary_langs = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
@@ -74,8 +87,8 @@
heat_level_3 = 1100 //Default 1000
inherent_verbs = list(
/mob/living/proc/devour,
/mob/living/carbon/human/proc/regurgitate
/mob/living/proc/devour,
/mob/living/carbon/human/proc/regurgitate
)
@@ -110,13 +123,18 @@
/datum/species/tajaran
name = "Tajara"
short_name = "taj"
name_plural = "Tajaran"
name_plural = "Tajara"
bodytype = "Tajara"
icobase = 'icons/mob/human_races/r_tajaran.dmi'
deform = 'icons/mob/human_races/r_def_tajaran.dmi'
tail = "tajtail"
tail_animation = 'icons/mob/species/tajaran/tail.dmi'
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp)
unarmed_types = list(
/datum/unarmed_attack/stomp,
/datum/unarmed_attack/kick,
/datum/unarmed_attack/claws,
/datum/unarmed_attack/bite/sharp
)
darksight = 8
slowdown = -1
brute_mod = 1.2
@@ -126,8 +144,9 @@
name_language = LANGUAGE_SIIK_MAAS
ethanol_resistance = 0.8//Gets drunk a little faster
rarity_value = 2
economic_modifier = 7
stamina = 90 // Tajarans evolved to maintain a steady pace in the snow, sprinting wastes energy
stamina = 90 // Tajara evolved to maintain a steady pace in the snow, sprinting wastes energy
stamina_recovery = 4
sprint_speed_factor = 0.65
sprint_cost_factor = 0.75
@@ -160,7 +179,7 @@
"Your fur prickles in the heat.",
"You feel uncomfortably warm.",
"Your overheated skin itches."
)
)
cold_discomfort_level = 275
/datum/species/tajaran/equip_survival_gear(var/mob/living/carbon/human/H)
@@ -175,6 +194,7 @@
name_plural = "Skrell"
bodytype = "Skrell"
age_max = 500
economic_modifier = 10
icobase = 'icons/mob/human_races/r_skrell.dmi'
deform = 'icons/mob/human_races/r_def_skrell.dmi'
eyes = "skrell_eyes_s"
@@ -205,21 +225,25 @@
ethanol_resistance = 0.5//gets drunk faster
taste_sensitivity = TASTE_SENSITIVE
stamina = 90
stamina = 90
sprint_speed_factor = 1.25 //Evolved for rapid escapes from predators
/datum/species/diona
name = "Diona"
short_name = "dio"
name_plural = "Dionaea"
bodytype = "Diona"
age_max = 1000
economic_modifier = 3
icobase = 'icons/mob/human_races/r_diona.dmi'
deform = 'icons/mob/human_races/r_def_plant.dmi'
language = "Ceti Basic"
default_language = LANGUAGE_ROOTSONG
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/diona)
unarmed_types = list(
/datum/unarmed_attack/stomp,
/datum/unarmed_attack/kick,
/datum/unarmed_attack/diona
)
//primitive_form = "Nymph"
slowdown = 7
rarity_value = 4
@@ -229,9 +253,9 @@
show_ssd = "completely quiescent"
num_alternate_languages = 1
name_language = "Rootsong"
ethanol_resistance = -1//Can't get drunk
ethanol_resistance = -1 //Can't get drunk
taste_sensitivity = TASTE_DULL
mob_size = 12//Worker gestalts are 150kg
mob_size = 12 //Worker gestalts are 150kg
remains_type = /obj/effect/decal/cleanable/ash //no bones, so, they just turn into dust
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; \
@@ -242,13 +266,13 @@
water and other radiation."
has_organ = list(
"nutrient channel" = /obj/item/organ/diona/nutrients,
"neural strata" = /obj/item/organ/diona/strata,
"response node" = /obj/item/organ/diona/node,
"gas bladder" = /obj/item/organ/diona/bladder,
"polyp segment" = /obj/item/organ/diona/polyp,
"nutrient channel" = /obj/item/organ/diona/nutrients,
"neural strata" = /obj/item/organ/diona/strata,
"response node" = /obj/item/organ/diona/node,
"gas bladder" = /obj/item/organ/diona/bladder,
"polyp segment" = /obj/item/organ/diona/polyp,
"anchoring ligament" = /obj/item/organ/diona/ligament
)
)
has_limbs = list(
"chest" = list("path" = /obj/item/organ/external/chest/diona),
@@ -262,7 +286,7 @@
"r_hand" = list("path" = /obj/item/organ/external/hand/right/diona),
"l_foot" = list("path" = /obj/item/organ/external/foot/diona),
"r_foot" = list("path" = /obj/item/organ/external/foot/right/diona)
)
)
//inherent_verbs = list()
@@ -288,8 +312,8 @@
reagent_tag = IS_DIONA
stamina = -1 // Diona sprinting uses energy instead of stamina
sprint_speed_factor = 0.5 //Speed gained is minor
stamina = -1 // Diona sprinting uses energy instead of stamina
sprint_speed_factor = 0.5 //Speed gained is minor
sprint_cost_factor = 0.8
/datum/species/diona/handle_sprint_cost(var/mob/living/carbon/H, var/cost)
@@ -321,8 +345,6 @@
H << span("danger", "We have expended our energy reserves, and cannot continue to move at such a pace. We must find light!")
return 0
/datum/species/diona/can_understand(var/mob/other)
var/mob/living/carbon/alien/diona/D = other
if(istype(D))
@@ -350,7 +372,6 @@
else//Most of the stuff in the parent function doesnt apply to nymphs
add_inherent_verbs(H)
/datum/species/diona/handle_death(var/mob/living/carbon/human/H, var/gibbed = 0)
if (!gibbed)
// This proc sleeps. Async it.
@@ -364,6 +385,7 @@
bodytype = "Machine"
age_min = 1
age_max = 30
economic_modifier = 3
blurb = "IPCs are, quite simply, 'Integrated Positronic Chassis'. In this scenario, positronic does not mean anything significant - it is a nickname given \
to all advanced processing units, based on the works of vintage writer Isaac Asimov. The long of the short is that they represent all unbound synthetic \
@@ -421,11 +443,11 @@
reagent_tag = IS_MACHINE
has_organ = list(
"brain" = /obj/item/organ/mmi_holder/posibrain,
"cell" = /obj/item/organ/cell,
"optics" = /obj/item/organ/eyes/optical_sensor,
"brain" = /obj/item/organ/mmi_holder/posibrain,
"cell" = /obj/item/organ/cell,
"optics" = /obj/item/organ/eyes/optical_sensor,
"ipc tag" = /obj/item/organ/ipc_tag
)
)
vision_organ = "optics"
@@ -441,15 +463,15 @@
"r_hand" = list("path" = /obj/item/organ/external/hand/right/ipc),
"l_foot" = list("path" = /obj/item/organ/external/foot/ipc),
"r_foot" = list("path" = /obj/item/organ/external/foot/right/ipc)
)
)
heat_discomfort_level = 373.15
heat_discomfort_strings = list(
"Your CPU temperature probes warn you that you are approaching critical heat levels!"
)
stamina = -1 // Machines use power and generate heat, stamina is not a thing
sprint_speed_factor = 1 // About as capable of speed as a human
stamina = -1 // Machines use power and generate heat, stamina is not a thing
sprint_speed_factor = 1 // About as capable of speed as a human
datum/species/machine/handle_post_spawn(var/mob/living/carbon/human/H)
H.gender = NEUTER
@@ -473,8 +495,7 @@ datum/species/machine/handle_post_spawn(var/mob/living/carbon/human/H)
/datum/species/machine/handle_death(var/mob/living/carbon/human/H)
..()
H.h_style = ""
spawn(100)
if(H) H.update_hair()
addtimer(CALLBACK(H, /mob/living/carbon/human/.proc/update_hair), 100)
/datum/species/machine/sanitize_name(var/new_name)
return sanitizeName(new_name, allow_numbers = 1)
@@ -586,6 +607,7 @@ datum/species/machine/handle_post_spawn(var/mob/living/carbon/human/H)
bodytype = "Vaurca"
age_min = 1
age_max = 20
economic_modifier = 1
language = LANGUAGE_VAURCA
primitive_form = "V'krexi"
greater_form = "Vaurca Warrior"