From 18b56449263da02eaeb2f4922c25e136ad2c9849 Mon Sep 17 00:00:00 2001 From: Cameron Lennox Date: Sat, 23 Aug 2025 15:20:12 -0400 Subject: [PATCH] Cleans up some unused files / vars (#11496) --- code/game/objects/items/devices/geiger_yw.dm | 112 ---- .../clothing/suits/miscellaneous_ch.dm | 4 - .../living/carbon/human/human_movement_ch.dm | 32 - .../living/zz_ballistics_ch/bullet_act_ch.dm | 289 --------- .../z_ballistic_overrides_ch.dm | 563 ------------------ .../zz_ballistics_ch/z_ballistic_test_ch.dm | 248 -------- code/modules/projectiles/gun_ch.dm | 2 - .../projectiles/guns/projectile/shotgun_ch.dm | 1 - code/modules/projectiles/projectile_ch.dm | 5 - vorestation.dme | 2 - 10 files changed, 1258 deletions(-) delete mode 100644 code/game/objects/items/devices/geiger_yw.dm delete mode 100644 code/modules/clothing/suits/miscellaneous_ch.dm delete mode 100644 code/modules/mob/living/carbon/human/human_movement_ch.dm delete mode 100644 code/modules/mob/living/zz_ballistics_ch/bullet_act_ch.dm delete mode 100644 code/modules/mob/living/zz_ballistics_ch/z_ballistic_overrides_ch.dm delete mode 100644 code/modules/mob/living/zz_ballistics_ch/z_ballistic_test_ch.dm delete mode 100644 code/modules/projectiles/gun_ch.dm diff --git a/code/game/objects/items/devices/geiger_yw.dm b/code/game/objects/items/devices/geiger_yw.dm deleted file mode 100644 index a60f875021..0000000000 --- a/code/game/objects/items/devices/geiger_yw.dm +++ /dev/null @@ -1,112 +0,0 @@ -/obj/item/geiger/wall - name = "mounted geiger counter" - desc = "A wall mounted device used for detecting and measuring radiation in an area." - icon = 'icons/obj/devices_yw.dmi' - icon_state = "geiger_wall" - item_state = "geiger_wall" - anchored = 1 - scanning = 1 - radiation_count = 0 - plane = TURF_PLANE - layer = ABOVE_TURF_LAYER - w_class = ITEMSIZE_LARGE - flags = NOBLOODY - var/circuit = /obj/item/circuitboard/geiger - var/number = 0 - var/last_tick //used to delay the powercheck - var/wiresexposed = 0 - -/obj/item/geiger/wall/Initialize(mapload) - . = ..() - START_PROCESSING(SSobj, src) - soundloop = new(list(src), FALSE) - -/obj/item/geiger/wall/Destroy() - STOP_PROCESSING(SSobj, src) - QDEL_NULL(soundloop) - return ..() -/* -/obj/item/geiger/wall/process() - get_radiation() - -/obj/item/geiger/wall/proc/get_radiation() - if(!scanning) - return - radiation_count = SSradiation.get_rads_at_turf(get_turf(src)) - update_icon() - update_sound() - -/obj/item/geiger/wall/examine(mob/user) - ..(user) - get_radiation() - to_chat(user, span_warning("[scanning ? "Ambient" : "Stored"] radiation level: [radiation_count ? radiation_count : "0"]Bq.")) - -/obj/item/geiger/wall/rad_act(amount) - if(!amount || !scanning) - return FALSE - - if(amount > radiation_count) - radiation_count = amount - - update_icon() - update_sound() -*/ - -/obj/item/geiger/wall/attack_self(var/mob/user) - scanning = !scanning - update_icon() - update_sound() - to_chat(user, span_notice("[icon2html(src,user.client)] You switch [scanning ? "on" : "off"] \the [src].")) - -/obj/item/geiger/wall/update_icon() - if(!scanning) - icon_state = "geiger_wall-p" - return 1 - - switch(radiation_count) - if(null) - icon_state = "geiger_level_1" - if(-INFINITY to RAD_LEVEL_LOW) - icon_state = "geiger_level_1" - if(RAD_LEVEL_LOW to RAD_LEVEL_MODERATE) - icon_state = "geiger_level_2" - if(RAD_LEVEL_MODERATE to RAD_LEVEL_HIGH) - icon_state = "geiger_level_3" - if(RAD_LEVEL_HIGH to RAD_LEVEL_VERY_HIGH) - icon_state = "geiger_level_4" - if(RAD_LEVEL_VERY_HIGH to INFINITY) - icon_state = "geiger_level_5" -/* -/obj/item/geiger/wall/process() - if(((world.timeofday - last_tick) > 30) || ((world.timeofday - last_tick) < 0)) - last_tick = world.timeofday - - if(!src.loc) - scanning = 0 - else - var/area/A = get_area(src) - if(!A) - scanning = 0 - else - scanning = A.powered(EQUIP) // set "on" to the power status - - if(!scanning) - if(wiresexposed) - icon_state = "geiger_wall-p_open" - else - icon_state = "geiger_wall-p" - else - if(wiresexposed) - icon_state = "geiger_wall-p_open" - else - icon_state = initial(icon_state) */ - -/obj/item/geiger/wall/attack_ai(mob/user as mob) - src.add_fingerprint(user) - spawn (0) - attack_self(user) - -/obj/item/geiger/wall/attack_hand(mob/user as mob) - src.add_fingerprint(user) - spawn (0) - attack_self(user) diff --git a/code/modules/clothing/suits/miscellaneous_ch.dm b/code/modules/clothing/suits/miscellaneous_ch.dm deleted file mode 100644 index 546af40520..0000000000 --- a/code/modules/clothing/suits/miscellaneous_ch.dm +++ /dev/null @@ -1,4 +0,0 @@ -/obj/item/clothing/suit/straight_jacket //An addition from yawn wider - sprite_sheets = list( - SPECIES_TESHARI = 'icons/vore/custom_onmob_yw.dmi' - ) diff --git a/code/modules/mob/living/carbon/human/human_movement_ch.dm b/code/modules/mob/living/carbon/human/human_movement_ch.dm deleted file mode 100644 index 894fe482ca..0000000000 --- a/code/modules/mob/living/carbon/human/human_movement_ch.dm +++ /dev/null @@ -1,32 +0,0 @@ -//CHOMP reagent vore belly sloshing -/* This is an ELEMENT now -// Handle footstep sounds -/mob/living/carbon/human/handle_vorefootstep(var/m_intent, var/turf/T) - - if(!CONFIG_GET(number/vorefootstep_volume) || !T.vorefootstep_sounds || !T.vorefootstep_sounds.len || !vore_footstep_volume) - return - // Future Upgrades - Multi species support - var/list/vorefootstep_sounds = T.vorefootstep_sounds["human"] - if(!vorefootstep_sounds) - return - var/S = pick(vorefootstep_sounds) - if(!S) return - var/volume = CONFIG_GET(number/vorefootstep_volume) * (vore_footstep_volume/100) - - // Reduce volume while walking or barefoot, but not so much since tummy slosh - if(!shoes || m_intent == I_WALK) - volume = CONFIG_GET(number/vorefootstep_volume) * (vore_footstep_volume/100) * 0.75 - else if(shoes) - var/obj/item/clothing/shoes/feet = shoes - if(istype(feet)) - volume = feet.step_volume_mod * CONFIG_GET(number/vorefootstep_volume) * (vore_footstep_volume/100) * 0.75 - - if(!has_organ(BP_L_FOOT) && !has_organ(BP_R_FOOT)) - return // no feet = no slosh? Might prevent some entities from sloshing around - if(buckled || lying || throwing) - return // people flying, lying down or sitting do not slosh - if(!get_gravity(src) && prob(75)) - return // Far less likely to make noise in no gravity - playsound(T, S, volume, FALSE, preference = /datum/client_preference/digestion_noises) - return -*/ diff --git a/code/modules/mob/living/zz_ballistics_ch/bullet_act_ch.dm b/code/modules/mob/living/zz_ballistics_ch/bullet_act_ch.dm deleted file mode 100644 index 8c527c111a..0000000000 --- a/code/modules/mob/living/zz_ballistics_ch/bullet_act_ch.dm +++ /dev/null @@ -1,289 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -////////////// CADYN'S BALLISTICS ////////////////////////////////////////////////////////////////////////// ORIGINAL FROM CHOMPSTATION //////// -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -/mob/living/proc/handle_ballistics(var/obj/item/projectile/bullet/P, var/def_zone) - var/list/updated_organ_weight = list() - var/ballistic_armor = getarmor(def_zone, "bullet") - var/melee_armor = getarmor(def_zone, "melee") - var/obj/item/organ/external/hit_organ - if(organs.len) - hit_organ = src.get_organ(def_zone) - for(var/ext_organ in ballistic_variables["organ_hit_weight"]) - var/list/input = list() - var/obj/item/organ/external/ref_ext_organ = src.get_organ(ext_organ) - for(var/int_organ in ballistic_variables["organ_hit_weight"][ext_organ]) - var/ref_int_organ = src.internal_organs_by_name[int_organ] - if(ref_ext_organ && ref_int_organ && (ref_int_organ in ref_ext_organ.internal_organs)) - input[ref_int_organ] = ballistic_variables["organ_hit_weight"][ext_organ][int_organ] - if(input.len) - updated_organ_weight[ref_ext_organ] = input - //log_and_message_admins("Beginning handle_ballistics") - var/penetration_chance = armor_penetration_probability(ballistic_armor,P) - if(!prob(penetration_chance)) //Boo-hoo we got deflected. Do boring agony/bruises stuff. - //log_and_message_admins("Bullet deflected") - var/pain_hit = hit_organ ? "into your [hit_organ]" : "into you" - - var/hurt_value = P.velocity * P.grains / (BULLET_DEFLECTED_PAIN_DIVISOR * (1 + ballistic_armor/BULLET_DEFLECTED_BULLET_DIVISOR + melee_armor/BULLET_DEFLECTED_MELEE_DIVISOR)) //Better armor spreads out the energy better. - var/hurt_value_pain = hurt_value ** BULLET_DEFLECTED_PAIN_EXPONENT - var/hurt_value_bruise = max(0,hurt_value-BULLET_DEFLECTED_BRUISE_SUBTRACT) - - var/absorber = ballistic_armor ? "armor" : "body" //There is a super tiny chance that small rounds can get deflected without armor, so this is just incase. - - to_chat(src,span_warning("You feel the energy of the bullet painfully transfered [pain_hit] as your [absorber] deflects it!")) - apply_damage(hurt_value_pain,HALLOSS,def_zone) - if(hurt_value_bruise) - apply_damage(hurt_value_bruise,BRUTE,def_zone) - P.sub_velocity(P.velocity) - return 2 - else //Now the FUN begins - //log_and_message_admins("Bullet penetrated") - var/area_over_mass = P.diam * P.diam / P.grains - //Most of these calculations don't involve energies because I'm treating flesh and organic tissue as a fluid since it's squishy and stuff. - //Since drag is proportional to velocity, we can do things on an m*v basis instead of an mv^2 basis. - //Obviously bones are more solid, so we do actual energy calculations for that. - var/conversion_efficiency = P.hollow_point ? GLOB.HOLLOW_POINT_CONVERSION_EFF : 1 - var/vel_loss_multiplier = P.hollow_point ? GLOB.HOLLOW_POINT_VELLOSS_BONUS : 1 - - var/energy_dumped_organic = 0 - var/vel_lost_armor = ballistic_armor >= GLOB.ARMOR_LOSS_MIN_ARMOR ? GLOB.ARMOR_LOSS_COEFFICIENT * area_over_mass * ((1 + GLOB.ARMOR_LOSS_MIN_MULT) - penetration_chance/100) : 0 - P.sub_velocity(vel_lost_armor) - - var/energy_past = P.energy - var/internal_loss = vel_loss_multiplier * GLOB.INTERNAL_LOSS_COEFFICIENT * area_over_mass - var/vel_lost_skin = vel_loss_multiplier * GLOB.SKIN_LOSS_COEFFICIENT * area_over_mass - P.sub_velocity(vel_lost_skin + internal_loss) - energy_dumped_organic += (energy_past - P.energy) - if(prob(PROB_LEAVE_EARLY_FIRST) || !P.velocity) - energy_to_damage(energy_dumped_organic * conversion_efficiency,def_zone,P) - return 1 - if(hit_organ) - //log_and_message_admins("organ_handle_ballistics called. hit_organ = [hit_organ], energy_dumped_organic = [energy_dumped_organic], internal_loss = [internal_loss], ballistic_armor = [ballistic_armor], P.velocity = [P.velocity], P.energy = [P.energy]") - return organ_handle_ballistics(P,hit_organ,energy_dumped_organic,internal_loss,ballistic_armor,updated_organ_weight) - else - //log_and_message_admins("general_handle_ballistics called.") - return general_handle_ballistics(P,def_zone,energy_dumped_organic,internal_loss,ballistic_armor) - -/mob/living/proc/organ_handle_ballistics(var/obj/item/projectile/bullet/P,var/obj/item/organ/external/hit_organ,var/energy_dumped_organic,var/internal_loss,var/ballistic_armor,var/list/updated_organ_weight) - var/conversion_efficiency = P.hollow_point ? GLOB.HOLLOW_POINT_CONVERSION_EFF : 1 - conversion_efficiency *= ballistic_variables["flesh_factors"]["damage_mult"] - internal_loss *= ballistic_variables["flesh_factors"]["velloss_mult"] - var/energy_past - var/bone_chance = BONE_HIT_CHANCE_UNENCASED - if(hit_organ.encased) - bone_chance = BONE_HIT_CHANCE_ENCASED - else - bone_chance = ballistic_variables["bone_chance_unencased"][hit_organ.organ_tag] - if(hit_organ.cannot_break) - bone_chance = 0 - //log_and_message_admins("Bone hit chance is [bone_chance], organ is [hit_organ]") - if(prob(bone_chance)) - var/energy_to_fracture = max(GLOB.BONE_JOULES_MIN, hit_organ.min_broken_damage * (GAUSSIAN_RANDOM()*GLOB.BONE_JOULES_PERHP_DEV + GLOB.BONE_JOULES_PERHP_AVG)) - //log_and_message_admins("Bone hit, bone_chance1. energy_to_fracture = [energy_to_fracture]") - if(energy_to_fracture>=P.energy) //We don't have enough energy to get through the bone. This is the end for us! - energy_dumped_organic += P.energy/2 //About half of our remaining energy will go into fucking up this boi, the rest is absorbed by the bone - P.sub_velocity(P.velocity) - //log_and_message_admins("Insufficient projectile energy. Stopping projectile.") - energy_to_damage(energy_dumped_organic * conversion_efficiency,hit_organ.organ_tag,P) - return 2 - else - //log_and_message_admins("Sufficient projectile energy to pass through bone.") - P.sub_energy(energy_to_fracture) - energy_dumped_organic += P.energy / 3 //About a third of the energy that goes into fracturing the bone also goes into fucking up tissues. - if(!(hit_organ.status & ORGAN_BROKEN)) - //log_and_message_admins("Fracturing [hit_organ]") - hit_organ.fracture() - //log_and_message_admins("Bone checking done. hit_organ = [hit_organ], energy_dumped_organic = [energy_dumped_organic], internal_loss = [internal_loss], ballistic_armor = [ballistic_armor], P.velocity = [P.velocity], P.energy = [P.energy]") - if(hit_organ.internal_organs.len && prob(ballistic_variables["organ_hit_chance"][hit_organ.organ_tag]) && updated_organ_weight[hit_organ] && updated_organ_weight[hit_organ].len) - //log_and_message_admins("Organ was hit by bullet.") - energy_past = P.energy - P.sub_velocity(internal_loss) - damage_organ_energy((energy_past - P.energy) * conversion_efficiency, pickweight(updated_organ_weight[hit_organ])) - if(!P.velocity) - //log_and_message_admins("Organ stopped bullet.") - energy_to_damage(energy_dumped_organic * conversion_efficiency,hit_organ.organ_tag,P) - return 2 - //log_and_message_admins("Organ check done, hit_organ = [hit_organ], energy_dumped_organic = [energy_dumped_organic], internal_loss = [internal_loss], ballistic_armor = [ballistic_armor], P.velocity = [P.velocity], P.energy = [P.energy]") - energy_past = P.energy - P.sub_velocity(internal_loss) - energy_dumped_organic += energy_past - P.energy - if(!P.velocity || (hit_organ.organ_tag in ballistic_variables["organ_leave_early"]) || prob(PROB_LEAVE_EARLY_SECOND)) - energy_to_damage(energy_dumped_organic * conversion_efficiency,hit_organ.organ_tag,P) - return P.velocity ? -1 : 2 - //log_and_message_admins("Internal_loss 2 stopped bullet") - //log_and_message_admins("Internal_loss 2 completed, hit_organ = [hit_organ], energy_dumped_organic = [energy_dumped_organic], internal_loss = [internal_loss], ballistic_armor = [ballistic_armor], P.velocity = [P.velocity], P.energy = [P.energy]") - if(prob(bone_chance)) - var/energy_to_fracture = max(GLOB.BONE_JOULES_MIN, hit_organ.min_broken_damage * (GAUSSIAN_RANDOM()*GLOB.BONE_JOULES_PERHP_DEV + GLOB.BONE_JOULES_PERHP_AVG)) - //log_and_message_admins("Bone hit, bone_chance1. energy_to_fracture = [energy_to_fracture]") - if(energy_to_fracture>=P.energy) //We don't have enough energy to get through the bone. This is the end for us! - energy_dumped_organic += P.energy/2 //About half of our remaining energy will go into fucking up this boi, the rest is absorbed by the bone - P.sub_velocity(P.velocity) - //log_and_message_admins("Insufficient projectile energy. Stopping projectile.") - energy_to_damage(energy_dumped_organic * conversion_efficiency,hit_organ.organ_tag,P) - return 2 - else - //log_and_message_admins("Sufficient projectile energy to pass through bone.") - P.sub_energy(energy_to_fracture) - energy_dumped_organic += P.energy / 3 //About a third of the energy that goes into fracturing the bone also goes into fucking up tissues. - if(!(hit_organ.status & ORGAN_BROKEN)) - //log_and_message_admins("Fracturing [hit_organ]") - hit_organ.fracture() - energy_past = P.energy - P.sub_velocity(internal_loss) - energy_dumped_organic += energy_past - P.energy - if(!P.velocity) - //log_and_message_admins("Internal_loss 3 stopped bullet") - energy_to_damage(energy_dumped_organic * conversion_efficiency,hit_organ.organ_tag,P) - return 2 - //log_and_message_admins("Internal_loss 3 completed. hit_organ = [hit_organ], energy_dumped_organic = [energy_dumped_organic], internal_loss = [internal_loss], ballistic_armor = [ballistic_armor], P.velocity = [P.velocity], P.energy = [P.energy]") - var/penetration_chance = armor_penetration_probability(ballistic_armor,P) - if(prob(penetration_chance)) - //log_and_message_admins("Projectile exiting.") - energy_to_damage(energy_dumped_organic * conversion_efficiency,hit_organ.organ_tag,P) - return -1 - else - //log_and_message_admins("Projectile continuing inside body") - energy_dumped_organic += P.energy / 3 - P.sub_velocity(P.velocity) - energy_to_damage(energy_dumped_organic * conversion_efficiency,hit_organ.organ_tag,P) - return 2 - -/mob/living/proc/general_handle_ballistics(var/obj/item/projectile/bullet/P,var/def_zone,var/energy_dumped_organic,var/internal_loss,var/ballistic_armor) - var/conversion_efficiency = P.hollow_point ? GLOB.HOLLOW_POINT_CONVERSION_EFF : 1 - conversion_efficiency *= ballistic_variables["flesh_factors"]["damage_mult"] - internal_loss *= ballistic_variables["flesh_factors"]["velloss_mult"] - var/energy_past - var/bone_chance = BONE_HIT_CHANCE_UNENCASED - var/bone_strength = 1 - var/est_organ = def_zone - if(!est_organ) - est_organ = BP_TORSO - if(est_organ in list(O_EYES, O_MOUTH)) - est_organ = BP_HEAD - if(est_organ in ballistic_variables["bone_chance_unencased"]) - bone_chance = ballistic_variables["bone_chance_unencased"][est_organ] - if(est_organ in ballistic_variables["bone_strength"]) - bone_strength = ballistic_variables["bone_strength"][est_organ] - if(prob(bone_chance)) - var/energy_to_fracture = max(GLOB.BONE_JOULES_MIN, BONE_HP_AVG * (GAUSSIAN_RANDOM()*GLOB.BONE_JOULES_PERHP_DEV + GLOB.BONE_JOULES_PERHP_AVG)) * bone_strength - if(energy_to_fracture>=P.energy) //We don't have enough energy to get through the bone. This is the end for us! - energy_dumped_organic += P.energy/2 //About half of our remaining energy will go into fucking up this boi, the rest is absorbed by the bone - P.sub_velocity(P.velocity) - energy_to_damage(energy_dumped_organic * conversion_efficiency,def_zone,P) - return 2 - else - P.sub_energy(energy_to_fracture) - energy_dumped_organic += P.energy / 3 //About a third of the energy that goes into fracturing the bone also goes into fucking up tissues. - - if((est_organ in ballistic_variables["organ_hit_chance"]) && prob(ballistic_variables["organ_hit_chance"][est_organ])) - energy_past = P.energy - P.sub_velocity(internal_loss) - var/energy_mult = 1.5 - if(est_organ in ballistic_variables["organ_multiplier"]) - energy_mult = ballistic_variables["organ_multiplier"][est_organ] - energy_dumped_organic += (energy_past - P.energy) * energy_mult - if(!P.velocity) - energy_to_damage(energy_dumped_organic * conversion_efficiency,def_zone,P) - return 2 - energy_past = P.energy - P.sub_velocity(internal_loss) - energy_dumped_organic += energy_past - P.energy - if(!P.velocity || (est_organ in ballistic_variables["organ_leave_early"]) || prob(PROB_LEAVE_EARLY_SECOND)) - energy_to_damage(energy_dumped_organic * conversion_efficiency,def_zone,P) - return P.velocity ? -1 : 2 - - if(prob(bone_chance)) - var/energy_to_fracture = max(GLOB.BONE_JOULES_MIN, BONE_HP_AVG * (GAUSSIAN_RANDOM()*GLOB.BONE_JOULES_PERHP_DEV + GLOB.BONE_JOULES_PERHP_AVG)) * bone_strength - if(energy_to_fracture>=P.energy) //We don't have enough energy to get through the bone. This is the end for us! - energy_dumped_organic += P.energy/2 //About half of our remaining energy will go into fucking up this boi, the rest is absorbed by the bone - P.sub_velocity(P.velocity) - energy_to_damage(energy_dumped_organic * conversion_efficiency,def_zone,P) - return 2 - else - P.sub_energy(energy_to_fracture) - energy_dumped_organic += P.energy / 3 //About a third of the energy that goes into fracturing the bone also goes into fucking up tissues. - - energy_past = P.energy - P.sub_velocity(internal_loss) - energy_dumped_organic += energy_past - P.energy - if(!P.velocity) - energy_to_damage(energy_dumped_organic * conversion_efficiency,def_zone,P) - return 2 - var/penetration_chance = armor_penetration_probability(ballistic_armor,P) - if(prob(penetration_chance)) - energy_to_damage(energy_dumped_organic * conversion_efficiency,def_zone,P) - return -1 - else - energy_dumped_organic += P.energy / 3 - P.sub_velocity(P.velocity) - energy_to_damage(energy_dumped_organic * conversion_efficiency,def_zone,P) - return 2 - -/proc/ballistics_falloff_equation(var/damage,var/exponent,var/coefficient) - return damage ** exponent + damage * coefficient - -/mob/living/proc/damage_organ_energy(var/energy,var/obj/item/organ/internal/target) - var/damage = round(ballistics_falloff_equation(energy*GLOB.ENERGY_DAMAGE_ORGAN_FACTOR / ENERGY_DAMAGE_ORGAN_FALLOFF_POINT, ENERGY_DAMAGE_EXPONENT, ENERGY_DAMAGE_COEFFICIENT) * ENERGY_DAMAGE_ORGAN_FALLOFF_POINT) - //log_and_message_admins("damage_organ_energy([energy]) : [target].take_damage([damage])") - target.take_damage(damage) - return - -/mob/living/proc/energy_to_damage(var/energy,var/def_zone,var/obj/item/projectile/bullet/P) - var/damage = round(ballistics_falloff_equation(energy*GLOB.ENERGY_DAMAGE_FLESH_FACTOR / ENERGY_DAMAGE_FLESH_FALLOFF_POINT, ENERGY_DAMAGE_EXPONENT, ENERGY_DAMAGE_COEFFICIENT) * ENERGY_DAMAGE_FLESH_FALLOFF_POINT) - //log_and_message_admins("energy_to_damage([energy]) : apply_damage([damage], BRUTE, [def_zone])") - apply_damage(damage, BRUTE, def_zone, used_weapon = P, sharp = is_sharp(P), edge = has_edge(P)) - return - -/mob/living/proc/armor_penetration_probability(var/armor, var/obj/item/projectile/bullet/P) - var/bullet_ap_value = (1+((P.armor_penetration)/BULLET_AP_DIVISOR)) - var/ap_value = P.velocity * bullet_ap_value * (P.grains / P.diam)**(2/3) / AP_DIVISOR - var/armor_value = ARMOR_Y_INTERCEPT + ARMOR_SLOPE * armor - var/penetration_chance = 100 / (1 + PENETRATION_PROBABILITY_EXP_BASE**(-PENETRATION_PROBABILITY_EXP_MULT*(ap_value - armor_value))) - return penetration_chance - -/mob/living/bullet_act(var/obj/item/projectile/P, var/def_zone) - //log_and_message_admins("bullet_act_ch") - var/obj/item/projectile/bullet/B = P - if(P.check_armour == "bullet" && istype(B) && !B.old_bullet_act) - //log_and_message_admins("is bullet") - return handle_ballistics(P,def_zone) - else - //log_and_message_admins("is not bullet") - return ..() - -/mob/living - var/list/ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 5, BP_TORSO = 20, BP_GROIN = 20, BP_L_FOOT = 80, BP_R_FOOT = 80, BP_L_LEG = 35, BP_R_LEG = 35, BP_L_ARM = 65, BP_R_ARM = 65, BP_L_HAND = 80, BP_R_HAND = 80), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 95, BP_TORSO = 90, BP_GROIN = 90), \ - "bone_strength" = list(BP_HEAD = 1.3, BP_TORSO = 1.15, BP_GROIN = 1, BP_L_FOOT = 0.7, BP_R_FOOT = 0.7, BP_L_LEG = 1.2, BP_R_LEG = 1.2, BP_L_ARM = 1, BP_R_ARM = 1, BP_L_HAND = 0.55, BP_R_HAND = 0.55), \ - "organ_multiplier" = list(BP_HEAD = 2, BP_TORSO = 1.75, BP_GROIN = 1.25)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1,"velloss_mult" = 1)) - -/mob/living/Initialize(mapload) - . = ..() - if(islist(ballistic_variables)) - ballistic_variables = widelist(ballistic_variables) - -/mob/living/proc/b_test_proc() - var/nameof = NAMEOF(src,ballistic_variables) - log_world(nameof) - return nameof diff --git a/code/modules/mob/living/zz_ballistics_ch/z_ballistic_overrides_ch.dm b/code/modules/mob/living/zz_ballistics_ch/z_ballistic_overrides_ch.dm deleted file mode 100644 index a0959b0e52..0000000000 --- a/code/modules/mob/living/zz_ballistics_ch/z_ballistic_overrides_ch.dm +++ /dev/null @@ -1,563 +0,0 @@ -//Simple mobs -/mob/living/simple_mob - //These are the basic base settings for simple_mobs that pretty much says "most living things kinda approximate around these values", special cases will be accounted for in following overrides. - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 80, BP_TORSO = 80, BP_GROIN = 20, BP_L_FOOT = 80, BP_R_FOOT = 80, BP_L_LEG = 35, BP_R_LEG = 35, BP_L_ARM = 65, BP_R_ARM = 65, BP_L_HAND = 80, BP_R_HAND = 80), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 95, BP_TORSO = 90, BP_GROIN = 90), \ - "bone_strength" = list(BP_HEAD = 1.3, BP_TORSO = 1.15, BP_GROIN = 1, BP_L_FOOT = 0.7, BP_R_FOOT = 0.7, BP_L_LEG = 1.2, BP_R_LEG = 1.2, BP_L_ARM = 1, BP_R_ARM = 1, BP_L_HAND = 0.55, BP_R_HAND = 0.55), \ - "organ_multiplier" = list(BP_HEAD = 4, BP_TORSO = 3.5, BP_GROIN = 2.5)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1,"velloss_mult" = 1)) - -/mob/living/simple_mob/animal/giant_spider - //Spiders have an exoskeleton and no internal skeleton, so there'll be just 97% chance of hitting bone (3% for stuff like eyes and orifices), but the bone is much easier to punch through. - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 97, BP_TORSO = 97, BP_GROIN = 97, BP_L_FOOT = 97, BP_R_FOOT = 97, BP_L_LEG = 97, BP_R_LEG = 97, BP_L_ARM = 97, BP_R_ARM = 97, BP_L_HAND = 97, BP_R_HAND = 97), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 95, BP_TORSO = 90, BP_GROIN = 90), \ - "bone_strength" = list(BP_HEAD = 0.35, BP_TORSO = 0.3, BP_GROIN = 0.25, BP_L_FOOT = 0.15, BP_R_FOOT = 0.15, BP_L_LEG = 0.2, BP_R_LEG = 0.2, BP_L_ARM = 0.2, BP_R_ARM = 0.2, BP_L_HAND = 0.15, BP_R_HAND = 0.15), \ - "organ_multiplier" = list(BP_HEAD = 3.6, BP_TORSO = 3.5, BP_GROIN = 3)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1,"velloss_mult" = 1)) - -/mob/living/simple_mob/metroid - //Metroids aren't real but we can make some guesses, and they sure as hell don't have any bones. They also don't have any arms or feet, so we're gonna pretend like those are referring to the parts of the metroid slime that have no organs in them. - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 90, BP_TORSO = 95, BP_GROIN = 95), \ - "bone_strength" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_multiplier" = list(BP_HEAD = 3.6, BP_TORSO = 3.5, BP_GROIN = 3.4)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1.175,"velloss_mult" = 1.3)) - -/mob/living/simple_mob/mechanical - //Okay, so my equations weren't really meant for stuff made out of metal, but we should be able to make it work anyways. We'll just make bone represent armor instead. - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 85, BP_TORSO = 90, BP_GROIN = 90, BP_L_FOOT = 95, BP_R_FOOT = 95, BP_L_LEG = 95, BP_R_LEG = 95, BP_L_ARM = 95, BP_R_ARM = 95, BP_L_HAND = 95, BP_R_HAND = 95), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 80, BP_TORSO = 80, BP_GROIN = 80), \ - "bone_strength" = list(BP_HEAD = 2.5, BP_TORSO = 3, BP_GROIN = 2.75, BP_L_FOOT = 1.5, BP_R_FOOT = 1.5, BP_L_LEG = 2, BP_R_LEG = 2, BP_L_ARM = 1.75, BP_R_ARM = 1.75, BP_L_HAND = 1.35, BP_R_HAND = 1.35), \ - "organ_multiplier" = list(BP_HEAD = 3, BP_TORSO = 2.5, BP_GROIN = 2.5)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1,"velloss_mult" = 1)) - -/mob/living/simple_mob/tomato - //Going to copy from metroids, since they're honestly kind of similar, just blob shaped mushy creatures. - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 90, BP_TORSO = 95, BP_GROIN = 95), \ - "bone_strength" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_multiplier" = list(BP_HEAD = 3.6, BP_TORSO = 3.5, BP_GROIN = 3.4)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1.175,"velloss_mult" = 1.3)) - -/mob/living/simple_mob/animal/space/tree - //It's uh, a tree? Gonna say here that the bark will act as a shitty equivalent to bones but be 100% encasing - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 100, BP_TORSO = 100, BP_GROIN = 100, BP_L_FOOT = 100, BP_R_FOOT = 100, BP_L_LEG = 100, BP_R_LEG = 100, BP_L_ARM = 100, BP_R_ARM = 100, BP_L_HAND = 100, BP_R_HAND = 100), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 95, BP_TORSO = 90, BP_GROIN = 90), \ - "bone_strength" = list(BP_HEAD = 0.075, BP_TORSO = 0.15, BP_GROIN = 0.2, BP_L_FOOT = 0.075, BP_R_FOOT = 0.075, BP_L_LEG = 0.1, BP_R_LEG = 0.1, BP_L_ARM = 0.075, BP_R_ARM = 0.075, BP_L_HAND = 0.05, BP_R_HAND = 0.05), \ - "organ_multiplier" = list(BP_HEAD = 4, BP_TORSO = 3.5, BP_GROIN = 2.5)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1,"velloss_mult" = 1)) - -/mob/living/simple_mob/slime - //Slimes are also just getting copied from metroids, so scroll up for explanation. - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 90, BP_TORSO = 95, BP_GROIN = 95), \ - "bone_strength" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_multiplier" = list(BP_HEAD = 3.6, BP_TORSO = 3.5, BP_GROIN = 3.4)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1.175,"velloss_mult" = 1.3)) - -/mob/living/simple_mob/vore/pitcher_plant - //Uhhh, well, pitcher plants are kinda funny because they're mostly hollow. Gonna pretty much just say that they have no organs and no bones here. Maybe later on we can add a special function for bullets to also act on whatever is inside. - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0), \ - "bone_strength" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_multiplier" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1,"velloss_mult" = 1)) - -/mob/living/simple_mob/vore/bee - //Bees also have exoskeletons, so copying from spiders pretty much. - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 97, BP_TORSO = 97, BP_GROIN = 97, BP_L_FOOT = 97, BP_R_FOOT = 97, BP_L_LEG = 97, BP_R_LEG = 97, BP_L_ARM = 97, BP_R_ARM = 97, BP_L_HAND = 97, BP_R_HAND = 97), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 95, BP_TORSO = 90, BP_GROIN = 90), \ - "bone_strength" = list(BP_HEAD = 0.35, BP_TORSO = 0.3, BP_GROIN = 0.25, BP_L_FOOT = 0.15, BP_R_FOOT = 0.15, BP_L_LEG = 0.2, BP_R_LEG = 0.2, BP_L_ARM = 0.2, BP_R_ARM = 0.2, BP_L_HAND = 0.15, BP_R_HAND = 0.15), \ - "organ_multiplier" = list(BP_HEAD = 3.6, BP_TORSO = 3.5, BP_GROIN = 3)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1,"velloss_mult" = 1)) - -/mob/living/simple_mob/vore/aggressive/corrupthound - //These are mechanical, so copying from mechanical. - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 85, BP_TORSO = 90, BP_GROIN = 90, BP_L_FOOT = 95, BP_R_FOOT = 95, BP_L_LEG = 95, BP_R_LEG = 95, BP_L_ARM = 95, BP_R_ARM = 95, BP_L_HAND = 95, BP_R_HAND = 95), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 80, BP_TORSO = 80, BP_GROIN = 80), \ - "bone_strength" = list(BP_HEAD = 2.5, BP_TORSO = 3, BP_GROIN = 2.75, BP_L_FOOT = 1.5, BP_R_FOOT = 1.5, BP_L_LEG = 2, BP_R_LEG = 2, BP_L_ARM = 1.75, BP_R_ARM = 1.75, BP_L_HAND = 1.35, BP_R_HAND = 1.35), \ - "organ_multiplier" = list(BP_HEAD = 3, BP_TORSO = 2.5, BP_GROIN = 2.5)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1,"velloss_mult" = 1)) - -/mob/living/simple_mob/vore/aggressive/frog - //Frogs actually have some interesting anatomy. Giant head, small brain, large holes in the skull for eyes. - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 65, BP_TORSO = 70, BP_GROIN = 20, BP_L_FOOT = 80, BP_R_FOOT = 80, BP_L_LEG = 35, BP_R_LEG = 35, BP_L_ARM = 65, BP_R_ARM = 65, BP_L_HAND = 80, BP_R_HAND = 80), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 50, BP_TORSO = 90, BP_GROIN = 90), \ - "bone_strength" = list(BP_HEAD = 1.3, BP_TORSO = 1.15, BP_GROIN = 1, BP_L_FOOT = 0.7, BP_R_FOOT = 0.7, BP_L_LEG = 1.2, BP_R_LEG = 1.2, BP_L_ARM = 1, BP_R_ARM = 1, BP_L_HAND = 0.55, BP_R_HAND = 0.55), \ - "organ_multiplier" = list(BP_HEAD = 4, BP_TORSO = 3.5, BP_GROIN = 2.9)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1,"velloss_mult" = 1)) - -/mob/living/simple_mob/animal/space/jelly - //Copying from metroids again - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 90, BP_TORSO = 95, BP_GROIN = 95), \ - "bone_strength" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_multiplier" = list(BP_HEAD = 3.6, BP_TORSO = 3.5, BP_GROIN = 3.4)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1.175,"velloss_mult" = 1.3)) - -/mob/living/simple_mob/vore/sect_queen - //Exoskeleton, so, gonna copy from spiders and give a small bonus to the bone strength for the sheer size. - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 97, BP_TORSO = 97, BP_GROIN = 97, BP_L_FOOT = 97, BP_R_FOOT = 97, BP_L_LEG = 97, BP_R_LEG = 97, BP_L_ARM = 97, BP_R_ARM = 97, BP_L_HAND = 97, BP_R_HAND = 97), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 95, BP_TORSO = 90, BP_GROIN = 90), \ - "bone_strength" = list(BP_HEAD = 0.45, BP_TORSO = 0.4, BP_GROIN = 0.35, BP_L_FOOT = 0.25, BP_R_FOOT = 0.25, BP_L_LEG = 0.3, BP_R_LEG = 0.3, BP_L_ARM = 0.3, BP_R_ARM = 0.3, BP_L_HAND = 0.25, BP_R_HAND = 0.25), \ - "organ_multiplier" = list(BP_HEAD = 3.6, BP_TORSO = 3.5, BP_GROIN = 3)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1,"velloss_mult" = 1)) - -/mob/living/simple_mob/vore/oregrub - //They seem mushy and blobby, so gonna copy from metroids. - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 90, BP_TORSO = 95, BP_GROIN = 95), \ - "bone_strength" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_multiplier" = list(BP_HEAD = 3.6, BP_TORSO = 3.5, BP_GROIN = 3.4)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1.175,"velloss_mult" = 1.3)) - -/mob/living/simple_mob/vore/solargrub - //Solargrubs also seem mushy and blobby, let's continue copying from metroids. - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 90, BP_TORSO = 95, BP_GROIN = 95), \ - "bone_strength" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_multiplier" = list(BP_HEAD = 3.6, BP_TORSO = 3.5, BP_GROIN = 3.4)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1.175,"velloss_mult" = 1.3)) - -/mob/living/simple_mob/vore/slug - //Slugs are also mushy and blobby, gonna copy from metroids as well. - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 90, BP_TORSO = 95, BP_GROIN = 95), \ - "bone_strength" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_multiplier" = list(BP_HEAD = 3.6, BP_TORSO = 3.5, BP_GROIN = 3.4)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1.175,"velloss_mult" = 1.3)) - -/mob/living/simple_mob/vore/aggressive/mimic - //Hmm, To be honest I imagine mimics having an exoskeleton, so I'm gonna copy from spiders and make a few changes for organ stuff. - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 97, BP_TORSO = 97, BP_GROIN = 97, BP_L_FOOT = 97, BP_R_FOOT = 97, BP_L_LEG = 97, BP_R_LEG = 97, BP_L_ARM = 97, BP_R_ARM = 97, BP_L_HAND = 97, BP_R_HAND = 97), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 60, BP_TORSO = 80, BP_GROIN = 90), \ - "bone_strength" = list(BP_HEAD = 0.35, BP_TORSO = 0.3, BP_GROIN = 0.25, BP_L_FOOT = 0.15, BP_R_FOOT = 0.15, BP_L_LEG = 0.2, BP_R_LEG = 0.2, BP_L_ARM = 0.2, BP_R_ARM = 0.2, BP_L_HAND = 0.15, BP_R_HAND = 0.15), \ - "organ_multiplier" = list(BP_HEAD = 3.5, BP_TORSO = 3.5, BP_GROIN = 3.5)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1,"velloss_mult" = 1)) - -/mob/living/simple_mob/vore/solarmoth - //Solarmoths are getting directly copied from spiders, again because of exoskeleton - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 97, BP_TORSO = 97, BP_GROIN = 97, BP_L_FOOT = 97, BP_R_FOOT = 97, BP_L_LEG = 97, BP_R_LEG = 97, BP_L_ARM = 97, BP_R_ARM = 97, BP_L_HAND = 97, BP_R_HAND = 97), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 95, BP_TORSO = 90, BP_GROIN = 90), \ - "bone_strength" = list(BP_HEAD = 0.35, BP_TORSO = 0.3, BP_GROIN = 0.25, BP_L_FOOT = 0.15, BP_R_FOOT = 0.15, BP_L_LEG = 0.2, BP_R_LEG = 0.2, BP_L_ARM = 0.2, BP_R_ARM = 0.2, BP_L_HAND = 0.15, BP_R_HAND = 0.15), \ - "organ_multiplier" = list(BP_HEAD = 3.6, BP_TORSO = 3.5, BP_GROIN = 3)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1,"velloss_mult" = 1)) - -/mob/living/simple_mob/blob - //Apparently these are considered slimes in code, so gonna copy from metroid for them. - ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_HEAD = 90, BP_TORSO = 95, BP_GROIN = 95), \ - "bone_strength" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_multiplier" = list(BP_HEAD = 3.6, BP_TORSO = 3.5, BP_GROIN = 3.4)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1.175,"velloss_mult" = 1.3)) - -//Species -/datum/species/shapeshifter/promethean/handle_post_spawn(var/mob/living/carbon/human/H) - .=..() - //Honestly this is mostly for balancing purposes, since prometheans have no bones and weirder organs it fucks with the numbers, so giving them a bit more flesh damage - H.ballistic_variables = list(\ - "bone_chance_unencased" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_leave_early" = list("l_arm", "r_arm", "l_hand", "r_hand", "l_foot", "r_foot"), \ - "organ_hit_weight" = list(\ - BP_HEAD = list(\ - /*Standard organs*/O_BRAIN = 90, O_EYES = 5, \ - /*Diona organs*/O_RESPONSE = 10, O_RESPONSE = 15, O_GBLADDER = 15, \ - /*Replicant organs*/O_VRLINK = 20, \ - /*Xeno organs*/O_ACID = 10, O_RESIN = 10), \ - BP_TORSO = list(\ - /*Standard organs*/O_HEART = 5, O_LUNGS = 50, O_SPLEEN = 15, O_VOICE = 10, \ - /*Synth organs*/O_CELL = 5, O_PUMP = 15, O_HEATSINK = 35, O_CYCLER = 15, O_DIAGNOSTIC = 10, \ - /*Promethean organs*/O_REGBRUTE = 20, O_REGBURN = 20, O_REGOXY = 20, O_REGTOX = 20, \ - /*Diona organs*/O_STRATA = 35, O_BRAIN = 20, O_NUTRIENT = 10, \ - /*Replicant organs*/O_AREJECT = 35, \ - /*Xeno organs*/O_PLASMA = 10, O_HIVE = 10), \ - BP_GROIN = list(\ - /*Standard organs*/O_INTESTINES = 50, O_STOMACH = 20, O_LIVER = 20, O_KIDNEYS = 15, O_APPENDIX = 5, \ - /*Diona organs*/O_POLYP = 10, O_ANCHOR = 15, \ - /*Replicant organs*/O_VENTC = 20, \ - /*Xeno organs*/ O_EGG = 25) ), \ - "organ_hit_chance" = list(BP_TORSO = 85), \ - "bone_strength" = list(BP_HEAD = 0, BP_TORSO = 0, BP_GROIN = 0, BP_L_FOOT = 0, BP_R_FOOT = 0, BP_L_LEG = 0, BP_R_LEG = 0, BP_L_ARM = 0, BP_R_ARM = 0, BP_L_HAND = 0, BP_R_HAND = 0), \ - "organ_multiplier" = list(BP_HEAD = 3.6, BP_TORSO = 3.5, BP_GROIN = 3.4)/*Only used for simple mobs*/, \ - "flesh_factors" = list("damage_mult" = 1.175,"velloss_mult" = 1.3)) - H.ballistic_variables = widelist(H.ballistic_variables) diff --git a/code/modules/mob/living/zz_ballistics_ch/z_ballistic_test_ch.dm b/code/modules/mob/living/zz_ballistics_ch/z_ballistic_test_ch.dm deleted file mode 100644 index 5df401915b..0000000000 --- a/code/modules/mob/living/zz_ballistics_ch/z_ballistic_test_ch.dm +++ /dev/null @@ -1,248 +0,0 @@ -#define BULLET_PENETRATED 1<<0 -#define BULLET_BONECHECK1_TRUE 1<<1 -#define BULLET_ORGANCHECK_TRUE 1<<2 -#define BULLET_BONECHECK2_TRUE 1<<3 -#define BULLET_PASSED_LEAVE_EARLY 1<<4 -#define BULLET_PASSED_BONECHECK1 1<<5 -#define BULLET_PASSED_ORGANCHECK 1<<6 -#define BULLET_PASSED_INTERNALCHECK2 1<<7 -#define BULLET_PASSED_BONECHECK2 1<<8 -#define BULLET_PASSED_INTERNALCHECK3 1<<9 -#define BULLET_TESTS 150 - -/mob/living/carbon/human/monkey/testerboyo - name = "testerboyo" - var/the_big_armor = 0 - -/mob/living/carbon/human/monkey/testerboyo/getarmor(var/def_zone,var/type) - return the_big_armor - -/proc/test_all_ballistics() - var/mob/living/carbon/human/monkey/testerboyo/tester = new() - var/obj/item/projectile/bullet/pistol/test1 = new() - var/obj/item/projectile/bullet/pistol/ap/test2 = new() - var/obj/item/projectile/bullet/pistol/hp/test3 = new() - var/obj/item/projectile/bullet/pistol/medium/test4 = new() - var/obj/item/projectile/bullet/pistol/medium/ap/test5 = new() - var/obj/item/projectile/bullet/pistol/medium/hp/test6 = new() - var/obj/item/projectile/bullet/pistol/strong/test7 = new() - var/obj/item/projectile/bullet/shotgun/test8 = new() - var/obj/item/projectile/bullet/shotgun/buckshot/test9 = new() - var/obj/item/projectile/bullet/rifle/a762/test10 = new() - var/obj/item/projectile/bullet/rifle/a762/ap/test11 = new() - var/obj/item/projectile/bullet/rifle/a762/hp/test12 = new() - var/obj/item/projectile/bullet/rifle/a545/test13 = new() - var/obj/item/projectile/bullet/rifle/a545/ap/test14 = new() - var/obj/item/projectile/bullet/rifle/a545/hp/test15 = new() - var/obj/item/projectile/bullet/rifle/a145/test16 = new() - var/obj/item/projectile/bullet/rifle/a145/highvel/test17 = new() - var/obj/item/projectile/bullet/rifle/a44rifle/test18 = new() - var/obj/item/projectile/bullet/rifle/a95/test19 = new() - var/obj/item/projectile/bullet/rifle/a762/lmg/test20 = new() - test_ballistics(test1,tester) - test_ballistics(test2,tester) - test_ballistics(test3,tester) - test_ballistics(test4,tester) - test_ballistics(test5,tester) - test_ballistics(test6,tester) - test_ballistics(test7,tester) - test_ballistics(test8,tester) - test_ballistics(test9,tester) - test_ballistics(test10,tester) - test_ballistics(test11,tester) - test_ballistics(test12,tester) - test_ballistics(test13,tester) - test_ballistics(test14,tester) - test_ballistics(test15,tester) - test_ballistics(test16,tester) - test_ballistics(test17,tester) - test_ballistics(test18,tester) - test_ballistics(test19,tester) - test_ballistics(test20,tester) - qdel(tester) - qdel(test1) - qdel(test2) - qdel(test3) - qdel(test4) - qdel(test5) - qdel(test6) - qdel(test7) - qdel(test8) - qdel(test9) - qdel(test10) - qdel(test11) - qdel(test12) - qdel(test13) - qdel(test14) - qdel(test15) - qdel(test16) - qdel(test17) - qdel(test18) - qdel(test19) - qdel(test20) - - -/proc/test_ballistics(var/obj/item/projectile/bullet/P,var/mob/living/carbon/human/monkey/testerboyo/tester) - var/list/data = list() - for(var/armor_level in list(0,5,10,20,50,80)) - data["[armor_level]"] = list() - data["[armor_level]"]["average"] = list() - tester.the_big_armor = armor_level - var/bp_num = 0 - for(var/body_part in list(BP_TORSO,BP_HEAD,BP_R_LEG,BP_R_ARM,BP_R_HAND)) - bp_num++ - data["[armor_level]"][body_part] = list() - for(var/i = 0,i= GLOB.ARMOR_LOSS_MIN_ARMOR ? GLOB.ARMOR_LOSS_COEFFICIENT * area_over_mass * ((1 + GLOB.ARMOR_LOSS_MIN_MULT) - penetration_chance/100) : 0 - P.sub_velocity(vel_lost_armor) - - var/energy_past = P.energy - var/internal_loss = vel_loss_multiplier * GLOB.INTERNAL_LOSS_COEFFICIENT * area_over_mass - var/vel_lost_skin = vel_loss_multiplier * GLOB.SKIN_LOSS_COEFFICIENT * area_over_mass - P.sub_velocity(vel_lost_skin + internal_loss) - energy_dumped_organic += (energy_past - P.energy) - if(prob(PROB_LEAVE_EARLY_FIRST) || !P.velocity) - return lazy_return_testing(chex,energy_dumped_organic) - if(hit_organ) - chex |= BULLET_PASSED_LEAVE_EARLY - return organ_handle_ballistics(P,hit_organ,energy_dumped_organic,internal_loss,ballistic_armor,updated_organ_weight,chex) - else - return general_handle_ballistics(P,def_zone,energy_dumped_organic,internal_loss,ballistic_armor) - -/mob/living/carbon/human/monkey/testerboyo/organ_handle_ballistics(var/obj/item/projectile/bullet/P,var/obj/item/organ/external/hit_organ,var/energy_dumped_organic,var/internal_loss,var/ballistic_armor,var/list/updated_organ_weight,var/chex) - //var/conversion_efficiency = P.hollow_point ? 0.8 : 1 - var/energy_past - var/area_over_mass = P.diam * P.diam / P.grains - var/bone_chance = BONE_HIT_CHANCE_UNENCASED - if(hit_organ.encased) - bone_chance = BONE_HIT_CHANCE_ENCASED - else - bone_chance = ballistic_variables["bone_chance_unencased"][hit_organ.organ_tag] - if(prob(bone_chance)) - chex |= BULLET_BONECHECK1_TRUE - var/energy_to_fracture = max(GLOB.BONE_JOULES_MIN, hit_organ.min_broken_damage * (GAUSSIAN_RANDOM()*GLOB.BONE_JOULES_PERHP_DEV + GLOB.BONE_JOULES_PERHP_AVG)) - if(energy_to_fracture>=P.energy) //We don't have enough energy to get through the bone. This is the end for us! - energy_dumped_organic += P.energy/2 //About half of our remaining energy will go into fucking up this boi, the rest is absorbed by the bone - P.sub_velocity(P.velocity) - return lazy_return_testing(chex,energy_dumped_organic) - else - P.sub_energy(energy_to_fracture) - energy_dumped_organic += energy_to_fracture / 3 //About a third of the energy that goes into fracturing the bone also goes into fucking up tissues. - chex |= BULLET_PASSED_BONECHECK1 - if(hit_organ.internal_organs.len && P.velocity > area_over_mass*ORGAN_LOSS_COEFFICIENT && prob(ballistic_variables["organ_hit_chance"][hit_organ.organ_tag]) && updated_organ_weight[hit_organ] && updated_organ_weight[hit_organ].len) - chex |= BULLET_ORGANCHECK_TRUE - energy_past = P.energy - P.sub_velocity(internal_loss) - if(!P.velocity) - return lazy_return_testing(chex,energy_dumped_organic) - chex |= BULLET_PASSED_ORGANCHECK - energy_past = P.energy - P.sub_velocity(internal_loss) - energy_dumped_organic += energy_past - P.energy - if(!P.velocity || (hit_organ.organ_tag in ballistic_variables["organ_leave_early"]) || prob(PROB_LEAVE_EARLY_SECOND)) - return lazy_return_testing(chex,energy_dumped_organic) - chex |= BULLET_PASSED_INTERNALCHECK2 - if(prob(bone_chance)) - chex |= BULLET_BONECHECK2_TRUE - var/energy_to_fracture = max(GLOB.BONE_JOULES_MIN, hit_organ.min_broken_damage * (GAUSSIAN_RANDOM()*GLOB.BONE_JOULES_PERHP_DEV + GLOB.BONE_JOULES_PERHP_AVG)) - if(energy_to_fracture>=P.energy) //We don't have enough energy to get through the bone. This is the end for us! - energy_dumped_organic += P.energy/2 //About half of our remaining energy will go into fucking up this boi, the rest is absorbed by the bone - P.sub_velocity(P.velocity) - return lazy_return_testing(chex,energy_dumped_organic) - else - P.sub_energy(energy_to_fracture) - energy_dumped_organic += energy_to_fracture / 3 //About a third of the energy that goes into fracturing the bone also goes into fucking up tissues. - chex |= BULLET_PASSED_BONECHECK2 - energy_past = P.energy - P.sub_velocity(internal_loss) - energy_dumped_organic += energy_past - P.energy - if(!P.velocity) - return lazy_return_testing(chex,energy_dumped_organic) - chex |= BULLET_PASSED_INTERNALCHECK3 - var/penetration_chance = armor_penetration_probability(ballistic_armor,P) - if(prob(penetration_chance)) - return lazy_return_testing(chex,energy_dumped_organic) - else - energy_dumped_organic += P.energy / 3 - P.sub_velocity(P.velocity) - return lazy_return_testing(chex,energy_dumped_organic) - -#undef BULLET_PENETRATED -#undef BULLET_BONECHECK1_TRUE -#undef BULLET_ORGANCHECK_TRUE -#undef BULLET_BONECHECK2_TRUE -#undef BULLET_PASSED_LEAVE_EARLY -#undef BULLET_PASSED_BONECHECK1 -#undef BULLET_PASSED_ORGANCHECK -#undef BULLET_PASSED_INTERNALCHECK2 -#undef BULLET_PASSED_BONECHECK2 -#undef BULLET_PASSED_INTERNALCHECK3 -#undef BULLET_TESTS diff --git a/code/modules/projectiles/gun_ch.dm b/code/modules/projectiles/gun_ch.dm deleted file mode 100644 index 5ae1423717..0000000000 --- a/code/modules/projectiles/gun_ch.dm +++ /dev/null @@ -1,2 +0,0 @@ -/obj/item/gun - var/holy = 0 //For Divinely blessed guns diff --git a/code/modules/projectiles/guns/projectile/shotgun_ch.dm b/code/modules/projectiles/guns/projectile/shotgun_ch.dm index 018873e20a..f0586a0c69 100644 --- a/code/modules/projectiles/guns/projectile/shotgun_ch.dm +++ b/code/modules/projectiles/guns/projectile/shotgun_ch.dm @@ -32,4 +32,3 @@ /obj/item/gun/projectile/shotgun/doublebarrel/sawn/alt/holy ammo_type = /obj/item/ammo_casing/a12g/silver - holy = 1 diff --git a/code/modules/projectiles/projectile_ch.dm b/code/modules/projectiles/projectile_ch.dm index 9926313cec..8cc9179cb8 100644 --- a/code/modules/projectiles/projectile_ch.dm +++ b/code/modules/projectiles/projectile_ch.dm @@ -1,7 +1,3 @@ -/obj/item/projectile -/// If this projectile is holy. Silver bullets, etc. Currently no effects. - var/holy = 0 - /obj/item/projectile/bullet/pellet/shotgun/silver name = "shrapnel" fire_sound = 'sound/weapons/weaponsounds_shotgunshot.ogg' @@ -11,4 +7,3 @@ pellets = 6 range_step = 1 spread_step = 20 - holy = 1 diff --git a/vorestation.dme b/vorestation.dme index e2df9597bb..91396292d9 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -3383,7 +3383,6 @@ #include "code\modules\mob\living\carbon\human\human_helpers_vr.dm" #include "code\modules\mob\living\carbon\human\human_modular_limbs.dm" #include "code\modules\mob\living\carbon\human\human_movement.dm" -#include "code\modules\mob\living\carbon\human\human_movement_ch.dm" #include "code\modules\mob\living\carbon\human\human_organs.dm" #include "code\modules\mob\living\carbon\human\human_powers.dm" #include "code\modules\mob\living\carbon\human\human_powers_vr.dm" @@ -4192,7 +4191,6 @@ #include "code\modules\projectiles\broken.dm" #include "code\modules\projectiles\dnalocking.dm" #include "code\modules\projectiles\gun.dm" -#include "code\modules\projectiles\gun_ch.dm" #include "code\modules\projectiles\projectile.dm" #include "code\modules\projectiles\projectile_ch.dm" #include "code\modules\projectiles\ammunition\ammo_boxes.dm"