Merge branch 'master' into belt-mining

This commit is contained in:
Heroman3003
2020-02-10 22:47:42 +10:00
committed by GitHub
110 changed files with 2151 additions and 1007 deletions

View File

@@ -586,6 +586,13 @@ emp_act
converted_protection *= perm
return CLAMP(1-converted_protection, 0, 1)
/mob/living/carbon/human/water_act(amount)
adjust_fire_stacks(-amount * 5)
for(var/atom/movable/AM in contents)
AM.water_act(amount)
remove_modifiers_of_type(/datum/modifier/fire)
species.handle_water_damage(src, amount)
/mob/living/carbon/human/shank_attack(obj/item/W, obj/item/weapon/grab/G, mob/user, hit_zone)

View File

@@ -142,7 +142,8 @@
"Your skin prickles in the heat."
)
var/water_resistance = 0.1 // How wet the species gets from being splashed. Only really useful for Prometheans.
var/water_resistance = 0.1 // How wet the species gets from being splashed.
var/water_damage_mod = 0 // How much water damage is multiplied by when splashing this species.
var/passive_temp_gain = 0 // Species will gain this much temperature every second
var/hazard_high_pressure = HAZARD_HIGH_PRESSURE // Dangerously high pressure.
@@ -475,3 +476,9 @@
// Allow species to display interesting information in the human stat panels
/datum/species/proc/Stat(var/mob/living/carbon/human/H)
return
/datum/species/proc/handle_water_damage(var/mob/living/carbon/human/H, var/amount = 0)
amount *= 1 - H.get_water_protection()
amount *= water_damage_mod
if(amount > 0)
H.adjustToxLoss(amount)

View File

@@ -72,6 +72,7 @@ var/datum/species/shapeshifter/promethean/prometheans
siemens_coefficient = 0.8
water_resistance = 0
water_damage_mod = 0.3
genders = list(MALE, FEMALE, NEUTER, PLURAL)
@@ -173,9 +174,13 @@ var/datum/species/shapeshifter/promethean/prometheans
var/regen_burn = TRUE
var/regen_tox = TRUE
var/regen_oxy = TRUE
// VOREStation Removal Start
/*
if(H.fire_stacks < 0 && H.get_water_protection() <= 0.5) // If over half your body is soaked, you're melting.
H.adjustToxLoss(max(0,(3 - (3 * H.get_water_protection())) * heal_rate)) // Tripled because 0.5 is miniscule, and fire_stacks are capped in both directions.
healing = FALSE
*/
//VOREStation Removal End
//Prometheans automatically clean every surface they're in contact with every life tick - this includes the floor without shoes.
//They gain nutrition from doing this.

View File

