From 8a065238e8f2593bd585ac688d9dc24c6fe6b372 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Sat, 25 Feb 2017 17:27:22 -0800 Subject: [PATCH 01/45] Cloning now puts you together bit by bit --- code/game/machinery/cloning.dm | 163 +++++++++++------- code/game/machinery/computer/cloning.dm | 16 +- .../xenoarchaeology/genetics/reconstitutor.dm | 1 - code/modules/surgery/organs/organ.dm | 14 +- code/modules/surgery/organs/organ_internal.dm | 3 +- 5 files changed, 116 insertions(+), 81 deletions(-) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index b3957234d01..70c955c2169 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -5,6 +5,9 @@ #define CLONE_BIOMASS 150 #define BIOMASS_MEAT_AMOUNT 50 +#define MINIMUM_HEAL_LEVEL 40 +#define CLONE_INITIAL_DAMAGE 190 +#define BRAIN_INITIAL_DAMAGE 90 // our minds are too feeble for 190 /obj/machinery/clonepod anchored = 1 @@ -15,12 +18,10 @@ icon_state = "pod_0" req_access = list(access_genetics) //For premature unlocking. var/mob/living/carbon/human/occupant - var/heal_level = 90 //The clone is released once its health reaches this level. - var/locked = 0 + var/heal_level //The clone is released once its health reaches this level. var/obj/machinery/computer/cloning/connected = null //So we remember the connected clone machine. var/mess = 0 //Need to clean out it if it's full of exploded clone. var/attempting = 0 //One clone attempt at a time thanks - var/eject_wait = 0 //Don't eject them as soon as they are created fuckkk var/biomass = 0 var/speed_coeff var/efficiency @@ -33,6 +34,9 @@ var/obj/effect/countdown/clonepod/countdown + var/list/missing_organs + var/organs_number = 0 + light_color = LIGHT_COLOR_PURE_GREEN /obj/machinery/clonepod/power_change() @@ -82,8 +86,21 @@ /obj/machinery/clonepod/Destroy() if(connected) connected.pods -= src +<<<<<<< HEAD QDEL_NULL(Radio) QDEL_NULL(countdown) +======= + if(Radio) + qdel(Radio) + Radio = null + if(countdown) + qdel(countdown) + countdown = null + for(var/i in missing_organs) + qdel(i) + LAZYCLEARLIST(missing_organs) + missing_organs = null +>>>>>>> Cloning now puts you together bit by bit return ..() /obj/machinery/clonepod/RefreshParts() @@ -93,7 +110,7 @@ efficiency += S.rating for(var/obj/item/weapon/stock_parts/manipulator/P in component_parts) speed_coeff += P.rating - heal_level = min((efficiency * 15) + 10, 100) + heal_level = max(min((efficiency * 15) + 10, 100), MINIMUM_HEAL_LEVEL) //The return of data disks?? Just for transferring between genetics machine/cloning machine. //TO-DO: Make the genetics machine accept them. @@ -217,19 +234,21 @@ if(!G) return 0 +/* + if(clonemind.damnation_type) //Can't clone the damned. + playsound('sound/hallucinations/veryfar_noise.ogg', 50, 0) + malfunction() + return -1 // so that the record gets flushed out + */ + if(biomass >= CLONE_BIOMASS) biomass -= CLONE_BIOMASS else return 0 attempting = 1 //One at a time!! - locked = 1 countdown.start() - eject_wait = 1 - spawn(30) - eject_wait = 0 - if(!R.dna) R.dna = new /datum/dna() @@ -246,9 +265,23 @@ for(var/datum/language/L in R.languages) H.add_language(L.name) + domutcheck(H, null, MUTCHK_FORCED) //Ensures species that get powers by the species proc handle_dna keep them + + if(efficiency > 2 && efficiency < 5 && prob(25)) + randmutb(H) + if(efficiency > 5 && prob(20)) + randmutg(H) + if(efficiency < 3 && prob(50)) + randmutb(H) + + H.dna.UpdateSE() + H.dna.UpdateUI() + + H.sync_organ_dna(1) // It's literally a fresh body as you can get, so all organs properly belong to it + H.UpdateAppearance() + //Get the clone body ready - H.adjustCloneLoss(190) //new damage var so you can't eject a clone early then stab them to abuse the current damage system --NeoFite - H.adjustBrainLoss(90) // The rand(10, 30) will come out as extra brain damage + maim_clone(H) H.Paralyse(4) //Here let's calculate their health so the pod doesn't immediately eject them!!! @@ -266,21 +299,6 @@ beginning to regenerate in a cloning pod. You will become conscious when it is complete."}) - domutcheck(H, null, MUTCHK_FORCED) //Ensures species that get powers by the species proc handle_dna keep them - - if(efficiency > 2 && efficiency < 5 && prob(25)) - randmutb(H) - if(efficiency > 5 && prob(20)) - randmutg(H) - if(efficiency < 3 && prob(50)) - randmutb(H) - - H.dna.UpdateSE() - H.dna.UpdateUI() - - H.sync_organ_dna(1) // It's literally a fresh body as you can get, so all organs properly belong to it - H.UpdateAppearance() - update_icon() H.suiciding = 0 @@ -299,13 +317,11 @@ if(stat & NOPOWER) //Autoeject if power is lost if(occupant) - locked = 0 go_out() connected_message("Clone Ejected: Loss of power.") else if((occupant) && (occupant.loc == src)) if((occupant.stat == DEAD) || (occupant.suiciding)) //Autoeject corpses and suiciding dudes. - locked = 0 announce_radio_message("The cloning of [occupant] has been aborted due to unrecoverable tissue failure.") go_out() connected_message("Clone Rejected: Deceased.") @@ -316,6 +332,15 @@ //Slowly get that clone healed and finished. occupant.adjustCloneLoss(-((speed_coeff/2))) + var/progress = CLONE_INITIAL_DAMAGE - occupant.getCloneLoss() + progress += (100 - MINIMUM_HEAL_LEVEL) + var/milestone = CLONE_INITIAL_DAMAGE / organs_number + var/installed = organs_number - LAZYLEN(missing_organs) + + while((progress / milestone) > installed && LAZYLEN(missing_organs)) + var/obj/item/organ/I = pick_n_take(missing_organs) + I.replaced(occupant) + //Premature clones may have brain damage. occupant.adjustBrainLoss(-((speed_coeff/20)*efficiency)) @@ -328,22 +353,19 @@ use_power(7500) //This might need tweaking. - else if((occupant.cloneloss <= (100 - heal_level)) && (!eject_wait)) + else if((occupant.cloneloss <= (100 - heal_level))) connected_message("Cloning Process Complete.") announce_radio_message("The cloning cycle of [occupant] is complete.") - locked = 0 go_out() else if((!occupant) || (occupant.loc != src)) occupant = null - if(locked) - locked = 0 update_icon() use_power(200) //Let's unlock this early I guess. Might be too early, needs tweaking. /obj/machinery/clonepod/attackby(obj/item/weapon/W, mob/user, params) - if(!(occupant || mess || locked)) + if(!(occupant || mess)) if(default_deconstruction_screwdriver(user, "[icon_state]_maintenance", "[initial(icon_state)]", W)) return @@ -357,14 +379,14 @@ if(!check_access(W)) to_chat(user, "Access Denied.") return - if (!locked || !occupant) - return - if(occupant.health < -20 && occupant.stat != DEAD) - to_chat(user, "Access Refused. Patient status still unstable.") + if(!(occupant || mess)) + to_chat(user, "Error: Pod has no occupant.") return else - locked = 0 - to_chat(user, "System unlocked.") + connected_message("Authorized Ejection") + announce_radio_message("An authorized ejection of [occupant.real_name] has occured") + to_chat(user, "You force an emergency ejection.") + go_out() //Removing cloning pod biomass else if(istype(W, /obj/item/weapon/reagent_containers/food/snacks/meat)) @@ -374,7 +396,7 @@ qdel(W) return else if(istype(W, /obj/item/weapon/wrench)) - if(locked && (anchored || occupant)) + if(occupant) to_chat(user, "Can not do that while [src] is in use.") else if(anchored) @@ -399,8 +421,6 @@ /obj/machinery/clonepod/emag_act(user) if(isnull(occupant)) return - to_chat(user, "You force an emergency ejection.") - locked = 0 go_out() /obj/machinery/clonepod/proc/update_clone_antag(var/mob/living/carbon/human/H) @@ -435,21 +455,7 @@ connected.updateUsrDialog() return 1 -/obj/machinery/clonepod/verb/eject() - set name = "Eject Cloner" - set category = "Object" - set src in oview(1) - - if(!usr) - return - if(usr.incapacitated()) - return - go_out() - add_fingerprint(usr) - /obj/machinery/clonepod/proc/go_out() - if(locked) - return countdown.stop() if(mess) //Clean that mess and dump those gibs! @@ -470,8 +476,11 @@ You feel like a new being.") occupant.flash_eyes(visual = 1) + for(var/i in missing_organs) + qdel(i) + missing_organs.Cut() occupant.forceMove(get_turf(src)) - eject_wait = 0 //If it's still set somehow. + occupant.update_body() domutcheck(occupant) //Waiting until they're out before possible notransform. occupant.shock_stage = 0 //Reset Shock occupant = null @@ -481,19 +490,24 @@ if(occupant) connected_message("Critical Error!") announce_radio_message("Critical error! Please contact a Thinktronic Systems technician, as your warranty may be affected.") - mess = 1 - update_icon() if(occupant.mind != clonemind) clonemind.transfer_to(occupant) occupant.grab_ghost() // We really just want to make you suffer. to_chat(occupant, {"Agony blazes across your consciousness as your body is torn apart.
Is this what dying is like? Yes it is.
"}) - playsound(loc, 'sound/machines/warning-buzzer.ogg', 50, 0) occupant << sound('sound/hallucinations/veryfar_noise.ogg',0,1,50) + for(var/i in missing_organs) + qdel(i) + missing_organs.Cut() spawn(40) qdel(occupant) + + playsound(loc, 'sound/machines/warning-buzzer.ogg', 50, 0) + mess = TRUE + update_icon() + /obj/machinery/clonepod/update_icon() ..() icon_state = "pod_0" @@ -535,6 +549,33 @@ else return +/obj/machinery/clonepod/proc/maim_clone(mob/living/carbon/human/H) + LAZYINITLIST(missing_organs) + for(var/i in missing_organs) + qdel(i) + missing_organs.Cut() + + H.setCloneLoss(CLONE_INITIAL_DAMAGE) + H.setBrainLoss(BRAIN_INITIAL_DAMAGE) + + for(var/o in H.internal_organs) + var/obj/item/organ/O = o + if(!istype(O) || O.vital) + continue + var/obj/item/I = O.remove(H, TRUE) + // Make this support stuff that turns into items when removed + I.forceMove(src) + missing_organs += I + + var/static/list/zones = list("r_arm", "l_arm", "r_leg", "l_leg") + for(var/zone in zones) + var/obj/item/organ/external/E = H.get_organ(zone) + var/obj/item/I = E.remove(H, TRUE) + I.forceMove(src) + missing_organs += I + + organs_number = LAZYLEN(missing_organs) + /* * Diskette Box */ @@ -586,3 +627,5 @@ if(istype(A, /obj/machinery/clonepod)) A:malfunction() */ + +#undef MINIMUM_HEAL_LEVEL diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 0d47420edc9..c1a115e8d96 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -310,6 +310,7 @@ temp = "Error: No cloning pod detected." else var/obj/machinery/clonepod/pod = selected_pod + var/cloneresult if(!selected_pod) temp = "Error: No cloning pod selected." else if(pod.occupant) @@ -320,13 +321,16 @@ temp = "Error: The cloning pod is malfunctioning." else if(!config.revival_cloning) temp = "Error: Unable to initiate cloning cycle." - else if(pod.growclone(C)) - temp = "Initiating cloning cycle..." - records.Remove(C) - qdel(C) - menu = 1 else - temp = "[C.name] => Initialisation failure." + cloneresult = pod.growclone(C) + if(cloneresult) + if(cloneresult > 0) + temp = "Initiating cloning cycle..." + records.Remove(C) + qdel(C) + menu = 1 + else + temp = "[C.name] => Initialisation failure." else temp = "Error: Data corruption." diff --git a/code/modules/research/xenoarchaeology/genetics/reconstitutor.dm b/code/modules/research/xenoarchaeology/genetics/reconstitutor.dm index 2cacdc4801e..a4a52b3ea5f 100644 --- a/code/modules/research/xenoarchaeology/genetics/reconstitutor.dm +++ b/code/modules/research/xenoarchaeology/genetics/reconstitutor.dm @@ -191,7 +191,6 @@ datum/genesequence visible_message("[bicon(src)] [src] clones something from a reconstituted gene sequence!") playsound(src.loc, 'sound/effects/screech.ogg', 50, 1, -3) pod1.occupant = new cloned_genesequence.spawned_type(pod1) - pod1.locked = 1 pod1.icon_state = "pod_1" //pod1.occupant.name = "[pod1.occupant.name] ([rand(0,999)])" pod1.biomass -= CLONE_BIOMASS diff --git a/code/modules/surgery/organs/organ.dm b/code/modules/surgery/organs/organ.dm index dd0c9655384..084e16f877e 100644 --- a/code/modules/surgery/organs/organ.dm +++ b/code/modules/surgery/organs/organ.dm @@ -316,18 +316,8 @@ var/list/organ_cache = list() owner = null return src -/obj/item/organ/proc/replaced(var/mob/living/carbon/human/target,var/obj/item/organ/external/affected) - - if(!istype(target)) return - - owner = target - processing_objects -= src - affected.internal_organs |= src - if(!target.get_int_organ(src)) - target.internal_organs += src - loc = target - if(robotic) - status |= ORGAN_ROBOT +/obj/item/organ/proc/replaced(var/mob/living/carbon/human/target) + return // Nothing uses this, it is always overridden /obj/item/organ/proc/surgeryize() diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 6c775862373..7a87d3c6b39 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -74,9 +74,8 @@ A.Remove(M) return src -/obj/item/organ/internal/replaced(var/mob/living/carbon/human/target,var/obj/item/organ/external/affected) +/obj/item/organ/internal/replaced(var/mob/living/carbon/human/target) insert(target) - ..() /obj/item/organ/internal/item_action_slot_check(slot, mob/user) return From 2e59984ae938f1bdccbebac78d1c8d3a5561f6f7 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Sat, 25 Feb 2017 23:39:36 -0800 Subject: [PATCH 02/45] No more screaming clones --- code/modules/mob/living/carbon/human/human_organs.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm index 5ae7547be58..24ed336a4a3 100644 --- a/code/modules/mob/living/carbon/human/human_organs.dm +++ b/code/modules/mob/living/carbon/human/human_organs.dm @@ -65,7 +65,8 @@ stance_damage = 0 // Buckled to a bed/chair. Stance damage is forced to 0 since they're sitting on something solid - if(istype(buckled, /obj/structure/stool/bed)) + // Not standing, so no need to care about stance + if(istype(buckled, /obj/structure/stool/bed) || !isturf(loc)) return for(var/limb_tag in list("l_leg","r_leg","l_foot","r_foot")) From 528e359296acf1f36ea30a65bdd080aed9b8bdda Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Sat, 29 Apr 2017 22:22:57 -0700 Subject: [PATCH 03/45] Refactors heart attacks, unbreaks incremental cloning --- code/__HELPERS/lists.dm | 1 + code/game/machinery/cloning.dm | 53 ++++++++++--------- code/game/objects/items/devices/scanners.dm | 2 +- code/game/objects/items/weapons/defib.dm | 12 ++--- .../mob/living/carbon/carbon_defines.dm | 3 +- code/modules/mob/living/carbon/human/death.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 4 +- code/modules/mob/living/carbon/human/life.dm | 37 ++++++++++--- code/modules/mob/living/living.dm | 2 +- .../reagents/chemistry/reagents/disease.dm | 8 +-- .../reagents/chemistry/reagents/food.dm | 10 ++-- .../reagents/chemistry/reagents/medicine.dm | 8 +++ .../reagents/chemistry/reagents/toxins.dm | 6 +-- .../surgery/organs/augments_internal.dm | 4 +- code/modules/surgery/organs/organ.dm | 2 +- code/modules/surgery/organs/organ_internal.dm | 13 +---- 16 files changed, 95 insertions(+), 72 deletions(-) diff --git a/code/__HELPERS/lists.dm b/code/__HELPERS/lists.dm index 0196f326792..1cb8f1fc468 100644 --- a/code/__HELPERS/lists.dm +++ b/code/__HELPERS/lists.dm @@ -640,3 +640,4 @@ proc/dd_sortedObjectList(list/incoming) // LAZYING PT 2: THE LAZENING #define LAZYREINITLIST(L) LAZYCLEARLIST(L); LAZYINITLIST(L); +#define LAZYQDELLIST(L) if(L) { for(var/o in L) qdel(o); L.Cut() } diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 70c955c2169..af66a54010d 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -34,6 +34,7 @@ var/obj/effect/countdown/clonepod/countdown + var/list/brine_types = list("corazone", "salbutamol", "hydrocodone") var/list/missing_organs var/organs_number = 0 @@ -86,21 +87,9 @@ /obj/machinery/clonepod/Destroy() if(connected) connected.pods -= src -<<<<<<< HEAD QDEL_NULL(Radio) QDEL_NULL(countdown) -======= - if(Radio) - qdel(Radio) - Radio = null - if(countdown) - qdel(countdown) - countdown = null - for(var/i in missing_organs) - qdel(i) - LAZYCLEARLIST(missing_organs) - missing_organs = null ->>>>>>> Cloning now puts you together bit by bit + LAZYDESTROYLIST(missing_organs) return ..() /obj/machinery/clonepod/RefreshParts() @@ -280,6 +269,7 @@ H.sync_organ_dna(1) // It's literally a fresh body as you can get, so all organs properly belong to it H.UpdateAppearance() + check_brine() //Get the clone body ready maim_clone(H) H.Paralyse(4) @@ -332,21 +322,24 @@ //Slowly get that clone healed and finished. occupant.adjustCloneLoss(-((speed_coeff/2))) - var/progress = CLONE_INITIAL_DAMAGE - occupant.getCloneLoss() - progress += (100 - MINIMUM_HEAL_LEVEL) - var/milestone = CLONE_INITIAL_DAMAGE / organs_number - var/installed = organs_number - LAZYLEN(missing_organs) + // For human species that lack non-vital parts for some weird reason + if(organs_number) + var/progress = CLONE_INITIAL_DAMAGE - occupant.getCloneLoss() + progress += (100 - MINIMUM_HEAL_LEVEL) + var/milestone = CLONE_INITIAL_DAMAGE / organs_number +// Doing this as a #define so that the value can change when evaluated multiple times +#define INSTALLED (organs_number - LAZYLEN(missing_organs)) - while((progress / milestone) > installed && LAZYLEN(missing_organs)) - var/obj/item/organ/I = pick_n_take(missing_organs) - I.replaced(occupant) + while((progress / milestone) > INSTALLED && LAZYLEN(missing_organs)) + var/obj/item/organ/I = pick_n_take(missing_organs) + I.replaced(occupant) + +#undef INSTALLED //Premature clones may have brain damage. occupant.adjustBrainLoss(-((speed_coeff/20)*efficiency)) - //So clones don't die of oxyloss in a running pod. - if(occupant.reagents.get_reagent_amount("salbutamol") < 5) - occupant.reagents.add_reagent("salbutamol", 5) + check_brine() //Also heal some oxyloss ourselves just in case!! occupant.adjustOxyLoss(-4) @@ -562,7 +555,10 @@ var/obj/item/organ/O = o if(!istype(O) || O.vital) continue - var/obj/item/I = O.remove(H, TRUE) + + // Let's non-specially remove all non-vital organs + // What could possibly go wrong + var/obj/item/I = O.remove(H) // Make this support stuff that turns into items when removed I.forceMove(src) missing_organs += I @@ -570,12 +566,19 @@ var/static/list/zones = list("r_arm", "l_arm", "r_leg", "l_leg") for(var/zone in zones) var/obj/item/organ/external/E = H.get_organ(zone) - var/obj/item/I = E.remove(H, TRUE) + var/obj/item/I = E.remove(H) I.forceMove(src) missing_organs += I organs_number = LAZYLEN(missing_organs) +/obj/machinery/clonepod/proc/check_brine() + // Clones are in a pickled bath of mild chemicals, keeping + // them alive, despite their lack of internal organs + for(var/bt in brine_types) + if(occupant.reagents.get_reagent_amount(bt) < 1) + occupant.reagents.add_reagent(bt, 1) + /* * Diskette Box */ diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index a2fd5881ca7..b3b6648f773 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -240,7 +240,7 @@ REAGENT SCANNER if(H.species.exotic_blood) user.show_message("Subject possesses exotic blood.") user.show_message("Exotic blood type: [blood_type].") - if(H.heart_attack && H.stat != DEAD) + if(H.undergoing_cardiac_arrest() && H.stat != DEAD) user.show_message("Subject suffering from heart attack: Apply defibrillator immediately.") user.show_message("Subject's pulse: [H.get_pulse(GETPULSE_TOOL)] bpm.") var/implant_detect diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index 5d0dcebcacc..e332011d2ee 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -330,8 +330,8 @@ H.updatehealth() //forces health update before next life tick playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, 1, -1) H.emote("gasp") - if(!H.heart_attack && (prob(10) || defib.combat)) // Your heart explodes. - H.heart_attack = 1 + if(!H.undergoing_cardiac_arrest() && (prob(10) || defib.combat)) // Your heart explodes. + H.set_heartattack(TRUE) add_logs(user, M, "stunned", object="defibrillator") defib.deductcharge(revivecost) cooldown = 1 @@ -368,7 +368,7 @@ busy = 0 update_icon() return - if(H.heart_attack) + if(H.undergoing_cardiac_arrest()) if(!H.get_int_organ(/obj/item/organ/internal/heart) && !H.get_int_organ(/obj/item/organ/internal/brain/slime)) //prevents defibing someone still alive suffering from a heart attack attack if they lack a heart user.visible_message("[defib] buzzes: Resuscitation failed - Failed to pick up any heart electrical activity.") playsound(get_turf(src), 'sound/machines/defib_failed.ogg', 50, 0) @@ -376,7 +376,7 @@ update_icon() return else - H.heart_attack = 0 + H.set_heartattack(FALSE) user.visible_message("[defib] pings: Cardiac arrhythmia corrected.") M.visible_message("[M]'s body convulses a bit.") playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, 1, -1) @@ -474,8 +474,8 @@ H.adjustStaminaLoss(50) H.Weaken(5) H.updatehealth() //forces health update before next life tick - if(!H.heart_attack && prob(10)) // Your heart explodes. - H.heart_attack = 1 + if(!H.undergoing_cardiac_arrest() && prob(10)) // Your heart explodes. + H.set_heartattack(TRUE) playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, 1, -1) H.emote("gasp") add_logs(user, M, "stunned", object="defibrillator") diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index e900fc10517..6e34291caae 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -20,7 +20,6 @@ var/pulse = PULSE_NORM //current pulse level - var/heart_attack = 0 var/wetlevel = 0 //how wet the mob is var/oxygen_alert = 0 @@ -29,4 +28,4 @@ var/fire_alert = 0 var/failed_last_breath = 0 //This is used to determine if the mob failed a breath. If they did fail a brath, they will attempt to breathe each tick, otherwise just once per 4 ticks. - var/co2overloadtime = null \ No newline at end of file + var/co2overloadtime = null diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index b3580778d22..69e86de81e6 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -99,7 +99,7 @@ stat = DEAD SetDizzy(0) SetJitter(0) - heart_attack = 0 + set_heartattack(FALSE) //Handle species-specific deaths. if(species) species.handle_death(src) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index cc2458c7cf4..54782f869db 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -759,9 +759,9 @@ if(species) species_siemens_coeff = species.siemens_coeff siemens_coeff = gloves_siemens_coeff * species_siemens_coeff - if(heart_attack) + if(undergoing_cardiac_arrest()) if(shock_damage * siemens_coeff >= 1 && prob(25)) - heart_attack = 0 + set_heartattack(FALSE) if(stat == CONSCIOUS) to_chat(src, "You feel your heart beating again!") . = ..() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index be265669b79..b9ce09f88a9 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1032,7 +1032,7 @@ if(stat == DEAD) return PULSE_NONE //that's it, you're dead, nothing can influence your pulse - if(heart_attack) + if(undergoing_cardiac_arrest()) return PULSE_NONE var/temp = PULSE_NORM @@ -1175,14 +1175,37 @@ return stuttering + +/mob/living/carbon/human/proc/can_heartattack() + if(species.flags & NO_BLOOD) + return FALSE + return TRUE + +/mob/living/carbon/human/proc/undergoing_cardiac_arrest() + if(!can_heartattack()) + return FALSE + var/obj/item/organ/internal/heart/heart = get_int_organ(/obj/item/organ/internal/heart) + if(istype(heart) && heart.beating) + return FALSE + return TRUE + +/mob/living/carbon/human/proc/set_heartattack(status) + if(!can_heartattack()) + return FALSE + + var/obj/item/organ/internal/heart/heart = get_int_organ(/obj/item/organ/internal/heart) + if(!istype(heart)) + return FALSE + + heart.beating = !status + /mob/living/carbon/human/proc/handle_heartattack() - if(!heart_attack) + if(!can_heartattack() || !undergoing_cardiac_arrest() || reagents.has_reagent("corazone")) return - else - AdjustLoseBreath(2, bound_lower = 0, bound_upper = 3) - adjustOxyLoss(5) - Paralyse(4) - adjustBruteLoss(2) + AdjustLoseBreath(2, bound_lower = 0, bound_upper = 3) + adjustOxyLoss(5) + Paralyse(4) + adjustBruteLoss(2) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 525559e8e6c..1af74e9234a 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -377,7 +377,6 @@ if(iscarbon(src)) var/mob/living/carbon/C = src C.handcuffed = initial(C.handcuffed) - C.heart_attack = 0 for(var/datum/disease/D in C.viruses) D.cure(0) @@ -385,6 +384,7 @@ // restore all of the human's blood and reset their shock stage if(ishuman(src)) human_mob = src + human_mob.set_heartattack(FALSE) human_mob.restore_blood() human_mob.shock_stage = 0 human_mob.decaylevel = 0 diff --git a/code/modules/reagents/chemistry/reagents/disease.dm b/code/modules/reagents/chemistry/reagents/disease.dm index f9fbf930e3e..7db78883e90 100644 --- a/code/modules/reagents/chemistry/reagents/disease.dm +++ b/code/modules/reagents/chemistry/reagents/disease.dm @@ -141,11 +141,11 @@ can_synth = 0 /datum/reagent/concentrated_initro/on_mob_life(mob/living/M) - if(volume >=5) + if(volume >= 5) if(ishuman(M)) var/mob/living/carbon/human/H = M - if(!H.heart_attack) - H.heart_attack = 1 // rip in pepperoni + if(!H.undergoing_cardiac_arrest()) + H.set_heartattack(TRUE) // rip in pepperoni //virus foods @@ -183,4 +183,4 @@ /datum/reagent/plasma_dust/plasmavirusfood/weak name = "weakened virus plasma" id = "weakplasmavirusfood" - color = "#CEC3C6" // rgb: 206,195,198 \ No newline at end of file + color = "#CEC3C6" // rgb: 206,195,198 diff --git a/code/modules/reagents/chemistry/reagents/food.dm b/code/modules/reagents/chemistry/reagents/food.dm index 082b6496357..a18f1c01c42 100644 --- a/code/modules/reagents/chemistry/reagents/food.dm +++ b/code/modules/reagents/chemistry/reagents/food.dm @@ -772,8 +772,8 @@ M.Weaken(1) if(ishuman(M)) var/mob/living/carbon/human/H = M - if(!H.heart_attack) - H.heart_attack = 1 + if(!H.undergoing_cardiac_arrest()) + H.set_heartattack(TRUE) ..() /datum/reagent/fungus @@ -847,7 +847,7 @@ if(volume >= 5 && !istype(T, /turf/space)) new /obj/effect/decal/cleanable/vomit/green(T) playsound(T, 'sound/effects/splat.ogg', 50, 1, -3) - + ////Lavaland Flora Reagents//// /datum/reagent/consumable/entpoly @@ -878,7 +878,7 @@ if(!light_activated) M.set_light(2) light_activated = 1 - ..() + ..() /datum/reagent/consumable/tinlux/on_mob_delete(mob/living/M) M.set_light(0) @@ -894,4 +894,4 @@ if(prob(80)) M.adjustBruteLoss(-1 * REAGENTS_EFFECT_MULTIPLIER) M.adjustFireLoss(-1 * REAGENTS_EFFECT_MULTIPLIER) - ..() \ No newline at end of file + ..() diff --git a/code/modules/reagents/chemistry/reagents/medicine.dm b/code/modules/reagents/chemistry/reagents/medicine.dm index a8fcf888318..452f9f6d2ff 100644 --- a/code/modules/reagents/chemistry/reagents/medicine.dm +++ b/code/modules/reagents/chemistry/reagents/medicine.dm @@ -1023,3 +1023,11 @@ /datum/reagent/medicine/earthsblood/overdose_process(mob/living/M) M.SetHallucinate(min(max(0, M.hallucination + 10), 50)) M.adjustToxLoss(5 * REAGENTS_EFFECT_MULTIPLIER) + +/datum/reagent/medicine/corazone + name = "Corazone" + id = "corazone" + description = "A medication used to treat pain, fever, and inflammation, along with heart attacks." + color = "#F5F5F5" + +// This reagent's effects are handled in heart attack handling code diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm index 8fabc46db00..40d9cb1c481 100644 --- a/code/modules/reagents/chemistry/reagents/toxins.dm +++ b/code/modules/reagents/chemistry/reagents/toxins.dm @@ -648,8 +648,8 @@ M.Weaken(2) if(ishuman(M)) var/mob/living/carbon/human/H = M - if(!H.heart_attack) - H.heart_attack = 1 // rip in pepperoni + if(!H.undergoing_cardiac_arrest()) + H.set_heartattack(TRUE) // rip in pepperoni ..() /datum/reagent/pancuronium @@ -1090,4 +1090,4 @@ shock_timer = 0 M.electrocute_act(rand(5,20), "Teslium in their body", 1, 1) //Override because it's caused from INSIDE of you playsound(M, "sparks", 50, 1) - ..() \ No newline at end of file + ..() diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index ffd0b4f0b1e..278941d87e4 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -249,9 +249,9 @@ if(istype(owner, /mob/living/carbon/human)) var/mob/living/carbon/human/H = owner if(H.stat != DEAD && prob(50 / severity)) - H.heart_attack = 1 + H.set_heartattack(TRUE) spawn(600 / severity) - H.heart_attack = 0 + H.set_heartattack(FALSE) if(H.stat == CONSCIOUS) to_chat(H, "You feel your heart beating again!") diff --git a/code/modules/surgery/organs/organ.dm b/code/modules/surgery/organs/organ.dm index 084e16f877e..95a71a5ce84 100644 --- a/code/modules/surgery/organs/organ.dm +++ b/code/modules/surgery/organs/organ.dm @@ -286,7 +286,7 @@ var/list/organ_cache = list() /obj/item/organ/internal/heart/emp_act(intensity) if(owner && robotic == 2) - owner.heart_attack = 1 + Stop() // In the name of looooove~! owner.visible_message("[owner] clutches their chest and gasps!","You clutch your chest in pain!") else if(owner && robotic == 1) take_damage(11,1) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 7a87d3c6b39..e1bcaffbf65 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -165,11 +165,9 @@ . = ..() if(ishuman(M)) var/mob/living/carbon/human/H = M - if(H.stat == DEAD || H.heart_attack) + if(H.stat == DEAD) Stop() return - if(!special) - H.heart_attack = 1 spawn(120) if(!owner) @@ -183,15 +181,6 @@ if(!owner) Stop() - -/obj/item/organ/internal/heart/insert(mob/living/carbon/M, special = 0) - ..() - if(ishuman(M) && beating) - var/mob/living/carbon/human/H = M - if(H.heart_attack) - H.heart_attack = 0 - return - /obj/item/organ/internal/heart/proc/Stop() beating = 0 update_icon() From ee7b0f070bdc6f1d00bdfe85b192e36ad96e4c8f Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Mon, 1 May 2017 05:15:47 -0700 Subject: [PATCH 04/45] Integrates corazone properly --- .../miniantags/abduction/abduction_gear.dm | 3 ++- code/game/machinery/OpTable.dm | 13 +++++++++++++ code/game/machinery/cloning.dm | 2 +- code/modules/reagents/chemistry/recipes/medicine.dm | 9 ++++++++- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index 2a72c4a9b9b..1408e0a87fc 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -588,6 +588,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} icon = 'icons/obj/abductor.dmi' icon_state = "bed" no_icon_updates = 1 //no icon updates for this; it's static. + injected_reagents = list("corazone") /obj/structure/closet/abductor name = "alien locker" @@ -595,4 +596,4 @@ Congratulations! You are now trained for invasive xenobiology research!"} icon_state = "abductor" icon_closed = "abductor" icon_opened = "abductoropen" - material_drop = /obj/item/stack/sheet/mineral/abductor \ No newline at end of file + material_drop = /obj/item/stack/sheet/mineral/abductor diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index 6a5253b599c..5da2a4b164d 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -14,6 +14,7 @@ var/obj/machinery/computer/operating/computer = null buckle_lying = 90 var/no_icon_updates = 0 //set this to 1 if you don't want the icons ever changing + var/list/injected_reagents = list() /obj/machinery/optable/New() ..() @@ -30,6 +31,8 @@ computer = null if(victim) victim = null + injected_reagents.Cut() + injected_reagents = null return ..() /obj/machinery/optable/ex_act(severity) @@ -97,8 +100,18 @@ icon_state = "table2-idle" return 0 +/obj/machinery/optable/Crossed(atom/movable/AM) + . = ..() + if(iscarbon(AM) && LAZYLEN(injected_reagents)) + to_chat(AM, "You feel a series of tiny pricks!") + /obj/machinery/optable/process() check_victim() + if(LAZYLEN(injected_reagents)) + for(var/mob/living/carbon/C in get_turf(src)) + for(var/chemical in injected_reagents) + if(C.reagents.get_reagent_amount(chemical) < 1) + C.reagents.add_reagent(chemical, 1) /obj/machinery/optable/proc/take_victim(mob/living/carbon/C, mob/living/carbon/user as mob) if(C == user) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index af66a54010d..e5c9d1a0804 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -89,7 +89,7 @@ connected.pods -= src QDEL_NULL(Radio) QDEL_NULL(countdown) - LAZYDESTROYLIST(missing_organs) + QDEL_LIST(missing_organs) return ..() /obj/machinery/clonepod/RefreshParts() diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index 1c22693513f..31547e10c44 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -271,4 +271,11 @@ required_reagents = list("ethanol" = 1, "copper" = 1, "silver" = 1) result_amount = 3 min_temp = 370 - mix_message = "The solution gently swirls with a metallic sheen." \ No newline at end of file + mix_message = "The solution gently swirls with a metallic sheen." + +/datum/chemical_reaction/corazone + name = "Corazone" + id = "corazone" + result = "corazone" + result_amount = 3 + required_reagents = list("phenol" = 2, "lithium" = 1) From 40c4035c585a45380d9038a2c7ddcc01561322e7 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Sun, 7 May 2017 02:52:42 -0700 Subject: [PATCH 05/45] Fox stuff --- code/__HELPERS/lists.dm | 1 - code/game/machinery/OpTable.dm | 2 -- 2 files changed, 3 deletions(-) diff --git a/code/__HELPERS/lists.dm b/code/__HELPERS/lists.dm index 1cb8f1fc468..0196f326792 100644 --- a/code/__HELPERS/lists.dm +++ b/code/__HELPERS/lists.dm @@ -640,4 +640,3 @@ proc/dd_sortedObjectList(list/incoming) // LAZYING PT 2: THE LAZENING #define LAZYREINITLIST(L) LAZYCLEARLIST(L); LAZYINITLIST(L); -#define LAZYQDELLIST(L) if(L) { for(var/o in L) qdel(o); L.Cut() } diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index 5da2a4b164d..4b332b94543 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -31,8 +31,6 @@ computer = null if(victim) victim = null - injected_reagents.Cut() - injected_reagents = null return ..() /obj/machinery/optable/ex_act(severity) From 0cf735601c744a30f39aa6af668804415abe85fa Mon Sep 17 00:00:00 2001 From: IK3I Date: Tue, 16 May 2017 22:33:12 -0500 Subject: [PATCH 06/45] Adds Fluff Webbing for IK3I --- code/modules/customitems/item_defines.dm | 50 +++++++++++++++++++++++ icons/mob/species/vox/suit.dmi | Bin 213193 -> 218940 bytes icons/obj/custom_items.dmi | Bin 72910 -> 73556 bytes 3 files changed, 50 insertions(+) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 8aa82439bcb..7a38cdfb137 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -410,6 +410,30 @@ else to_chat(user, "You can't modify [target]!") +/obj/item/device/fluff/k3_webbing_modkit //IK3I: Yakikatachi + name = "webbing modkit" + desc = "A modkit that can be used to turn certain vests and labcoats into lightweight webbing" + icon_state = "modkit" + w_class = 2 + force = 0 + throwforce = 0 + +/obj/item/device/fluff/k3_webbing_modkit/afterattack(atom/target, mob/user, proximity) + if(!proximity || !ishuman(user) || user.incapacitated()) + return + + if(istype(target, /obj/item/clothing/suit/storage/labcoat) || istype(target, /obj/item/clothing/suit/storage/hazardvest)) + var/mob/living/carbon/human/H = user + var/obj/item/clothing/suit/storage/S = target + var/obj/item/clothing/suit/storage/fluff/k3_webbing/webbing = new(get_turf(target)) + webbing.allowed = S.allowed + to_chat(user, "You modify the [S] with [src].") + H.update_inv_wear_suit() + qdel(S) + qdel(src) + else + to_chat(user, "You can't modify [target]!") + ////////////////////////////////// //////////// Clothing //////////// ////////////////////////////////// @@ -649,6 +673,32 @@ icon = 'icons/obj/custom_items.dmi' icon_state = "shodancoat" +/obj/item/clothing/suit/storage/fluff/k3_webbing + name = "vox tactical webbing" + desc = "A somewhat worn but well kept set of vox tactical webbing. It has a couple of pouches attached." + icon = 'icons/obj/custom_items.dmi' + icon_state = "k3_webbing_off" + species_fit = list("Vox") + sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi') + var/mode = 0 + +/obj/item/clothing/suit/storage/fluff/k3_webbing/verb/toggle() + set name = "Toggle Webbing Lights" + set category = "Object" + set src in usr + + if (usr.stat || usr.restrained()) + return 0 + + if(mode) + to_chat(usr, "You turn the lighting system off") + icon_state = "k3_webbing_off" + else + to_chat(usr, "you turn the lighting system on") + icon_state = "k3_webbing_on" + mode = !mode + usr.update_inv_wear_suit() + //////////// Uniforms //////////// /obj/item/clothing/under/fluff/kharshai // Kharshai: Athena Castile name = "Castile formal outfit" diff --git a/icons/mob/species/vox/suit.dmi b/icons/mob/species/vox/suit.dmi index b0e9f61d7bfe312a6862dcbe6c5f20cd7d9f5c1b..f035236c876dcca8529453edc853fd74983d09ef 100644 GIT binary patch literal 218940 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 literal 213193 zcmY(q1z23cvMoF~1PCFxLm;>ZcXxt@0Ko}PaCdi?;O@cQ-GjS(aF;;_dz{v}er6{)a`+j>pp%3+KmOul6eA(45x83U5fA&S^jP!kR

