mirror of
https://github.com/Yawn-Wider/YWPolarisVore.git
synced 2026-08-27 15:06:35 +01:00
Merge branch 'release' of https://github.com/VOREStation/VOREStation into voreupdate
This commit is contained in:
@@ -263,7 +263,7 @@ var/const/CE_STABLE_THRESHOLD = 0.5
|
||||
B.data["blood_type"] = copytext(src.dna.b_type,1,0)
|
||||
|
||||
// Putting this here due to return shenanigans.
|
||||
if(istype(src,/mob/living/carbon/human))
|
||||
if(ishuman(src))
|
||||
var/mob/living/carbon/human/H = src
|
||||
B.data["blood_colour"] = H.species.get_blood_colour(H)
|
||||
B.color = B.data["blood_colour"]
|
||||
@@ -393,7 +393,7 @@ var/const/CE_STABLE_THRESHOLD = 0.5
|
||||
var/turf/T = get_turf(target)
|
||||
var/synth = 0
|
||||
|
||||
if(istype(source,/mob/living/carbon/human))
|
||||
if(ishuman(source))
|
||||
var/mob/living/carbon/human/M = source
|
||||
if(M.isSynthetic()) synth = 1
|
||||
source = M.get_blood(M.vessel)
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
else
|
||||
return
|
||||
|
||||
if(istype(owner, /mob/living/carbon/human))
|
||||
if(ishuman(owner))
|
||||
var/mob/living/carbon/human/H = owner
|
||||
H.add_modifier(/datum/modifier/melee_surge, 0.75 MINUTES)
|
||||
|
||||
|
||||
@@ -98,6 +98,6 @@
|
||||
else
|
||||
return
|
||||
|
||||
if(istype(owner, /mob/living/carbon/human))
|
||||
if(ishuman(owner))
|
||||
var/mob/living/carbon/human/H = owner
|
||||
H.add_modifier(/datum/modifier/sprinting, 1 MINUTES)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
if (. >= 2)
|
||||
if(prob(1))
|
||||
owner.custom_pain("Your abdomen feels like it's tearing itself apart!",1)
|
||||
owner.m_intent = "walk"
|
||||
owner.m_intent = I_WALK
|
||||
owner.hud_used.move_intent.icon_state = "walking"
|
||||
|
||||
/obj/item/organ/internal/intestine/xeno
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
if (. >= 2)
|
||||
if(prob(1))
|
||||
owner.custom_pain("You feel extremely tired, like you can't move!",1)
|
||||
owner.m_intent = "walk"
|
||||
owner.m_intent = I_WALK
|
||||
owner.hud_used.move_intent.icon_state = "walking"
|
||||
|
||||
/obj/item/organ/internal/kidneys/grey
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
create_reagents(30)
|
||||
|
||||
/obj/item/organ/internal/stomach/handle_organ_proc_special()
|
||||
if(owner && istype(owner, /mob/living/carbon/human))
|
||||
if(owner && ishuman(owner))
|
||||
if(reagents)
|
||||
if(reagents.total_volume + 2 < max_acid_volume && prob(20))
|
||||
reagents.add_reagent(acidtype, rand(1,2))
|
||||
|
||||
@@ -9,8 +9,7 @@
|
||||
/// That is the damage required (in ONE hit) to tear off or destroy a limb.
|
||||
/// If the damage dealt per hit is below that, it can NOT remove limbs.
|
||||
/// </summary>
|
||||
#define DROPLIMB_THRESHOLD_EDGE 8 //For limb of 80(arm/leg) requires 10 or more damage to cut off.
|
||||
#define DROPLIMB_THRESHOLD_TEAROFF 3 //Requires 26.66 or more damage to cut off an arm/leg with a blunt object. Lower than the
|
||||
#define DROPLIMB_THRESHOLD_EDGE 5 //For limb of 80(arm/leg) requires 16 or more damage to cut off.
|
||||
#define DROPLIMB_THRESHOLD_DESTROY 3.34 //Requires 24 damage or more to DESTROY a arm/leg with a blunt object. Blunt is going to DESTROY over just knocking something off!
|
||||
|
||||
/obj/item/organ/external
|
||||
@@ -169,7 +168,7 @@
|
||||
|
||||
/obj/item/organ/external/examine()
|
||||
. = ..()
|
||||
if(in_range(usr, src) || istype(usr, /mob/observer/dead))
|
||||
if(in_range(usr, src) || isobserver(usr))
|
||||
for(var/obj/item/I in contents)
|
||||
if(istype(I, /obj/item/organ))
|
||||
continue
|
||||
@@ -285,13 +284,16 @@
|
||||
//Continued damage to vital organs can kill you, and robot organs don't count towards total damage so no need to cap them.
|
||||
return (vital || (robotic >= ORGAN_ROBOT) || brute_dam + burn_dam + additional_damage < max_damage)
|
||||
|
||||
/obj/item/organ/external/take_damage(brute, burn, sharp, edge, used_weapon = null, list/forbidden_limbs = list(), permutation = 0)
|
||||
/obj/item/organ/external/take_damage(brute, burn, sharp, edge, used_weapon = null, list/forbidden_limbs = list(), permutation = FALSE, projectile)
|
||||
brute = round(brute * brute_mod, 0.1)
|
||||
burn = round(burn * burn_mod, 0.1)
|
||||
|
||||
if((brute <= 0) && (burn <= 0))
|
||||
return 0
|
||||
|
||||
//This tells us how damaged we are prior to this attack.
|
||||
var/prior_damage = brute_dam + burn_dam
|
||||
|
||||
// High brute damage or sharp objects may damage internal organs
|
||||
if(internal_organs && (brute_dam >= max_damage || (((sharp && brute >= 5) || brute >= 10) && prob(5))))
|
||||
// Damage an internal organ
|
||||
@@ -302,7 +304,7 @@
|
||||
|
||||
if(status & ORGAN_BROKEN && brute)
|
||||
jostle_bone(brute)
|
||||
if(organ_can_feel_pain() && prob(40) && !isbelly(owner.loc) && !istype(owner.loc, /obj/item/dogborg/sleeper)) //VOREStation Edit
|
||||
if(organ_can_feel_pain() && prob(40) && !isbelly(owner.loc) && !istype(owner.loc, /obj/item/dogborg/sleeper))
|
||||
owner.emote("scream") //getting hit on broken hand hurts
|
||||
if(used_weapon)
|
||||
add_autopsy_data("[used_weapon]", brute + burn)
|
||||
@@ -370,21 +372,22 @@
|
||||
/// It checks if it's amputatable, if the config setting is set, then continues down the proc.
|
||||
/// </summary>
|
||||
if(!cannot_amputate && CONFIG_GET(flag/limbs_can_break))
|
||||
//organs can come off in three cases
|
||||
//1. If the damage source is edge_eligible and the brute damage dealt exceeds the edge threshold, then the organ is cut off.
|
||||
//2. If the damage amount dealt exceeds the disintegrate threshold, the organ is completely obliterated.
|
||||
//3. If the organ has already reached or would be put over it's max damage amount (currently redundant),
|
||||
// and the brute damage dealt exceeds the tearoff threshold, the organ is torn off.
|
||||
// By default, limbs aren't knocked off unless certain criteria is met.
|
||||
var/destruction_eligible = FALSE
|
||||
|
||||
// Let's calculate how INJURED our limb is. Determines the chance the next attack will take our limb off!
|
||||
// These are adjusted in case we get hit with a projectile.
|
||||
// Projectiles have suffered MASSIVE damage creep and as a result, throw ALL the numbers off.
|
||||
// This code was - primarily - intended for melee weapons, which have MUCH lower numbers.
|
||||
var/modifed_brute = brute
|
||||
var/modifed_burn = burn
|
||||
|
||||
// Let's calculate how INJURED our limb is accounting for AFTER the damage we just took. Determines the chance the next attack will take our limb off!
|
||||
var/damage_factor = ((max_damage*CONFIG_GET(number/organ_health_multiplier))/(brute_dam + burn_dam))*100
|
||||
// Max_damage of 80 and brute_dam of 80? Factor = 100
|
||||
// Max_damage of 80 and brute_dam of 40? Factor = 50
|
||||
// Max_damage of 80 and brute_dam of 5? Factor = 5
|
||||
// Max_damage of 80 and brute_dam of 80? || Factor = 100 Max_damage of 80 and brute_dam of 40? Factor = 50 || Max_damage of 80 and brute_dam of 5? Factor = 5
|
||||
// This lowers our chances of having our limb removed when it has less damage. The more damaged the limb, the higher the chance it falls off!
|
||||
|
||||
//Check edge eligibility
|
||||
var/edge_eligible = 0
|
||||
var/edge_eligible = FALSE
|
||||
if(edge)
|
||||
if(istype(used_weapon,/obj/item))
|
||||
var/obj/item/W = used_weapon
|
||||
@@ -393,54 +396,64 @@
|
||||
else
|
||||
edge_eligible = 1
|
||||
|
||||
if(nonsolid && damage >= max_damage)
|
||||
droplimb(TRUE, DROPLIMB_EDGE)
|
||||
else if (robotic >= ORGAN_NANOFORM && damage >= max_damage)
|
||||
droplimb(TRUE, DROPLIMB_BURN)
|
||||
// Due to the afformentioned damage creep, projectile damage is halved.
|
||||
// UNLESS The projectile does over the limb's max damage in the first place, then you're in danger of it going bye bye.
|
||||
if(projectile && (brute + burn) < max_damage)
|
||||
modifed_brute = modifed_brute/2
|
||||
modifed_burn = modifed_burn/2
|
||||
|
||||
//Math:
|
||||
//Edge w/ 10 damage on an 80 hp limb. First hit: Prob(10) && Prob(12.5) = 1.25% Second hit: Prob(10) && Prob(25) = 2.5, etc up to 10.
|
||||
//Edge w/ 20 damage on an 80 hp limb. First hit: Prob(20) && Prob(25)= 5% Second hit: Prob(20) && Prob(50)=10%, etc up to max 20.
|
||||
else if(edge_eligible && brute >= max_damage / DROPLIMB_THRESHOLD_EDGE && prob(brute) && prob(damage_factor))
|
||||
droplimb(0, DROPLIMB_EDGE)
|
||||
// Vital organs have a lower chance of getting causing removals AND require much higher damaging attacks.
|
||||
// For reference, the head has 75 max_damage.
|
||||
if(vital)
|
||||
modifed_brute = modifed_brute/1.5
|
||||
modifed_burn = modifed_burn/1.5
|
||||
|
||||
//Math:
|
||||
//Burn w/ 25dmg on an 80 hp limb. First hit: Prob(18.75) && Prob(31.25) = ~6% Second Hit: Prob(18.75) && Prob (62.5) =~12, etc up to 18.75
|
||||
//Burn w/ 25dmg on a 50 hp limb. First hit: Prob(18.75) && Prob(50) = ~9% Second hit: 18.75%
|
||||
else if((burn >= max_damage / DROPLIMB_THRESHOLD_DESTROY) && prob(burn*0.75) && prob(damage_factor))
|
||||
droplimb(0, DROPLIMB_BURN)
|
||||
// So, limbs have this issue where "If my limb is already at max damage, it doesn't matter how much more damage it takes, it won't go up"
|
||||
// While that is FINE, there should be some benefit to repeatedly hitting the same limb when it's aleady maxed out. Thus, time comes in.
|
||||
if(prior_damage >= max_damage)
|
||||
modifed_brute = modifed_brute*3
|
||||
modifed_burn = modifed_burn*3
|
||||
|
||||
//Brute it special. It gets both a chance to destroy AND a chance to knock a limb off!
|
||||
//Math:
|
||||
//Brute w/ 25dmg on an 80 hp limb. First hit: Prob(25) && Prob (31.25) = ~8% Second Hit: ~16% etc up to 25%
|
||||
//Brute w/ 25dmg on a 50 hp limb. First hit: Prob(25) && Prob (50) = 12.5 Second hit: 25%
|
||||
else if((brute >= max_damage / DROPLIMB_THRESHOLD_DESTROY && prob(brute)) && prob(damage_factor))
|
||||
droplimb(0, DROPLIMB_BLUNT)
|
||||
// Our limb has OVER 1/3 it's max health in damage already, we are eligible for removal.
|
||||
if(prior_damage > max_damage/3)
|
||||
destruction_eligible = TRUE
|
||||
// If an attack is doing OVER half our max damage in ONE hit, we are eligible for removal.
|
||||
else if((modifed_brute + modifed_burn) > max_damage/2)
|
||||
destruction_eligible = TRUE
|
||||
|
||||
//This is where brute gets it SECOND chance to affect the limb! Much lower probability.
|
||||
//This means you can add this to the above to get brute damage's TRUE drop chance IF the damage is high enough to hit BOTH the DROPLIMB_THRESHOLD_DESTROY & the DROPLIMB_THRESHOLD_TEAROFF
|
||||
//Ex: If it hits
|
||||
//Math:
|
||||
//Brute w/ 25dmg on an 80 hp limb. First hit: Prob(8.25) && Prob(31.25) = ~2.6% Second Hit: Prob(8.25) && Prob(62.5) = 5%. (This can't ACTUALLY happen with 25 damage with the current numbers, but it's an example to keep it similar to the above.)
|
||||
//Brute w/ 25dmg on a 50 hp limb. First hit: Prob(8.25) && Prob (50) = ~4% Second hit: 8.25%
|
||||
else if(brute >= max_damage / DROPLIMB_THRESHOLD_TEAROFF && prob(brute*0.33) && prob(damage_factor))
|
||||
droplimb(0, DROPLIMB_EDGE)
|
||||
if(destruction_eligible)
|
||||
if(nonsolid && damage >= max_damage)
|
||||
droplimb(TRUE, DROPLIMB_EDGE)
|
||||
else if (robotic >= ORGAN_NANOFORM && damage >= max_damage)
|
||||
droplimb(TRUE, DROPLIMB_BURN)
|
||||
|
||||
else if(spread_dam && owner && parent && (brute_overflow || burn_overflow) && (brute_overflow >= 5 || burn_overflow >= 5) && !permutation) //No infinite damage loops.
|
||||
var/brute_third = brute_overflow * 0.33
|
||||
var/burn_third = burn_overflow * 0.33
|
||||
if(children && children.len)
|
||||
var/brute_on_children = brute_third / children.len
|
||||
var/burn_on_children = burn_third / children.len
|
||||
spawn()
|
||||
for(var/obj/item/organ/external/C in children)
|
||||
if(!C.is_stump())
|
||||
C.take_damage(brute_on_children, burn_on_children, 0, 0, null, forbidden_limbs, 1) //Splits the damage to each individual 'child', incase multiple exist.
|
||||
parent.take_damage(brute_third, burn_third, 0, 0, null, forbidden_limbs, 1)
|
||||
//Hit with a sharp object.
|
||||
else if(edge_eligible && modifed_brute >= max_damage / DROPLIMB_THRESHOLD_EDGE && prob(modifed_brute*0.15) && prob(damage_factor))
|
||||
droplimb(FALSE, DROPLIMB_EDGE)
|
||||
|
||||
//Hit with burn. Such as by getting shocked by a door.
|
||||
else if((modifed_burn >= max_damage / DROPLIMB_THRESHOLD_DESTROY) && prob(modifed_burn*0.75) && prob(damage_factor))
|
||||
droplimb(FALSE, DROPLIMB_BURN)
|
||||
|
||||
//These are the 'Hit with a big, blunt weapon.' Sharp objects don't get to do this. Walls do enough to do this if someone gets thrown against it enough times.
|
||||
else if((!edge_eligible && modifed_brute >= max_damage / DROPLIMB_THRESHOLD_DESTROY && prob(modifed_brute*0.25)) && prob(damage_factor))
|
||||
droplimb(FALSE, DROPLIMB_BLUNT)
|
||||
|
||||
else if(spread_dam && owner && parent && (brute_overflow || burn_overflow) && (brute_overflow >= 5 || burn_overflow >= 5) && !permutation) //No infinite damage loops.
|
||||
var/brute_third = brute_overflow * 0.33
|
||||
var/burn_third = burn_overflow * 0.33
|
||||
if(children && children.len)
|
||||
var/brute_on_children = brute_third / children.len
|
||||
var/burn_on_children = burn_third / children.len
|
||||
spawn()
|
||||
for(var/obj/item/organ/external/C in children)
|
||||
if(!C.is_stump())
|
||||
C.take_damage(brute_on_children, burn_on_children, FALSE, FALSE, null, forbidden_limbs, 1) //Splits the damage to each individual 'child', incase multiple exist.
|
||||
parent.take_damage(brute_third, burn_third, FALSE, FALSE, null, forbidden_limbs, 1)
|
||||
|
||||
return update_icon()
|
||||
|
||||
/obj/item/organ/external/proc/heal_damage(brute, burn, internal = 0, robo_repair = 0)
|
||||
/obj/item/organ/external/proc/heal_damage(brute, burn, internal = FALSE, robo_repair = FALSE)
|
||||
if(robotic >= ORGAN_ROBOT && !robo_repair)
|
||||
return
|
||||
|
||||
@@ -837,7 +850,7 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
var/clamped = 0
|
||||
|
||||
var/mob/living/carbon/human/H
|
||||
if(istype(owner,/mob/living/carbon/human))
|
||||
if(ishuman(owner))
|
||||
H = owner
|
||||
|
||||
//update damage counts
|
||||
@@ -1467,5 +1480,4 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
return 1
|
||||
|
||||
#undef DROPLIMB_THRESHOLD_EDGE
|
||||
#undef DROPLIMB_THRESHOLD_TEAROFF
|
||||
#undef DROPLIMB_THRESHOLD_DESTROY
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
if(dam > maxdam && (maxdam == 0 || prob(70)) )
|
||||
damaged_organ = E
|
||||
maxdam = dam
|
||||
if(istype(src, /mob/living/carbon/human)) //VOREStation Edit Start
|
||||
if(ishuman(src)) //VOREStation Edit Start
|
||||
var/mob/living/carbon/human/H = src
|
||||
maxdam *= H.species.trauma_mod //VOREStation edit end
|
||||
if(damaged_organ && chem_effects[CE_PAINKILLER] < maxdam)
|
||||
|
||||
@@ -64,7 +64,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
|
||||
// Species in this list cannot take these prosthetics.
|
||||
var/list/species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_XENOCHIMERA) //VOREStation Edit
|
||||
// "Species Name" = "Robolimb Company", List, when initialized, will become "Species Name" = RobolimbDatum, used for alternate species sprites.
|
||||
var/list/species_alternates = list(SPECIES_TAJ = "Unbranded - Tajaran", SPECIES_UNATHI = "Unbranded - Unathi")
|
||||
var/list/species_alternates = list(SPECIES_TAJARAN = "Unbranded - Tajaran", SPECIES_UNATHI = "Unbranded - Unathi")
|
||||
|
||||
/datum/robolimb/unbranded_monitor
|
||||
company = "Unbranded Monitor"
|
||||
@@ -91,7 +91,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
|
||||
/datum/robolimb/unbranded_tajaran
|
||||
company = "Unbranded - Tajaran"
|
||||
species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
suggested_species = SPECIES_TAJ
|
||||
suggested_species = SPECIES_TAJARAN
|
||||
desc = "A simple robotic limb with feline design. Seems rather stiff."
|
||||
icon = 'icons/mob/human_races/cyberlimbs/unbranded/unbranded_tajaran.dmi'
|
||||
unavailable_to_build = 1
|
||||
@@ -99,7 +99,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
|
||||
|
||||
/datum/robolimb/unbranded_unathi
|
||||
company = "Unbranded - Unathi"
|
||||
species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_TAJARAN, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
suggested_species = SPECIES_UNATHI
|
||||
desc = "A simple robotic limb with reptilian design. Seems rather stiff."
|
||||
icon = 'icons/mob/human_races/cyberlimbs/unbranded/unbranded_unathi.dmi'
|
||||
@@ -108,7 +108,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
|
||||
|
||||
/datum/robolimb/unbranded_teshari
|
||||
company = "Unbranded - Teshari"
|
||||
species_cannot_use = list(SPECIES_UNATHI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
species_cannot_use = list(SPECIES_UNATHI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_TAJARAN, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
suggested_species = SPECIES_TESHARI
|
||||
desc = "A simple robotic limb with a small, raptor-like design. Seems rather stiff."
|
||||
icon = 'icons/mob/human_races/cyberlimbs/unbranded/unbranded_teshari.dmi'
|
||||
@@ -125,14 +125,14 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
|
||||
company = "NanoTrasen"
|
||||
desc = "A simple but efficient robotic limb, created by NanoTrasen."
|
||||
icon = 'icons/mob/human_races/cyberlimbs/nanotrasen/nanotrasen_main.dmi'
|
||||
species_alternates = list(SPECIES_TAJ = "NanoTrasen - Tajaran", SPECIES_UNATHI = "NanoTrasen - Unathi")
|
||||
species_alternates = list(SPECIES_TAJARAN = "NanoTrasen - Tajaran", SPECIES_UNATHI = "NanoTrasen - Unathi")
|
||||
modular_bodyparts = MODULAR_BODYPART_PROSTHETIC //VOREStation Edit - remove the restrictions
|
||||
|
||||
/datum/robolimb/nanotrasen_tajaran
|
||||
company = "NanoTrasen - Tajaran"
|
||||
species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
species_alternates = list(SPECIES_HUMAN = "NanoTrasen")
|
||||
suggested_species = SPECIES_TAJ
|
||||
suggested_species = SPECIES_TAJARAN
|
||||
desc = "A simple but efficient robotic limb, created by NanoTrasen."
|
||||
icon = 'icons/mob/human_races/cyberlimbs/nanotrasen/nanotrasen_tajaran.dmi'
|
||||
unavailable_to_build = 1
|
||||
@@ -140,7 +140,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
|
||||
|
||||
/datum/robolimb/nanotrasen_unathi
|
||||
company = "NanoTrasen - Unathi"
|
||||
species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_TAJARAN, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
species_alternates = list(SPECIES_HUMAN = "NanoTrasen")
|
||||
suggested_species = SPECIES_UNATHI
|
||||
desc = "A simple but efficient robotic limb, created by NanoTrasen."
|
||||
@@ -150,7 +150,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
|
||||
|
||||
/datum/robolimb/cenilimicybernetics_teshari
|
||||
company = "Cenilimi Cybernetics"
|
||||
species_cannot_use = list(SPECIES_UNATHI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
species_cannot_use = list(SPECIES_UNATHI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_TAJARAN, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
species_alternates = list(SPECIES_HUMAN = "NanoTrasen")
|
||||
suggested_species = SPECIES_TESHARI
|
||||
desc = "Made by a Teshari-owned company, for Teshari."
|
||||
@@ -197,7 +197,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
|
||||
blood_name = "synthetic ichor"
|
||||
speech_bubble_appearance = "machine"
|
||||
unavailable_to_build = 1
|
||||
species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_TAJ, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_TAJARAN, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
suggested_species = SPECIES_DIONA
|
||||
// Dionaea are naturally very tanky, so the robotic limbs are actually far weaker than their normal bodies.
|
||||
robo_brute_mod = 1.3
|
||||
@@ -360,7 +360,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
|
||||
unavailable_to_build = 1
|
||||
lifelike = 1
|
||||
skin_color = TRUE
|
||||
species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_TAJ, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_DIONA, SPECIES_ZADDAT)
|
||||
species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_TAJARAN, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_DIONA, SPECIES_ZADDAT)
|
||||
blood_color = "#4451cf"
|
||||
blood_name = "coolant"
|
||||
speech_bubble_appearance = "normal"
|
||||
@@ -455,7 +455,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
|
||||
company = "Zeng-Hu"
|
||||
desc = "This limb has a rubbery fleshtone covering with visible seams."
|
||||
icon = 'icons/mob/human_races/cyberlimbs/zenghu/zenghu_main.dmi'
|
||||
species_alternates = list(SPECIES_TAJ = "Zeng-Hu - Tajaran")
|
||||
species_alternates = list(SPECIES_TAJARAN = "Zeng-Hu - Tajaran")
|
||||
unavailable_to_build = 1
|
||||
skin_tone = 1
|
||||
modular_bodyparts = MODULAR_BODYPART_PROSTHETIC //VOREStation Edit - remove the restrictions
|
||||
@@ -478,7 +478,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
|
||||
/datum/robolimb/wooden/teshari
|
||||
company = "Morgan Trading Co - Teshari"
|
||||
icon = 'icons/mob/human_races/cyberlimbs/prosthesis/wooden_teshari.dmi'
|
||||
species_cannot_use = list(SPECIES_UNATHI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
species_cannot_use = list(SPECIES_UNATHI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_TAJARAN, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
species_alternates = list(SPECIES_HUMAN = "Morgan Trading Co")
|
||||
suggested_species = SPECIES_TESHARI
|
||||
|
||||
@@ -490,7 +490,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
|
||||
/datum/robolimb/wooden/sif/teshari
|
||||
company = "Morgan Trading Co - Sif wood - Teshari"
|
||||
icon = 'icons/mob/human_races/cyberlimbs/prosthesis/wooden_sif_teshari.dmi'
|
||||
species_cannot_use = list(SPECIES_UNATHI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
species_cannot_use = list(SPECIES_UNATHI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_TAJARAN, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
species_alternates = list(SPECIES_HUMAN = "Morgan Trading Co")
|
||||
suggested_species = SPECIES_TESHARI
|
||||
|
||||
@@ -588,7 +588,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
|
||||
species = SPECIES_UNATHI
|
||||
|
||||
/obj/item/disk/species/tajaran
|
||||
species = SPECIES_TAJ
|
||||
species = SPECIES_TAJARAN
|
||||
|
||||
/obj/item/disk/species/teshari
|
||||
species = SPECIES_TESHARI
|
||||
|
||||
@@ -60,11 +60,11 @@
|
||||
unavailable_to_build = 1
|
||||
includes_tail = 1
|
||||
skin_tone = 1
|
||||
suggested_species = "Tajara"
|
||||
suggested_species = SPECIES_TAJARAN
|
||||
|
||||
/*/datum/robolimb/dsi_tajaran/New()
|
||||
species_cannot_use = GLOB.all_species.Copy()
|
||||
species_cannot_use -= SPECIES_TAJ
|
||||
species_cannot_use -= SPECIES_TAJARAN
|
||||
VS Edit - anyone can select these. */
|
||||
|
||||
/obj/item/disk/limb/dsi_tajaran
|
||||
@@ -79,7 +79,7 @@ VS Edit - anyone can select these. */
|
||||
unavailable_to_build = 1
|
||||
includes_tail = 1
|
||||
skin_tone = 1
|
||||
suggested_species = "Unathi"
|
||||
suggested_species = SPECIES_UNATHI
|
||||
|
||||
/* /datum/robolimb/dsi_lizard/New() //
|
||||
species_cannot_use = GLOB.all_species.Copy()
|
||||
@@ -98,7 +98,7 @@ VS Edit - anyone can select these. */
|
||||
unavailable_to_build = 1
|
||||
includes_tail = 1
|
||||
skin_tone = 1
|
||||
suggested_species = "Sergal"
|
||||
suggested_species = SPECIES_SERGAL
|
||||
|
||||
/obj/item/disk/limb/dsi_sergal
|
||||
company = "DSI - Sergal"
|
||||
@@ -112,7 +112,7 @@ VS Edit - anyone can select these. */
|
||||
unavailable_to_build = 1
|
||||
includes_tail = 1
|
||||
skin_tone = 1
|
||||
suggested_species = "Nevrean"
|
||||
suggested_species = SPECIES_NEVREAN
|
||||
|
||||
/obj/item/disk/limb/dsi_nevrean
|
||||
company = "DSI - Nevrean"
|
||||
@@ -126,7 +126,7 @@ VS Edit - anyone can select these. */
|
||||
unavailable_to_build = 1
|
||||
includes_tail = 1
|
||||
skin_tone = 1
|
||||
suggested_species = "Vulpkanin"
|
||||
suggested_species = SPECIES_VULPKANIN
|
||||
|
||||
/obj/item/disk/limb/dsi_vulpkanin
|
||||
company = "DSI - Vulpkanin"
|
||||
@@ -140,7 +140,7 @@ VS Edit - anyone can select these. */
|
||||
unavailable_to_build = 1
|
||||
includes_tail = 1
|
||||
skin_tone = 1
|
||||
suggested_species = "Akula"
|
||||
suggested_species = SPECIES_AKULA
|
||||
|
||||
/obj/item/disk/limb/dsi_akula
|
||||
company = "DSI - Akula"
|
||||
@@ -154,7 +154,7 @@ VS Edit - anyone can select these. */
|
||||
unavailable_to_build = 1
|
||||
includes_tail = 1
|
||||
skin_tone = 1
|
||||
suggested_species = "Vasilissan"
|
||||
suggested_species = SPECIES_VASILISSAN
|
||||
|
||||
/obj/item/disk/limb/dsi_spider
|
||||
company = "DSI - Vasilissan"
|
||||
@@ -186,7 +186,7 @@ VS Edit - anyone can select these. */
|
||||
unavailable_to_build = 1
|
||||
includes_tail = 1
|
||||
skin_tone = 1
|
||||
suggested_species = "Zorren"
|
||||
suggested_species = SPECIES_ZORREN_HIGH
|
||||
|
||||
/obj/item/disk/limb/dsi_zorren
|
||||
company = "DSI - Zorren"
|
||||
@@ -200,7 +200,7 @@ VS Edit - anyone can select these. */
|
||||
unavailable_to_build = 1
|
||||
includes_tail = 1
|
||||
skin_tone = 1
|
||||
suggested_species = "Fennec"
|
||||
suggested_species = SPECIES_FENNEC
|
||||
|
||||
/obj/item/disk/limb/dsi_fennec
|
||||
company = "DSI - Fennec"
|
||||
|
||||
@@ -91,7 +91,7 @@ var/const/cyberbeast_monitor_styles = "blank=cyber_blank;\
|
||||
company = "Zeng-Hu Glacier"
|
||||
desc = "This limb has a rubbery white covering with visible seams."
|
||||
icon = 'icons/mob/human_races/cyberlimbs/zenghu/zenghu_glacier_main.dmi'
|
||||
species_alternates = list(SPECIES_TAJ = "Zeng-Hu - Tajaran")
|
||||
species_alternates = list(SPECIES_TAJARAN = "Zeng-Hu - Tajaran")
|
||||
unavailable_to_build = 1
|
||||
skin_tone = 1
|
||||
modular_bodyparts = MODULAR_BODYPART_PROSTHETIC
|
||||
|
||||
@@ -311,8 +311,8 @@
|
||||
get_icon()
|
||||
..()
|
||||
|
||||
/obj/item/organ/external/head/take_damage(brute, burn, sharp, edge, used_weapon = null, list/forbidden_limbs = list())
|
||||
..(brute, burn, sharp, edge, used_weapon, forbidden_limbs)
|
||||
/obj/item/organ/external/head/take_damage(brute, burn, sharp, edge, used_weapon = null, list/forbidden_limbs = list(), permutation, projectile)
|
||||
..(brute, burn, sharp, edge, used_weapon, forbidden_limbs, permutation, projectile)
|
||||
if (!disfigured)
|
||||
if (brute_dam > 40)
|
||||
if (prob(50))
|
||||
|
||||
Reference in New Issue
Block a user