From 571db1549079b7b221ffa453af2c069bb8036bad Mon Sep 17 00:00:00 2001 From: "rastaf.zero@gmail.com" Date: Fri, 25 Mar 2011 23:16:32 +0000 Subject: [PATCH] Medical belt is finally in code (made by errorage, forgotten by errorage). Pill bottles now can fit in containers (and pockets). Moved remained adminverbs from Commands tab. Map debugging tools tab is hidden, use verb on debug tab to show. Singularity's EMP now won't spam in adminlog. Revolutionaries now cannot deconvert themselves. Cutting camera now leaves fingerprints. Fixed some runtime errors. Unckecked file that microvave forgot to add under svn. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1277 316c924e-a436-60f5-8080-3fe189b3f50e --- code/WorkInProgress/Chemistry-Tools.dm | 2 +- code/defines/obj/storage.dm | 33 +++++++++++++++++- code/game/machinery/camera.dm | 1 + code/game/objects/devices/scanners.dm | 6 ++-- code/game/objects/empulse.dm | 5 +-- code/game/objects/items/item.dm | 2 +- code/game/objects/storage/storage.dm | 2 +- code/game/vials.dm | 2 ++ code/modules/admin/admin_verbs.dm | 21 ++++++++--- code/modules/admin/verbs/adminjump.dm | 1 + code/modules/admin/verbs/mapping.dm | 10 +++++- code/modules/power/singularity/singularity.dm | 2 +- icons/mob/belt.dmi | Bin 1727 -> 1852 bytes icons/obj/clothing/belts.dmi | Bin 528 -> 673 bytes tgstation.dme | 1 - 15 files changed, 71 insertions(+), 17 deletions(-) diff --git a/code/WorkInProgress/Chemistry-Tools.dm b/code/WorkInProgress/Chemistry-Tools.dm index 2871d62157..4c8425bd76 100644 --- a/code/WorkInProgress/Chemistry-Tools.dm +++ b/code/WorkInProgress/Chemistry-Tools.dm @@ -1787,7 +1787,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/tofuburger - name = "Togu Burger" + name = "Tofu Burger" desc = "What.. is that meat?" icon_state = "tofuburger" New() diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm index 7939a762a4..e1fe960080 100644 --- a/code/defines/obj/storage.dm +++ b/code/defines/obj/storage.dm @@ -4,9 +4,39 @@ icon = 'belts.dmi' icon_state = "utilitybelt" item_state = "utility" - can_hold = list("/obj/item/weapon/crowbar","/obj/item/weapon/screwdriver","/obj/item/weapon/weldingtool","/obj/item/weapon/wirecutters","/obj/item/weapon/wrench","/obj/item/device/multitool","/obj/item/device/flashlight","/obj/item/weapon/cable_coil", "/obj/item/device/t_scanner", "/obj/item/device/analyzer") + can_hold = list( + "/obj/item/weapon/crowbar", + "/obj/item/weapon/screwdriver", + "/obj/item/weapon/weldingtool", + "/obj/item/weapon/wirecutters", + "/obj/item/weapon/wrench", + "/obj/item/device/multitool", + "/obj/item/device/flashlight", + "/obj/item/weapon/cable_coil", + "/obj/item/device/t_scanner", + "/obj/item/device/analyzer") flags = FPRINT | TABLEPASS | ONBELT +/obj/item/weapon/storage/utilitybelt/medical + name = "medical belt" + desc = "Can hold various medical equipment." + icon_state = "medicalbelt" + item_state = "medical" + can_hold = list( + "/obj/item/device/healthanalyzer", + "/obj/item/weapon/dnainjector", + "/obj/item/weapon/reagent_containers/dropper", + "/obj/item/weapon/reagent_containers/glass/beaker", + "/obj/item/weapon/reagent_containers/glass/bottle", + "/obj/item/weapon/reagent_containers/pill", + "/obj/item/weapon/reagent_containers/syringe", + "/obj/item/weapon/reagent_containers/glass/dispenser", + "/obj/item/weapon/zippo", + "/obj/item/weapon/cigpacket", + "/obj/item/weapon/storage/pill_bottle", + "/obj/item/weapon/medical") + flags = FPRINT | TABLEPASS | ONBELT + /obj/item/weapon/storage icon = 'storage.dmi' name = "storage" @@ -26,6 +56,7 @@ icon_state = "pill_canister" icon = 'chemical.dmi' item_state = "contsolid" + w_class = 2.0 can_hold = list("/obj/item/weapon/reagent_containers/pill") /obj/item/weapon/storage/box diff --git a/code/game/machinery/camera.dm b/code/game/machinery/camera.dm index 727460566a..3d2b2a7256 100644 --- a/code/game/machinery/camera.dm +++ b/code/game/machinery/camera.dm @@ -269,6 +269,7 @@ user.reset_view(src) /obj/machinery/camera/attackby(W as obj, user as mob) + ..() if (istype(W, /obj/item/weapon/wirecutters)) src.status = !( src.status ) if (!( src.status )) diff --git a/code/game/objects/devices/scanners.dm b/code/game/objects/devices/scanners.dm index 8f6ebf3658..c127d9db1e 100644 --- a/code/game/objects/devices/scanners.dm +++ b/code/game/objects/devices/scanners.dm @@ -159,7 +159,7 @@ MASS SPECTROMETER O.show_message(text("\red [] has analyzed []'s vitals!", user, M), 1) //Foreach goto(67) var/fake_oxy = max(rand(1,40), M.oxyloss, (300 - (M.toxloss + M.fireloss + M.bruteloss))) - if(M.changeling_fakedeath || M.reagents.has_reagent("zombiepowder")) + if(M.changeling_fakedeath || M.reagents && M.reagents.has_reagent("zombiepowder")) user.show_message(text("\blue Analyzing Results for []:\n\t Overall Status: []", M, "dead"), 1) user.show_message(text("\blue \t Damage Specifics: []-[]-[]-[]", fake_oxy < 50 ? "\red [fake_oxy]" : fake_oxy , M.toxloss > 50 ? "\red [M.toxloss]" : M.toxloss, M.fireloss > 50 ? "\red[M.fireloss]" : M.fireloss, M.bruteloss > 50 ? "\red[M.bruteloss]" : M.bruteloss), 1) else @@ -167,7 +167,7 @@ MASS SPECTROMETER user.show_message(text("\blue \t Damage Specifics: []-[]-[]-[]", M.oxyloss > 50 ? "\red [M.oxyloss]" : M.oxyloss, M.toxloss > 50 ? "\red [M.toxloss]" : M.toxloss, M.fireloss > 50 ? "\red[M.fireloss]" : M.fireloss, M.bruteloss > 50 ? "\red[M.bruteloss]" : M.bruteloss), 1) user.show_message("\blue Key: Suffocation/Toxin/Burns/Brute", 1) user.show_message("\blue Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1) - if(M.changeling_fakedeath || M.reagents.has_reagent("zombiepowder")) + if(M.changeling_fakedeath || M.reagents && M.reagents.has_reagent("zombiepowder")) user.show_message(text("\blue [] | [] | [] | []", fake_oxy > 50 ? "\red Severe oxygen deprivation detected\blue" : "Subject bloodstream oxygen level normal", M.toxloss > 50 ? "\red Dangerous amount of toxins detected\blue" : "Subject bloodstream toxin level minimal", M.fireloss > 50 ? "\red Severe burn damage detected\blue" : "Subject burn injury status O.K", M.bruteloss > 50 ? "\red Severe anatomical damage detected\blue" : "Subject brute-force injury status O.K"), 1) else user.show_message(text("\blue [] | [] | [] | []", M.oxyloss > 50 ? "\red Severe oxygen deprivation detected\blue" : "Subject bloodstream oxygen level normal", M.toxloss > 50 ? "\red Dangerous amount of toxins detected\blue" : "Subject bloodstream toxin level minimal", M.fireloss > 50 ? "\red Severe burn damage detected\blue" : "Subject burn injury status O.K", M.bruteloss > 50 ? "\red Severe anatomical damage detected\blue" : "Subject brute-force injury status O.K"), 1) @@ -175,7 +175,7 @@ MASS SPECTROMETER user.show_message(text("\red Subject appears to have been imperfectly cloned."), 1) if (M.virus) user.show_message(text("\red Warning: Virus Detected.\nName: [M.virus.name].\nType: [M.virus.spread].\nStage: [M.virus.stage]/[M.virus.max_stages].\nPossible Cure: [M.virus.cure]")) - if (M.reagents:get_reagent_amount("inaprovaline")) + if (M.reagents && M.reagents.get_reagent_amount("inaprovaline")) user.show_message(text("\blue Bloodstream Analysis located [M.reagents:get_reagent_amount("inaprovaline")] units of rejuvenation chemicals."), 1) if (M.brainloss >= 100 || istype(M, /mob/living/carbon/human) && M:brain_op_stage == 4.0) user.show_message(text("\red Subject is brain dead."), 1) diff --git a/code/game/objects/empulse.dm b/code/game/objects/empulse.dm index 1e97f0640f..e2858f16d7 100644 --- a/code/game/objects/empulse.dm +++ b/code/game/objects/empulse.dm @@ -1,6 +1,7 @@ -proc/empulse(turf/epicenter, heavy_range, light_range) +proc/empulse(turf/epicenter, heavy_range, light_range, nolog=0) if(!epicenter) return - message_admins("EMP with size ([heavy_range], [light_range]) in area [epicenter.loc.name] ") + if (!nolog) + message_admins("EMP with size ([heavy_range], [light_range]) in area [epicenter.loc.name] ") if (!istype(epicenter, /turf)) epicenter = epicenter.loc diff --git a/code/game/objects/items/item.dm b/code/game/objects/items/item.dm index b5a4b695fa..76c5cd86fa 100644 --- a/code/game/objects/items/item.dm +++ b/code/game/objects/items/item.dm @@ -211,7 +211,7 @@ for(var/mob/O in viewers(M, null)) O.show_message(text("\red [] has been knocked unconscious!", H), 1, "\red You hear someone fall.", 2) if (prob(50)) - if (ticker.mode.name == "revolution") + if (ticker.mode.name == "revolution" && M != user) ticker.mode:remove_revolutionary(H.mind) if (b_dam && prob(25 + (b_dam * 2))) src.add_blood(H) diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm index 60d3f63fa3..dbf167dc1b 100644 --- a/code/game/objects/storage/storage.dm +++ b/code/game/objects/storage/storage.dm @@ -91,7 +91,7 @@ if (src.contents.len >= 7) return - if ((W.w_class >= 3 || istype(W, /obj/item/weapon/storage) || src.loc == W)) + if ((W.w_class >= 3 || (istype(W, /obj/item/weapon/storage) && !istype(W, /obj/item/weapon/storage/pill_bottle)) || src.loc == W)) return user.u_equip(W) W.loc = src diff --git a/code/game/vials.dm b/code/game/vials.dm index d9f098690e..7a83d66930 100644 --- a/code/game/vials.dm +++ b/code/game/vials.dm @@ -269,6 +269,7 @@ /proc/possess(obj/O as obj in world) set name = "Possess Obj" + set category = "Object" usr.loc = O usr.real_name = O.name usr.name = O.name @@ -277,6 +278,7 @@ /proc/release(obj/O as obj in world) set name = "Release Obj" + set category = "Object" //usr.loc = get_turf(usr) usr.loc = O.loc // Appear where the object you were controlling is -- TLE usr.client.eye = usr diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 15f93c6c9b..757cf043e3 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -87,10 +87,11 @@ src.verbs += /obj/admins/proc/toggletintedweldhelmets // Mapping helpers - src.verbs += /client/proc/do_not_use_these //-errorage - src.verbs += /client/proc/camera_view //-errorage - src.verbs += /client/proc/sec_camera_report //-errorage - src.verbs += /client/proc/intercom_view //-errorage +// src.verbs += /client/proc/do_not_use_these //-errorage +// src.verbs += /client/proc/camera_view //-errorage +// src.verbs += /client/proc/sec_camera_report //-errorage +// src.verbs += /client/proc/intercom_view //-errorage + src.verbs += /client/proc/enable_mapping_debug //-rastaf0 // Admin helpers src.verbs += /client/proc/cmd_admin_attack_log @@ -1061,6 +1062,13 @@ src.verbs -= /proc/givetestverbs src.verbs -= /obj/admins/proc/spawn_atom src.verbs -= /obj/admins/proc/toggletintedweldhelmets + src.verbs -= /client/proc/atmosscan + src.verbs -= /client/proc/restartcontroller + src.verbs -= /client/proc/enable_mapping_debug + src.verbs -= /client/proc/do_not_use_these + src.verbs -= /client/proc/camera_view + src.verbs -= /client/proc/sec_camera_report + src.verbs -= /client/proc/intercom_view // Admin helpers src.verbs -= /client/proc/cmd_admin_attack_log @@ -1113,6 +1121,9 @@ src.verbs -= /obj/admins/proc/unprison src.verbs -= /proc/togglebuildmode src.verbs -= /client/proc/cmd_mass_modify_object_variables + + src.verbs -= /client/proc/triple_ai + src.verbs -= /client/proc/only_one // Unnecessary commands src.verbs -= /client/proc/funbutton src.verbs -= /client/proc/make_sound // -- TLE @@ -1428,7 +1439,7 @@ switch (src.holder.rank) if ("Host") // Settings - src.verbs += /client/proc/colorooc // -- Urist + //src.verbs += /client/proc/colorooc // -- Urist src.verbs += /obj/admins/proc/adjump //toggle admin jumping src.verbs += /obj/admins/proc/adrev //toggle admin revives src.verbs += /obj/admins/proc/adspawn //toggle admin item spawning diff --git a/code/modules/admin/verbs/adminjump.dm b/code/modules/admin/verbs/adminjump.dm index 690cc74fdf..bd77f6a372 100644 --- a/code/modules/admin/verbs/adminjump.dm +++ b/code/modules/admin/verbs/adminjump.dm @@ -16,6 +16,7 @@ /client/proc/jumptoturf(var/turf/T in world) set name = "Jump to Turf" + set category = "Admin" if(!src.authenticated || !src.holder) src << "Only administrators may use this command." return diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index 5961697a9d..da110a10aa 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -108,4 +108,12 @@ var/intercom_range_display_status = 0 for(var/turf/T in orange(7,I)) var/obj/debugging/marker/F = new/obj/debugging/marker(T) if (!(F in view(7,I.loc))) - del(F) \ No newline at end of file + del(F) + + enable_mapping_debug() + set category = "Debug" + set name = "Mapping debug" + src.verbs += /client/proc/do_not_use_these //-errorage + src.verbs += /client/proc/camera_view //-errorage + src.verbs += /client/proc/sec_camera_report //-errorage + src.verbs += /client/proc/intercom_view //-errorage diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 0b9b3daea3..d3841582a8 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -413,7 +413,7 @@ var/global/list/uneatable = list( emp_area() - empulse(src, 6, 8) + empulse(src, 6, 8, nolog=1) return diff --git a/icons/mob/belt.dmi b/icons/mob/belt.dmi index 1b5d1741ce46f3253b31b173555035fc9f65399a..382bb05d4307c3043c1e63e4bb4ba5b7b5a4b253 100644 GIT binary patch delta 1776 zcmVktIDRfB*nD0094VQ2@-$05kuFfN7pD3O2r8k2tLQ13KRkxPm&$G79+Ef= z3aNI5JwF&LtaQVPmE~T$@gxj#)fo3`76#i!l=3{j0b@w++NxvbcNr{Hh$?^2+U*vq zT|q)p3T+)O^x;P~Sa^VAd8uV)o4QgNlRSR!RzClX2P!8mO_ z*vke^T@S{|>j&uNgGgXMM8AI+y=bQM24^+Xf5Qnx7Y-+QTOvAgIDzQPQPAF=m>wO4 z{SPyk4j*k5^(iB&;z;3AI8xk-IO#_UXZqxxTaw7>$v+tYhcO3jnbzM{R3G?qbS1H9 zYn4{^03|OR7F5-{J9cV(IlKk$D4N!|9m?I!9BOtbHd@MDWkN&E3wM84a2l;P%hS)p zFVv%tAQKT`Xe}*85cE?1|3AGgBI5^=9lKA?OS_h% zoiRB{`ZNtk-PD^K000000AO6VQ!n7st(tnR*Zo$|bL<)T*3f6Y?i+A^@bUaluL}{Be*a&Wkr<}!E@JlPyMx^a0{{R300000aK7zXP2*X51@U%QjIq)* zp7n0&3E!6kz8`ZPC36nAWog@OIpA{Bc)AwYr>uvn-|S{Pk3)aHsGi^4)4e$zL323d z%htQ<@ihB<=Wzs8%=dHx000000000O$A04Rd(S^P0e7|E_kDuV`04rQU%s^L9lU`0 zuw@5q2WJ9qS=z(DtYuh@ukFGEp3FmQ`RY6a-hUW=Jpcdz000000I&$tmM32P?2Z3F z{6)?_(q|)H{2qUrdiE=LiWAR1Z3Xi+&kg_p00000006)llzt`E18l7R4f;&kJh|%n z)@=c2BUp68gY3}UB(vSYgS<3D?9kL46Yk*f!gV_1QNDvBSZ4Sva@Uue!vOOM541zW zX;RHScW{1-0ssI200000z>H-|Zx&rTnbcZZwBFSttTlgUt__>hl9gpafbFGQ!PBe< zT)i~coVMO&UcrXy!p4E>uXD9Ib8Y_*xK5T|F8cr*Law?}b!Heq?g+T{bZ_DSr~L%~ z3m`xM00000006jN>IRac02@n(wu$DY}W3SQ@GbLQHHw`kHx0bVWvCPe{;XDD^y8QS@X zxp)Eu00000003aY{Ihpbx_XehnN$y6u7Lu))(>EQ80k9zqB8m5<01QvofQW-(hGdK zJ9sAFqVkYv&RiQdhh`Gsa@7MI>kPeE0t5g6004hrA-+$&0BB*OcJ?^+0xsO6fcuhf zUp8=8kMixRA>OASPa`a3hW1C*4h@wr-y62?({q=ApWda0`1AbhF`Vz^CF&97+q5}* z1^j&Uqk0Rz{~cX%AMN)q?>Yq>?%-HccI8gZ!GG29_YSTeQTvzu%g{(au`0RsR4002Of zUw{2tY2S>pm`l_ca5O;EELW*1z-m4X;az`mz5@gt$9K*7#sMGOf`9~E69;_rU(*no z4wuXhPPz@+r#^$19{y?-bQmDulwY6D9bxzJGo>;>b?m3-U48E8=`}t5YIAgLb$K_h z#~-JM*HVYu)oydQ*{w?N)Z5i+bGum;+dl^>wN=J`Z=U-f!J>ciK^d z@N@Z%diz^_n&Tj)rrOv?cX#!XCzlTRy|g_24FHt^>SHf{2S-Q5#KJRpau delta 1666 zcmV-|27URw4!;eM7Y;xO0{{R3wG&oI0000&ktIEUz`($O001`t09lv*;s5{u0d!JM zQvg8b*k%9#0g-xCSad{Xb7OL8aCB*JZU6vyoV}LIZi6rsMAz^YDA`x#k!3ekqAH8# z7my1kxHTrirfvH5HKY-bh~DugI};s`=X!h{uY>2^%l;5-U-$keZ?vdY@DwBukG}UM za#PxWk2vzZl8a+$E+5)3!|iZocy*F?yz;$VG}`_Y`d-nnieJVzU__F~Rt-$D$k0M1 zQ+d`F1*vug0ZGoJu{e|GAKuWy6P%Xkl4qu=mB>ix0i|W%n5pSK%_P%WWa*6lPm^By z#OZ}C1D%RAM9xJTK~xM;A!aPXuoyqH<60?ybc3S~1`-^N9m;ZWuyJ641cu5SSRk^Y z6M@i1Fdf?ncCtZ7H-hQ##sxb000JDB=vJc>jdb4Ru15NAIsxdy=>%s>Ku1m|0DUN3c&?F{Jn$psC*!O?cO$*EH52UN++LrB{GXu;Z zS(3jfs)5_E+W`Oo0002<+V@_-)*YIEdJV&LE0}WZ1^Cv`XBegpI6ruKgi#h=8DxL> zc6>N~I}}fXW7`b)_KFwt*29|(@5)14AXK3 z_cJsGJQN}*{r*>%kr<}!DPr-KyMsLk0{{R300000aJ$n@P4iiM1@Y-zjIq*xG@s$T z_JkkH0YA>Uj*=w@+_JROsT^>*X+Dz{*ryC*)o)Jbw2VW(sGi@_)7^a>K}$H~%Z79H zcv^hE%Q%86mU}t@000000002Y~UMroF*v{Pg_GFJD^s4qich*t!F@ zgEIlQEbZwlYZ+JLYrFD*yLoDVEni(`z?a{~Uk?BP000000068)-}1!G&))d|!*6o- znLZnF^LwcG?00aBooDY`!F@eVK0TYetFCWo3pg9W zsuLb%hvp_(><%8~r5R&~rsn9lgTo7lbjGuM2Su>V@Gf%Kmz%=?^9hfCv_r#bQq5ED z;QST^000000001h1I z9_zEznop0_OLNU>QGlm;-a^6aTy4%=+wc}mnkm5T5@1pkV0ea77oMRLA2FLJKmY&$ z00000R?I(pC#94z3u1Ac9rrZ!70;W*&mzZS3m2q_5oqfcRg_xJMJ+O!2+JSiIwk9xOSz`+qQ zwV8Hs`tl&)kDkbrCAfOr2i4Uy@vWp;4V zK4|ZK2CqH*!y)J}Lcl3M|G0I8^Y0%il>w?_zr3F7b4Rz=bob zW%q?T^x7a_Z`$3%4(=;FgS%UK!0}T=Z~3Q)&Z6hw-qxBc0I){?0%sE+iWU*AJOBUy M07*qoM6N<$f?Fpk7XSbN diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi index 84019c65ed92ec6fd8f2fa3571d8a17c51da98da..69b0cfd63b41e99322ec0793fb7f5cb4eed247b1 100644 GIT binary patch delta 488 zcmVBeXuD0004GNklnIK{uwOd@CF_@jyFi_*()H{1r8h-e-}Un$wTZTfR0@rV|^$<47~HP4ZPq) zfRO-y=$ce8a94Z-&Ic-h_<5s0J4GTGhxoNQ7ZVl8v;h?ipF+HzuapvlqJl38KZv@s z1A!VrA-c<@Q`g&7ja0xeFChg!m$;AN5NSSX%i2c5Ry6w$g1<~;4bwat z+Wjv7N>8qT{va!rO68Bxfx`3>C~#;W+rW$5JZ+F^&_<^X;Ezm!iC1&{=g7Y-l@0{{R3l|zoU0000#ktIVFuLnl$00001bW%=J06^y0W&i*H ze36)Of8bK9tl;YB0(J)gG_xtNBkdn(0002@NklLCf z?}8z)*gkhUULV96&*93fx7(E~e=MfU=?k{y9CwnXW>x@OTTUE;zYB;$@xVS>#4+)L z`Bp#~>{_uS@?e!fkQV6NCuwEwLddc zU@iE{xPX?`iGU*%v_2jyKes1GEil4o@aR$u9_bBC98;uiBi{F&Nf&UYZ-5o>Q6P%i zAf=@C_ug~|P)8AbFTlA$QIB8}$h+?^HaTZgZhDq%#pDn*KeRQA%a{r`{}A?NQe!ys oBw|?RS^hO%J^%beUiqi_29C!Gr!e~dr2qf`07*qoM6N<$f