HxG{kZ!%osEE2Wt3}NKcTDa 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 z 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 delta 13161 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 BlqdiI From 045cbff456e13ac75367ccdcabe3de6a0285d6ec Mon Sep 17 00:00:00 2001 From: IK3I Date: Wed, 17 May 2017 07:11:29 -0500 Subject: [PATCH 07/45] Verb -> Button Makes the lighting toggle an action button. --- code/modules/customitems/item_defines.dm | 39 +++++++++++++---------- icons/mob/species/vox/suit.dmi | Bin 218940 -> 218938 bytes icons/obj/custom_items.dmi | Bin 73556 -> 73553 bytes 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 7a38cdfb137..f92c400f0ee 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -677,27 +677,32 @@ name = "vox tactical webbing" desc = "A somewhat worn but well kept set of vox tactical webbing. It has a couple of pouches attached." icon = 'icons/obj/custom_items.dmi' - icon_state = "k3_webbing_off" + icon_state = "k3_webbing" species_fit = list("Vox") sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi') - var/mode = 0 + ignore_suitadjust = 0 + actions_types = list(/datum/action/item_action/toggle) + suit_adjusted = 0 -/obj/item/clothing/suit/storage/fluff/k3_webbing/verb/toggle() - set name = "Toggle Webbing Lights" - set category = "Object" - set src in usr +/obj/item/clothing/suit/storage/fluff/k3_webbing/adjustsuit(var/mob/user) + if(!user.incapacitated()) + var/flavour + if(suit_adjusted) + flavour = "off" + icon_state = copytext(icon_state, 1, findtext(icon_state, "_on")) + item_state = copytext(item_state, 1, findtext(item_state, "_on")) + suit_adjusted = 0 //Lights Off + else + flavour = "on" + icon_state += "_on" + item_state += "_on" + suit_adjusted = 1 //Lights On - if (usr.stat || usr.restrained()) - return 0 - - if(mode) - to_chat(usr, "You turn the lighting system off") - icon_state = "k3_webbing_off" - else - to_chat(usr, "you turn the lighting system on") - icon_state = "k3_webbing_on" - mode = !mode - usr.update_inv_wear_suit() + for(var/X in actions) + var/datum/action/A = X + A.UpdateButtonIcon() + to_chat(user, "You turn the lighting system on \the [src] [flavour].") + user.update_inv_wear_suit() //////////// Uniforms //////////// /obj/item/clothing/under/fluff/kharshai // Kharshai: Athena Castile diff --git a/icons/mob/species/vox/suit.dmi b/icons/mob/species/vox/suit.dmi index f035236c876dcca8529453edc853fd74983d09ef..afec241502d8854f3a44622ce25f9043dfb56ba5 100644 GIT binary patch delta 1204 zcmV;l1WWt8t_`}b4Ui;%uzFNjbVOxyV{&P5bZKvH004NLotjN=BR33&&-Skv>|Wzy z-3`!Qd|4zYa@cLrLyMjU9Elz=8A$_5GmiV~d$8j;?t1kqM+47G>VuRhjz2bE?tgpu z*4%x4SkA0TVrVwa?N6VUi=Ei)noaZh=jFn&^e!KMq)eHcP4nS@%kOvpw1510|JTF) z-yfC>E1H^3bGuw@l{}|r)2x>Z7jqh8ZZ^&OW_^3JewEXxFZU6TEYh@q_DtBcqw)^U9FYNal+9+vURY zK>Nczb+f*?P9eOQ=uFFMiip@T1_&-;o90=6|roYRPw%3 zHL{6gIaTKPyh@pA$gaqykqigk6+w+1uckoRmG3uCArCOknn``s*7$O~p5R9+A6+My zfmA-ho-2ldBr#Td9qcJ@2h=3uyPJlA^QbXa6i6#<#N9A)a>BqdL+YchO!OU4_H@IO zF9H^Sk)#aOaL`@2)fTL~Pb7B1chPsi(RsjXOhU2uLSlx~B>6bEZXokiEqI5UseEu> z@YPPnNk*aT#&xPTfE+d1mLxIDX4anOx30&Q@by2n9i0PN^ zJA3@g4tw;ZVgr_xClWL4C8M9_UQuj84v%us_&E%I^qb(3zoO_?dernQikS|7@SsEO zYEO(W_KC%e=Mgo1B0i+uwb zBv^uTDSy0l*>86}jPqvwKvJW|gENW5Q; zsBR8{=6#()*_H)QpIh`{@rt${*Zyqt>y@s<&3gHcg?$hPru*))Bf@2!(WdN zf4^I=tY~WPn%nhir!;VC?waj-x^ z7%T}#QX1Hb+02~E!Tpjn8_GjWIL@J$z^oE_Tr{v1L%u>Fq0WH>34QeCWjad|mru_# zymylEgX@SRqnYFL#*orT=8E~-^~$oR!||TF+1^~J2e!a}H898L&8VExq~&QW;q!ji zsn897BMMQ6T1_&-;o90=6|tFA@}W{SvWa6kRp$7-NtwxKS7g&jh6C@5pvI0jQ=sh1 z_uD`rdzfa;q(ju!4CQz|!(XXX#ou4=lIbq*RlcWsQaL`@2(-y3|&m?xicX8-|qw|Q> zn1o{Qg~SY}N%CoKohS2DE%*U9Q~BV&;H#aCla4@)q5*Iw!3r-cm)(b~JYoiSQ8^?r z30u8aT!CXX&aC8pIsXie->+J}c}zhG+xe^Lfx9w@zZ)b6^D?q@Bd}D+S3&(Jrw~MmS^v zva*xd!jIKXVmpgQANw-A=dMFKEOECJ!wRkcf(6U8=&gXp7c6)`O317xQf{$-7T2W! zYr8E}hQ>@%HL{cB2V7}i4&qBewHpq7xq)!OS37YBt5tJx2dnjSLHY`B@p=~$fY;uo zpxR9`RhyDb{hlDl_*=ZzMb(BQreC`6Jm7zJctB4oHegA4CNaZr+mx6#iQkMcG-Y-W~H-|v;p-!P}%Yvtm?df6BB8`9_C4MEHe!bFp rxY@4XHxFO#oBPj?>;C|Csqx(2e9IDp-2{i-1ObQL1Om6+1Or`C2qa%t diff --git a/icons/obj/custom_items.dmi b/icons/obj/custom_items.dmi index f67d9ab52ccf88bd1d78a5ff2456895347bd5bf1..64f2619b7798e5e902b2ff7fa42fede618a2d7cc 100644 GIT binary patch delta 1351 zcmV-N1-Sauz68;}1dt?u^m zZ~y!9NB8;bm+J$nk(BPP`}pha_0>YD=I*Zh@c#NLBkgj1{KqPhqap!+k;brpeopjq z6qz62B7gsXY@b!iedvK9G923R@FZ}ZWP$^wu!T~n>>Ou_=|Ck^WSp|tl*QwX$OuK$ zs+4vZVG#?E7|647%}~MutApJ#>_)Jm4a$AkgDb&q#d*#-+Dw2;smc$g@%f}Rb<<7HU zqSAgZ$M9v#E2c|W=i&$>*gG7jx_V(2NFG}rX+;(|L%%=C5+~A{QG1bp+P;*Z;5|gg z=~D_9C3+^Nn%yNKQ_VDwTlS=Io=eQ3m-{9;f2xMGp%rFO-TU`3B%m?#1V%i^f|Mq=?+hy{!^3>nrHMu#N@i6^KP)ui0I z^3;iB$4xOe<2oXmZP%l8+?Z-EE z_e2OB8l5P=WqYQdg)?NtVUG>0O|Zpmbo+vj1Z zR5Jz83QV5GjTH8wO4-fG2yM@>5tzH@3egcTF9Z&gP6Uq8)C+-Q2Vqcfw&ONoB;XLi zag$rc1BSii;+qE9JfV_kaJ6Iq(5{BT7O0-ksGw^J18rUNl!`GIiUh@T&s2iqJmaI~AkP}3erHA%yZB=?uisBtMJkNFFT65c5 zp6M*;n7%#2S;X1g90|OvO7FH>rAMD373ywoV^oG92ULcCb}xp^BsDBlQm^Q$yuO$C ztluNEgxyTl;V=u89is+UO@S*;+8!hzlVx(W0G1^|IV~m5Oayf8SKIRJsJOnN=a0)X zBTci_)f-1PfmSHK+h-?|!a_A>$1GI`Cu$X8oaW-?BZC=5C!G-()w}du3B6|L)l1^N z7wzX#yzC??m895@=yQV)TT603XsH)G=R!5+m-qc?Y+PljHc9R7y3K!XHXm+|zLOXQ zB!7R!e4&C^>2NO9fBN=%Zh!rB^Tyw!lNgY(N^w?)$F%SE`bXlT^PJv2<^{7a3B+nzjG{ delta 1329 zcmV-11z68|11dt?u_j*)VbVOxyV{&P5bZKvH004NLrJ2ueBRLL-&&g91W)5>n z590oV-96;8=)s~f=sC;_2rP-V=wgXAq{@}b)6XHvw4IJybQVT{82Ek?OGQ#7{d4!< z-~RXIkM8r=FV_cDBPrco_wm=;>#K!Q&D~x1;r;bhM%v~2_{A!bqap$Sk;brpJ|}uP zip-C1k-z^xw$Cc%KJ>s484m4ucoMiyGQojT*g`2(c8;^ebf6L{GEP}+%Hr`xWP~DW zRZ2UIu!sdn4CGn4W+-8S)xmBVb|cu(2IW5N!IfaQ;ymY_LVBQS5(sq(Tsg#f%FPfo`0yXrrmJ8_@70JgROJa)d>Z9%UA-_1B#$kRv?2?fq2Hfmi4$qfsJ%#kZC}by@E)S$ z^eKgl5Oca5GWpPw}Be8fZ!~#Ydh79Wpqr;Md#1qttYEo`p zdFn*6aY-btW;k2031gstcGw7~$NJSzx+-1aloZXpt}F^=hfY%_goq;ys28B^_TwA7 zarE2Y==Yy4fInTb^1mD_3xoCuIw80HW14kh3=cF-;(Cv#0)P2+rMOT@uPqj3?3?>4 zqTvW}!16%t#Hm;(;Rx;O?TPdhgpa7#gAEjNh`V?3ugD@yK+i{yP5^#v% zxXG>J0mEK$@lAtlo={0NxZ1IQXjj8v3sg^NRM54Afwr!BO2wE9MS|kFXDUH)o^xG8 z!8kC)_A$>7SQZF>MrN*{I{=3<79{q-6su?$V5DM$r=MPcD{AOfWbg#tf)-2|)YI56 z#7r<|hy&L4TVI5?Tc%yU1bye|YL^vib=Rm5$O)p#(nI^Uwkka+MezWw3tKr0mA?Xwd}VWAqcW0tCe6SaykPIK|{k-?0jlgRo!SgkH1r>Lu~s zi}rIVUUrfxN>c1c^tr)@ttGi1wA2fpbD?!%H1Ic6X|mzB=o-xo?} zWP4bjY7$q~9dN}7E>7GdYRph-Fkr?S4rHRC$Ah%DeN}t0>P>sK1N1{!u Date: Wed, 17 May 2017 15:04:07 -0500 Subject: [PATCH 08/45] Corrects and Rewords Fox Issue --- code/modules/customitems/item_defines.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index f92c400f0ee..12ff121e6e8 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -701,7 +701,7 @@ for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() - to_chat(user, "You turn the lighting system on \the [src] [flavour].") + to_chat(user, "You turn the [src]'s lighting system [flavour].") user.update_inv_wear_suit() //////////// Uniforms //////////// From 0de4b320fa0dd8966f595aa0cb2f1be7efd4df9b Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Sun, 21 May 2017 22:04:05 -0700 Subject: [PATCH 09/45] Prevent Skrell tentacles from being shaved --- code/game/objects/items/weapons/cosmetics.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/weapons/cosmetics.dm b/code/game/objects/items/weapons/cosmetics.dm index f311d56d1ba..2845393c764 100644 --- a/code/game/objects/items/weapons/cosmetics.dm +++ b/code/game/objects/items/weapons/cosmetics.dm @@ -133,7 +133,7 @@ if((C.species && C.species.flags & ALL_RPARTS) && robohead.is_monitor) //If the target is of a species that can have prosthetic heads, but the head doesn't support human hair 'wigs'... to_chat(user, "You find yourself disappointed at the appalling lack of hair.") return - if(C.h_style == "Bald" || C.h_style == "Balding Hair" || C.h_style == "Skinhead") + if(C.h_style == "Bald" || C.h_style == "Balding Hair" || C.h_style == "Skinhead" || findtextEx(C.h_style, "Skrell")) to_chat(user, "There is not enough hair left to shave...") return if(H == user) //shaving yourself @@ -160,4 +160,4 @@ else ..() else - ..() \ No newline at end of file + ..() From a005a3e553ff432975b9fb1923b218e14d44ae68 Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Mon, 22 May 2017 02:01:05 -0700 Subject: [PATCH 10/45] Implement head pocket --- .../living/carbon/human/species/station.dm | 3 +- code/modules/surgery/organs/organ_external.dm | 3 +- .../modules/surgery/organs/subtypes/skrell.dm | 31 +++++++++++++++++++ 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species/station.dm b/code/modules/mob/living/carbon/human/species/station.dm index c1005f2b932..22484de10d1 100644 --- a/code/modules/mob/living/carbon/human/species/station.dm +++ b/code/modules/mob/living/carbon/human/species/station.dm @@ -230,7 +230,8 @@ "kidneys" = /obj/item/organ/internal/kidneys, "brain" = /obj/item/organ/internal/brain, "appendix" = /obj/item/organ/internal/appendix, - "eyes" = /obj/item/organ/internal/eyes //Default darksight of 2. + "eyes" = /obj/item/organ/internal/eyes, //Default darksight of 2. + "headpocket" = /obj/item/organ/internal/headpocket ) suicide_messages = list( diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index 151636a9a50..0cfc7641231 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -348,7 +348,8 @@ This function completely restores a damaged organ to perfect condition. burn_dam = 0 open = 0 //Closing all wounds. wounds.Cut() //Clears all wounds! Good as new. - if(istype(src, /obj/item/organ/external/head) && disfigured) //If their head's disfigured, refigure it. + if(istype(src, /obj/item/organ/external/ + ) && disfigured) //If their head's disfigured, refigure it. disfigured = 0 // handle internal organs diff --git a/code/modules/surgery/organs/subtypes/skrell.dm b/code/modules/surgery/organs/subtypes/skrell.dm index c069b852886..110c8e2491a 100644 --- a/code/modules/surgery/organs/subtypes/skrell.dm +++ b/code/modules/surgery/organs/subtypes/skrell.dm @@ -1,3 +1,34 @@ /obj/item/organ/internal/liver/skrell alcohol_intensity = 4 species = "Skrell" + +/obj/item/organ/internal/headpocket + name = "headpocket" + desc = "Allows Skrell to hide tiny objects within their head tentacles." + icon_state = "kid_lantern" + origin_tech = "biotech=2" + w_class = WEIGHT_CLASS_TINY + parent_organ = "head" + slot = "headpocket" + species = "Skrell" + actions_types = list(/datum/action/item_action/organ_action/toggle) + var/obj/item/weapon/storage/internal/pocket + +/obj/item/organ/internal/headpocket/New() + pocket = new /obj/item/weapon/storage/internal(src) + pocket.storage_slots = 1 + //fit only pocket sized items + pocket.max_w_class = 2 + pocket.max_combined_w_class = 2 + ..() + +/obj/item/organ/internal/headpocket/ui_action_click() + var/obj/item/hand_item = owner.get_active_hand() + if(hand_item) + // Store item + if(pocket.can_be_inserted(hand_item)) + pocket.handle_item_insertion(hand_item) + return + // Try to remove item + if(pocket.contents.len) + pocket.remove_from_storage(pocket.contents.len, get_turf(owner)) From 4956f2a425650b4d22ec9580d78d984da2533642 Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Mon, 22 May 2017 22:47:05 -0700 Subject: [PATCH 11/45] Switch to cleaner implementation --- code/modules/surgery/organs/subtypes/skrell.dm | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/code/modules/surgery/organs/subtypes/skrell.dm b/code/modules/surgery/organs/subtypes/skrell.dm index 110c8e2491a..58610e1ccbb 100644 --- a/code/modules/surgery/organs/subtypes/skrell.dm +++ b/code/modules/surgery/organs/subtypes/skrell.dm @@ -15,20 +15,16 @@ var/obj/item/weapon/storage/internal/pocket /obj/item/organ/internal/headpocket/New() + ..() pocket = new /obj/item/weapon/storage/internal(src) pocket.storage_slots = 1 - //fit only pocket sized items + // Allow adjacency calculation to work properly + loc = owner + // Fit only pocket sized items pocket.max_w_class = 2 pocket.max_combined_w_class = 2 ..() /obj/item/organ/internal/headpocket/ui_action_click() - var/obj/item/hand_item = owner.get_active_hand() - if(hand_item) - // Store item - if(pocket.can_be_inserted(hand_item)) - pocket.handle_item_insertion(hand_item) - return - // Try to remove item - if(pocket.contents.len) - pocket.remove_from_storage(pocket.contents.len, get_turf(owner)) + pocket.MouseDrop(owner) + return From 80c3aeaccbdb3f9d4eb70a86b6ec6e719c023f8a Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Tue, 23 May 2017 00:25:47 -0700 Subject: [PATCH 12/45] Add necessary skrell headpocket functions --- .../modules/surgery/organs/subtypes/skrell.dm | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/subtypes/skrell.dm b/code/modules/surgery/organs/subtypes/skrell.dm index 58610e1ccbb..a3edc708a21 100644 --- a/code/modules/surgery/organs/subtypes/skrell.dm +++ b/code/modules/surgery/organs/subtypes/skrell.dm @@ -1,3 +1,5 @@ +#define HEADPOCKET_DAMAGE_THRESHOLD 8 + /obj/item/organ/internal/liver/skrell alcohol_intensity = 4 species = "Skrell" @@ -13,6 +15,7 @@ species = "Skrell" actions_types = list(/datum/action/item_action/organ_action/toggle) var/obj/item/weapon/storage/internal/pocket + var/head_damage = 0 /obj/item/organ/internal/headpocket/New() ..() @@ -23,8 +26,26 @@ // Fit only pocket sized items pocket.max_w_class = 2 pocket.max_combined_w_class = 2 + +/obj/item/organ/internal/headpocket/on_life() ..() + var/obj/item/organ/external/head/head = owner.get_organ("head") + if(pocket.contents.len && (head.brute_dam - head_damage >= HEADPOCKET_DAMAGE_THRESHOLD || !findtextEx(head.h_style, "Tentacles"))) + owner.visible_message("Something falls from [owner]'s head!", + "Something falls from your head!") + pocket.empty_object_contents(0, get_turf(owner)) + head_damage = head.brute_dam /obj/item/organ/internal/headpocket/ui_action_click() + if(!loc) + loc = owner pocket.MouseDrop(owner) - return + +/obj/item/organ/internal/headpocket/on_owner_death() + pocket.empty_object_contents(0, get_turf(owner)) + +/obj/item/organ/internal/headpocket/remove() + pocket.empty_object_contents(0, get_turf(owner)) + . = ..() + +#undef HEADPOCKET_DAMAGE_THRESHOLD From 8232f4f9c739e6b04d40a6006e41df3e5d2caf41 Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Tue, 23 May 2017 00:26:20 -0700 Subject: [PATCH 13/45] Add headpocket icon --- .../modules/surgery/organs/subtypes/skrell.dm | 2 +- icons/obj/surgery.dmi | Bin 34937 -> 35775 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/subtypes/skrell.dm b/code/modules/surgery/organs/subtypes/skrell.dm index a3edc708a21..4e0994b52da 100644 --- a/code/modules/surgery/organs/subtypes/skrell.dm +++ b/code/modules/surgery/organs/subtypes/skrell.dm @@ -7,7 +7,7 @@ /obj/item/organ/internal/headpocket name = "headpocket" desc = "Allows Skrell to hide tiny objects within their head tentacles." - icon_state = "kid_lantern" + icon_state = "skrell_headpocket" origin_tech = "biotech=2" w_class = WEIGHT_CLASS_TINY parent_organ = "head" diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index 64f049fbdd98359401ae1dc90e022e01155b1f4b..f411689d1fdd3310853b5c84417be16d5d4ba16e 100644 GIT binary patch delta 16099 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 Ry91!V590Fg3q|$4|1WaIQ|kZ# delta 15254 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 Aq5uE@ From fa2c64312490a1e0b86c0c0f3e35c956691364fe Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Tue, 23 May 2017 00:29:30 -0700 Subject: [PATCH 14/45] Remove extra "this" --- code/game/objects/items/weapons/storage/storage.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index e5fb0646169..adeb8fadcd3 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -254,7 +254,7 @@ if(W.w_class > max_w_class) if(!stop_messages) - to_chat(usr, "[W] is too big for this [src].") + to_chat(usr, "[W] is too big for [src].") return 0 var/sum_w_class = W.w_class From e01c0fcd6a9113b31365171eedc56e63d2225360 Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Tue, 23 May 2017 00:33:21 -0700 Subject: [PATCH 15/45] Oops didn't mean to do that --- code/modules/surgery/organs/organ_external.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index 0cfc7641231..151636a9a50 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -348,8 +348,7 @@ This function completely restores a damaged organ to perfect condition. burn_dam = 0 open = 0 //Closing all wounds. wounds.Cut() //Clears all wounds! Good as new. - if(istype(src, /obj/item/organ/external/ - ) && disfigured) //If their head's disfigured, refigure it. + if(istype(src, /obj/item/organ/external/head) && disfigured) //If their head's disfigured, refigure it. disfigured = 0 // handle internal organs From b2ab4dcd42e30d5d461656de774bf428481fca2c Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Tue, 23 May 2017 01:40:52 -0700 Subject: [PATCH 16/45] Change dislodge method to stun instead of harmbaton --- code/modules/surgery/organs/subtypes/skrell.dm | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/code/modules/surgery/organs/subtypes/skrell.dm b/code/modules/surgery/organs/subtypes/skrell.dm index 4e0994b52da..d5978badaf1 100644 --- a/code/modules/surgery/organs/subtypes/skrell.dm +++ b/code/modules/surgery/organs/subtypes/skrell.dm @@ -1,5 +1,3 @@ -#define HEADPOCKET_DAMAGE_THRESHOLD 8 - /obj/item/organ/internal/liver/skrell alcohol_intensity = 4 species = "Skrell" @@ -15,7 +13,6 @@ species = "Skrell" actions_types = list(/datum/action/item_action/organ_action/toggle) var/obj/item/weapon/storage/internal/pocket - var/head_damage = 0 /obj/item/organ/internal/headpocket/New() ..() @@ -30,11 +27,10 @@ /obj/item/organ/internal/headpocket/on_life() ..() var/obj/item/organ/external/head/head = owner.get_organ("head") - if(pocket.contents.len && (head.brute_dam - head_damage >= HEADPOCKET_DAMAGE_THRESHOLD || !findtextEx(head.h_style, "Tentacles"))) + if(pocket.contents.len && (owner.stunned || !findtextEx(head.h_style, "Tentacles"))) owner.visible_message("Something falls from [owner]'s head!", "Something falls from your head!") pocket.empty_object_contents(0, get_turf(owner)) - head_damage = head.brute_dam /obj/item/organ/internal/headpocket/ui_action_click() if(!loc) @@ -47,5 +43,3 @@ /obj/item/organ/internal/headpocket/remove() pocket.empty_object_contents(0, get_turf(owner)) . = ..() - -#undef HEADPOCKET_DAMAGE_THRESHOLD From 3fa66c7f60e799629889ba477008dad8feba214f Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Tue, 23 May 2017 11:09:19 -0700 Subject: [PATCH 17/45] Use species check instead of hair check to prevent tendril shaving This reverts commit 0de4b320fa0dd8966f595aa0cb2f1be7efd4df9b. --- code/game/objects/items/weapons/cosmetics.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/cosmetics.dm b/code/game/objects/items/weapons/cosmetics.dm index 2845393c764..a5a2438771e 100644 --- a/code/game/objects/items/weapons/cosmetics.dm +++ b/code/game/objects/items/weapons/cosmetics.dm @@ -133,9 +133,12 @@ if((C.species && C.species.flags & ALL_RPARTS) && robohead.is_monitor) //If the target is of a species that can have prosthetic heads, but the head doesn't support human hair 'wigs'... to_chat(user, "You find yourself disappointed at the appalling lack of hair.") return - if(C.h_style == "Bald" || C.h_style == "Balding Hair" || C.h_style == "Skinhead" || findtextEx(C.h_style, "Skrell")) + if(C.h_style == "Bald" || C.h_style == "Balding Hair" || C.h_style == "Skinhead") to_chat(user, "There is not enough hair left to shave...") return + if(M.get_species() == "Skrell") + to_chat(user, "Your razor isn't going to cut through tentacles.") + return if(H == user) //shaving yourself user.visible_message("[user] starts to shave their head with \the [src].", \ "You start to shave your head with \the [src].") From 42615fcc466eb54b55e287da5fe93430c2b56591 Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Tue, 23 May 2017 16:31:06 -0700 Subject: [PATCH 18/45] Allow dislodging of headpocket via strip panel --- code/modules/mob/living/carbon/human/human.dm | 21 +++++++++++++++++++ .../modules/surgery/organs/subtypes/skrell.dm | 10 +++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 1c012655cdc..16293212601 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -531,6 +531,17 @@ dat += "Head:[(head && !(head.flags&ABSTRACT)) ? head : "Empty"]" + var/obj/item/organ/internal/headpocket/C = get_int_organ(/obj/item/organ/internal/headpocket) + if(C) + if(slot_wear_mask in obscured) + dat += " ↳Headpocket:Obscured" + else + var/list/items = C.get_contents() + if(items.len) + dat += " ↳Headpocket:Dislodge Items" + else + dat += " ↳Headpocket:Empty" + if(slot_wear_mask in obscured) dat += "Mask:Obscured" else @@ -826,6 +837,16 @@ var/obj/item/clothing/under/U = w_uniform U.set_sensors(usr) + if(href_list["dislodge_headpocket"]) + usr.visible_message("[usr] is trying to remove something from [src]'s head!", + "You start to dislodge whatever's inside [src]'s headpocket!") + if(do_mob(usr, src, POCKET_STRIP_DELAY)) + usr.visible_message("[usr] has dislodged something from [src]'s head!", + "You have dislodged everything from [src]'s headpocket!") + var/obj/item/organ/internal/headpocket/C = get_int_organ(/obj/item/organ/internal/headpocket) + C.empty_contents() + add_logs(usr, src, "stripped", addition="of headpocket items", print_attack_log=isLivingSSD(src)) + if(href_list["strip_accessory"]) if(istype(w_uniform, /obj/item/clothing/under)) var/obj/item/clothing/under/U = w_uniform diff --git a/code/modules/surgery/organs/subtypes/skrell.dm b/code/modules/surgery/organs/subtypes/skrell.dm index d5978badaf1..586136ba0d0 100644 --- a/code/modules/surgery/organs/subtypes/skrell.dm +++ b/code/modules/surgery/organs/subtypes/skrell.dm @@ -30,7 +30,7 @@ if(pocket.contents.len && (owner.stunned || !findtextEx(head.h_style, "Tentacles"))) owner.visible_message("Something falls from [owner]'s head!", "Something falls from your head!") - pocket.empty_object_contents(0, get_turf(owner)) + empty_contents() /obj/item/organ/internal/headpocket/ui_action_click() if(!loc) @@ -38,8 +38,14 @@ pocket.MouseDrop(owner) /obj/item/organ/internal/headpocket/on_owner_death() - pocket.empty_object_contents(0, get_turf(owner)) + empty_contents() /obj/item/organ/internal/headpocket/remove() pocket.empty_object_contents(0, get_turf(owner)) . = ..() + +/obj/item/organ/internal/headpocket/proc/empty_contents() + pocket.empty_object_contents(0, get_turf(owner)) + +/obj/item/organ/internal/headpocket/proc/get_contents() + return pocket.contents From 51fe0a46fe1156622c6dea7c70e3347e9cf0a38d Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Tue, 23 May 2017 22:01:44 -0700 Subject: [PATCH 19/45] Make headpocket icon less ugly --- icons/obj/surgery.dmi | Bin 35775 -> 35399 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index f411689d1fdd3310853b5c84417be16d5d4ba16e..ac42a7d538c198000160e91d582f3d0dd7660e94 100644 GIT binary patch delta 15679 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 Date: Tue, 23 May 2017 23:52:21 -0700 Subject: [PATCH 20/45] Remove EMP shielding and voice shielding from headpocket --- code/modules/surgery/organs/subtypes/skrell.dm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/subtypes/skrell.dm b/code/modules/surgery/organs/subtypes/skrell.dm index 586136ba0d0..b8debe746e7 100644 --- a/code/modules/surgery/organs/subtypes/skrell.dm +++ b/code/modules/surgery/organs/subtypes/skrell.dm @@ -41,7 +41,7 @@ empty_contents() /obj/item/organ/internal/headpocket/remove() - pocket.empty_object_contents(0, get_turf(owner)) + empty_contents() . = ..() /obj/item/organ/internal/headpocket/proc/empty_contents() @@ -49,3 +49,15 @@ /obj/item/organ/internal/headpocket/proc/get_contents() return pocket.contents + +/obj/item/organ/internal/headpocket/emp_act(severity) + pocket.emp_act(severity) + ..() + +/obj/item/organ/internal/headpocket/hear_talk(mob/living/M as mob, msg) + pocket.hear_talk(M, msg) + ..() + +/obj/item/organ/internal/headpocket/hear_message(mob/living/M as mob, msg) + pocket.hear_message(M, msg) + ..() From bbca8405efd8355ac805be59311e8bf2b9e163f4 Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Tue, 16 May 2017 21:30:38 -0700 Subject: [PATCH 21/45] -tg- Move Refactor This commit ports /tg/'s move refactor. The throwing system has been replaced entirely, removing the necessity of throw_at_fast and resolving multiple outstanding issues, such as crossbows being unusable. Spacedrifting has also been upgraded to function with the new throwing system. It is now it's own process. Tickcomp has been killed, and the config values have been adjusted to more or less match live Paradise. All mobs now share a common Bump() proc. There are only four mobtypes which do not, including humans and simple animals. With the exception of mob types that do not ever want to Bump() or be Bumped(), they should call the parent proc. Human movement slowdown has been moderately tweaked in how it stacks effects; It shouldn't be significantly different from a player perspective. Mobs will now spread fire if they bump into another mob. I don't want to set the world on fiiiire, I just want start a flame in your heart~ For player facing changes: Input delay has been reduced by roughly ~50ms for any direction keys, by advantage of a previously unknown flag on byond verbs which allow them to operate independently from the tick rate of the server. You may need to clear your interface.dmf file if you have a custom skin for this change to function. --- code/__DEFINES/callbacks.dm | 2 + code/__DEFINES/combat.dm | 3 + code/__DEFINES/flags.dm | 11 +- code/__DEFINES/misc.dm | 5 +- code/__DEFINES/mob.dm | 2 +- code/_onclick/adjacent.dm | 20 +- code/controllers/Processes/spacedrift.dm | 53 ++++ code/controllers/Processes/throwing.dm | 138 +++++++++ code/controllers/configuration.dm | 4 - code/datums/callback.dm | 98 +++++++ code/game/atoms.dm | 12 +- code/game/atoms_movable.dm | 262 ++++++++---------- .../machinery/computer/HolodeckControl.dm | 2 +- code/game/machinery/doors/windowdoor.dm | 10 +- code/game/machinery/shieldgen.dm | 54 ++-- code/game/mecha/mecha.dm | 8 +- code/game/objects/effects/aliens.dm | 4 +- .../game/objects/effects/spawners/lootdrop.dm | 2 +- code/game/objects/items.dm | 55 ++-- code/game/objects/items/policetape.dm | 2 +- code/game/objects/items/weapons/RCL.dm | 2 +- code/game/objects/items/weapons/dice.dm | 6 +- code/game/objects/objs.dm | 5 +- .../structures/crates_lockers/closets.dm | 4 +- code/game/objects/structures/grille.dm | 4 +- code/game/objects/structures/morgue.dm | 4 +- code/game/objects/structures/tables_racks.dm | 11 +- code/game/objects/structures/window.dm | 34 +-- code/game/objects/weapons.dm | 5 - code/modules/admin/verbs/ticklag.dm | 3 - code/modules/arcade/mob_hunt/mob_avatar.dm | 6 +- code/modules/clothing/spacesuits/rig/rig.dm | 5 - code/modules/fish/fishtank.dm | 9 +- code/modules/flufftext/Hallucination.dm | 47 +--- .../mob/living/carbon/alien/alien_defenses.dm | 4 +- .../carbon/alien/humanoid/caste/hunter.dm | 54 +--- .../living/carbon/alien/humanoid/humanoid.dm | 26 -- .../mob/living/carbon/alien/larva/larva.dm | 32 --- code/modules/mob/living/carbon/carbon.dm | 23 ++ .../mob/living/carbon/carbon_defenses.dm | 21 +- code/modules/mob/living/carbon/human/human.dm | 87 ------ .../mob/living/carbon/human/human_defense.dm | 92 ++---- .../mob/living/carbon/human/human_movement.dm | 92 +++--- .../carbon/human/interactive/interactive.dm | 2 +- code/modules/mob/living/carbon/slime/slime.dm | 71 ++--- code/modules/mob/living/living.dm | 233 +++++++++++----- code/modules/mob/living/living_defense.dm | 97 ++++--- code/modules/mob/living/silicon/pai/pai.dm | 4 +- .../mob/living/silicon/robot/drone/drone.dm | 19 +- .../modules/mob/living/silicon/robot/robot.dm | 32 --- code/modules/mob/living/silicon/silicon.dm | 25 -- .../mob/living/simple_animal/bot/secbot.dm | 4 +- .../living/simple_animal/friendly/corgi.dm | 35 --- .../hostile/megafauna/bubblegum.dm | 4 +- .../simple_animal/hostile/megafauna/dragon.dm | 2 +- .../simple_animal/hostile/spaceworms.dm | 1 - .../hostile/terror_spiders/reproduction.dm | 11 +- .../hostile/terror_spiders/terror_spiders.dm | 19 +- .../mob/living/simple_animal/simple_animal.dm | 14 - code/modules/mob/mob_movement.dm | 257 +++++++++-------- code/modules/mob/pulling.dm | 6 +- code/modules/pda/PDA.dm | 5 - code/modules/pda/mob_hunt_game_app.dm | 6 - code/modules/projectiles/guns/throw.dm | 6 +- config/example/config.txt | 3 - config/example/game_options.txt | 14 +- interface/skin.dmf | 120 ++++---- paradise.dme | 4 + sound/weapons/throwtap.ogg | Bin 0 -> 10411 bytes 69 files changed, 1126 insertions(+), 1191 deletions(-) create mode 100644 code/__DEFINES/callbacks.dm create mode 100644 code/controllers/Processes/spacedrift.dm create mode 100644 code/controllers/Processes/throwing.dm create mode 100644 code/datums/callback.dm create mode 100644 sound/weapons/throwtap.ogg diff --git a/code/__DEFINES/callbacks.dm b/code/__DEFINES/callbacks.dm new file mode 100644 index 00000000000..c0d8ac15ace --- /dev/null +++ b/code/__DEFINES/callbacks.dm @@ -0,0 +1,2 @@ +#define CALLBACK new /datum/callback +#define INVOKE_ASYNC ImmediateInvokeAsync \ No newline at end of file diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 0bd2b82b42a..499be494056 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -70,3 +70,6 @@ #define WEAPON_LIGHT 0 #define WEAPON_MEDIUM 1 #define WEAPON_HEAVY 2 + +// Embedded objects +#define EMBED_THROWSPEED_THRESHOLD 15 \ No newline at end of file diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 1cba02075a7..05133d226f1 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -77,11 +77,12 @@ #define SAFE 16 //flags for pass_flags -#define PASSTABLE 1 -#define PASSGLASS 2 -#define PASSGRILLE 4 -#define PASSBLOB 8 -#define PASSMOB 16 +#define PASSTABLE 1 +#define PASSGLASS 2 +#define PASSGRILLE 4 +#define PASSBLOB 8 +#define PASSMOB 16 +#define LETPASSTHROW 32 //turf-only flags #define NOJAUNT 1 diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index b3263a93425..99079fd81bb 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -329,4 +329,7 @@ #define TENDRIL_CLEAR_SCORE "Tendrils Killed" // The number of station goals generated each round. -#define STATION_GOAL_BUDGET 1 \ No newline at end of file +#define STATION_GOAL_BUDGET 1 + +#define FIRST_DIAG_STEP 1 +#define SECOND_DIAG_STEP 2 \ No newline at end of file diff --git a/code/__DEFINES/mob.dm b/code/__DEFINES/mob.dm index 97cea621dae..c2295b9c5dc 100644 --- a/code/__DEFINES/mob.dm +++ b/code/__DEFINES/mob.dm @@ -47,7 +47,7 @@ #define HUMAN_STRIP_DELAY 40 //takes 40ds = 4s to strip someone. #define ALIEN_SELECT_AFK_BUFFER 1 // How many minutes that a person can be AFK before not being allowed to be an alien. -#define SHOES_SLOWDOWN -1.0 // How much shoes slow you down by default. Negative values speed you up +#define SHOES_SLOWDOWN 0 // How much shoes slow you down by default. Negative values speed you up //Mob attribute defaults. diff --git a/code/_onclick/adjacent.dm b/code/_onclick/adjacent.dm index 5a84463c8f1..038174388ff 100644 --- a/code/_onclick/adjacent.dm +++ b/code/_onclick/adjacent.dm @@ -23,7 +23,7 @@ * If you are in the same turf, always true * If you are vertically/horizontally adjacent, ensure there are no border objects * If you are diagonally adjacent, ensure you can pass through at least one of the mutually adjacent square. - * Passing through in this case ignores anything with the throwpass flag, such as tables, racks, and morgue trays. + * Passing through in this case ignores anything with the LETPASSTHROW flag, such as tables, racks, and morgue trays. */ /turf/Adjacent(var/atom/neighbor, var/atom/target = null) var/turf/T0 = get_turf(neighbor) @@ -82,26 +82,18 @@ /* This checks if you there is uninterrupted airspace between that turf and this one. - This is defined as any dense ON_BORDER object, or any dense object without throwpass. + This is defined as any dense ON_BORDER object, or any dense object without LETPASSTHROW. The border_only flag allows you to not objects (for source and destination squares) */ /turf/proc/ClickCross(var/target_dir, var/border_only, var/target_atom = null) for(var/obj/O in src) - if( !O.density || O == target_atom || O.throwpass) continue // throwpass is used for anything you can click through + if( !O.density || O == target_atom || (O.pass_flags & LETPASSTHROW)) + continue // LETPASSTHROW is used for anything you can click through - if( O.flags&ON_BORDER) // windows have throwpass but are on border, check them first + if( O.flags&ON_BORDER) // windows are on border, check them first if( O.dir & target_dir || O.dir&(O.dir-1) ) // full tile windows are just diagonals mechanically return 0 else if( !border_only ) // dense, not on border, cannot pass over return 0 - return 1 -/* - Aside: throwpass does not do what I thought it did originally, and is only used for checking whether or not - a thrown object should stop after already successfully entering a square. Currently the throw code involved - only seems to affect hitting mobs, because the checks performed against objects are already performed when - entering or leaving the square. Since throwpass isn't used on mobs, but only on objects, it is effectively - useless. Throwpass may later need to be removed and replaced with a passcheck (bitfield on movable atom passflags). - - Since I don't want to complicate the click code rework by messing with unrelated systems it won't be changed here. -*/ \ No newline at end of file + return 1 \ No newline at end of file diff --git a/code/controllers/Processes/spacedrift.dm b/code/controllers/Processes/spacedrift.dm new file mode 100644 index 00000000000..d799aeb99d9 --- /dev/null +++ b/code/controllers/Processes/spacedrift.dm @@ -0,0 +1,53 @@ +var/global/datum/controller/process/spacedrift/drift_master + +/datum/controller/process/spacedrift + var/list/processing_list = list() + +/datum/controller/process/spacedrift/setup() + name = "spacedrift" + schedule_interval = 5 + start_delay = 20 + log_startup_progress("Spacedrift starting up.") + +/datum/controller/process/spacedrift/statProcess() + ..() + stat(null, "P:[processing_list.len]") + +/datum/controller/process/spacedrift/doWork() + var/list/currentrun = processing_list.Copy() + + while(currentrun.len) + var/atom/movable/AM = currentrun[currentrun.len] + currentrun.len-- + if(!AM) + processing_list -= AM + SCHECK + continue + + if(AM.inertia_next_move > world.time) + SCHECK + continue + + if(!AM.loc || AM.loc != AM.inertia_last_loc || AM.Process_Spacemove(0)) + AM.inertia_dir = 0 + + if(!AM.inertia_dir) + AM.inertia_last_loc = null + processing_list -= AM + SCHECK + continue + + var/old_dir = AM.dir + var/old_loc = AM.loc + AM.inertia_moving = TRUE + step(AM, AM.inertia_dir) + AM.inertia_moving = FALSE + AM.inertia_next_move = world.time + AM.inertia_move_delay + if(AM.loc == old_loc) + AM.inertia_dir = 0 + + AM.setDir(old_dir) + AM.inertia_last_loc = AM.loc + SCHECK + +DECLARE_GLOBAL_CONTROLLER(spacedrift, drift_master) \ No newline at end of file diff --git a/code/controllers/Processes/throwing.dm b/code/controllers/Processes/throwing.dm new file mode 100644 index 00000000000..a11c1252d35 --- /dev/null +++ b/code/controllers/Processes/throwing.dm @@ -0,0 +1,138 @@ +#define MAX_THROWING_DIST 512 // 2 z-levels on default width +#define MAX_TICKS_TO_MAKE_UP 3 //how many missed ticks will we attempt to make up for this run. + +var/global/datum/controller/process/throwing/throw_master + +/datum/controller/process/throwing + var/list/processing_list + +/datum/controller/process/throwing/setup() + name = "throwing" + schedule_interval = 1 + start_delay = 20 + log_startup_progress("Throw ticker starting up.") + +/datum/controller/process/throwing/statProcess() + ..() + stat(null, "P:[processing_list.len]") + +/datum/controller/process/throwing/started() + ..() + if(!processing_list) + processing_list = list() + +/datum/controller/process/throwing/doWork() + for(last_object in processing_list) + var/atom/movable/AM = last_object + if(istype(AM) && isnull(AM.gcDestroyed)) + var/datum/thrownthing/TT = processing_list[AM] + if(istype(TT) && isnull(TT.gcDestroyed)) + TT.tick() + SCHECK + else + catchBadType(TT) + processing_list -= AM + AM.throwing = null + else + catchBadType(AM) + processing_list -= AM + SCHECK + +DECLARE_GLOBAL_CONTROLLER(throwing, throw_master) + +/datum/thrownthing + var/atom/movable/thrownthing + var/atom/target + var/turf/target_turf + var/init_dir + var/maxrange + var/speed + var/mob/thrower + var/diagonals_first + var/dist_travelled = 0 + var/start_time + var/dist_x + var/dist_y + var/dx + var/dy + var/pure_diagonal + var/diagonal_error + var/datum/callback/callback + +/datum/thrownthing/proc/tick() + var/atom/movable/AM = thrownthing + if(!isturf(AM.loc) || !AM.throwing) + finalize() + return + + if(dist_travelled && hitcheck()) //to catch sneaky things moving on our tile while we slept + finalize() + return + + var/atom/step + + // calculate how many tiles to move, making up for any missed ticks. + if((dist_travelled >= maxrange || AM.loc == target_turf) && has_gravity(AM, AM.loc)) + finalize() + return + + if(dist_travelled <= max(dist_x, dist_y)) //if we haven't reached the target yet we home in on it, otherwise we use the initial direction + step = get_step(AM, get_dir(AM, target_turf)) + else + step = get_step(AM, init_dir) + + if(!pure_diagonal && !diagonals_first) // not a purely diagonal trajectory and we don't want all diagonal moves to be done first + if(diagonal_error >= 0 && max(dist_x, dist_y) - dist_travelled != 1) // we do a step forward unless we're right before the target + step = get_step(AM, dx) + diagonal_error += (diagonal_error < 0) ? dist_x / 2 : -dist_y + + if(!step) // going off the edge of the map makes get_step return null, don't let things go off the edge + finalize() + return + + AM.Move(step, get_dir(AM, step)) + + if(!AM.throwing) // we hit something during our move + finalize(hit = TRUE) + return + + dist_travelled++ + + if(dist_travelled > MAX_THROWING_DIST) + finalize() + return + +/datum/thrownthing/proc/finalize(hit = FALSE) + set waitfor = 0 + throw_master.processing_list -= thrownthing + // done throwning, either because it hit something or it finished moving + thrownthing.throwing = null + if(!hit) + for(var/thing in get_turf(thrownthing)) //looking for our target on the turf we land on. + var/atom/A = thing + if(A == target) + hit = 1 + thrownthing.throw_impact(A, src) + break + if(!hit) + thrownthing.throw_impact(get_turf(thrownthing), src) // we haven't hit something yet and we still must, let's hit the ground. + thrownthing.newtonian_move(init_dir) + else + thrownthing.newtonian_move(init_dir) + if(callback) + callback.Invoke() + +/datum/thrownthing/proc/hit_atom(atom/A) + thrownthing.throw_impact(A, src) + thrownthing.newtonian_move(init_dir) + finalize(TRUE) + +/datum/thrownthing/proc/hitcheck() + for(var/thing in get_turf(thrownthing)) + var/atom/movable/AM = thing + if(AM == thrownthing) + continue + if(AM.density && !(AM.pass_flags & LETPASSTHROW) && !(AM.flags & ON_BORDER)) + thrownthing.throwing = null + thrownthing.throw_impact(AM, src) + return TRUE \ No newline at end of file diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 6cccb48e492..2ab267ce5a8 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -39,7 +39,6 @@ var/allow_Metadata = 0 // Metadata is supported. var/popup_admin_pm = 0 //adminPMs to non-admins show in a pop-up 'reply' window when set to 1. var/Ticklag = 0.5 - var/Tickcomp = 0 var/socket_talk = 0 // use socket_talk to communicate with other processes var/list/resource_urls = null var/antag_hud_allowed = 0 // Ghosts can turn on Antagovision to see a HUD of who is the bad guys this round. @@ -445,9 +444,6 @@ if("socket_talk") socket_talk = text2num(value) - if("tickcomp") - Tickcomp = 1 - if("allow_antag_hud") config.antag_hud_allowed = 1 diff --git a/code/datums/callback.dm b/code/datums/callback.dm new file mode 100644 index 00000000000..02909c1a196 --- /dev/null +++ b/code/datums/callback.dm @@ -0,0 +1,98 @@ +/* + USAGE: + + var/datum/callback/C = new(object|null, /proc/type/path|"procstring", arg1, arg2, ... argn) + var/timerid = addtimer(C, time, timertype) + OR + var/timerid = addtimer(CALLBACK(object|null, /proc/type/path|procstring, arg1, arg2, ... argn), time, timertype) + + Note: proc strings can only be given for datum proc calls, global procs must be proc paths + Also proc strings are strongly advised against because they don't compile error if the proc stops existing + See the note on proc typepath shortcuts + + INVOKING THE CALLBACK: + var/result = C.Invoke(args, to, add) //additional args are added after the ones given when the callback was created + OR + var/result = C.InvokeAsync(args, to, add) //Sleeps will not block, returns . on the first sleep (then continues on in the "background" after the sleep/block ends), otherwise operates normally. + OR + INVOKE_ASYNC() to immediately create and call InvokeAsync + + PROC TYPEPATH SHORTCUTS (these operate on paths, not types, so to these shortcuts, datum is NOT a parent of atom, etc...) + + global proc while in another global proc: + .procname + Example: + CALLBACK(GLOBAL_PROC, .some_proc_here) + + proc defined on current(src) object (when in a /proc/ and not an override) OR overridden at src or any of it's parents: + .procname + Example: + CALLBACK(src, .some_proc_here) + + + when the above doesn't apply: + .proc/procname + Example: + CALLBACK(src, .proc/some_proc_here) + + proc defined on a parent of a some type: + /some/type/.proc/some_proc_here + + + + Other wise you will have to do the full typepath of the proc (/type/of/thing/proc/procname) + +*/ + +/datum/callback + var/datum/object = GLOBAL_PROC + var/delegate + var/list/arguments + +/datum/callback/New(thingtocall, proctocall, ...) + if(thingtocall) + object = thingtocall + delegate = proctocall + if(length(args) > 2) + arguments = args.Copy(3) + +/proc/ImmediateInvokeAsync(thingtocall, proctocall, ...) + set waitfor = FALSE + + if(!thingtocall) + return + + var/list/calling_arguments = length(args) > 2 ? args.Copy(3) : null + + if(thingtocall == GLOBAL_PROC) + call(proctocall)(arglist(calling_arguments)) + else + call(thingtocall, proctocall)(arglist(calling_arguments)) + +/datum/callback/proc/Invoke(...) + if(!object) + return + var/list/calling_arguments = arguments + if(length(args)) + if(length(arguments)) + calling_arguments = calling_arguments + args //not += so that it creates a new list so the arguments list stays clean + else + calling_arguments = args + if(object == GLOBAL_PROC) + return call(delegate)(arglist(calling_arguments)) + return call(object, delegate)(arglist(calling_arguments)) + +//copy and pasted because fuck proc overhead +/datum/callback/proc/InvokeAsync(...) + set waitfor = FALSE + if(!object) + return + var/list/calling_arguments = arguments + if(length(args)) + if(length(arguments)) + calling_arguments = calling_arguments + args //not += so that it creates a new list so the arguments list stays clean + else + calling_arguments = args + if(object == GLOBAL_PROC) + return call(delegate)(arglist(calling_arguments)) + return call(object, delegate)(arglist(calling_arguments)) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index b5d25c7f5a1..5d1dd5c74fb 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -9,7 +9,6 @@ var/blood_color var/last_bumped = 0 var/pass_flags = 0 - var/throwpass = 0 var/germ_level = GERM_LEVEL_AMBIENT // The higher the germ level, the more germ on the atom. var/simulated = 1 //filter for actions - used by lighting overlays var/atom_say_verb = "says" @@ -236,10 +235,13 @@ /atom/proc/emag_act() return -/atom/proc/hitby(atom/movable/AM as mob|obj) - if(density) - AM.throwing = 0 - return +/atom/proc/hitby(atom/movable/AM, skipcatch, hitpush, blocked) + if(density && !has_gravity(AM)) //thrown stuff bounces off dense stuff in no grav, unless the thrown stuff ends up inside what it hit(embedding, bola, etc...). + addtimer(src, "hitby_react", 2, TRUE, AM) + +/atom/proc/hitby_react(atom/movable/AM) + if(AM && isturf(AM.loc)) + step(AM, turn(AM.dir, 180)) /atom/proc/add_hiddenprint(mob/living/M as mob) if(isnull(M)) return diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 7dd8d0c5be8..906706de62e 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -6,15 +6,21 @@ // var/elevation = 2 - not used anywhere var/move_speed = 10 var/l_move_time = 1 - var/throwing = 0 - var/thrower - var/turf/throw_source = null - var/throw_speed = 2 + var/datum/thrownthing/throwing = null + var/throw_speed = 2 //How many tiles to move per ds when being thrown. Float values are fully supported var/throw_range = 7 - var/no_spin_thrown = 0 //set this to 1 if you don't want an item that you throw to spin, no matter what. -Fox + var/no_spin = 0 + var/no_spin_thrown = 0 var/moved_recently = 0 var/mob/pulledby = null + var/inertia_dir = 0 + var/atom/inertia_last_loc + var/inertia_moving = 0 + var/inertia_next_move = 0 + var/inertia_move_delay = 5 + + var/moving_diagonally = 0 //0: not doing a diagonal move. 1 and 2: doing the first/second step of the diagonal move var/area/areaMaster @@ -71,61 +77,74 @@ if(!(direct & (direct - 1))) //Cardinal move . = ..() else //Diagonal move, split it into cardinal moves + moving_diagonally = FIRST_DIAG_STEP if(direct & 1) if(direct & 4) if(step(src, NORTH)) + moving_diagonally = SECOND_DIAG_STEP . = step(src, EAST) else if(step(src, EAST)) + moving_diagonally = SECOND_DIAG_STEP . = step(src, NORTH) else if(direct & 8) if(step(src, NORTH)) + moving_diagonally = SECOND_DIAG_STEP . = step(src, WEST) else if(step(src, WEST)) + moving_diagonally = SECOND_DIAG_STEP . = step(src, NORTH) else if(direct & 2) if(direct & 4) if(step(src, SOUTH)) + moving_diagonally = SECOND_DIAG_STEP . = step(src, EAST) else if(step(src, EAST)) + moving_diagonally = SECOND_DIAG_STEP . = step(src, SOUTH) else if(direct & 8) if(step(src, SOUTH)) + moving_diagonally = SECOND_DIAG_STEP . = step(src, WEST) else if(step(src, WEST)) + moving_diagonally = SECOND_DIAG_STEP . = step(src, SOUTH) - + moving_diagonally = 0 + return if(!loc || (loc == oldloc && oldloc != newloc)) last_move = 0 return + if(.) + Moved(oldloc, direct) + last_move = direct src.move_speed = world.time - src.l_move_time src.l_move_time = world.time - spawn(5) // Causes space drifting. /tg/station has no concept of speed, we just use 5 - if(loc && direct && last_move == direct) - if(loc == newloc) //Remove this check and people can accelerate. Not opening that can of worms just yet. - newtonian_move(last_move) - if(. && buckled_mob && !handle_buckled_mob_movement(loc, direct)) //movement failed due to buckled mob . = 0 +// Called after a successful Move(). By this point, we've already moved +/atom/movable/proc/Moved(atom/OldLoc, Dir) + if(!inertia_moving) + inertia_next_move = world.time + inertia_move_delay + newtonian_move(Dir) + return 1 -// Previously known as Crossed() +// Previously known as HasEntered() // This is automatically called when something enters your square /atom/movable/Crossed(atom/movable/AM) return -/atom/movable/Bump(var/atom/A as mob|obj|turf|area, sendBump) - if(src.throwing) - src.throw_impact(A) - - if(A && sendBump) - A.last_bumped = world.time +/atom/movable/Bump(atom/A, yes) //the "yes" arg is to differentiate our Bump proc from byond's, without it every Bump() call would become a double Bump(). + if(A && yes) + if(throwing) + throwing.hit_atom(A) + . = 1 + if(!A || qdeleted(A)) + return A.Bumped(src) - else - ..() /atom/movable/proc/forceMove(atom/destination) var/turf/old_loc = loc @@ -166,29 +185,6 @@ update_canmove() //if the mob was asleep inside a container and then got forceMoved out we need to make them fall. -//called when src is thrown into hit_atom -/atom/movable/proc/throw_impact(atom/hit_atom, var/speed) - if(istype(hit_atom,/mob/living)) - var/mob/living/M = hit_atom - M.hitby(src,speed) - - else if(isobj(hit_atom)) - var/obj/O = hit_atom - if(!O.anchored) - step(O, src.dir) - O.hitby(src,speed) - - else if(isturf(hit_atom)) - src.throwing = 0 - var/turf/T = hit_atom - if(T.density) - spawn(2) - step(src, turn(src.dir, 180)) - if(istype(src,/mob/living)) - var/mob/living/M = src - M.turf_collision(T, speed) - - //Called whenever an object moves and by mobs when they attempt to move themselves through space //And when an object or action applies a force on src, see newtonian_move() below //Return 0 to have src start/keep drifting in a no-grav area and 1 to stop/not start drifting @@ -201,13 +197,15 @@ if(pulledby && !pulledby.pulling) return 1 + if(throwing) + return 1 + if(locate(/obj/structure/lattice) in range(1, get_turf(src))) //Not realistic but makes pushing things in space easier return 1 return 0 /atom/movable/proc/newtonian_move(direction) //Only moves the object if it's under no gravity - if(!loc || Process_Spacemove(0)) inertia_dir = 0 return 0 @@ -216,119 +214,93 @@ if(!direction) return 1 - var/old_dir = dir - . = step(src, direction) - dir = old_dir + inertia_last_loc = loc + drift_master.processing_list[src] = src + return 1 -//decided whether a movable atom being thrown can pass through the turf it is in. -/atom/movable/proc/hit_check(var/speed) - if(src.throwing) - for(var/atom/A in get_turf(src)) - if(A == src) continue - if(istype(A,/mob/living)) - if(A:lying) continue - src.throw_impact(A,speed) - if(isobj(A)) - if(A.density && !A.throwpass) // **TODO: Better behaviour for windows which are dense, but shouldn't always stop movement - src.throw_impact(A,speed) -/atom/movable/proc/throw_at_fast(atom/target, range, speed, thrower, no_spin) +//called when src is thrown into hit_atom +/atom/movable/proc/throw_impact(atom/hit_atom, throwingdatum) set waitfor = 0 - throw_at(target, range, speed, thrower, no_spin) + return hit_atom.hitby(src) -/atom/movable/proc/throw_at(atom/target, range, speed, thrower, no_spin) - if(!target || !src || (flags & NODROP)) +/atom/movable/hitby(atom/movable/AM, skipcatch, hitpush = 1, blocked) + if(!anchored && hitpush) + step(src, AM.dir) + ..() + +/atom/movable/proc/throw_at(atom/target, range, speed, mob/thrower, spin = TRUE, diagonals_first = FALSE, var/datum/callback/callback) + if(!target || (flags & NODROP) || speed <= 0) return 0 - //use a modified version of Bresenham's algorithm to get from the atom's current position to that of the target - src.throwing = 1 - src.thrower = thrower - src.throw_source = get_turf(src) //store the origin turf - if(target.allow_spin) // turns out 1000+ spinning objects being thrown at the singularity creates lag - Iamgoofball - if(!no_spin_thrown && !no_spin) - SpinAnimation(5, 1) + if(pulledby) + pulledby.stop_pulling() + + // They are moving! Wouldn't it be cool if we calculated their momentum and added it to the throw? + if(thrower && thrower.last_move && thrower.client && thrower.client.move_delay >= world.time + world.tick_lag * 2) + var/user_momentum = thrower.movement_delay() + if(!user_momentum) // no movement_delay, this means they move once per byond tick, let's calculate from that instead + user_momentum = world.tick_lag + + user_momentum = 1 / user_momentum // convert from ds to the tiles per ds that throw_at uses + + if(get_dir(thrower, target) & last_move) + user_momentum = user_momentum // basically a noop, but needed + else if(get_dir(target, thrower) & last_move) + user_momentum = -user_momentum // we are moving away from the target, lets slowdown the throw accordingly + else + user_momentum = 0 + + if(user_momentum) + // first lets add that momentum to range + range *= (user_momentum / speed) + 1 + //then lets add it to speed + speed += user_momentum + if(speed <= 0) + return //no throw speed, the user was moving too fast. + + var/datum/thrownthing/TT = new() + TT.thrownthing = src + TT.target = target + TT.target_turf = get_turf(target) + TT.init_dir = get_dir(src, target) + TT.maxrange = range + TT.speed = speed + TT.thrower = thrower + TT.diagonals_first = diagonals_first + TT.callback = callback + var/dist_x = abs(target.x - src.x) var/dist_y = abs(target.y - src.y) + var/dx = (target.x > src.x) ? EAST : WEST + var/dy = (target.y > src.y) ? NORTH : SOUTH - var/dx - if(target.x > src.x) - dx = EAST - else - dx = WEST + if(dist_x == dist_y) + TT.pure_diagonal = 1 - var/dy - if(target.y > src.y) - dy = NORTH - else - dy = SOUTH - var/dist_travelled = 0 - var/dist_since_sleep = 0 - var/area/a = get_area(src.loc) - if(dist_x > dist_y) - var/error = dist_x/2 - dist_y - while(src && target &&((((src.x < target.x && dx == EAST) || (src.x > target.x && dx == WEST)) && dist_travelled < range) || (a && a.has_gravity == 0) || istype(src.loc, /turf/space)) && src.throwing && istype(src.loc, /turf)) - // only stop when we've gone the whole distance (or max throw range) and are on a non-space tile, or hit something, or hit the end of the map, or someone picks it up - if(error < 0) - var/atom/step = get_step(src, dy) - if(!step) // going off the edge of the map makes get_step return null, don't let things go off the edge - break - src.Move(step, get_dir(loc, step)) - hit_check(speed) - error += dist_x - dist_travelled++ - dist_since_sleep++ - if(dist_since_sleep >= speed) - dist_since_sleep = 0 - sleep(1) - else - var/atom/step = get_step(src, dx) - if(!step) // going off the edge of the map makes get_step return null, don't let things go off the edge - break - src.Move(step) - hit_check(speed) - error -= dist_y - dist_travelled++ - dist_since_sleep++ - if(dist_since_sleep >= speed) - dist_since_sleep = 0 - sleep(1) - a = get_area(src.loc) - else - var/error = dist_y/2 - dist_x - while(src && target &&((((src.y < target.y && dy == NORTH) || (src.y > target.y && dy == SOUTH)) && dist_travelled < range) || (a && a.has_gravity == 0) || istype(src.loc, /turf/space)) && src.throwing && istype(src.loc, /turf)) - // only stop when we've gone the whole distance (or max throw range) and are on a non-space tile, or hit something, or hit the end of the map, or someone picks it up - if(error < 0) - var/atom/step = get_step(src, dx) - if(!step) // going off the edge of the map makes get_step return null, don't let things go off the edge - break - src.Move(step) - hit_check(speed) - error += dist_y - dist_travelled++ - dist_since_sleep++ - if(dist_since_sleep >= speed) - dist_since_sleep = 0 - sleep(1) - else - var/atom/step = get_step(src, dy) - if(!step) // going off the edge of the map makes get_step return null, don't let things go off the edge - break - src.Move(step) - hit_check(speed) - error -= dist_x - dist_travelled++ - dist_since_sleep++ - if(dist_since_sleep >= speed) - dist_since_sleep = 0 - sleep(1) + else if(dist_x <= dist_y) + var/olddist_x = dist_x + var/olddx = dx + dist_x = dist_y + dist_y = olddist_x + dx = dy + dy = olddx + TT.dist_x = dist_x + TT.dist_y = dist_y + TT.dx = dx + TT.dy = dy + TT.diagonal_error = dist_x / 2 - dist_y + TT.start_time = world.time - a = get_area(src.loc) + if(pulledby) + pulledby.stop_pulling() - //done throwing, either because it hit something or it finished moving - if(isobj(src)) src.throw_impact(get_turf(src),speed) - src.throwing = 0 - src.thrower = null - src.throw_source = null + throwing = TT + if(spin && !no_spin && !no_spin_thrown) + SpinAnimation(5, 1) + + throw_master.processing_list[src] = TT + TT.tick() //Overlays diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index 0aaba4caf13..886dac328de 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -498,7 +498,7 @@ icon_state = "hoop" anchored = 1 density = 1 - throwpass = 1 + pass_flags = LETPASSTHROW /obj/structure/holohoop/attackby(obj/item/weapon/W as obj, mob/user as mob, params) if(istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2) diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 2cd5f0a7a34..baaf936e189 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -167,18 +167,16 @@ ..() //When an object is thrown at the window -/obj/machinery/door/window/hitby(AM as mob|obj) - +/obj/machinery/door/window/hitby(atom/movable/AM) ..() var/tforce = 0 if(ismob(AM)) tforce = 40 - else - tforce = AM:throwforce + else if(isobj(AM)) + var/obj/O = AM + tforce = O.throwforce playsound(loc, 'sound/effects/Glasshit.ogg', 100, 1) take_damage(tforce) - //..() //Does this really need to be here twice? The parent proc doesn't even do anything yet. - Nodrak - return /obj/machinery/door/window/mech_melee_attack(obj/mecha/M) if(M.damtype == "brute") diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index ff319d5037d..071ae52c942 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -94,51 +94,49 @@ /obj/machinery/shield/hitby(AM as mob|obj) - - //Super realistic, resource-intensive, real-time damage calculations. + ..() var/tforce = 0 if(ismob(AM)) tforce = 40 - else - tforce = AM:throwforce + else if(isobj(AM)) + var/obj/O = AM + tforce = O.throwforce - src.health -= tforce + health -= tforce //This seemed to be the best sound for hitting a force field. - playsound(src.loc, 'sound/effects/EMPulse.ogg', 100, 1) + playsound(loc, 'sound/effects/EMPulse.ogg', 100, 1) //Handle the destruction of the shield - if(src.health <= 0) + if(health <= 0) visible_message("The [src] dissipates") qdel(src) return //The shield becomes dense to absorb the blow.. purely asthetic. opacity = 1 - spawn(20) if(src) opacity = 0 - - ..() - return - + spawn(20) + if(src) + opacity = 0 /obj/machinery/shieldgen - name = "Emergency shield projector" - desc = "Used to seal minor hull breaches." - icon = 'icons/obj/objects.dmi' - icon_state = "shieldoff" - density = 1 - opacity = 0 - anchored = 0 - pressure_resistance = 2*ONE_ATMOSPHERE - req_access = list(access_engine) - var/const/max_health = 100 - var/health = max_health - var/active = 0 - var/malfunction = 0 //Malfunction causes parts of the shield to slowly dissapate - var/list/deployed_shields = list() - var/is_open = 0 //Whether or not the wires are exposed - var/locked = 0 + name = "Emergency shield projector" + desc = "Used to seal minor hull breaches." + icon = 'icons/obj/objects.dmi' + icon_state = "shieldoff" + density = 1 + opacity = 0 + anchored = 0 + pressure_resistance = 2*ONE_ATMOSPHERE + req_access = list(access_engine) + var/const/max_health = 100 + var/health = max_health + var/active = 0 + var/malfunction = 0 //Malfunction causes parts of the shield to slowly dissapate + var/list/deployed_shields = list() + var/is_open = 0 //Whether or not the wires are exposed + var/locked = 0 /obj/machinery/shieldgen/Destroy() QDEL_LIST(deployed_shields) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index fdf1b341488..2fa9b3af00f 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -368,9 +368,12 @@ breakthrough = 1 else - throwing = 0 //so mechas don't get stuck when landing after being sent by a Mass Driver + if(throwing) + throwing.finalize(FALSE) crashing = null + ..() + if(breakthrough) if(crashing) spawn(1) @@ -524,7 +527,7 @@ user.create_attack_log("attacked [name]") return -/obj/mecha/hitby(atom/movable/A as mob|obj) //wrapper +/obj/mecha/hitby(atom/movable/A) //wrapper ..() log_message("Hit by [A].",1) @@ -537,6 +540,7 @@ dam_coeff = B.damage_coeff counter_tracking = 1 break + if(istype(A, /obj/item/mecha_parts/mecha_tracking)) if(!counter_tracking) A.forceMove(src) diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index 122f1741a3c..ebeda7a77c0 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -104,9 +104,9 @@ /obj/structure/alien/resin/hitby(atom/movable/AM) ..() var/tforce = 0 - if(!isobj(AM)) + if(ismob(AM)) tforce = 10 - else + else if(isobj(AM)) var/obj/O = AM tforce = O.throwforce playsound(loc, 'sound/effects/attackblob.ogg', 100, 1) diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 5972d75f3dd..7045a06a875 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -67,7 +67,7 @@ /obj/item/clothing/gloves/color/black = 20, /obj/item/clothing/head/hardhat = 10, /obj/item/clothing/head/hardhat/red = 10, - /obj/item/clothing/head/that{throwforce = 1; throwing = 1} = 10, + /obj/item/clothing/head/that = 10, /obj/item/clothing/head/ushanka = 10, /obj/item/clothing/head/welding = 10, /obj/item/clothing/mask/gas = 10, diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index f67178e1e67..f56ada78145 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -61,6 +61,8 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d var/block_chance = 0 var/hit_reaction_chance = 0 //If you want to have something unrelated to blocking/armour piercing etc. Maybe not needed, but trying to think ahead/allow more freedom + var/mob/thrownby = null + var/toolspeed = 1 // If this item is a tool, the speed multiplier /* Species-specific sprites, concept stolen from Paradise//vg/. @@ -217,7 +219,8 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d var/obj/item/weapon/storage/S = src.loc S.remove_from_storage(src) - src.throwing = 0 + if(throwing) + throwing.finalize(FALSE) if(loc == user) if(!user.unEquip(src)) return 0 @@ -231,36 +234,6 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d user.put_in_active_hand(src) return 1 - -/obj/item/attack_alien(mob/user as mob) - - if(isalien(user)) // -- TLE - var/mob/living/carbon/alien/A = user - - if(!A.has_fine_manipulation) - if(src in A.contents) // To stop Aliens having items stuck in their pockets - A.unEquip(src) - to_chat(user, "Your claws aren't capable of such fine manipulation.") - return - - if(istype(src.loc, /obj/item/weapon/storage)) - for(var/mob/M in range(1, src.loc)) - if(M.s_active == src.loc) - if(M.client) - M.client.screen -= src - src.throwing = 0 - if(src.loc == user) - if(!user.unEquip(src)) - return - else - if(istype(src.loc, /mob/living)) - return - src.pickup(user) - - user.put_in_active_hand(src) - return - - /obj/item/attack_alien(mob/user as mob) var/mob/living/carbon/alien/A = user @@ -323,9 +296,6 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d /obj/item/proc/talk_into(mob/M, var/text, var/channel=null) return -/obj/item/proc/moved(mob/user, old_loc) - return - /obj/item/proc/dropped(mob/user) for(var/X in actions) var/datum/action/A = X @@ -546,6 +516,23 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d throw_at(S,14,3) else ..() +/obj/item/throw_impact(atom/A) + if(A && !qdeleted(A)) + var/itempush = 1 + if(w_class < 4) + itempush = 0 // too light to push anything + return A.hitby(src, 0, itempush) + +/obj/item/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback) + thrownby = thrower + callback = CALLBACK(src, .proc/after_throw, callback) //replace their callback with our own + . = ..(target, range, speed, thrower, spin, diagonals_first, callback) + +/obj/item/proc/after_throw(datum/callback/callback) + if(callback) //call the original callback + . = callback.Invoke() + throw_speed = initial(throw_speed) //explosions change this. + /obj/item/proc/pwr_drain() return 0 // Process Kill diff --git a/code/game/objects/items/policetape.dm b/code/game/objects/items/policetape.dm index f171e984f36..26b0e8772af 100644 --- a/code/game/objects/items/policetape.dm +++ b/code/game/objects/items/policetape.dm @@ -151,7 +151,7 @@ var/list/tape_roll_applications = list() if(!density) return 1 if(height==0) return 1 - if((mover.pass_flags & PASSTABLE || istype(mover, /obj/effect/meteor) || mover.throwing == 1) ) + if((mover.pass_flags & PASSTABLE || istype(mover, /obj/effect/meteor) || mover.throwing)) return 1 else if(ismob(mover) && allowed(mover)) return 1 diff --git a/code/game/objects/items/weapons/RCL.dm b/code/game/objects/items/weapons/RCL.dm index 8e0357ecd13..0655c0b4b8b 100644 --- a/code/game/objects/items/weapons/RCL.dm +++ b/code/game/objects/items/weapons/RCL.dm @@ -115,7 +115,7 @@ last = C break -/obj/item/weapon/twohanded/rcl/moved(mob/user, turf/old_loc, direct) +/obj/item/weapon/twohanded/rcl/on_mob_move(direct, mob/user) if(active) trigger(user) diff --git a/code/game/objects/items/weapons/dice.dm b/code/game/objects/items/weapons/dice.dm index 5714f5e4310..80274a4d7ca 100644 --- a/code/game/objects/items/weapons/dice.dm +++ b/code/game/objects/items/weapons/dice.dm @@ -111,10 +111,10 @@ /obj/item/weapon/dice/attack_self(mob/user as mob) diceroll(user) -/obj/item/weapon/dice/throw_at(atom/target, range, speed, mob/user as mob) +/obj/item/weapon/dice/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback) if(!..()) return - diceroll(user) + diceroll(thrower) /obj/item/weapon/dice/proc/diceroll(mob/user) result = rand(1, sides) @@ -133,7 +133,7 @@ user.visible_message("[user] has thrown [src]. It lands on [result]. [comment]", \ "You throw [src]. It lands on [result]. [comment]", \ "You hear [src] rolling, it sounds like a [fake_result].") - else if(src.throwing == 0) //Dice was thrown and is coming to rest + else if(!throwing) //Dice was thrown and is coming to rest visible_message("[src] rolls to a stop, landing on [result]. [comment]") /obj/item/weapon/dice/d20/e20/diceroll(mob/user as mob, thrown) diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 24fdc2e43ce..844c1828200 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -316,4 +316,7 @@ a { for(var/obj/item/Item in contents) //Empty out the contents Item.forceMove(new_loc) if(burn) - Item.fire_act() //Set them on fire, too \ No newline at end of file + Item.fire_act() //Set them on fire, too + +/obj/proc/on_mob_move(dir, mob/user) + return \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 7180e59b800..6db9a26fd8d 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -56,7 +56,7 @@ if(throwing) // you keep some momentum when getting out of a thrown closet step(AM, dir) if(throwing) - throwing = 0 + throwing.finalize(FALSE) /obj/structure/closet/proc/open() if(opened) @@ -327,7 +327,7 @@ /obj/structure/closet/attack_hand(mob/user) add_fingerprint(user) toggle(user) - + /obj/structure/closet/attack_ghost(mob/user) if(user.can_advanced_admin_interact()) toggle(user) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index df1309b3d03..c1b4984c158 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -297,8 +297,8 @@ tforce = 5 else if(isobj(AM)) if(prob(50)) - var/obj/item/I = AM - tforce = max(0, I.throwforce * 0.5) + var/obj/O = AM + tforce = max(0, O.throwforce * 0.5) else if(anchored && !broken) var/turf/T = get_turf(src) var/obj/structure/cable/C = T.get_cable_node() diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index e5c0a7f9179..596673ba0c7 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -190,7 +190,7 @@ layer = 2.0 var/obj/structure/morgue/connected = null anchored = 1.0 - throwpass = 1 + pass_flags = LETPASSTHROW /obj/structure/m_tray/attack_hand(mob/user as mob) @@ -432,7 +432,7 @@ layer = 2.0 var/obj/structure/crematorium/connected = null anchored = 1.0 - throwpass = 1 + pass_flags = LETPASSTHROW /obj/structure/c_tray/attack_hand(mob/user as mob) if(connected) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 76dc6a507a3..55181579699 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -18,7 +18,7 @@ density = 1 anchored = 1.0 layer = 2.8 - throwpass = 1 //You can throw objects over this, despite it's density.") + pass_flags = LETPASSTHROW climbable = 1 var/parts = /obj/item/weapon/table_parts @@ -127,7 +127,8 @@ return /obj/structure/table/CanPass(atom/movable/mover, turf/target, height=0) - if(height==0) return 1 + if(height == 0) + return 1 if(istype(mover,/obj/item/projectile)) return (check_cover(mover,target)) if(ismob(mover)) @@ -136,6 +137,8 @@ return 1 if(istype(mover) && mover.checkpass(PASSTABLE)) return 1 + if(mover.throwing) + return 1 if(locate(/obj/structure/table) in get_turf(mover)) return 1 if(flipped) @@ -526,7 +529,7 @@ icon_state = "rack" density = 1 anchored = 1.0 - throwpass = 1 //You can throw objects over this, despite it's density. + pass_flags = LETPASSTHROW var/parts = /obj/item/weapon/rack_parts var/health = 5 @@ -563,6 +566,8 @@ return 1 if(istype(mover) && mover.checkpass(PASSTABLE)) return 1 + if(mover.throwing) + return 1 else return 0 diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index c74e2b47861..9da30e5fe82 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -108,22 +108,24 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f return 1 -/obj/structure/window/hitby(atom/movable/AM) - if(!CanPass(AM, get_step(src, AM.dir))) //So thrown objects that cross a tile with non-full windows will no longer hit the window even if it isn't visually obstructing the path. - ..() - var/tforce = 0 - if(isobj(AM)) - var/obj/item/I = AM - tforce = I.throwforce - if(reinf) tforce *= 0.25 - playsound(loc, 'sound/effects/Glasshit.ogg', 100, 1) - health = max(0, health - tforce) - if(health <= 7 && !reinf) - anchored = 0 - update_nearby_icons() - step(src, get_dir(AM, src)) - if(health <= 0) - destroy() +/obj/structure/window/hitby(atom/movable/AM) + ..() + var/tforce = 0 + if(ismob(AM)) + tforce = 10 + else if(isobj(AM)) + var/obj/O = AM + tforce = O.throwforce + if(reinf) + tforce *= 0.25 + playsound(loc, 'sound/effects/Glasshit.ogg', 100, 1) + health = max(0, health - tforce) + if(health <= 7 && !reinf) + anchored = 0 + update_nearby_icons() + step(src, get_dir(AM, src)) + if(health <= 0) + destroy() /obj/structure/window/attack_hand(mob/user as mob) diff --git a/code/game/objects/weapons.dm b/code/game/objects/weapons.dm index b62efa1c049..f35fa65b3c7 100644 --- a/code/game/objects/weapons.dm +++ b/code/game/objects/weapons.dm @@ -2,8 +2,3 @@ name = "weapon" icon = 'icons/obj/weapons.dmi' hitsound = "swing_hit" - -/obj/item/weapon/Bump(mob/M as mob) - spawn(0) - ..() - return \ No newline at end of file diff --git a/code/modules/admin/verbs/ticklag.dm b/code/modules/admin/verbs/ticklag.dm index f49984b8fb3..316adf935b0 100644 --- a/code/modules/admin/verbs/ticklag.dm +++ b/code/modules/admin/verbs/ticklag.dm @@ -15,9 +15,6 @@ world.tick_lag = newtick feedback_add_details("admin_verb","TICKLAG") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - switch(alert("Enable Tick Compensation?","Tick Comp is currently: [config.Tickcomp]","Yes","No")) - if("Yes") config.Tickcomp = 1 - else config.Tickcomp = 0 else to_chat(src, "Error: ticklag(): Invalid world.ticklag value. No changes made.") diff --git a/code/modules/arcade/mob_hunt/mob_avatar.dm b/code/modules/arcade/mob_hunt/mob_avatar.dm index 8717d5eb2a5..4603622da2a 100644 --- a/code/modules/arcade/mob_hunt/mob_avatar.dm +++ b/code/modules/arcade/mob_hunt/mob_avatar.dm @@ -42,9 +42,9 @@ attempt_capture(P, -20) //attempting a melee capture reduces the mob's effective run_chance by 20% to balance the risk of triggering a trap mob return 1 -/obj/effect/nanomob/hitby(obj/item/O) - if(istype(O, /obj/item/device/pda)) - var/obj/item/device/pda/P = O +/obj/effect/nanomob/hitby(atom/movable/AM) + if(istype(AM, /obj/item/device/pda)) + var/obj/item/device/pda/P = AM attempt_capture(P) //attempting a ranged capture does not affect the mob's effective run_chance but does prevent you from being shocked by a trap mob return 1 diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 33bb0bcd269..24f5a340760 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -985,11 +985,6 @@ // AIs are a bit slower than regular and ignore move intent. wearer_move_delay = world.time + ai_controlled_move_delay - var/tickcomp = 0 - if(config.Tickcomp) - tickcomp = ((1/(world.tick_lag))*1.3) - 1.3 - wearer_move_delay += tickcomp - if(wearer.buckled) //if we're buckled to something, tell it we moved. return wearer.buckled.relaymove(wearer, direction) diff --git a/code/modules/fish/fishtank.dm b/code/modules/fish/fishtank.dm index bbd7615b6ce..34d393fad0c 100644 --- a/code/modules/fish/fishtank.dm +++ b/code/modules/fish/fishtank.dm @@ -11,7 +11,7 @@ icon_state = "tank1" density = 0 anchored = 0 - throwpass = 0 + pass_flags = 0 var/tank_type = "" // Type of aquarium, used for icon updating var/water_capacity = 0 // Number of units the tank holds (varies with tank type) @@ -38,8 +38,7 @@ icon_state = "bowl1" density = 0 // Small enough to not block stuff anchored = 0 // Small enough to move even when filled - throwpass = 1 // Just like at the county fair, you can't seem to throw the ball in to win the goldfish - pass_flags = PASSTABLE // Small enough to pull onto a table + pass_flags = PASSTABLE | LETPASSTHROW // Just like at the county fair, you can't seem to throw the ball in to win the goldfish, and it's small enough to pull onto a table tank_type = "bowl" water_capacity = 50 // Not very big, therefore it can't hold much @@ -57,7 +56,7 @@ icon_state = "tank1" density = 1 anchored = 1 - throwpass = 1 // You can throw objects over this, despite it's density, because it's short enough. + pass_flags = LETPASSTHROW tank_type = "tank" water_capacity = 200 // Decent sized, holds almost 2 full buckets @@ -75,7 +74,7 @@ icon_state = "wall1" density = 1 anchored = 1 - throwpass = 0 // This thing is the size of a wall, you can't throw past it. + pass_flags = 0 // This thing is the size of a wall, you can't throw past it. tank_type = "wall" water_capacity = 500 // This thing fills an entire tile, it holds a lot. diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index f9c97c87a0b..64bb91a9db4 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -180,49 +180,6 @@ Gunshots/explosions/opening doors/less rare audio (done) ..() name = "alien hunter ([rand(1, 1000)])" -/obj/effect/hallucination/simple/xeno/throw_at(atom/target, range, speed) // TODO : Make diagonal trhow into proc/property - if(!target || !src || (flags & NODROP)) - return 0 - - throwing = 1 - - var/dist_x = abs(target.x - x) - var/dist_y = abs(target.y - y) - var/dist_travelled = 0 - var/dist_since_sleep = 0 - - var/tdist_x = dist_x; - var/tdist_y = dist_y; - - if(dist_x <= dist_y) - tdist_x = dist_y; - tdist_y = dist_x; - - var/error = tdist_x/2 - tdist_y - while(target && (((((dist_x > dist_y) && ((x < target.x) || (x > target.x))) || ((dist_x <= dist_y) && ((y < target.y) || (y > target.y))) || (x > target.x)) && dist_travelled < range) || !has_gravity(src))) - if(!throwing) - break - if(!istype(loc, /turf)) - break - - var/atom/step = get_step(src, get_dir(src, target)) - if(!step) - break - Move(step, get_dir(src, step)) - hit_check() - error += (error < 0) ? tdist_x : -tdist_y; - dist_travelled++ - dist_since_sleep++ - if(dist_since_sleep >= speed) - dist_since_sleep = 0 - sleep(1) - - - throwing = 0 - throw_impact(get_turf(src)) - - return 1 - /obj/effect/hallucination/simple/xeno/throw_impact(A) update_icon("alienh_pounce") if(A == target) @@ -247,12 +204,12 @@ Gunshots/explosions/opening doors/less rare audio (done) if(!xeno) return xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32) - xeno.throw_at(target,7,1) + xeno.throw_at(target,7,1, spin = 0, diagonals_first = 1) sleep(10) if(!xeno) return xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32) - xeno.throw_at(pump,7,1) + xeno.throw_at(pump,7,1, spin = 0, diagonals_first = 1) sleep(10) if(!xeno) return diff --git a/code/modules/mob/living/carbon/alien/alien_defenses.dm b/code/modules/mob/living/carbon/alien/alien_defenses.dm index c1ce34bf8e7..65e32e2fae9 100644 --- a/code/modules/mob/living/carbon/alien/alien_defenses.dm +++ b/code/modules/mob/living/carbon/alien/alien_defenses.dm @@ -1,5 +1,5 @@ -/mob/living/carbon/alien/hitby(atom/movable/AM) - ..(AM, 1) +/mob/living/carbon/alien/hitby(atom/movable/AM, skipcatch, hitpush) + ..(AM, hitpush = 0) /*Code for aliens attacking aliens. Because aliens act on a hivemind, I don't see them as very aggressive with each other. As such, they can either help or harm other aliens. Help works like the human help command while harm is a simple nibble. diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm index bc1e1e4f56d..cdd1b55bcf9 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm @@ -79,17 +79,18 @@ else //Maybe uses plasma in the future, although that wouldn't make any sense... leaping = 1 update_icons() - throw_at(A,MAX_ALIEN_LEAP_DIST,1) - leaping = 0 - update_icons() + throw_at(A, MAX_ALIEN_LEAP_DIST, 1, spin = 0, diagonals_first = 1, callback = CALLBACK(src, .leap_end)) + +/mob/living/carbon/alien/humanoid/hunter/proc/leap_end() + leaping = 0 + update_icons() /mob/living/carbon/alien/humanoid/hunter/throw_impact(atom/A) - if(!leaping) return ..() if(A) - if(istype(A, /mob/living)) + if(isliving(A)) var/mob/living/L = A var/blocked = 0 if(ishuman(A)) @@ -126,46 +127,3 @@ if(leaping) return ..() - - -//Modified throw_at() that will use diagonal dirs where appropriate -//instead of locking it to cardinal dirs -/mob/living/carbon/alien/humanoid/throw_at(atom/target, range, speed) - if(!target || !src) return 0 - - src.throwing = 1 - - var/dist_x = abs(target.x - src.x) - var/dist_y = abs(target.y - src.y) - var/dist_travelled = 0 - var/dist_since_sleep = 0 - - var/tdist_x = dist_x; - var/tdist_y = dist_y; - - if(dist_x <= dist_y) - tdist_x = dist_y; - tdist_y = dist_x; - - var/error = tdist_x/2 - tdist_y - while(target && (((((dist_x > dist_y) && ((src.x < target.x) || (src.x > target.x))) || ((dist_x <= dist_y) && ((src.y < target.y) || (src.y > target.y))) || (src.x > target.x)) && dist_travelled < range) || !has_gravity(src))) - - if(!src.throwing) break - if(!istype(src.loc, /turf)) break - - var/atom/step = get_step(src, get_dir(src,target)) - if(!step) - break - src.Move(step, get_dir(src, step)) - hit_check() - error += (error < 0) ? tdist_x : -tdist_y; - dist_travelled++ - dist_since_sleep++ - if(dist_since_sleep >= speed) - dist_since_sleep = 0 - sleep(1) - - - src.throwing = 0 - - return 1 diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index b99cde337d6..735b4ccb777 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -24,32 +24,6 @@ add_language("Hivemind") ..() -//This is fine, works the same as a human -/mob/living/carbon/alien/humanoid/Bump(atom/movable/AM as mob|obj, yes) - spawn( 0 ) - if((!( yes ) || now_pushing)) - return - now_pushing = 0 - ..() - if(!istype(AM, /atom/movable)) - return - - if(ismob(AM)) - var/mob/tmob = AM - tmob.LAssailant = src - - if(!now_pushing) - now_pushing = 1 - if(!AM.anchored) - var/t = get_dir(src, AM) - if(istype(AM, /obj/structure/window/full)) - for(var/obj/structure/window/win in get_step(AM,t)) - now_pushing = 0 - return - step(AM, t) - now_pushing = null - return - return /mob/living/carbon/alien/humanoid/movement_delay() var/tally = 0 diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index a78ab9c4c77..df00e862b38 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -26,38 +26,6 @@ ..() -//This is fine, works the same as a human -/mob/living/carbon/alien/larva/Bump(atom/movable/AM as mob|obj, yes) - - spawn( 0 ) - if((!( yes ) || now_pushing)) - return - now_pushing = 1 - if(ismob(AM)) - var/mob/tmob = AM - if(istype(tmob, /mob/living/carbon/human) && (FAT in tmob.mutations)) - if(prob(70)) - to_chat(src, "You fail to push [tmob]'s fat ass out of the way.") - now_pushing = 0 - return - if(!(tmob.status_flags & CANPUSH)) - now_pushing = 0 - return - tmob.LAssailant = src - - now_pushing = 0 - ..() - if(!( istype(AM, /atom/movable) )) - return - if(!( now_pushing )) - now_pushing = 1 - if(!( AM.anchored )) - var/t = get_dir(src, AM) - step(AM, t) - now_pushing = null - return - return - //This needs to be fixed /mob/living/carbon/alien/larva/Stat() ..() diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 5911c04f563..141d760287a 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -492,6 +492,29 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump, //Throwing stuff +/mob/living/carbon/throw_impact(atom/hit_atom, throwingdatum) + . = ..() + var/hurt = TRUE + /*if(istype(throwingdatum, /datum/thrownthing)) + var/datum/thrownthing/D = throwingdatum + if(isrobot(D.thrower)) + var/mob/living/silicon/robot/R = D.thrower + if(!R.emagged) + hurt = FALSE*/ + if(hit_atom.density && isturf(hit_atom)) + if(hurt) + Weaken(1) + take_organ_damage(10) + if(iscarbon(hit_atom) && hit_atom != src) + var/mob/living/carbon/victim = hit_atom + if(hurt) + victim.take_organ_damage(10) + take_organ_damage(10) + victim.Weaken(1) + Weaken(1) + visible_message("[src] crashes into [victim], knocking them both over!", "You violently crash into [victim]!") + playsound(src, 'sound/weapons/punch1.ogg', 50, 1) + /mob/living/carbon/proc/toggle_throw_mode() if(in_throw_mode) throw_mode_off() diff --git a/code/modules/mob/living/carbon/carbon_defenses.dm b/code/modules/mob/living/carbon/carbon_defenses.dm index b2dcf20f1b2..1c911a3f661 100644 --- a/code/modules/mob/living/carbon/carbon_defenses.dm +++ b/code/modules/mob/living/carbon/carbon_defenses.dm @@ -1,13 +1,14 @@ -/mob/living/carbon/hitby(atom/movable/AM) - if(in_throw_mode && !get_active_hand()) //empty active hand and we're in throw mode - if(canmove && !restrained()) - if(istype(AM, /obj/item)) - var/obj/item/I = AM - if(isturf(I.loc)) - put_in_active_hand(I) - visible_message("[src] catches [I]!") - throw_mode_off() - return +/mob/living/carbon/hitby(atom/movable/AM, skipcatch, hitpush = 1, blocked = 0) + if(!skipcatch) + if(in_throw_mode && !get_active_hand()) //empty active hand and we're in throw mode + if(canmove && !restrained()) + if(istype(AM, /obj/item)) + var/obj/item/I = AM + if(isturf(I.loc)) + put_in_active_hand(I) + visible_message("[src] catches [I]!") + throw_mode_off() + return 1 ..() /mob/living/carbon/water_act(volume, temperature, source) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 1c012655cdc..a82a6223b36 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -147,93 +147,6 @@ /mob/living/carbon/human/stok/New(var/new_loc) ..(new_loc, "Stok") -/mob/living/carbon/human/Bump(atom/movable/AM, yes) - if(!(yes) || now_pushing || buckled) - return 0 - now_pushing = 1 - if(ismob(AM)) - var/mob/tmob = AM - - //BubbleWrap - Should stop you pushing a restrained person out of the way - //i still don't get it, is this supposed to be 'bubblewrapping' or was it made by a guy named 'BubbleWrap' - if(ishuman(tmob)) - for(var/mob/M in range(tmob, 1)) - - if(tmob.pinned.len || (M.pulling == tmob && (tmob.restrained() && !M.restrained()) && M.stat == CONSCIOUS)) - if(!(world.time % 5)) //tmob is pinned to wall, or is restrained and pulled by a concious unrestrained human - to_chat(src, "[tmob] is restrained, you cannot push past.") - now_pushing = 0 - return 0 - - //I have to fucking document this somewhere- the above if(tmob.pinned.len || etc) check above had - //locate(/obj/item/weapon/grab, tmob.grabbed_by.len)) at the end of it - //FIRST OF ALL, THAT IS NOT HOW YOU FUCKING USE LOCATE() - //SECOND OF ALL, OH GOD, WHY WOULD YOU EVER WANT GRABBED MOBS TO BE UNABLE TO BE PUSHED PAST GOD - - if(tmob.pulling == M && (M.restrained() && !tmob.restrained()) && tmob.stat == CONSCIOUS) - if(!(world.time % 5)) - to_chat(src, "[tmob] is restraining [M], you cannot push past.") - now_pushing = 0 - return 0 - - //Leaping mobs just land on the tile, no pushing, no anything. - if(status_flags & LEAPING) - loc = tmob.loc - status_flags &= ~LEAPING - now_pushing = 0 - return - - //BubbleWrap: people in handcuffs are always switched around as if they were on 'help' intent to prevent a person being pulled from being seperated from their puller - //it might be 'bubblewrapping' given that this rhymes with 'hugboxing' - if((tmob.a_intent == I_HELP || tmob.restrained()) && (a_intent == I_HELP || restrained())) - if((canmove && tmob.canmove) && (!tmob.buckled && !tmob.buckled_mob)) - var/turf/oldloc = loc - loc = tmob.loc - tmob.loc = oldloc - now_pushing = 0 - for(var/mob/living/carbon/slime/slime in view(1,tmob)) - if(slime.Victim == tmob) - slime.UpdateFeed() - return - - if(ishuman(tmob) && (FAT in tmob.mutations)) - if(prob(40) && !(FAT in src.mutations)) - to_chat(src, "You fail to push [tmob]'s fat ass out of the way.") - now_pushing = 0 - return - - - //anti-riot equipment is also anti-push - if(tmob.r_hand && (prob(tmob.r_hand.block_chance * 2)) && !istype(tmob.r_hand, /obj/item/clothing)) - now_pushing = 0 - return - if(tmob.l_hand && (prob(tmob.l_hand.block_chance * 2)) && !istype(tmob.l_hand, /obj/item/clothing)) - now_pushing = 0 - return - - if(!(tmob.status_flags & CANPUSH)) - now_pushing = 0 - return - - tmob.LAssailant = src - - now_pushing = 0 - spawn(0) - ..() - if(!istype(AM, /atom/movable)) - return - if(!now_pushing) - now_pushing = 1 - - if(!AM.anchored) - var/t = get_dir(src, AM) - if(istype(AM, /obj/structure/window/full)) - for(var/obj/structure/window/win in get_step(AM, t)) - now_pushing = 0 - return - step(AM, t) - now_pushing = 0 - /mob/living/carbon/human/Stat() ..() statpanel("Status") diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 3f25873e5f2..585ac587ffc 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -313,85 +313,37 @@ emp_act return 1*/ //this proc handles being hit by a thrown atom -/mob/living/carbon/human/hitby(atom/movable/AM as mob|obj,var/speed = 5) +/mob/living/carbon/human/hitby(atom/movable/AM, skipcatch = 0, hitpush = 1, blocked = 0) + var/obj/item/I + var/throwpower = 30 if(istype(AM, /obj/item)) - var/obj/item/I = AM - - if(in_throw_mode && !get_active_hand() && speed <= 5) //empty active hand and we're in throw mode - if(canmove && !restrained()) - if(isturf(I.loc)) - put_in_active_hand(I) - visible_message("[src] catches [I]!") - throw_mode_off() - return - - var/zone = ran_zone("chest", 65) - var/dtype = BRUTE - if(istype(I, /obj/item/weapon)) - var/obj/item/weapon/W = I - dtype = W.damtype - var/throw_damage = I.throwforce*(speed/5) - - I.throwing = 0 //it hit, so stop moving - - if((I.thrower != src) && check_shields(throw_damage, "\the [I.name]", I, THROWN_PROJECTILE_ATTACK)) - return - - var/obj/item/organ/external/affecting = get_organ(zone) - if(!affecting) - var/missverb = (I.gender == PLURAL) ? "whizz" : "whizzes" - visible_message("\The [I] [missverb] past [src]'s missing [parse_zone(zone)]!", - "\The [I] [missverb] past your missing [parse_zone(zone)]!") - return - var/hit_area = affecting.name - - src.visible_message("[src] has been hit in the [hit_area] by [I].") - var/armor = run_armor_check(affecting, "melee", "Your armor has protected your [hit_area].", "Your armor has softened hit to your [hit_area].", I.armour_penetration) //I guess "melee" is the best fit here - - apply_damage(throw_damage, dtype, zone, armor, is_sharp(I), has_edge(I), I) - - if(ismob(I.thrower)) - var/mob/M = I.thrower - if(M) - add_logs(M, src, "hit", I, " (thrown)", print_attack_log = I.throwforce) - - //thrown weapon embedded object code. - if(dtype == BRUTE && istype(I)) - if(!I.is_robot_module()) + I = AM + throwpower = I.throwforce + if(I.thrownby == src) //No throwing stuff at yourself to trigger reactions + return ..() + if(check_shields(throwpower, "\the [AM.name]", AM, THROWN_PROJECTILE_ATTACK)) + hitpush = 0 + skipcatch = 1 + blocked = 1 + /*else if(I) + if(I.throw_speed >= EMBED_THROWSPEED_THRESHOLD) + if(!I.is_robot_module()) + var/armor = run_armor_check(affecting, "melee", "Your armor has protected your [hit_area].", "Your armor has softened hit to your [hit_area].", I.armour_penetration) //I guess "melee" is the best fit here var/sharp = is_sharp(I) - var/damage = throw_damage + var/damage = throwpower * (I.throw_speed / 5) if(armor) - damage /= armor+1 + damage /= armor + 1 //blunt objects should really not be embedding in things unless a huge amount of force is involved - var/embed_chance = sharp? damage/I.w_class : damage/(I.w_class*3) - var/embed_threshold = sharp? 5*I.w_class : 15*I.w_class + var/embed_chance = sharp? damage / I.w_class : damage/(I.w_class * 3) + var/embed_threshold = sharp? 5 * I.w_class : 15 * I.w_class //Sharp objects will always embed if they do enough damage. //Thrown sharp objects have some momentum already and have a small chance to embed even if the damage is below the threshold - if(((sharp && prob(damage/(10*I.w_class)*100)) || (damage > embed_threshold && prob(embed_chance))) && (I.no_embed == 0)) - affecting.embed(I) - - // Begin BS12 momentum-transfer code. - if(I.throw_source && speed >= 15) - var/obj/item/weapon/W = I - var/momentum = speed/2 - var/dir = get_dir(I.throw_source, src) - - visible_message("[src] staggers under the impact!","You stagger under the impact!") - src.throw_at(get_edge_target_turf(src,dir),1,momentum) - - if(!W || !src) return - - if(W.loc == src && W.sharp) //Projectile is embedded and suitable for pinning. - var/turf/T = near_wall(dir,2) - - if(T) - src.loc = T - visible_message("[src] is pinned to the wall by [I]!","You are pinned to the wall by [I]!") - src.anchored = 1 - src.pinned += I + if(((sharp && prob(damage / (10 * I.w_class) * 100)) || (damage > embed_threshold && prob(embed_chance))) && (I.no_embed == 0)) + affecting.embed(I)*/ + return ..() /mob/living/carbon/human/proc/bloody_hands(var/mob/living/source, var/amount = 2) diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index cf66c1d2c15..c65e5f70f99 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -1,67 +1,75 @@ /mob/living/carbon/human/movement_delay() - var/tally = 0 + . = 0 + . += ..() - if(species.slowdown) - tally = species.slowdown + var/gravity = 1 if(!has_gravity(src)) - return -1 // It's hard to be slowed down in space by... anything + gravity = 0 - if(flying) return -1 + if(flying) + gravity = 0 if(embedded_flag) handle_embedded_objects() //Moving with objects stuck in you can cause bad times. if(slowed) - tally += 10 + . += 10 - var/health_deficiency = (maxHealth - health + staminaloss) - if(reagents) - for(var/datum/reagent/R in reagents.reagent_list) - if(R.shock_reduction) - health_deficiency -= R.shock_reduction - if(health_deficiency >= 40) - tally += (health_deficiency / 25) + if(gravity) + if(species.slowdown) + . = species.slowdown - var/hungry = (500 - nutrition)/5 // So overeat would be 100 and default level would be 80 - if(hungry >= 70) - tally += hungry/50 + var/health_deficiency = (maxHealth - health + staminaloss) + if(reagents) + for(var/datum/reagent/R in reagents.reagent_list) + if(R.shock_reduction) + health_deficiency -= R.shock_reduction + if(health_deficiency >= 40) + . += (health_deficiency / 25) - if(wear_suit) - tally += wear_suit.slowdown + var/hungry = (500 - nutrition)/5 // So overeat would be 100 and default level would be 80 + if(hungry >= 70) + . += hungry/50 - if(!buckled) - if(shoes) - tally += shoes.slowdown + if(wear_suit) + . += wear_suit.slowdown - if(shock_stage >= 10) tally += 3 + if(!buckled) + if(shoes) + . += shoes.slowdown - if(back) - tally += back.slowdown + if(shock_stage >= 10) + . += 3 - if(l_hand && (l_hand.flags & HANDSLOW)) - tally += l_hand.slowdown - if(r_hand && (r_hand.flags & HANDSLOW)) - tally += r_hand.slowdown + if(back) + . += back.slowdown - if(FAT in src.mutations) - tally += 1.5 - if(bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT) - tally += (BODYTEMP_COLD_DAMAGE_LIMIT - bodytemperature) / COLD_SLOWDOWN_FACTOR + if(l_hand && (l_hand.flags & HANDSLOW)) + . += l_hand.slowdown + if(r_hand && (r_hand.flags & HANDSLOW)) + . += r_hand.slowdown - tally += 2*stance_damage //damaged/missing feet or legs is slow + if(FAT in src.mutations) + . += 1.5 - if(RUN in mutations) - tally = -1 - if(status_flags & IGNORESLOWDOWN) // make sure this is always at the end so we don't have ignore slowdown getting ignored itself - tally = -1 + if(bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT) + . += (BODYTEMP_COLD_DAMAGE_LIMIT - bodytemperature) / COLD_SLOWDOWN_FACTOR - if(status_flags & GOTTAGOFAST) - tally -= 1 - if(status_flags & GOTTAGOREALLYFAST) - tally -= 2 + . += 2 * stance_damage //damaged/missing feet or legs is slow - return (tally + config.human_delay) + if(RUN in mutations) + . = -1 + + if(status_flags & IGNORESLOWDOWN) // make sure this is always at the end so we don't have ignore slowdown getting ignored itself + . = -1 + + if(status_flags & GOTTAGOFAST) + . -= 1 + if(status_flags & GOTTAGOREALLYFAST) + . -= 2 + + . += config.human_delay /mob/living/carbon/human/Process_Spacemove(movement_dir = 0) diff --git a/code/modules/mob/living/carbon/human/interactive/interactive.dm b/code/modules/mob/living/carbon/human/interactive/interactive.dm index a208752af24..9f27956b764 100644 --- a/code/modules/mob/living/carbon/human/interactive/interactive.dm +++ b/code/modules/mob/living/carbon/human/interactive/interactive.dm @@ -449,7 +449,7 @@ ..() retalTarget(user) -/mob/living/carbon/human/interactive/hitby(atom/movable/AM) +/mob/living/carbon/human/interactive/hitby(atom/movable/AM, skipcatch, hitpush, blocked) ..() var/mob/living/carbon/C = locate(/mob/living/carbon) in view(SNPC_MIN_RANGE_FIND, src) if(C) diff --git a/code/modules/mob/living/carbon/slime/slime.dm b/code/modules/mob/living/carbon/slime/slime.dm index 003cd4a079e..779b5807236 100644 --- a/code/modules/mob/living/carbon/slime/slime.dm +++ b/code/modules/mob/living/carbon/slime/slime.dm @@ -103,59 +103,24 @@ return tally + config.slime_delay -/mob/living/carbon/slime/Bump(atom/movable/AM as mob|obj, yes) - if((!(yes) || now_pushing)) - return - now_pushing = 1 - - if(isobj(AM)) - if(!client && powerlevel > 0) - var/probab = 10 - switch(powerlevel) - if(1 to 2) probab = 20 - if(3 to 4) probab = 30 - if(5 to 6) probab = 40 - if(7 to 8) probab = 60 - if(9) probab = 70 - if(10) probab = 95 - if(prob(probab)) - if(istype(AM, /obj/structure/window) || istype(AM, /obj/structure/grille)) - if(nutrition <= get_hunger_nutrition() && !Atkcool) - if(is_adult || prob(5)) - AM.attack_slime(src) - spawn() - Atkcool = 1 - sleep(45) - Atkcool = 0 - - if(ismob(AM)) - var/mob/tmob = AM - - if(is_adult) - if(istype(tmob, /mob/living/carbon/human)) - if(prob(90)) - now_pushing = 0 - return - else - if(istype(tmob, /mob/living/carbon/human)) - now_pushing = 0 - return - - now_pushing = 0 - ..() - if(!istype(AM, /atom/movable)) - return - if(!( now_pushing )) - now_pushing = 1 - if(!( AM.anchored )) - var/t = get_dir(src, AM) - if(istype(AM, /obj/structure/window)) - if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST) - for(var/obj/structure/window/win in get_step(AM,t)) - now_pushing = 0 - return - step(AM, t) - now_pushing = null +/mob/living/carbon/slime/ObjBump(obj/O) + if(!client && powerlevel > 0) + var/chance = 10 + switch(powerlevel) + if(1 to 2) chance = 20 + if(3 to 4) chance = 30 + if(5 to 6) chance = 40 + if(7 to 8) chance = 60 + if(9) chance = 70 + if(10) chance = 95 + if(prob(chance)) + if(istype(O, /obj/structure/window) || istype(O, /obj/structure/grille)) + if(nutrition <= get_hunger_nutrition() && !Atkcool) + if(is_adult || prob(5)) + O.attack_slime(src) + Atkcool = 1 + spawn(45) + Atkcool = 0 /mob/living/carbon/slime/Process_Spacemove(var/movement_dir = 0) return 2 diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 525559e8e6c..b8a5284072d 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -14,6 +14,121 @@ /mob/living/proc/OpenCraftingMenu() return +//Generic Bump(). Override MobBump() and ObjBump() instead of this. +/mob/living/Bump(atom/A, yes) + if(..()) //we are thrown onto something + return + if(buckled || !yes || now_pushing) + return + if(ismob(A)) + if(MobBump(A)) + return + if(isobj(A)) + if(ObjBump(A)) + return + if(istype(A, /atom/movable)) + if(PushAM(A)) + return + +//Called when we bump into a mob +/mob/living/proc/MobBump(mob/M) + //Even if we don't push/swap places, we "touched" them, so spread fire + spreadFire(M) + + if(now_pushing) + return 1 + + //Should stop you pushing a restrained person out of the way + if(isliving(M)) + var/mob/living/L = M + if(L.pulledby && L.pulledby != src && L.restrained()) + if(!(world.time % 5)) + to_chat(src, "[L] is restrained, you cannot push past.") + return 1 + + if(L.pulling) + if(ismob(L.pulling)) + var/mob/P = L.pulling + if(P.restrained()) + if(!(world.time % 5)) + to_chat(src, "[L] is restrained, you cannot push past.") + return 1 + + if(moving_diagonally) //no mob swap during diagonal moves. + return 1 + + if(!M.buckled && !M.has_buckled_mobs()) + var/mob_swap + //the puller can always swap with it's victim if on grab intent + if(M.pulledby == src && a_intent == I_GRAB) + mob_swap = 1 + //restrained people act if they were on 'help' intent to prevent a person being pulled from being seperated from their puller + else if((M.restrained() || M.a_intent == I_HELP) && (restrained() || a_intent == I_HELP)) + mob_swap = 1 + if(mob_swap) + //switch our position with M + if(loc && !loc.Adjacent(M.loc)) + return 1 + now_pushing = 1 + var/oldloc = loc + var/oldMloc = M.loc + + var/M_passmob = (M.pass_flags & PASSMOB) // we give PASSMOB to both mobs to avoid bumping other mobs during swap. + var/src_passmob = (pass_flags & PASSMOB) + M.pass_flags |= PASSMOB + pass_flags |= PASSMOB + + M.Move(oldloc) + Move(oldMloc) + + if(!src_passmob) + pass_flags &= ~PASSMOB + if(!M_passmob) + M.pass_flags &= ~PASSMOB + + now_pushing = 0 + return 1 + + // okay, so we didn't switch. but should we push? + // not if he's not CANPUSH of course + if(!(M.status_flags & CANPUSH)) + return 1 + //anti-riot equipment is also anti-push + if(M.r_hand && (prob(M.r_hand.block_chance * 2)) && !istype(M.r_hand, /obj/item/clothing)) + return 1 + if(M.l_hand && (prob(M.l_hand.block_chance * 2)) && !istype(M.l_hand, /obj/item/clothing)) + return 1 + +//Called when we bump into an obj +/mob/living/proc/ObjBump(obj/O) + return + +//Called when we want to push an atom/movable +/mob/living/proc/PushAM(atom/movable/AM) + if(now_pushing) + return 1 + if(moving_diagonally) // no pushing during diagonal moves + return 1 + if(!client && (mob_size < MOB_SIZE_SMALL)) + return + if(!AM.anchored) + now_pushing = 1 + var/t = get_dir(src, AM) + if(istype(AM, /obj/structure/window/full)) + for(var/obj/structure/window/win in get_step(AM, t)) + now_pushing = 0 + return + if(pulling == AM) + stop_pulling() + var/current_dir + if(isliving(AM)) + current_dir = AM.dir + step(AM, t) + if(current_dir) + AM.setDir(current_dir) + now_pushing = 0 + + /mob/living/Stat() . = ..() if(. && get_rig_stats) @@ -430,83 +545,47 @@ else return 0 + var/atom/movable/pullee = pulling + if(pullee && get_dist(src, pullee) > 1) + stop_pulling() + if(pullee && !isturf(pullee.loc) && pullee.loc != loc) + log_game("DEBUG: [src]'s pull on [pullee] was broken despite [pullee] being in [pullee.loc]. Pull stopped manually.") + stop_pulling() if(restrained()) stop_pulling() - - var/t7 = 1 - if(restrained()) - for(var/mob/living/M in range(src, 1)) - if((M.pulling == src && M.stat == 0 && !( M.restrained() ))) - t7 = null - if(t7 && pulling && (get_dist(src, pulling) <= 1 || pulling.loc == loc)) - var/turf/T = loc - . = ..() - - if(pulling && pulling.loc) - if(!( isturf(pulling.loc) )) - stop_pulling() - return - else - if(Debug) - diary <<"pulling disappeared? at [__LINE__] in mob.dm - pulling = [pulling]" - diary <<"REPORT THIS" - - ///// - if(pulling && pulling.anchored) - stop_pulling() - return - - if(!restrained()) - var/diag = get_dir(src, pulling) - if((diag - 1) & diag) - else - diag = null - if((get_dist(src, pulling) > 1 || diag)) - if(isliving(pulling)) - var/mob/living/M = pulling - var/ok = 1 - if(locate(/obj/item/weapon/grab, M.grabbed_by)) - if(prob(75)) - var/obj/item/weapon/grab/G = pick(M.grabbed_by) - if(istype(G, /obj/item/weapon/grab)) - for(var/mob/O in viewers(M, null)) - O.show_message(text("[] has been pulled from []'s grip by []", G.affecting, G.assailant, src), 1) - //G = null - qdel(G) - else - ok = 0 - if(locate(/obj/item/weapon/grab, M.grabbed_by.len)) - ok = 0 - if(ok) - var/atom/movable/t = M.pulling - M.stop_pulling() - - if(M.lying && (prob(M.getBruteLoss() / 6))) - var/turf/location = M.loc - if(istype(location, /turf/simulated)) - location.add_blood(M) - pulling.Move(T, get_dir(pulling, T)) - if(M) - M.start_pulling(t) - else - if(pulling) - pulling.Move(T, get_dir(pulling, T)) - else - stop_pulling() - . = ..() - - if(s_active && !( s_active in contents ) && get_turf(s_active) != get_turf(src)) //check !( s_active in contents ) first so we hopefully don't have to call get_turf() so much. - s_active.close(src) - - if(.) // did we actually move? + var/turf/T = loc + . = ..() + if(.) handle_footstep(loc) step_count++ + if(pulling && pulling == pullee) // we were pulling a thing and didn't lose it during our move. + if(pulling.anchored) + stop_pulling() + return + + var/pull_dir = get_dir(src, pulling) + if(get_dist(src, pulling) > 1 || ((pull_dir - 1) & pull_dir)) // puller and pullee more than one tile away or in diagonal position + //if(isliving(pulling)) + //var/mob/living/M = pulling + //if(M.lying && !M.buckled && (prob(M.getBruteLoss() * 200 / M.maxHealth))) + //M.makeTrail(T) + pulling.Move(T, get_dir(pulling, T)) // the pullee tries to reach our previous position + if(pulling && get_dist(src, pulling) > 1) // the pullee couldn't keep up + stop_pulling() + + if(pulledby && moving_diagonally != FIRST_DIAG_STEP && get_dist(src, pulledby) > 1) //seperated from our puller and not in the middle of a diagonal move + pulledby.stop_pulling() + + if(s_active && !(s_active in contents) && get_turf(s_active) != get_turf(src)) //check !( s_active in contents ) first so we hopefully don't have to call get_turf() so much. + s_active.close(src) + if(update_slimes) for(var/mob/living/carbon/slime/M in view(1,src)) M.UpdateFeed(src) + /mob/living/proc/handle_footstep(turf/T) if(istype(T)) return 1 @@ -838,13 +917,25 @@ visible_message("[user] butchers [src].") gib() -/mob/living/movement_delay() - var/tally = 0 +/mob/living/movement_delay(ignorewalk = 0) + . = ..() + if(isturf(loc)) + var/turf/T = loc + . += T.slowdown if(slowed) - tally += 10 + . += 10 + if(ignorewalk) + . += config.run_speed + else + switch(m_intent) + if("run") + if(drowsyness > 0) + . += 6 + . += config.run_speed + if("walk") + . += config.walk_speed - return tally /mob/living/proc/can_use_guns(var/obj/item/weapon/gun/G) if(G.trigger_guard != TRIGGER_GUARD_ALLOW_ALL && !IsAdvancedToolUser() && !issmall(src)) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index bdca022648e..3aec754eabb 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -52,7 +52,7 @@ if(P.dismemberment) check_projectile_dismemberment(P, def_zone) return P.on_hit(src, armor, def_zone) - + /mob/living/proc/check_projectile_dismemberment(obj/item/projectile/P, def_zone) return 0 @@ -65,60 +65,47 @@ O.emp_act(severity) ..() +/obj/item/proc/get_volume_by_throwforce_and_or_w_class() + if(throwforce && w_class) + return Clamp((throwforce + w_class) * 5, 30, 100)// Add the item's throwforce to its weight class and multiply by 5, then clamp the value between 30 and 100 + else if(w_class) + return Clamp(w_class * 8, 20, 100) // Multiply the item's weight class by 8, then clamp the value between 20 and 100 + else + return 0 + //this proc handles being hit by a thrown atom -/mob/living/hitby(atom/movable/AM as mob|obj,var/speed = 5)//Standardization and logging -Sieve +/mob/living/hitby(atom/movable/AM, skipcatch, hitpush = 1, blocked = 0)//Standardization and logging -Sieve if(istype(AM, /obj/item)) var/obj/item/I = AM var/zone = ran_zone("chest", 65)//Hits a random part of the body, geared towards the chest - var/dtype = BRUTE + var/dtype = BRUTE + var/volume = I.get_volume_by_throwforce_and_or_w_class() if(istype(I, /obj/item/weapon)) var/obj/item/weapon/W = I dtype = W.damtype - if(W.hitsound && W.throwforce > 0) - playsound(loc, W.hitsound, 30, 1, -1) + if(W.throwforce > 0) //If the weapon's throwforce is greater than zero... + if(W.hitsound) //...and hitsound is defined... + playsound(loc, W.hitsound, volume, 1, -1) //...play the weapon's hitsound. + else //Otherwise, if hitsound isn't defined... + playsound(loc, 'sound/weapons/genhit1.ogg', volume, 1, -1) //...play genhit1.ogg. - //run to-hit check here + else if(I.throwforce > 0) //Otherwise, if the item doesn't have a throwhitsound and has a throwforce greater than zero... + playsound(loc, 'sound/weapons/genhit1.ogg', volume, 1, -1)//...play genhit1.ogg + if(!I.throwforce)// Otherwise, if the item's throwforce is 0... + playsound(loc, 'sound/weapons/throwtap.ogg', 1, volume, -1)//...play throwtap.ogg. + if(!blocked) + visible_message("[src] has been hit by [I].", + "[src] has been hit by [I].") + var/armor = run_armor_check(zone, "melee", "Your armor has protected your [parse_zone(zone)].", "Your armor has softened hit to your [parse_zone(zone)].", I.armour_penetration) + apply_damage(I.throwforce, dtype, zone, armor, is_sharp(I), has_edge(I), I) + if(I.thrownby) + add_logs(I.thrownby, src, "hit", I) + else + return 1 + else + playsound(loc, 'sound/weapons/genhit1.ogg', 50, 1, -1) //...play genhit1.ogg.) + ..() - var/throw_damage = I.throwforce*(speed/5) - - src.visible_message("[src] has been hit by [I].") - var/armor = run_armor_check(zone, "melee", "Your armor has protected your [parse_zone(zone)].", "Your armor has softened hit to your [parse_zone(zone)].", I.armour_penetration) - - apply_damage(throw_damage, dtype, zone, armor, is_sharp(I), has_edge(I), I) - - I.throwing = 0 //it hit, so stop moving - - if(ismob(I.thrower)) - var/mob/M = I.thrower - if(M) - create_attack_log("Has been hit with a [I], thrown by [key_name(M)]") - M.create_attack_log("Hit [key_name(src)] with a thrown [I]") - if(!istype(src,/mob/living/simple_animal/mouse)) - msg_admin_attack("[key_name_admin(src)] was hit by a [I], thrown by [key_name_admin(M)]") - - // Begin BS12 momentum-transfer code. - if(I.throw_source && speed >= 15) - var/obj/item/weapon/W = I - var/momentum = speed/2 - var/dir = get_dir(I.throw_source, src) - - visible_message("[src] staggers under the impact!","You stagger under the impact!") - src.throw_at(get_edge_target_turf(src,dir),1,momentum) - - if(!W || !src) return - - if(W.sharp) //Projectile is suitable for pinning. - //Handles embedding for non-humans and simple_animals. - I.loc = src - embedded += I - - var/turf/T = near_wall(dir,2) - - if(T) - src.loc = T - visible_message("[src] is pinned to the wall by [I]!","You are pinned to the wall by [I]!") - src.anchored = 1 - src.pinned += I /mob/living/mech_melee_attack(obj/mecha/M) if(M.occupant.a_intent == I_HARM) @@ -201,6 +188,24 @@ adjust_fire_stacks(3) IgniteMob() +//Share fire evenly between the two mobs +//Called in MobBump() and Crossed() +/mob/living/proc/spreadFire(mob/living/L) + if(!istype(L)) + return + var/L_old_on_fire = L.on_fire + + if(on_fire) //Only spread fire stacks if we're on fire + fire_stacks /= 2 + L.fire_stacks += fire_stacks + if(L.IgniteMob()) + log_game("[key_name(src)] bumped into [key_name(L)] and set them on fire") + + if(L_old_on_fire) //Only ignite us and gain their stacks if they were onfire before we bumped them + L.fire_stacks /= 2 + fire_stacks += L.fire_stacks + IgniteMob() + //Mobs on Fire end /mob/living/water_act(volume, temperature) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 5218d399007..202984fd14e 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -539,10 +539,10 @@ card.forceMove(card.loc) icon_state = "[chassis]" -/mob/living/silicon/pai/Bump(atom/movable/AM as mob|obj, yes) +/mob/living/silicon/pai/Bump() return -/mob/living/silicon/pai/Bumped(AM as mob|obj) +/mob/living/silicon/pai/Bumped() return /mob/living/silicon/pai/start_pulling(var/atom/movable/AM) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 4c52f2f415d..bbda7a05318 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -310,18 +310,15 @@ */ -/mob/living/silicon/robot/drone/Bump(atom/movable/AM as mob|obj, yes) - if(!yes || ( \ - !istype(AM,/obj/machinery/door) && \ - !istype(AM,/obj/machinery/recharge_station) && \ - !istype(AM,/obj/machinery/disposal/deliveryChute) && \ - !istype(AM,/obj/machinery/teleport/hub) && \ - !istype(AM,/obj/effect/portal) - )) return - ..() - return +/mob/living/silicon/robot/drone/Bump(atom/movable/AM, yes) + if(istype(AM, /obj/machinery/door) \ + || istype(AM, /obj/machinery/recharge_station) \ + || istype(AM, /obj/machinery/disposal/deliveryChute) \ + || istype(AM, /obj/machinery/teleport/hub) \ + || istype(AM, /obj/effect/portal)) + return ..() -/mob/living/silicon/robot/drone/Bumped(AM as mob|obj) +/mob/living/silicon/robot/drone/Bumped(atom/movable/AM) return /mob/living/silicon/robot/drone/start_pulling(var/atom/movable/AM) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 8ab82e7d9ca..9d93d0baa77 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -552,38 +552,6 @@ var/list/robot_verbs_default = list( return 2 -/mob/living/silicon/robot/Bump(atom/movable/AM as mob|obj, yes) - spawn( 0 ) - if((!( yes ) || now_pushing)) - return - now_pushing = 1 - if(ismob(AM)) - var/mob/tmob = AM - if(istype(tmob, /mob/living/carbon/human) && (FAT in tmob.mutations)) - if(prob(20)) - to_chat(usr, "You fail to push [tmob]'s fat ass out of the way.") - now_pushing = 0 - return - if(!(tmob.status_flags & CANPUSH)) - now_pushing = 0 - return - now_pushing = 0 - ..() - if(!istype(AM, /atom/movable)) - return - if(!now_pushing) - now_pushing = 1 - if(!AM.anchored) - var/t = get_dir(src, AM) - if(istype(AM, /obj/structure/window/full)) - for(var/obj/structure/window/win in get_step(AM,t)) - now_pushing = 0 - return - step(AM, t) - now_pushing = null - return - return - /mob/living/silicon/robot/attackby(obj/item/weapon/W as obj, mob/user as mob, params) if(istype(W, /obj/item/weapon/restraints/handcuffs)) // fuck i don't even know why isrobot() in handcuff code isn't working so this will have to do return diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index d7435fdff5a..16b81582faa 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -195,31 +195,6 @@ src << browse(dat, "window=airoster") onclose(src, "airoster") -/mob/living/silicon/Bump(atom/movable/AM as mob|obj, yes) //Allows the AI to bump into mobs if it's itself pushed - if((!( yes ) || now_pushing)) - return - now_pushing = 1 - if(ismob(AM)) - var/mob/tmob = AM - if(!(tmob.status_flags & CANPUSH)) - now_pushing = 0 - return - now_pushing = 0 - ..() - if(!istype(AM, /atom/movable)) - return - if(!now_pushing) - now_pushing = 1 - if(!AM.anchored) - var/t = get_dir(src, AM) - if(istype(AM, /obj/structure/window)) - if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST) - for(var/obj/structure/window/win in get_step(AM,t)) - now_pushing = 0 - return - step(AM, t) - now_pushing = null - /mob/living/silicon/assess_threat() //Secbots won't hunt silicon units return -10 diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index de09cc11084..a77429eb631 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -218,8 +218,8 @@ Auto Patrol: []"}, /mob/living/simple_animal/bot/secbot/hitby(atom/movable/AM, skipcatch = 0, hitpush = 1, blocked = 0) if(istype(AM, /obj/item)) var/obj/item/I = AM - if(I.throwforce < src.health && I.thrower && (istype(I.thrower, /mob/living/carbon/human))) - var/mob/living/carbon/human/H = I.thrower + if(I.throwforce < src.health && I.thrownby && ishuman(I.thrownby)) + var/mob/living/carbon/human/H = I.thrownby retaliate(H) ..() diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 86beb8f6bda..97702a28027 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -470,41 +470,6 @@ name = "Corgi meat" desc = "Tastes like... well you know..." -/mob/living/simple_animal/pet/corgi/Ian/Bump(atom/movable/AM as mob|obj, yes) - - spawn( 0 ) - if((!( yes ) || now_pushing)) - return - now_pushing = 1 - if(ismob(AM)) - var/mob/tmob = AM - if(istype(tmob, /mob/living/carbon/human) && (FAT in tmob.mutations)) - if(prob(70)) - to_chat(src, "You fail to push [tmob]'s fat ass out of the way.") - now_pushing = 0 - return - if(!(tmob.status_flags & CANPUSH)) - now_pushing = 0 - return - - tmob.LAssailant = src - now_pushing = 0 - ..() - if(!( istype(AM, /atom/movable) )) - return - if(!( now_pushing )) - now_pushing = 1 - if(!( AM.anchored )) - var/t = get_dir(src, AM) - if(istype(AM, /obj/structure/window/full)) - for(var/obj/structure/window/win in get_step(AM,t)) - now_pushing = 0 - return - step(AM, t) - now_pushing = null - return - return - /mob/living/simple_animal/pet/corgi/regenerate_icons() overlays.Cut() if(inventory_head) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index 85a351606f6..d6d1d92618d 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -103,7 +103,7 @@ Difficulty: Hard triple_charge() else spawn(0) - warp_charge() + warp_charge() /mob/living/simple_animal/hostile/megafauna/bubblegum/New() ..() @@ -186,7 +186,7 @@ Difficulty: Hard shake_camera(L, 4, 3) shake_camera(src, 2, 3) var/throwtarget = get_edge_target_turf(src, get_dir(src, get_step_away(L, src))) - L.throw_at_fast(throwtarget, 3) + L.throw_at(throwtarget, 3) charging = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm index 5afa7613c78..38f8c121d5d 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm @@ -238,7 +238,7 @@ Difficulty: Medium if(L.loc == loc) throw_dir = pick(alldirs) var/throwtarget = get_edge_target_turf(src, throw_dir) - L.throw_at_fast(throwtarget, 3) + L.throw_at(throwtarget, 3) visible_message("[L] is thrown clear of [src]!") for(var/mob/M in range(7, src)) diff --git a/code/modules/mob/living/simple_animal/hostile/spaceworms.dm b/code/modules/mob/living/simple_animal/hostile/spaceworms.dm index 64469bb87ef..b1393e84ef9 100644 --- a/code/modules/mob/living/simple_animal/hostile/spaceworms.dm +++ b/code/modules/mob/living/simple_animal/hostile/spaceworms.dm @@ -123,7 +123,6 @@ //Attempt to eat things we bump into, Mobs, Walls, Clowns /mob/living/simple_animal/hostile/spaceWorm/wormHead/Bump(atom/obstacle) - attemptToEat(obstacle) //Attempt to eat things, only the head can eat diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm index d1ffa073582..d9c20c09172 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm @@ -25,13 +25,12 @@ ts_spiderling_list -= src return ..() -/obj/structure/spider/spiderling/terror_spiderling/Bump(atom/A) - if(istype(A, /obj/structure/table)) - forceMove(A.loc) - else if(istype(A, /obj/machinery/recharge_station)) +/obj/structure/spider/spiderling/terror_spiderling/Bump(obj/O) + if(istype(O, /obj/structure/table)) + forceMove(O.loc) + else if(istype(O, /obj/machinery/recharge_station)) qdel(src) - else - ..() + . = ..() /obj/structure/spider/spiderling/terror_spiderling/process() if(travelling_in_vent) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm index caff5e2017f..0f85d78d01f 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm @@ -329,16 +329,17 @@ var/global/list/ts_spiderling_list = list() /mob/living/simple_animal/hostile/poison/terror_spider/proc/spider_special_action() return -/mob/living/simple_animal/hostile/poison/terror_spider/Bump(atom/A) - if(istype(A, /obj/machinery/door/airlock)) - var/obj/machinery/door/airlock/L = A +/mob/living/simple_animal/hostile/poison/terror_spider/ObjBump(obj/O) + if(istype(O, /obj/machinery/door/airlock)) + var/obj/machinery/door/airlock/L = O if(L.density) - try_open_airlock(L) - if(istype(A, /obj/machinery/door/firedoor)) - var/obj/machinery/door/firedoor/F = A + return try_open_airlock(L) + if(istype(O, /obj/machinery/door/firedoor)) + var/obj/machinery/door/firedoor/F = O if(F.density && !F.welded) F.open() - ..() + return 1 + . = ..() /mob/living/simple_animal/hostile/poison/terror_spider/proc/msg_terrorspiders(msgtext) for(var/mob/living/simple_animal/hostile/poison/terror_spider/T in ts_spiderlist) @@ -362,6 +363,7 @@ var/global/list/ts_spiderling_list = list() to_chat(src, "The door is bolted shut.") else if(D.allowed(src)) D.open(1) + return 1 else if(D.arePowerSystemsOn() && (spider_opens_doors != 2)) to_chat(src, "The door's motors resist your efforts to force it.") else if(!spider_opens_doors) @@ -369,4 +371,5 @@ var/global/list/ts_spiderling_list = list() else visible_message("[src] pries open the door!") playsound(src.loc, "sparks", 100, 1) - D.open(1) \ No newline at end of file + D.open(1) + return 1 \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 7c951cebbc9..bd6ed65a979 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -250,20 +250,6 @@ else if(bodytemperature > maxbodytemp) adjustBruteLoss(heat_damage_per_tick) -/mob/living/simple_animal/Bumped(AM as mob|obj) - if(!AM) return - - if(resting || buckled) - return - - if(isturf(src.loc)) - if((status_flags & CANPUSH) && ismob(AM)) - var/newamloc = src.loc - src.loc = AM:loc - AM:loc = newamloc - else - ..() - /mob/living/simple_animal/gib() if(icon_gib) flick(icon_gib, src) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index cef870811db..03ba9618bd4 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -15,21 +15,27 @@ return 1 return (!mover.density || !density || lying) +//The byond version of these verbs wait for the next tick before acting. +// instant verbs however can run mid tick or even during the time between ticks. +/client/verb/moveup() + set name = ".moveup" + set instant = 1 + Move(get_step(mob, NORTH), NORTH) -/client/North() - ..() +/client/verb/movedown() + set name = ".movedown" + set instant = 1 + Move(get_step(mob, SOUTH), SOUTH) +/client/verb/moveright() + set name = ".moveright" + set instant = 1 + Move(get_step(mob, EAST), EAST) -/client/South() - ..() - - -/client/West() - ..() - - -/client/East() - ..() +/client/verb/moveleft() + set name = ".moveleft" + set instant = 1 + Move(get_step(mob, WEST), WEST) /client/Northeast() @@ -105,12 +111,11 @@ /client/verb/toggle_throw_mode() set hidden = 1 - if(!istype(mob, /mob/living/carbon)) - return - if(!mob.stat && isturf(mob.loc) && !mob.restrained()) - mob:toggle_throw_mode() + if(iscarbon(mob)) + var/mob/living/carbon/C = mob + C.toggle_throw_mode() else - return + to_chat(usr, "This mob type cannot throw items.") /client/verb/drop_item() @@ -134,16 +139,16 @@ /client/proc/Move_object(direct) if(mob && mob.control_object) if(mob.control_object.density) - step(mob.control_object,direct) - if(!mob.control_object) return - mob.control_object.dir = direct + step(mob.control_object, direct) + if(!mob.control_object) + return + mob.control_object.setDir(direct) else - mob.control_object.forceMove(get_step(mob.control_object,direct)) + mob.control_object.forceMove(get_step(mob.control_object, direct)) return /client/Move(n, direct) - if(viewingCanvas) view = world.view //Reset the view winset(src, "mapwindow.map", "icon-size=[src.reset_stretch]") @@ -152,19 +157,28 @@ if(mob.hud_used) mob.hud_used.show_hud(HUD_STYLE_STANDARD) - if(mob.control_object) Move_object(direct) + if(world.time < move_delay) + return - if(world.time < move_delay) return + move_delay = world.time + world.tick_lag //this is here because Move() can now be called multiple times per tick + if(!mob || !mob.loc) + return 0 - if(!isliving(mob)) return mob.Move(n,direct) + if(mob.notransform) + return 0 //This is sota the goto stop mobs from moving var - if(moving) return 0 + if(mob.control_object) + return Move_object(direct) - if(!mob) return + if(!isliving(mob)) + return mob.Move(n, direct) - if(mob.stat==DEAD) return + if(mob.stat == DEAD) + mob.ghostize() + return 0 - if(mob.notransform) return//This is sota the goto stop mobs from moving var + if(moving) + return 0 if(isliving(mob)) var/mob/living/L = mob @@ -172,126 +186,105 @@ Process_Incorpmove(direct) return - if(Process_Grab()) return - - if(mob.buckled) //if we're buckled to something, tell it we moved. - return mob.buckled.relaymove(mob, direct) - - if(mob.remote_control) //we're controlling something, our movement is relayed to it + if(mob.remote_control) //we're controlling something, our movement is relayed to it return mob.remote_control.relaymove(mob, direct) if(isAI(mob)) if(istype(mob.loc, /obj/item/device/aicard)) var/obj/O = mob.loc - return O.relaymove(mob, direct) //aicards have special relaymove stuff - return AIMove(n,direct,mob) + return O.relaymove(mob, direct) // aicards have special relaymove stuff + return AIMove(n, direct, mob) + + + if(Process_Grab()) + return + + if(mob.buckled) //if we're buckled to something, tell it we moved. + return mob.buckled.relaymove(mob, direct) if(!mob.canmove) return - //if(istype(mob.loc, /turf/space) || (mob.flags & NOGRAV)) - // if(!mob.Process_Spacemove(0)) return 0 - if(!mob.lastarea) mob.lastarea = get_area(mob.loc) - if(isobj(mob.loc) || ismob(mob.loc))//Inside an object, tell it we moved + if(isobj(mob.loc) || ismob(mob.loc)) //Inside an object, tell it we moved var/atom/O = mob.loc return O.relaymove(mob, direct) - - if(istype(mob.get_active_hand(), /obj/item)) - var/obj/item/I = mob.get_active_hand() - I.moved(mob, n, direct) - + if(!mob.Process_Spacemove(direct)) - return 0 + return 0 - if(isturf(mob.loc)) - - if(mob.restrained())//Why being pulled while cuffed prevents you from moving - for(var/mob/M in range(mob, 1)) - if(M.pulling == mob) - if(!M.restrained() && M.stat == 0 && M.canmove && mob.Adjacent(M)) - to_chat(src, "You're restrained! You can't move!") - return 0 - else - M.stop_pulling() - - if(mob.pinned.len) - to_chat(src, "You're pinned to a wall by [mob.pinned[1]]!") - return 0 - - var/turf/T = mob.loc - move_delay = world.time//set move delay - move_delay += T.slowdown - mob.last_movement = world.time - switch(mob.m_intent) - if("run") - if(mob.drowsyness > 0) - move_delay += 6 - move_delay += 1+config.run_speed - if("walk") - move_delay += 1+config.walk_speed - move_delay += mob.movement_delay() - - if(config.Tickcomp) - move_delay -= 1.3 - var/tickcomp = ((1/(world.tick_lag))*1.3) - move_delay = move_delay + tickcomp - - //We are now going to move - moving = 1 - //Something with pulling things - if(locate(/obj/item/weapon/grab, mob)) - move_delay = max(move_delay, world.time + 7) - var/list/L = mob.ret_grab() - if(istype(L, /list)) - if(L.len == 2) - L -= mob - var/mob/M = L[1] - if(M) - if((get_dist(mob, M) <= 1 || M.loc == mob.loc)) - . = ..() - if(isturf(M.loc)) - var/diag = get_dir(mob, M) - if((diag - 1) & diag) - else - diag = null - if((get_dist(mob, M) > 1 || diag)) - step(M, get_dir(M.loc, T)) + if(mob.restrained()) // Why being pulled while cuffed prevents you from moving + for(var/mob/M in orange(1, mob)) + if(M.pulling == mob) + if(!M.incapacitated() && mob.Adjacent(M)) + to_chat(src, "You're restrained! You can't move!") + move_delay = world.time + 10 + return 0 else - for(var/mob/M in L) - M.other_mobs = 1 - if(mob != M) - M.animate_movement = 3 - for(var/mob/M in L) - spawn( 0 ) - step(M, direct) - return - spawn( 1 ) - M.other_mobs = null - M.animate_movement = 2 - return + M.stop_pulling() - else if(mob.confused) - step(mob, pick(cardinal)) - else - . = ..() - for(var/obj/item/weapon/grab/G in mob) - if(G.state == GRAB_NECK) - mob.setDir(reverse_dir[direct]) - G.adjust_position() - for(var/obj/item/weapon/grab/G in mob.grabbed_by) - G.adjust_position() + //We are now going to move + moving = 1 + move_delay = mob.movement_delay() + world.time + mob.last_movement = world.time + + if(locate(/obj/item/weapon/grab, mob)) + move_delay = max(move_delay, world.time + 7) + var/list/L = mob.ret_grab() + if(istype(L, /list)) + if(L.len == 2) + L -= mob + var/mob/M = L[1] + if(M) + if((get_dist(mob, M) <= 1 || M.loc == mob.loc)) + var/turf/prev_loc = mob.loc + . = ..() + if(M && isturf(M.loc)) // Mob may get deleted during parent call + var/diag = get_dir(mob, M) + if((diag - 1) & diag) + else + diag = null + if((get_dist(mob, M) > 1 || diag)) + step(M, get_dir(M.loc, prev_loc)) + else + for(var/mob/M in L) + M.other_mobs = 1 + if(mob != M) + M.animate_movement = 3 + for(var/mob/M in L) + spawn(0) + step(M, direct) + return + spawn(1) + M.other_mobs = null + M.animate_movement = 2 + return + + else if(mob.confused) + step(mob, pick(cardinal)) + else + . = ..() + + for(var/obj/item/weapon/grab/G in mob) + if(G.state == GRAB_NECK) + mob.setDir(reverse_dir[direct]) + G.adjust_position() + for(var/obj/item/weapon/grab/G in mob.grabbed_by) + G.adjust_position() + + moving = 0 + if(mob && .) + if(mob.throwing) + mob.throwing.finalize(FALSE) + + for(var/obj/O in mob) + O.on_mob_move(direct, mob) - moving = 0 - if(mob && .) - mob.throwing = 0 - return . - return ///Process_Grab() @@ -408,13 +401,13 @@ var/atom/movable/backup = get_spacemove_backup() if(backup) if(istype(backup) && movement_dir && !backup.anchored) - if(backup.newtonian_move(turn(movement_dir, 180))) //You're pushing off something movable, so it moves - src << "You push off of [backup] to propel yourself." + var/opposite_dir = turn(movement_dir, 180) + if(backup.newtonian_move(opposite_dir)) //You're pushing off something movable, so it moves + to_chat(src, "You push off of [backup] to propel yourself.") return 1 return 0 /mob/get_spacemove_backup() - var/atom/movable/dense_object_backup for(var/A in orange(1, get_turf(src))) if(isarea(A)) continue @@ -434,9 +427,7 @@ return AM if(pulling == AM) continue - dense_object_backup = AM - break - . = dense_object_backup + . = AM /mob/proc/mob_has_gravity(turf/T) diff --git a/code/modules/mob/pulling.dm b/code/modules/mob/pulling.dm index 6a6a66675b0..5a532ee1a42 100644 --- a/code/modules/mob/pulling.dm +++ b/code/modules/mob/pulling.dm @@ -15,7 +15,11 @@ return stop_pulling() - src.pulling = AM + if(AM.pulledby) + visible_message("[src] has pulled [AM] from [AM.pulledby]'s grip.") + AM.pulledby.stop_pulling() //an object can't be pulled by two mobs at once. + + pulling = AM AM.pulledby = src if(pullin) pullin.update_icon(src) diff --git a/code/modules/pda/PDA.dm b/code/modules/pda/PDA.dm index 3ff11689078..d5208a01b8f 100755 --- a/code/modules/pda/PDA.dm +++ b/code/modules/pda/PDA.dm @@ -502,8 +502,3 @@ var/global/list/obj/item/device/pda/PDAs = list() /obj/item/device/pda/process() if(current_app) current_app.program_process() - -/obj/item/device/pda/hit_check(speed) - if(current_app) - current_app.program_hit_check() - ..() \ No newline at end of file diff --git a/code/modules/pda/mob_hunt_game_app.dm b/code/modules/pda/mob_hunt_game_app.dm index 9b8e3225976..bec10f782ab 100644 --- a/code/modules/pda/mob_hunt_game_app.dm +++ b/code/modules/pda/mob_hunt_game_app.dm @@ -74,12 +74,6 @@ return scan_nearby() -/datum/data/pda/app/mob_hunter_game/program_hit_check() - if(!pda) - return - for(var/obj/effect/nanomob/hit_mob in get_turf(pda)) - hit_mob.hitby(pda) - /datum/data/pda/app/mob_hunter_game/proc/register_capture(datum/mob_hunt/captured, wild = 0) if(!captured) return 0 diff --git a/code/modules/projectiles/guns/throw.dm b/code/modules/projectiles/guns/throw.dm index f19069bc32f..0ea753f4cfa 100644 --- a/code/modules/projectiles/guns/throw.dm +++ b/code/modules/projectiles/guns/throw.dm @@ -16,10 +16,10 @@ return /obj/item/weapon/gun/throw/proc/get_throwrange() - return projectile_speed + return projectile_range /obj/item/weapon/gun/throw/proc/get_throwspeed() - return projectile_range + return projectile_speed /obj/item/weapon/gun/throw/proc/modify_projectile(obj/item/I, on_chamber = 0) return @@ -80,7 +80,7 @@ to_launch = null modify_projectile(I) playsound(user, fire_sound, 50, 1) - I.throw_at(target, get_throwrange(), get_throwspeed(), user, 1) + I.throw_at(target, get_throwrange(), get_throwspeed(), user, FALSE) message_admins("[key_name_admin(user)] fired \a [I] from a [src].") log_game("[key_name_admin(user)] used \a [src].") process_chamber() diff --git a/config/example/config.txt b/config/example/config.txt index 60702180691..5617b5ad039 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -206,9 +206,6 @@ ALLOW_HOLIDAYS ##Defines the ticklag for the world. 0.9 is the normal one, 0.5 is smoother. TICKLAG 0.5 -## Defines if Tick Compensation is used. It results in a minor slowdown of movement of all mobs, but attempts to result in a level movement speed across all ticks. Recommended if tickrate is lowered. -TICKCOMP 1 - ## Whether the server will talk to other processes through socket_talk SOCKET_TALK 0 diff --git a/config/example/game_options.txt b/config/example/game_options.txt index 5d82bfb425d..2934ce86726 100644 --- a/config/example/game_options.txt +++ b/config/example/game_options.txt @@ -38,17 +38,17 @@ REVIVAL_BRAIN_LIFE -1 ## We suggest editing these variabled in-game to find a good speed for your server. To do this you must be a high level admin. Open the 'debug' tab ingame. Select "Debug Controller" and then, in the popup, select "Configuration". These variables should have the same name. ## These values get directly added to values and totals in-game. To speed things up make the number negative, to slow things down, make the number positive. -## These modify the run/walk speed of all mobs before the mob-specific modifiers are applied. +## These modify the run/walk speed of all mobs before the mob-specific modifiers are applied. RUN_SPEED 1 WALK_SPEED 4 ## The variables below affect the movement of specific mob types. -HUMAN_DELAY 0 -ROBOT_DELAY 0 -MONKEY_DELAY 0 -ALIEN_DELAY 0 -METROID_DELAY 0 -ANIMAL_DELAY 0 +HUMAN_DELAY 1.5 +ROBOT_DELAY 1.5 +MONKEY_DELAY 1.5 +ALIEN_DELAY 1.5 +METROID_DELAY 1.5 +ANIMAL_DELAY 1.5 ## Comment for "normal" explosions, which ignore obstacles ## Uncomment for explosions that react to doors and walls diff --git a/interface/skin.dmf b/interface/skin.dmf index 6a6d616832f..c64da39f6e6 100644 --- a/interface/skin.dmf +++ b/interface/skin.dmf @@ -29,7 +29,7 @@ macro "AZERTYoff" is-disabled = false elem "AZRFF-WEST+REP" name = "WEST+REP" - command = ".west" + command = ".moveleft" is-disabled = false elem "AZRFF-CTRL+NORTH" name = "CTRL+NORTH" @@ -37,7 +37,7 @@ macro "AZERTYoff" is-disabled = false elem "AZRFF-NORTH+REP" name = "NORTH+REP" - command = ".north" + command = ".moveup" is-disabled = false elem "AZRFF-CTRL+EAST" name = "CTRL+EAST" @@ -45,7 +45,7 @@ macro "AZERTYoff" is-disabled = false elem "AZRFF-EAST+REP" name = "EAST+REP" - command = ".east" + command = ".moveright" is-disabled = false elem "AZRFF-CTRL+SOUTH" name = "CTRL+SOUTH" @@ -53,7 +53,7 @@ macro "AZERTYoff" is-disabled = false elem "AZRFF-SOUTH+REP" name = "SOUTH+REP" - command = ".south" + command = ".movedown" is-disabled = false elem "AZRFF-INSERT" name = "INSERT" @@ -85,7 +85,7 @@ macro "AZERTYoff" is-disabled = false elem "AZRFF-CTRL+D+REP" name = "CTRL+D+REP" - command = ".east" + command = ".moveright" is-disabled = false elem "AZRFF-CTRL+B" name = "CTRL+B" @@ -105,7 +105,7 @@ macro "AZERTYoff" is-disabled = false elem "AZRFF-CTRL+Q+REP" name = "CTRL+Q+REP" - command = ".west" + command = ".moveleft" is-disabled = false elem "AZRFF-CTRL+R" name = "CTRL+R" @@ -113,7 +113,7 @@ macro "AZERTYoff" is-disabled = false elem "AZRFF-CTRL+S+REP" name = "CTRL+S+REP" - command = ".south" + command = ".movedown" is-disabled = false elem "AZRFF-CTRL+W" name = "CTRL+W" @@ -129,7 +129,7 @@ macro "AZERTYoff" is-disabled = false elem "AZRFF-CTRL+Z+REP" name = "CTRL+Z+REP" - command = ".north" + command = ".moveup" is-disabled = false elem "AZRFF-F1" name = "F1" @@ -215,7 +215,7 @@ macro "AZERTYon" is-disabled = false elem "AZRON-WEST+REP" name = "WEST+REP" - command = ".west" + command = ".moveleft" is-disabled = false elem "AZRON-CTRL+NORTH" name = "CTRL+NORTH" @@ -223,7 +223,7 @@ macro "AZERTYon" is-disabled = false elem "AZRON-NORTH+REP" name = "NORTH+REP" - command = ".north" + command = ".moveup" is-disabled = false elem "AZRON-CTRL+EAST" name = "CTRL+EAST" @@ -231,7 +231,7 @@ macro "AZERTYon" is-disabled = false elem "AZRON-EAST+REP" name = "EAST+REP" - command = ".east" + command = ".moveright" is-disabled = false elem "AZRON-CTRL+SOUTH" name = "CTRL+SOUTH" @@ -239,7 +239,7 @@ macro "AZERTYon" is-disabled = false elem "AZRON-SOUTH+REP" name = "SOUTH+REP" - command = ".south" + command = ".movedown" is-disabled = false elem "AZRON-INSERT" name = "INSERT" @@ -291,11 +291,11 @@ macro "AZERTYon" is-disabled = false elem "AZRON-D+REP" name = "D+REP" - command = ".east" + command = ".moveright" is-disabled = false elem "AZRON-CTRL+D+REP" name = "CTRL+D+REP" - command = ".east" + command = ".moveright" is-disabled = false elem "AZRON-CTRL+B" name = "CTRL+B" @@ -335,11 +335,11 @@ macro "AZERTYon" is-disabled = false elem "AZRON-Q+REP" name = "Q+REP" - command = ".west" + command = ".moveleft" is-disabled = false elem "AZRON-CTRL+Q+REP" name = "CTRL+Q+REP" - command = ".west" + command = ".moveleft" is-disabled = false elem "AZRON-R" name = "R" @@ -351,11 +351,11 @@ macro "AZERTYon" is-disabled = false elem "s_key" name = "S+REP" - command = ".south" + command = ".movedown" is-disabled = false elem "AZRON-CTRL+S+REP" name = "CTRL+S+REP" - command = ".south" + command = ".movedown" is-disabled = false elem "AZRON-T" name = "T" @@ -395,11 +395,11 @@ macro "AZERTYon" is-disabled = false elem "w_key" name = "Z+REP" - command = ".north" + command = ".moveup" is-disabled = false elem "AZRON-CTRL+Z+REP" name = "CTRL+Z+REP" - command = ".north" + command = ".moveup" is-disabled = false elem "AZRON-F1" name = "F1" @@ -481,7 +481,7 @@ macro "borghotkeymode" is-disabled = false elem "BRGHK-WEST+REP" name = "WEST+REP" - command = ".west" + command = ".moveleft" is-disabled = false elem "BRGHK-CTRL+NORTH" name = "CTRL+NORTH" @@ -489,7 +489,7 @@ macro "borghotkeymode" is-disabled = false elem "BRGHK-NORTH+REP" name = "NORTH+REP" - command = ".north" + command = ".moveup" is-disabled = false elem "BRGHK-CTRL+EAST" name = "CTRL+EAST" @@ -497,7 +497,7 @@ macro "borghotkeymode" is-disabled = false elem "BRGHK-EAST+REP" name = "EAST+REP" - command = ".east" + command = ".moveright" is-disabled = false elem "BRGHK-CTRL+SOUTH" name = "CTRL+SOUTH" @@ -505,7 +505,7 @@ macro "borghotkeymode" is-disabled = false elem "BRGHK-SOUTH+REP" name = "SOUTH+REP" - command = ".south" + command = ".movedown" is-disabled = false elem "BRGHK-INSERT" name = "INSERT" @@ -549,11 +549,11 @@ macro "borghotkeymode" is-disabled = false elem "BRGHK-A+REP" name = "A+REP" - command = ".west" + command = ".moveleft" is-disabled = false elem "BRGHK-CTRL+A+REP" name = "CTRL+A+REP" - command = ".west" + command = ".moveleft" is-disabled = false elem "BRGHK-B" name = "B" @@ -581,11 +581,11 @@ macro "borghotkeymode" is-disabled = false elem "BRGHK-D+REP" name = "D+REP" - command = ".east" + command = ".moveright" is-disabled = false elem "BRGHK-CTRL+D+REP" name = "CTRL+D+REP" - command = ".east" + command = ".moveright" is-disabled = false elem "BRGHK-F" name = "F" @@ -613,19 +613,19 @@ macro "borghotkeymode" is-disabled = false elem "s_key" name = "S+REP" - command = ".south" + command = ".movedown" is-disabled = false elem "BRGHK-CTRL+S+REP" name = "CTRL+S+REP" - command = ".south" + command = ".movedown" is-disabled = false elem "w_key" name = "W+REP" - command = ".north" + command = ".moveup" is-disabled = false elem "BRGHK-CTRL+W+REP" name = "CTRL+W+REP" - command = ".north" + command = ".moveup" is-disabled = false elem "BRGHK-X" name = "X" @@ -735,7 +735,7 @@ macro "macro" is-disabled = false elem "MACRO-WEST+REP" name = "WEST+REP" - command = ".west" + command = ".moveleft" is-disabled = false elem "MACRO-CTRL+NORTH" name = "CTRL+NORTH" @@ -743,7 +743,7 @@ macro "macro" is-disabled = false elem "MACRO-NORTH+REP" name = "NORTH+REP" - command = ".north" + command = ".moveup" is-disabled = false elem "MACRO-CTRL+EAST" name = "CTRL+EAST" @@ -751,7 +751,7 @@ macro "macro" is-disabled = false elem "MACRO-EAST+REP" name = "EAST+REP" - command = ".east" + command = ".moveright" is-disabled = false elem "MACRO-CTRL+SOUTH" name = "CTRL+SOUTH" @@ -759,7 +759,7 @@ macro "macro" is-disabled = false elem "MACRO-SOUTH+REP" name = "SOUTH+REP" - command = ".south" + command = ".movedown" is-disabled = false elem "MACRO-INSERT" name = "INSERT" @@ -787,11 +787,11 @@ macro "macro" is-disabled = false elem "MACRO-CTRL+A+REP" name = "CTRL+A+REP" - command = ".west" + command = ".moveleft" is-disabled = false elem "MACRO-CTRL+D+REP" name = "CTRL+D+REP" - command = ".east" + command = ".moveright" is-disabled = false elem "MACRO-CTRL+B" name = "CTRL+B" @@ -819,11 +819,11 @@ macro "macro" is-disabled = false elem "MACRO-CTRL+S+REP" name = "CTRL+S+REP" - command = ".south" + command = ".movedown" is-disabled = false elem "MACRO-CTRL+W+REP" name = "CTRL+W+REP" - command = ".north" + command = ".moveup" is-disabled = false elem "MACRO-CTRL+X" name = "CTRL+X" @@ -921,7 +921,7 @@ macro "hotkeymode" is-disabled = false elem "HKMODE-WEST+REP" name = "WEST+REP" - command = ".west" + command = ".moveleft" is-disabled = false elem "HKMODE-CTRL+NORTH" name = "CTRL+NORTH" @@ -929,7 +929,7 @@ macro "hotkeymode" is-disabled = false elem "HKMODE-NORTH+REP" name = "NORTH+REP" - command = ".north" + command = ".moveup" is-disabled = false elem "HKMODE-CTRL+EAST" name = "CTRL+EAST" @@ -937,7 +937,7 @@ macro "hotkeymode" is-disabled = false elem "HKMODE-EAST+REP" name = "EAST+REP" - command = ".east" + command = ".moveright" is-disabled = false elem "HKMODE-CTRL+SOUTH" name = "CTRL+SOUTH" @@ -945,7 +945,7 @@ macro "hotkeymode" is-disabled = false elem "HKMODE-SOUTH+REP" name = "SOUTH+REP" - command = ".south" + command = ".movedown" is-disabled = false elem "HKMODE-INSERT" name = "INSERT" @@ -1001,19 +1001,19 @@ macro "hotkeymode" is-disabled = false elem "HKMODE-A+REP" name = "A+REP" - command = ".west" + command = ".moveleft" is-disabled = false elem "HKMODE-CTRL+A+REP" name = "CTRL+A+REP" - command = ".west" + command = ".moveleft" is-disabled = false elem "HKMODE-D+REP" name = "D+REP" - command = ".east" + command = ".moveright" is-disabled = false elem "HKMODE-CTRL+D+REP" name = "CTRL+D+REP" - command = ".east" + command = ".moveright" is-disabled = false elem "HKMODE-B" name = "B" @@ -1073,11 +1073,11 @@ macro "hotkeymode" is-disabled = false elem "s_key" name = "S+REP" - command = ".south" + command = ".movedown" is-disabled = false elem "HKMODE-CTRL+S+REP" name = "CTRL+S+REP" - command = ".south" + command = ".movedown" is-disabled = false elem "HKMODE-T" name = "T" @@ -1085,11 +1085,11 @@ macro "hotkeymode" is-disabled = false elem "w_key" name = "W+REP" - command = ".north" + command = ".moveup" is-disabled = false elem "HKMODE-CTRL+W+REP" name = "CTRL+W+REP" - command = ".north" + command = ".moveup" is-disabled = false elem "HKMODE-X" name = "X" @@ -1195,7 +1195,7 @@ macro "borgmacro" is-disabled = false elem "BRGMACRO-WEST+REP" name = "WEST+REP" - command = ".west" + command = ".moveleft" is-disabled = false elem "BRGMACRO-CTRL+NORTH" name = "CTRL+NORTH" @@ -1203,7 +1203,7 @@ macro "borgmacro" is-disabled = false elem "BRGMACRO-NORTH+REP" name = "NORTH+REP" - command = ".north" + command = ".moveup" is-disabled = false elem "BRGMACRO-CTRL+EAST" name = "CTRL+EAST" @@ -1211,7 +1211,7 @@ macro "borgmacro" is-disabled = false elem "BRGMACRO-EAST+REP" name = "EAST+REP" - command = ".east" + command = ".moveright" is-disabled = false elem "BRGMACRO-CTRL+SOUTH" name = "CTRL+SOUTH" @@ -1219,7 +1219,7 @@ macro "borgmacro" is-disabled = false elem "BRGMACRO-SOUTH+REP" name = "SOUTH+REP" - command = ".south" + command = ".movedown" is-disabled = false elem "BRGMACRO-INSERT" name = "INSERT" @@ -1247,7 +1247,7 @@ macro "borgmacro" is-disabled = false elem "BRGMACRO-CTRL+A+REP" name = "CTRL+A+REP" - command = ".west" + command = ".moveleft" is-disabled = false elem "BRGMACRO-CTRL+B" name = "CTRL+B" @@ -1259,7 +1259,7 @@ macro "borgmacro" is-disabled = false elem "BRGMACRO-CTRL+D+REP" name = "CTRL+D+REP" - command = ".east" + command = ".moveright" is-disabled = false elem "BRGMACRO-CTRL+F" name = "CTRL+F" @@ -1275,11 +1275,11 @@ macro "borgmacro" is-disabled = false elem "BRGMACRO-CTRL+S+REP" name = "CTRL+S+REP" - command = ".south" + command = ".movedown" is-disabled = false elem "BRGMACRO-CTRL+W+REP" name = "CTRL+W+REP" - command = ".north" + command = ".moveup" is-disabled = false elem "BRGMACRO-CTRL+X" name = "CTRL+X" diff --git a/paradise.dme b/paradise.dme index 0230f89436b..ef365903003 100644 --- a/paradise.dme +++ b/paradise.dme @@ -19,6 +19,7 @@ #include "code\__DEFINES\admin.dm" #include "code\__DEFINES\atmospherics.dm" #include "code\__DEFINES\bots.dm" +#include "code\__DEFINES\callbacks.dm" #include "code\__DEFINES\clothing.dm" #include "code\__DEFINES\combat.dm" #include "code\__DEFINES\construction.dm" @@ -188,7 +189,9 @@ #include "code\controllers\Processes\obj.dm" #include "code\controllers\Processes\pipenet.dm" #include "code\controllers\Processes\shuttles.dm" +#include "code\controllers\Processes\spacedrift.dm" #include "code\controllers\Processes\sun.dm" +#include "code\controllers\Processes\throwing.dm" #include "code\controllers\Processes\ticker.dm" #include "code\controllers\Processes\timer.dm" #include "code\controllers\Processes\weather.dm" @@ -199,6 +202,7 @@ #include "code\datums\ai_laws.dm" #include "code\datums\beam.dm" #include "code\datums\browser.dm" +#include "code\datums\callback.dm" #include "code\datums\cargoprofile.dm" #include "code\datums\computerfiles.dm" #include "code\datums\datacore.dm" diff --git a/sound/weapons/throwtap.ogg b/sound/weapons/throwtap.ogg new file mode 100644 index 0000000000000000000000000000000000000000..7806a78981892ec6026a850bebbc51378ae12196 GIT binary patch literal 10411 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 a#67mbgUf1K{j%X_cZ0v(VSQ~3#Qkro7YuIz literal 0 HcmV?d00001 From 6fd1954acd75704bd4d9a2ee3e7bf7cfa20aa2ad Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Thu, 25 May 2017 14:02:00 -0400 Subject: [PATCH 22/45] Automatic changelog compile, [ci skip] --- html/changelog.html | 13 +++++++++++++ html/changelogs/.all_changelog.yml | 9 +++++++++ html/changelogs/AutoChangeLog-pr-7358.yml | 4 ---- html/changelogs/AutoChangeLog-pr-7365.yml | 4 ---- html/changelogs/AutoChangeLog-pr-7372.yml | 4 ---- html/changelogs/AutoChangeLog-pr-7382.yml | 4 ---- 6 files changed, 22 insertions(+), 16 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-7358.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7365.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7372.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7382.yml diff --git a/html/changelog.html b/html/changelog.html index 187ab8fbd26..c0eefd74188 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,18 @@ -->