@@ -4,6 +4,7 @@
push_flags = ~HEAVY
swap_flags = ~HEAVY
gluttonous = 0
water_damage_mod = 0 //No water damage
valid_transform_species = list(
"Human", "Unathi", "Tajara", "Skrell",
"Diona", "Teshari", "Monkey","Sergal",

View File

@@ -580,6 +580,15 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
if(wear_suit && (wear_suit.flags_inv & HIDEJUMPSUIT) && !istype(wear_suit, /obj/item/clothing/suit/space/rig))
return //Wearing a suit that prevents uniform rendering
var/obj/item/clothing/under/under = w_uniform
var/uniform_sprite
if(under.index)
uniform_sprite = "[INV_W_UNIFORM_DEF_ICON]_[under.index].dmi"
else
uniform_sprite = "[INV_W_UNIFORM_DEF_ICON].dmi"
//Build a uniform sprite
//VOREStation Edit start.
var/icon/c_mask = null
@@ -587,9 +596,8 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
var/obj/item/clothing/suit/S = wear_suit
if(!(wear_suit && ((wear_suit.flags_inv & HIDETAIL) || (istype(S) && S.taurized)))) //Clip the lower half of the uniform off using the tail's clip mask.
c_mask = new /icon(tail_style.clip_mask_icon, tail_style.clip_mask_state)
overlays_standing[UNIFORM_LAYER] = w_uniform.make_worn_icon(body_type = species.get_bodytype(src), slot_name = slot_w_uniform_str, default_icon = INV_W_UNIFORM_DEF_ICON, default_layer = UNIFORM_LAYER, clip_mask = c_mask)
overlays_standing[UNIFORM_LAYER] = w_uniform.make_worn_icon(body_type = species.get_bodytype(src), slot_name = slot_w_uniform_str, default_icon = uniform_sprite, default_layer = UNIFORM_LAYER, clip_mask = c_mask)
//VOREStation Edit end.
apply_layer(UNIFORM_LAYER)
/mob/living/carbon/human/update_inv_wear_id()
@@ -758,22 +766,24 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
if(!wear_suit)
return //No point, no suit.
// Part of splitting the suit sprites up
var/iconFile = INV_SUIT_DEF_ICON
var/obj/item/clothing/suit/S //VOREStation edit - break this var out a level for use below.
if(istype(wear_suit, /obj/item/clothing/suit))
S = wear_suit
if(S.update_icon_define)
iconFile = S.update_icon_define
var/obj/item/clothing/suit/suit = wear_suit
var/suit_sprite
if(suit.index)
suit_sprite = "[INV_SUIT_DEF_ICON]_[suit.index].dmi"
else if(istype(suit, /obj/item/clothing) && !isnull(suit.update_icon_define))
suit_sprite = suit.update_icon_define
else
suit_sprite = "[INV_SUIT_DEF_ICON].dmi"
//VOREStation Edit start.
var/icon/c_mask = null
var/tail_is_rendered = (overlays_standing[TAIL_LAYER] || overlays_standing[TAIL_LAYER_ALT])
var/valid_clip_mask = (tail_style && tail_style.clip_mask_icon && tail_style.clip_mask_state)
if(tail_is_rendered && valid_clip_mask && !(S && S.taurized)) //Clip the lower half of the suit off using the tail's clip mask for taurs since taur bodies aren't hidden.
if(tail_is_rendered && valid_clip_mask && !(suit && suit.taurized)) //Clip the lower half of the suit off using the tail's clip mask for taurs since taur bodies aren't hidden.
c_mask = new /icon(tail_style.clip_mask_icon, tail_style.clip_mask_state)
overlays_standing[SUIT_LAYER] = wear_suit.make_worn_icon(body_type = species.get_bodytype(src), slot_name = slot_wear_suit_str, default_icon = iconFile, default_layer = SUIT_LAYER, clip_mask = c_mask)
overlays_standing[SUIT_LAYER] = wear_suit.make_worn_icon(body_type = species.get_bodytype(src), slot_name = slot_wear_suit_str, default_icon = suit_sprite, default_layer = SUIT_LAYER, clip_mask = c_mask)
//VOREStation Edit end.
apply_layer(SUIT_LAYER)

View File

@@ -417,6 +417,14 @@
src.modules += new /obj/item/weapon/tool/screwdriver/cyborg(src)
src.modules += new /obj/item/weapon/reagent_containers/glass/beaker/large(src)
src.modules += new /obj/item/weapon/storage/part_replacer(src)
src.modules += new /obj/item/weapon/card/robot(src)
src.modules += new /obj/item/weapon/gripper/no_use/organ/robotics(src)
src.modules += new /obj/item/weapon/gripper/no_use/mech(src)
src.modules += new /obj/item/device/robotanalyzer(src)
src.modules += new /obj/item/weapon/weldingtool/electric/mounted/cyborg(src)
src.modules += new /obj/item/weapon/tool/wrench/cyborg(src)
src.modules += new /obj/item/weapon/tool/wirecutters/cyborg(src)
src.modules += new /obj/item/device/multitool(src)
src.emag = new /obj/item/weapon/hand_tele(src)
var/datum/matter_synth/water = new /datum/matter_synth(500)
@@ -433,6 +441,21 @@
B.water = water
src.modules += B
var/datum/matter_synth/nanite = new /datum/matter_synth/nanite(10000)
synths += nanite
var/datum/matter_synth/wire = new /datum/matter_synth/wire()
synths += wire
var/obj/item/stack/nanopaste/N = new /obj/item/stack/nanopaste(src)
N.uses_charge = 1
N.charge_costs = list(1000)
N.synths = list(nanite)
src.modules += N
var/obj/item/stack/cable_coil/cyborg/C = new /obj/item/stack/cable_coil/cyborg(src)
C.synths = list(wire)
src.modules += C
R.icon = 'icons/mob/widerobot_vr.dmi'
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
R.ui_style_vr = TRUE
@@ -452,7 +475,8 @@
name = "Construction Hound module"
sprites = list(
"Pupdozer" = "pupdozer",
"Borgi" = "borgi-eng"
"Borgi" = "borgi-eng",
"V2 Engidog" = "thottbot"
)
channels = list("Engineering" = 1)
networks = list(NETWORK_ENGINEERING)
@@ -467,13 +491,21 @@
src.modules += new /obj/item/weapon/tool/wirecutters/cyborg(src)
src.modules += new /obj/item/device/multitool(src)
src.modules += new /obj/item/device/t_scanner(src)
src.modules += new /obj/item/device/analyzer(src)
src.modules += new /obj/item/taperoll/engineering(src)
src.modules += new /obj/item/weapon/inflatable_dispenser/robot(src)
src.modules += new /obj/item/device/pipe_painter(src)
src.modules += new /obj/item/device/floor_painter(src)
src.modules += new /obj/item/weapon/gripper/no_use/loader(src)
src.modules += new /obj/item/weapon/pickaxe(src)
src.modules += new /obj/item/weapon/dogborg/jaws/small(src)
src.modules += new /obj/item/device/dogborg/boop_module(src)
src.modules += new /obj/item/weapon/gripper(src)
src.modules += new /obj/item/weapon/gripper/circuit(src)
src.modules += new /obj/item/device/analyzer(src)
src.modules += new /obj/item/device/pipe_painter(src)
src.modules += new /obj/item/device/floor_painter(src)
src.modules += new /obj/item/device/geiger(src)
src.emag = new /obj/item/weapon/dogborg/pounce(src)
//Painfully slow charger regen but high capacity. Also starts with low amount.
@@ -497,6 +529,11 @@
plastic.recharge_rate = 100
plastic.max_energy = 50000
plastic.energy = 10000
var/datum/matter_synth/plasteel = new /datum/matter_synth/plasteel()
plasteel.name = "Plasteel reserves"// Adding plasteel synthesizer to move in-line with Engiborg.
plasteel.recharge_rate = 100
plasteel.max_energy = 20000
plasteel.energy = 10000
var/datum/matter_synth/water = new /datum/matter_synth(500)
water.name = "Water reserves"
water.recharge_rate = 0
@@ -509,6 +546,7 @@
synths += plastic
synths += wire
synths += water
synths += plasteel
var/obj/item/device/dogborg/tongue/T = new /obj/item/device/dogborg/tongue(src)
T.water = water
@@ -562,6 +600,10 @@
PL.synths = list(plastic)
src.modules += PL
var/obj/item/stack/material/cyborg/plasteel/PS = new (src)
PS.synths = list(plasteel)
src.modules += PS
R.icon = 'icons/mob/widerobot_vr.dmi'
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
R.ui_style_vr = TRUE

View File

@@ -69,6 +69,7 @@
icon_dead = "measelshark-dead"
meat_amount = 6 //Big fish, tons of meat. Great for feasts.
meat_type = /obj/item/weapon/reagent_containers/food/snacks/sliceable/sharkchunk
vore_active = 1
vore_bump_chance = 100
vore_default_mode = DM_HOLD //docile shark
vore_capacity = 5

View File

@@ -1,5 +1,7 @@
/datum/preferences/update_preview_icon() // Lines up and un-overlaps character edit previews. Also un-splits taurs.
var/mob/living/carbon/human/dummy/mannequin/mannequin = get_mannequin(client_ckey)
if(!mannequin.dna) // Special handling for preview icons before SSAtoms has initailized.
mannequin.dna = new /datum/dna(null)
mannequin.delete_inventory(TRUE)
dress_preview_mob(mannequin)
COMPILE_OVERLAYS(mannequin)