From 70a1c768ad1b16273565f9b0d0b3022961c09f77 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Mon, 3 Feb 2014 00:28:15 +1300 Subject: [PATCH 1/5] Broken heart fix Code was using a switch with variables in it. This doesn't work. Replaced it with an if..else sequence. Thanks to the guys from Paradise for finding this. Note: this only fixes literal heart problems, it won't do anything for relationship issues. --- code/modules/organs/blood.dm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/code/modules/organs/blood.dm b/code/modules/organs/blood.dm index 4e300dbaea..c3e623271b 100644 --- a/code/modules/organs/blood.dm +++ b/code/modules/organs/blood.dm @@ -64,13 +64,13 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 // Damaged heart virtually reduces the blood volume, as the blood isn't // being pumped properly anymore. var/datum/organ/internal/heart/heart = internal_organs["heart"] - switch(heart.damage) - if(1 to heart.min_bruised_damage) - blood_volume *= 0.8 - if(heart.min_bruised_damage to heart.min_broken_damage) - blood_volume *= 0.6 - if(heart.min_broken_damage to INFINITY) - blood_volume *= 0.3 + + if(heart.damage > 1 && heart.damage < heart.min_bruised_damage) + blood_volume *= 0.8 + else if(heart.damage >= heart.min_bruised_damage && heart.damage < heart.min_broken_damage) + blood_volume *= 0.6 + else if(heart.damage >= heart.min_broken_damage && heart.damage < INFINITY) + blood_volume *= 0.3 //Effects of bloodloss switch(blood_volume) From 35f534854ac5bbd74a4e497bb41a0aa191ea35c5 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Sun, 2 Feb 2014 16:57:07 -0600 Subject: [PATCH 2/5] Commented out the AI Announcement verbs Now the AI won't get it's hopes up that it can have the CAPTAIN REPORT TO THE BAR FOR JOHNSON INSPECTION --- code/modules/mob/living/silicon/ai/ai.dm | 4 ++++ code/modules/mob/living/silicon/ai/say.dm | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 42c4b0745b..08d3b012a9 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -95,6 +95,7 @@ var/list/ai_list = list() /mob/living/silicon/ai/proc/ai_statuschange, /mob/living/silicon/ai/proc/ai_hologram_change, \ /mob/living/silicon/ai/proc/toggle_camera_light) + if(!safety)//Only used by AIize() to successfully spawn an AI. if (!B)//If there is no player/brain inside. new/obj/structure/AIcore/deactivated(loc)//New empty terminal. @@ -338,9 +339,12 @@ var/list/ai_list = list() // src << text ("Switching Law [L]'s report status to []", lawcheck[L+1]) checklaws() + //Uncomment this line of code if you are enabling the AI Vocal (VOX) announcements. +/* if(href_list["say_word"]) play_vox_word(href_list["say_word"], null, src) return +*/ if (href_list["lawi"]) // Toggling whether or not a law gets stated by the State Laws verb --NeoFite var/L = text2num(href_list["lawi"]) diff --git a/code/modules/mob/living/silicon/ai/say.dm b/code/modules/mob/living/silicon/ai/say.dm index 3267f222c7..7705e5aedc 100644 --- a/code/modules/mob/living/silicon/ai/say.dm +++ b/code/modules/mob/living/silicon/ai/say.dm @@ -14,6 +14,13 @@ return 1 return ..() + + +// These Verbs are commented out since we've disabled the AI vocal (VOX) announcements. +// If you re-enable them there is 3 lines in ai.dm Topic() that you need to uncomment as well. +// just search for VOX in there. + +/* var/announcing_vox = 0 // Stores the time of the last announcement var/const/VOX_CHANNEL = 200 var/const/VOX_DELAY = 100 // 10 seconds @@ -128,3 +135,6 @@ var/const/VOX_PATH = "sound/vox/" // src << "Downloading [file]" var/sound/S = sound("[VOX_PATH][file]") src << browse_rsc(S) + + +*/ From 83246df6d5942ac9c372dc7052bbd6ea7927a1c1 Mon Sep 17 00:00:00 2001 From: Segrain Date: Mon, 3 Feb 2014 07:32:53 +0300 Subject: [PATCH 3/5] Fix for #4297. --- .../components/unary/vent_pump.dm | 6 +- code/modules/mob/living/carbon/carbon.dm | 93 ------------------ code/modules/mob/living/living.dm | 94 ++++++++++++++++++- .../living/simple_animal/friendly/mouse.dm | 49 +--------- 4 files changed, 97 insertions(+), 145 deletions(-) diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index 4a633030c2..83f8eb7fcf 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -338,13 +338,13 @@ return /* - Alt-click to ventcrawl - Monkeys, aliens, and slimes + Alt-click to ventcrawl - Monkeys, aliens, slimes and mice. This is a little buggy but somehow that just seems to plague ventcrawl. I am sorry, I don't know why. */ -/obj/machinery/atmospherics/unary/vent_pump/AltClick(var/mob/living/carbon/ML) +/obj/machinery/atmospherics/unary/vent_pump/AltClick(var/mob/living/ML) if(istype(ML)) - var/list/ventcrawl_verbs = list(/mob/living/carbon/monkey/verb/ventcrawl, /mob/living/carbon/alien/verb/ventcrawl, /mob/living/carbon/slime/verb/ventcrawl) + var/list/ventcrawl_verbs = list(/mob/living/carbon/monkey/verb/ventcrawl, /mob/living/carbon/alien/verb/ventcrawl, /mob/living/carbon/slime/verb/ventcrawl,/mob/living/simple_animal/mouse/verb/ventcrawl) if(length(ML.verbs & ventcrawl_verbs)) // alien queens have this removed, an istype would be complicated ML.handle_ventcrawl(src) return diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index f841b09d13..feacbe4a98 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -221,99 +221,6 @@ // ++++ROCKDTBEN++++ MOB PROCS //END -/mob/living/carbon/proc/handle_ventcrawl(var/obj/machinery/atmospherics/unary/vent_pump/vent_found = null) // -- TLE -- Merged by Carn - if(stat) - src << "You must be conscious to do this!" - return - if(lying) - src << "You can't vent crawl while you're stunned!" - return - - if(vent_found) // one was passed in, probably from vent/AltClick() - if(vent_found.welded) - src << "That vent is welded shut." - return - if(!vent_found.Adjacent(src)) - return // don't even acknowledge that - else - for(var/obj/machinery/atmospherics/unary/vent_pump/v in range(1,src)) - if(!v.welded) - if(v.Adjacent(src)) - vent_found = v - if(!vent_found) - src << "You'll need a non-welded vent to crawl into!" - return - - if(!vent_found.network || !vent_found.network.normal_members.len) - src << "This vent is not connected to anything." - return - - var/list/vents = list() - for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in vent_found.network.normal_members) - if(temp_vent.welded) - continue - if(temp_vent in loc) - continue - var/turf/T = get_turf(temp_vent) - - if(!T || T.z != loc.z) - continue - - var/i = 1 - var/index = "[T.loc.name]\[[i]\]" - while(index in vents) - i++ - index = "[T.loc.name]\[[i]\]" - vents[index] = temp_vent - if(!vents.len) - src << "\red There are no available vents to travel to, they could be welded." - return - - var/obj/selection = input("Select a destination.", "Duct System") as null|anything in sortAssoc(vents) - if(!selection) return - - if(!vent_found.Adjacent(src)) - src << "Never mind, you left." - return - - for(var/obj/item/carried_item in contents)//If the monkey got on objects. - if( !istype(carried_item, /obj/item/weapon/implant) && !istype(carried_item, /obj/item/clothing/mask/facehugger) )//If it's not an implant or a facehugger - src << "\red You can't be carrying items or have items equipped when vent crawling!" - return - if(isslime(src)) - var/mob/living/carbon/slime/S = src - if(S.Victim) - src << "\red You'll have to let [S.Victim] go or finish eating \him first." - return - - var/obj/machinery/atmospherics/unary/vent_pump/target_vent = vents[selection] - if(!target_vent) - return - - for(var/mob/O in viewers(src, null)) - O.show_message(text("[src] scrambles into the ventillation ducts!"), 1) - loc = target_vent - - var/travel_time = round(get_dist(loc, target_vent.loc) / 2) - - spawn(travel_time) - - if(!target_vent) return - for(var/mob/O in hearers(target_vent,null)) - O.show_message("You hear something squeezing through the ventilation ducts.",2) - - sleep(travel_time) - - if(!target_vent) return - if(target_vent.welded) //the vent can be welded while alien scrolled through the list or travelled. - target_vent = vent_found //travel back. No additional time required. - src << "\red The vent you were heading to appears to be welded." - loc = target_vent.loc - var/area/new_area = get_area(loc) - if(new_area) - new_area.Entered(src) - - /mob/living/carbon/clean_blood() . = ..() if(ishuman(src)) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index a111125c26..57bb02ce5c 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -674,4 +674,96 @@ set category = "IC" resting = !resting - src << "\blue You are now [resting ? "resting" : "getting up"]" \ No newline at end of file + src << "\blue You are now [resting ? "resting" : "getting up"]" + +/mob/living/proc/handle_ventcrawl(var/obj/machinery/atmospherics/unary/vent_pump/vent_found = null) // -- TLE -- Merged by Carn + if(stat) + src << "You must be conscious to do this!" + return + if(lying) + src << "You can't vent crawl while you're stunned!" + return + + if(vent_found) // one was passed in, probably from vent/AltClick() + if(vent_found.welded) + src << "That vent is welded shut." + return + if(!vent_found.Adjacent(src)) + return // don't even acknowledge that + else + for(var/obj/machinery/atmospherics/unary/vent_pump/v in range(1,src)) + if(!v.welded) + if(v.Adjacent(src)) + vent_found = v + if(!vent_found) + src << "You'll need a non-welded vent to crawl into!" + return + + if(!vent_found.network || !vent_found.network.normal_members.len) + src << "This vent is not connected to anything." + return + + var/list/vents = list() + for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in vent_found.network.normal_members) + if(temp_vent.welded) + continue + if(temp_vent in loc) + continue + var/turf/T = get_turf(temp_vent) + + if(!T || T.z != loc.z) + continue + + var/i = 1 + var/index = "[T.loc.name]\[[i]\]" + while(index in vents) + i++ + index = "[T.loc.name]\[[i]\]" + vents[index] = temp_vent + if(!vents.len) + src << "\red There are no available vents to travel to, they could be welded." + return + + var/obj/selection = input("Select a destination.", "Duct System") as null|anything in sortAssoc(vents) + if(!selection) return + + if(!vent_found.Adjacent(src)) + src << "Never mind, you left." + return + + for(var/obj/item/carried_item in contents)//If the monkey got on objects. + if( !istype(carried_item, /obj/item/weapon/implant) && !istype(carried_item, /obj/item/clothing/mask/facehugger) )//If it's not an implant or a facehugger + src << "\red You can't be carrying items or have items equipped when vent crawling!" + return + if(isslime(src)) + var/mob/living/carbon/slime/S = src + if(S.Victim) + src << "\red You'll have to let [S.Victim] go or finish eating \him first." + return + + var/obj/machinery/atmospherics/unary/vent_pump/target_vent = vents[selection] + if(!target_vent) + return + + for(var/mob/O in viewers(src, null)) + O.show_message(text("[src] scrambles into the ventillation ducts!"), 1) + loc = target_vent + + var/travel_time = round(get_dist(loc, target_vent.loc) / 2) + + spawn(travel_time) + + if(!target_vent) return + for(var/mob/O in hearers(target_vent,null)) + O.show_message("You hear something squeezing through the ventilation ducts.",2) + + sleep(travel_time) + + if(!target_vent) return + if(target_vent.welded) //the vent can be welded while alien scrolled through the list or travelled. + target_vent = vent_found //travel back. No additional time required. + src << "\red The vent you were heading to appears to be welded." + loc = target_vent.loc + var/area/new_area = get_area(loc) + if(new_area) + new_area.Entered(src) \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index 491841ebad..2687827d38 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -69,58 +69,11 @@ if(client) client.time_died_as_mouse = world.time -//copy paste from alien/larva, if that func is updated please update this one also /mob/living/simple_animal/mouse/verb/ventcrawl() set name = "Crawl through Vent" set desc = "Enter an air vent and crawl through the pipe system." set category = "Mouse" - -// if(!istype(V,/obj/machinery/atmoalter/siphs/fullairsiphon/air_vent)) -// return - - if(src.stat != CONSCIOUS) return - - var/obj/machinery/atmospherics/unary/vent_pump/vent_found - var/welded = 0 - for(var/obj/machinery/atmospherics/unary/vent_pump/v in range(1,src)) - if(!v.welded) - vent_found = v - break - else - welded = 1 - if(vent_found) - if(vent_found.network&&vent_found.network.normal_members.len) - var/list/vents = list() - for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in vent_found.network.normal_members) - if(temp_vent.loc == loc) - continue - vents.Add(temp_vent) - var/list/choices = list() - for(var/obj/machinery/atmospherics/unary/vent_pump/vent in vents) - if(vent.loc.z != loc.z) - continue - var/atom/a = get_turf(vent) - choices.Add(a.loc) - var/turf/startloc = loc - var/obj/selection = input("Select a destination.", "Duct System") in choices - var/selection_position = choices.Find(selection) - if(loc==startloc) - var/obj/target_vent = vents[selection_position] - if(target_vent) - /* - for(var/mob/O in oviewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message(text("[src] scrambles into the ventillation ducts!"), 1) - */ - loc = target_vent.loc - else - src << "\blue You need to remain still while entering a vent." - else - src << "\blue This vent is not connected to anything." - else if(welded) - src << "\red That vent is welded." - else - src << "\blue You must be standing on or beside an air vent to enter it." + handle_ventcrawl() return //copy paste from alien/larva, if that func is updated please update this one alsoghost From 39820724d26ff4fb52a4fff29c62013c0cdb5332 Mon Sep 17 00:00:00 2001 From: DJSnapshot Date: Mon, 3 Feb 2014 07:34:27 -0800 Subject: [PATCH 4/5] Fix to Papadrow's custom item dress. --- icons/mob/uniform.dmi | Bin 199738 -> 199732 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index c0b89d053d8214ad8141ab90125413a0e5f18fd8..354a0b6fbf8d8f22bbfaffaec650dfb1d696c0fb 100644 GIT binary patch delta 1149 zcmV-@1cLjzm<+U-43H#$QhHQabVOxyV{&P5bZKvH004NLm6^|O+%^!#&)%mHl511c zX%4;kQaC7bNM1phC1=Ii9dVQyYGu8B50abskm3`3GVmjJNY39+@4LT0|MTTr_x$zC z>CPTvwR`G5{r<=4VUgTQ_tgFQ@$^twhSIiwqEX}Sse5K08V#UUR<#8H>HACoHqAaM za&VQQG?+H0Iw0UA6?sRMp|ru75f@S!N(24!*q&|+0;Aman5YSv{05#%Whf1cq)dLp z$V5{kK`b4dR{-OGI!Hy1Lv6GGxMCAPHG7d7XuzjJ6Pj%XuG}OY*qcX*<}143E^cZA z%wNp8hNJ+qD)li7lB_~eGIQh95u4#vXqC%db z&<;*u3@Vmcu2yPAV(>~;njx2|w5;qs8Vfs)9qYfnq3kw)#hS`5!M{!qnU&V=seAnG z&EK2ALz;rKQo2PkZ%Fnz>&!4bICF(*=X_-66^0Y}fV3Uoks!+AoG@ofMW7cbYj&Hg zN`fyHO-#-iMH>^G@Amk>V7s%EDsr}Fvr9nMQfhKBLvm@PVy1&Q0#D+EHOVp}SlC?{ zsy1uQlCa-@-eUG9P|rO|g$jw=*_x#Icz}iKgEZ*(e*lmF+e!45k=bDHQ}6|mgloh3 zy-&dxoONa}W^SSgR%Z`%%ixz4t*j%7j)ahRNl+B<%Zdg}a%!ny$t@W{V<-7wjiFul zGCj?X^w~~Q&(N&uOsZ>tD0N=B2Gm;(N?8aiOObqkJ_p!_Y%n^#Z8SVU|8y4@MvCuQ zXYQx zEjnad%r!d))KQtf^}b)!pX)qMF-yx>65Ycf6^6>+E_$K(HXWmM%Bg=fA8`iF**Rja zaxq7LBGb7|rZ|6P=W*>9(@Xz|^m{_JM<4X;k~u~aNE>pF=r7_(#@b+5_&d8~#_?z_ z)5P8nM_{B(?OF<0b*OS50#6Qac`!Pbm0IhMI9QG%-jME8YGbdYbh(f?lr0t+;i-Rz zvHH2l*u&*>kr8b?Vv!LP9$q!giy~sl=Cj~`@irJQ_%4}2tG7@~gj~kP!Wy%4L=TGc z8;psrBh{N!L284NWLOGPl8j&Sh99|P$I&3gK5=bNjcT}AVgkGVI(uMWXEHnF@rhLD z5tcJFW1~@-ox^5_2Bf>ad`J{C=?A17{)8h5af%f@U9o8?G6r&QROvth4^wi2Yq*MI zN-GEUA4RQDDh!DtyK0@xCj$ka;B<&D7KixB6nvyt(oGc$^Vjbah_eLUW~aW`?M9NV zzsYD7(N9N`ex-^uF9X-6sB+<%AT>lq6=)ORcb~sKch6tHoc;y(Nu}g8OSn#hg#?F% P1ObPI1Om5(1Ov4PTTmxc delta 1155 zcmV-}1bq9nm<+m@43H#$Sb9`gbVOxyV{&P5bZKvH004NLm6^eA+&Bz|&zYw%+Us_) z>GrUfT#6Kn9@SQ_Y;$M$r)Au!5qkBOR)$uHokRL0VXuhHguHvRP z!u(*)H6#U?RjH3fkYp8#l9?N)CRZqH+>pd-!yt(rxnHg=*#vn`IOpCJxuzWkM1?#< zp&gvS7*s5?JXxs~iNPnT(hRvwrQ6Ehqp`5#*s;Fv4Q01~Io4Eu3I21s%dE6^58eGA zul`;I9#RyXmC_}Oc|)?#Sr>-k(U~huJLe-iuP~g*N2Kidh6GU-=Y%;^DgwPgS+m=0 zRT6xuXkv2CDB76de7DC32HTaLRFShaTU-LNmQs_!49TUDikXh$2t11uRwT=WU}0Bb zNNv`dC1JmRy~XTBpqhJ<3JHnZ*_xzye}IMbK^pY?KY;uHtt9%&NN=#$Dfog&!nNW2 zUZ>y-&blxdGZ#?=tBVJ^W$^QgD(gg|6CvbP5)=jeyrKb za6hk4G!a-)9H5KESr<-ftuVMCSGul;Ry3+Ozjp!0%-RXDQnPbF6_x30@B4-RJT224i?oa-(LD@OVMzY=p%;p8-7!k1ocb5@5ogexogW<$;q{UDBHtPO?-e`lA>I3CSq zp4t2H2#mMhg~A(yeS@Qm3xq6dfa z8;lKIC#n~zf@p)1WOx*$BpJWt4L@?pj-x?}ed5}l8lB;0i5aZ=>*9fZoyqKw$0t%< zCU~5o8EcKo;vBX()F55$`CXz|NZ%oH_!EvK#5q>*bj9XdktvXSqe=%7c$ktCtl=tY zDy2KrR3P From 2ec805630e308023346e0c25a96913ae37bfff57 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Tue, 4 Feb 2014 11:30:35 -0800 Subject: [PATCH 5/5] Because we HAVE to define Del() three times /obj/item/device/gps/Del() GPS_list.Remove(src) ..() /obj/item/device/gps/Del() GPS_list.Remove(src) ..() /obj/item/device/gps/Del() GPS_list.Remove(src) ..() --- code/modules/telesci/gps.dm | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/code/modules/telesci/gps.dm b/code/modules/telesci/gps.dm index b4fa7704a3..94ea86e23d 100644 --- a/code/modules/telesci/gps.dm +++ b/code/modules/telesci/gps.dm @@ -19,14 +19,6 @@ var/list/GPS_list = list() /obj/item/device/gps/Del() GPS_list.Remove(src) ..() -/obj/item/device/gps/Del() - GPS_list.Remove(src) - ..() - -/obj/item/device/gps/Del() - GPS_list.Remove(src) - ..() - /obj/item/device/gps/emp_act(severity) emped = 1 overlays -= "working" @@ -75,4 +67,4 @@ var/list/GPS_list = list() /obj/item/device/gps/engineering icon_state = "gps-e" - gpstag = "ENG0" \ No newline at end of file + gpstag = "ENG0"