25 May 2017

+

FalseIncarnate updated:

+
    +
  • Matter Eater now requires your mouth be uncovered before you can eat matter.
  • +
+

Fethas updated:

+
    +
  • PLASMAMAN ATMOS SUITS ARE NOW THE SAME AS REGULAR ATMOS SUITS FLAG WISE! AND SO IS THE CE SUIT
  • +
+

Kyep updated:

+
    +
  • Fixed some mapping bugs on Centcom, e.g: shuttle medbay no longer has black walls.
  • +

Purpose2 updated:

  • Metastation - Adds the Paramedic's cart and locker.
  • @@ -66,6 +78,7 @@
  • Metastation - Moved Containment out a single tile, to fix irregularities with Singularity setups.
  • Metastation - Reduced redundant redundancies in the Atmos/Wiring.
  • Metastation - removed blob spawn that was only a few tiles from Cryostorage....
  • +
  • Drones can now grip Tracker Electronics & Vending Refills

24 May 2017

diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 9e8c863e025..34b8ab9167e 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -4751,6 +4751,14 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. These consoles cannot be used to hire anyone, or to accept cross-department transfers. 2017-05-25: + FalseIncarnate: + - tweak: Matter Eater now requires your mouth be uncovered before you can eat matter. + Fethas: + - tweak: PLASMAMAN ATMOS SUITS ARE NOW THE SAME AS REGULAR ATMOS SUITS FLAG WISE! + AND SO IS THE CE SUIT + Kyep: + - bugfix: 'Fixed some mapping bugs on Centcom, e.g: shuttle medbay no longer has + black walls.' Purpose2: - rscadd: Metastation - Adds the Paramedic's cart and locker. - rscadd: Metastation - Adds a backup set of paramedic keys in the CMO's office. @@ -4761,3 +4769,4 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. with Singularity setups. - rscdel: Metastation - Reduced redundant redundancies in the Atmos/Wiring. - rscdel: Metastation - removed blob spawn that was only a few tiles from Cryostorage.... + - bugfix: Drones can now grip Tracker Electronics & Vending Refills diff --git a/html/changelogs/AutoChangeLog-pr-7358.yml b/html/changelogs/AutoChangeLog-pr-7358.yml deleted file mode 100644 index 4ed42f55edc..00000000000 --- a/html/changelogs/AutoChangeLog-pr-7358.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "FalseIncarnate" -delete-after: True -changes: - - tweak: "Matter Eater now requires your mouth be uncovered before you can eat matter." diff --git a/html/changelogs/AutoChangeLog-pr-7365.yml b/html/changelogs/AutoChangeLog-pr-7365.yml deleted file mode 100644 index a0ade820299..00000000000 --- a/html/changelogs/AutoChangeLog-pr-7365.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Kyep" -delete-after: True -changes: - - bugfix: "Fixed some mapping bugs on Centcom, e.g: shuttle medbay no longer has black walls." diff --git a/html/changelogs/AutoChangeLog-pr-7372.yml b/html/changelogs/AutoChangeLog-pr-7372.yml deleted file mode 100644 index 30c74bfb5ba..00000000000 --- a/html/changelogs/AutoChangeLog-pr-7372.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Fethas" -delete-after: True -changes: - - tweak: "PLASMAMAN ATMOS SUITS ARE NOW THE SAME AS REGULAR ATMOS SUITS FLAG WISE! AND SO IS THE CE SUIT" diff --git a/html/changelogs/AutoChangeLog-pr-7382.yml b/html/changelogs/AutoChangeLog-pr-7382.yml deleted file mode 100644 index 798f070ddb5..00000000000 --- a/html/changelogs/AutoChangeLog-pr-7382.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Purpose2" -delete-after: True -changes: - - bugfix: "Drones can now grip Tracker Electronics & Vending Refills" From 017a3b83b2b222e148d51c988ed6b1e5672ef906 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Thu, 25 May 2017 17:31:47 -0700 Subject: [PATCH 23/45] Adds a patch to movement delay --- code/modules/mob/living/carbon/slime/slime.dm | 14 ++--- .../living/silicon/robot/robot_movement.dm | 55 +++++++++---------- config/example/game_options.txt | 2 +- 3 files changed, 34 insertions(+), 37 deletions(-) diff --git a/code/modules/mob/living/carbon/slime/slime.dm b/code/modules/mob/living/carbon/slime/slime.dm index 779b5807236..9031a77311c 100644 --- a/code/modules/mob/living/carbon/slime/slime.dm +++ b/code/modules/mob/living/carbon/slime/slime.dm @@ -83,25 +83,25 @@ if(bodytemperature >= 330.23) // 135 F return -1 // slimes become supercharged at high temperatures - var/tally = 0 + . = ..(1) var/health_deficiency = (100 - health) - if(health_deficiency >= 45) tally += (health_deficiency / 25) + if(health_deficiency >= 45) . += (health_deficiency / 25) if(bodytemperature < 183.222) - tally += (283.222 - bodytemperature) / 10 * 1.75 + . += (283.222 - bodytemperature) / 10 * 1.75 if(reagents) if(reagents.has_reagent("methamphetamine")) // Meth slows slimes down - tally *= 2 + . *= 2 if(reagents.has_reagent("frostoil")) // Frostoil also makes them move VEEERRYYYYY slow - tally *= 5 + . *= 5 if(health <= 0) // if damaged, the slime moves twice as slow - tally *= 2 + . *= 2 - return tally + config.slime_delay + return . + config.slime_delay /mob/living/carbon/slime/ObjBump(obj/O) if(!client && powerlevel > 0) diff --git a/code/modules/mob/living/silicon/robot/robot_movement.dm b/code/modules/mob/living/silicon/robot/robot_movement.dm index ff28a93a64e..5ccc6e9585c 100644 --- a/code/modules/mob/living/silicon/robot/robot_movement.dm +++ b/code/modules/mob/living/silicon/robot/robot_movement.dm @@ -1,30 +1,27 @@ -/mob/living/silicon/robot/Process_Spacemove(var/movement_dir = 0) - if(ionpulse()) - return 1 - if(..()) - return 1 - return 0 - - //No longer needed, but I'll leave it here incase we plan to re-use it. -/mob/living/silicon/robot/movement_delay() - var/tally = 0 //Incase I need to add stuff other than "speed" later - - tally = speed - - if(module_active && istype(module_active,/obj/item/borg/combat/mobility)) - tally-=3 - - return tally+config.robot_delay - -/mob/living/silicon/robot/Move() - ..() - -/mob/living/silicon/robot/mob_negates_gravity() - return magpulse - -/mob/living/silicon/robot/mob_has_gravity() - return ..() || mob_negates_gravity() - -/mob/living/silicon/robot/experience_pressure_difference(pressure_difference, direction) - if(!magpulse) +/mob/living/silicon/robot/Process_Spacemove(var/movement_dir = 0) + if(ionpulse()) + return 1 + if(..()) + return 1 + return 0 + + //No longer needed, but I'll leave it here incase we plan to re-use it. +/mob/living/silicon/robot/movement_delay() + . = ..(1) //Incase I need to add stuff other than "speed" later + + . += speed + + if(module_active && istype(module_active,/obj/item/borg/combat/mobility)) + . -= 3 + + return . + config.robot_delay + +/mob/living/silicon/robot/mob_negates_gravity() + return magpulse + +/mob/living/silicon/robot/mob_has_gravity() + return ..() || mob_negates_gravity() + +/mob/living/silicon/robot/experience_pressure_difference(pressure_difference, direction) + if(!magpulse) return ..() \ No newline at end of file diff --git a/config/example/game_options.txt b/config/example/game_options.txt index 2934ce86726..549633d6a2d 100644 --- a/config/example/game_options.txt +++ b/config/example/game_options.txt @@ -47,7 +47,7 @@ HUMAN_DELAY 1.5 ROBOT_DELAY 1.5 MONKEY_DELAY 1.5 ALIEN_DELAY 1.5 -METROID_DELAY 1.5 +SLIME_DELAY 1.5 ANIMAL_DELAY 1.5 ## Comment for "normal" explosions, which ignore obstacles From 00be43986dde701347642eaa82259bfb722f94f4 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Thu, 25 May 2017 21:23:14 -0400 Subject: [PATCH 24/45] Automatic changelog generation for PR #7377 [ci skip] --- html/changelogs/AutoChangeLog-pr-7377.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7377.yml diff --git a/html/changelogs/AutoChangeLog-pr-7377.yml b/html/changelogs/AutoChangeLog-pr-7377.yml new file mode 100644 index 00000000000..5676dedb680 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7377.yml @@ -0,0 +1,6 @@ +author: "Tayyyyyyy, PhantasmicDream" +delete-after: True +changes: + - rscadd: "Skrell can put a pocket sized item in their head tentacles, which can be dislodged via stunning, stripping, or death" + - tweak: "Skrell can no longer have their tentacles shaved off" + - bugfix: "Minor grammar fix for putting stuff that's too big into containers" From 7ecaabe4925cd8bbc2bb04d8d246557984179042 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Thu, 25 May 2017 23:22:53 -0400 Subject: [PATCH 25/45] Automatic changelog compile, [ci skip] --- html/changelog.html | 6 ++++++ html/changelogs/.all_changelog.yml | 5 +++++ html/changelogs/AutoChangeLog-pr-7377.yml | 6 ------ 3 files changed, 11 insertions(+), 6 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-7377.yml diff --git a/html/changelog.html b/html/changelog.html index c0eefd74188..cc2a1dbe0f2 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -80,6 +80,12 @@
  • Metastation - removed blob spawn that was only a few tiles from Cryostorage....
  • Drones can now grip Tracker Electronics & Vending Refills
  • +

    Tayyyyyyy, PhantasmicDream updated:

    +
      +
    • Skrell can put a pocket sized item in their head tentacles, which can be dislodged via stunning, stripping, or death
    • +
    • Skrell can no longer have their tentacles shaved off
    • +
    • Minor grammar fix for putting stuff that's too big into containers
    • +

    24 May 2017

    Kyep updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 34b8ab9167e..abc61b12d08 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -4770,3 +4770,8 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - rscdel: Metastation - Reduced redundant redundancies in the Atmos/Wiring. - rscdel: Metastation - removed blob spawn that was only a few tiles from Cryostorage.... - bugfix: Drones can now grip Tracker Electronics & Vending Refills + Tayyyyyyy, PhantasmicDream: + - rscadd: Skrell can put a pocket sized item in their head tentacles, which can + be dislodged via stunning, stripping, or death + - tweak: Skrell can no longer have their tentacles shaved off + - bugfix: Minor grammar fix for putting stuff that's too big into containers diff --git a/html/changelogs/AutoChangeLog-pr-7377.yml b/html/changelogs/AutoChangeLog-pr-7377.yml deleted file mode 100644 index 5676dedb680..00000000000 --- a/html/changelogs/AutoChangeLog-pr-7377.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Tayyyyyyy, PhantasmicDream" -delete-after: True -changes: - - rscadd: "Skrell can put a pocket sized item in their head tentacles, which can be dislodged via stunning, stripping, or death" - - tweak: "Skrell can no longer have their tentacles shaved off" - - bugfix: "Minor grammar fix for putting stuff that's too big into containers" From 261dcefca7e9a16fadd283e28b95773d04ff1e1a Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 26 May 2017 17:49:42 +0100 Subject: [PATCH 26/45] a few qdel_null's --- code/game/machinery/vending.dm | 6 ++---- code/game/objects/items/weapons/RCD.dm | 3 +-- code/game/objects/items/weapons/grenades/smokebomb.dm | 3 +-- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index e694ac98817..f9de8b8d596 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -546,12 +546,10 @@ to_chat(user, "You successfully pull the coin out before the [src] could swallow it.") else to_chat(user, "You weren't able to pull the coin out fast enough, the machine ate it, string and all.") - coin = null - qdel(coin) + QDEL_NULL(coin) categories &= ~CAT_COIN else - coin = null - qdel(coin) + QDEL_NULL(coin) categories &= ~CAT_COIN R.amount-- diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 5598a42cc8f..3fb02da2bdf 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -279,8 +279,7 @@ RCD return 0 activate() var/turf/T1 = get_turf(A) - qdel(A) - A = null + QDEL_NULL(A) for(var/obj/structure/window/W in T1.contents) W.disassembled = 1 W.density = 0 diff --git a/code/game/objects/items/weapons/grenades/smokebomb.dm b/code/game/objects/items/weapons/grenades/smokebomb.dm index 798565e63fd..f010bb977c0 100644 --- a/code/game/objects/items/weapons/grenades/smokebomb.dm +++ b/code/game/objects/items/weapons/grenades/smokebomb.dm @@ -14,8 +14,7 @@ src.smoke.attach(src) Destroy() - qdel(smoke) - smoke = null + QDEL_NULL(smoke) return ..() prime() From b2758a5208f7cd6c06dcfc238111bf5de08f4783 Mon Sep 17 00:00:00 2001 From: FlattestGuitar Date: Fri, 26 May 2017 21:42:06 +0200 Subject: [PATCH 27/45] removes hotel gateway xeno that can infest the whole station if used in a clever way --- _maps/map_files/templates/spacehotel/n_04.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/map_files/templates/spacehotel/n_04.dmm b/_maps/map_files/templates/spacehotel/n_04.dmm index 74a6e875b4a..91a433502b9 100644 --- a/_maps/map_files/templates/spacehotel/n_04.dmm +++ b/_maps/map_files/templates/spacehotel/n_04.dmm @@ -14,7 +14,7 @@ "n" = (/obj/machinery/door/window/southright,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/unsimulated/floor/carpet,/area/template_noop) "o" = (/obj/structure/table/woodentable,/obj/item/weapon/lipstick/black,/turf/unsimulated/floor/carpet,/area/template_noop) "p" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/alien/weeds,/obj/structure/mirror{dir = 8; pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) -"q" = (/obj/structure/toilet{dir = 1},/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/item/organ/internal/body_egg/alien_embryo,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"q" = (/obj/structure/toilet{dir = 1},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) "r" = (/obj/machinery/door/window/eastleft,/obj/structure/alien/weeds,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) "s" = (/obj/machinery/shower{dir = 8},/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) "t" = (/turf/unsimulated/wall/metal,/area/template_noop) From 38312959c50086849d3bda9488462907d969dc69 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 26 May 2017 16:38:16 -0400 Subject: [PATCH 28/45] Automatic changelog generation for PR #7398 [ci skip] --- html/changelogs/AutoChangeLog-pr-7398.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7398.yml diff --git a/html/changelogs/AutoChangeLog-pr-7398.yml b/html/changelogs/AutoChangeLog-pr-7398.yml new file mode 100644 index 00000000000..1576bc0bb17 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7398.yml @@ -0,0 +1,4 @@ +author: "FlattyPatty" +delete-after: True +changes: + - rscdel: "Removes gateway hotel xeno embryo for the crew's safety." From aa03be171a903ce3ac23803496b36c715ecb0f9c Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 26 May 2017 17:16:24 -0400 Subject: [PATCH 29/45] Automatic changelog compile, [ci skip] --- html/changelog.html | 6 ++++++ html/changelogs/.all_changelog.yml | 3 +++ html/changelogs/AutoChangeLog-pr-7398.yml | 4 ---- 3 files changed, 9 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-7398.yml diff --git a/html/changelog.html b/html/changelog.html index cc2a1dbe0f2..eb5448ee47f 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,12 @@ -->
    +

    26 May 2017

    +

    FlattyPatty updated:

    +
      +
    • Removes gateway hotel xeno embryo for the crew's safety.
    • +
    +

    25 May 2017

    FalseIncarnate updated: