From 39f6da4c59a1e017ca6b0f84d81eb17a50056d2d Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Thu, 3 May 2012 02:22:25 +0100 Subject: [PATCH] TG: Rewrote blackholes (gravitational anomalies) and wormholes to try and optimise them a little. If you have any concerns about how I've done so just give me a shout and I'll either rework them or revert my changes back. Wormholes especially seem a bit faster on my laptop. Smoke has temporarily been removed from the blackhole event until I get time to investigate why the hell effect_systems are using so much memory ( spark effects were using 40% of my processor a second ago D: ). To compensate this I made them a new sprite. Commented out the authentication system. It was the remnants of the old goon authentication stuff (or maybe even older) and wasn't actually used in our code at all (at least not in any useful way, it was merely called and short-circuited to 1, so all those if(authenticated) were totally pointless. This has removed 3 unused variables from every client, a bunch of unused variables from the config and two empty text files! Committed (as a config option) a feature requested by Apoc station. It causes a 'reply to' window to popup when an admin PMs a non-admin player. It's meant to grab their attention so they can't say "I didn't see your PM". It defaults to off. To turn it on just uncomment the #POPUP_ADMIN_PM line in config/config.txt Fixed a derp in isday where it was fetching the month instead of the day. Removed medal references from Gib() Removed the medal_hub global variables because they aren't used in any way shape or form. Revision: r3444 Author: elly1...@rocketmail.com Date: Apr 12, 2012 --- baystation12.dme | 1 + code/datums/configuration.dm | 17 +-- code/defines/client.dm | 5 + code/defines/global.dm | 2 - code/defines/obj/storage.dm | 2 +- code/game/cellautomata.dm | 2 - code/game/events/EventProcs/black_hole.dm | 141 +++++++++--------- code/game/events/EventProcs/wormholes.dm | 63 ++++++++ code/game/machinery/bots/mulebot.dm | 9 -- code/game/verbs/authorize.dm | 8 +- code/game/verbs/ooc.dm | 14 +- code/game/vote.dm | 2 +- code/modules/admin/admin.dm | 46 +++--- code/modules/admin/verbs/adminsay.dm | 4 +- code/modules/admin/verbs/atmosdebug.dm | 1 + code/modules/admin/verbs/deadsay.dm | 4 +- code/modules/admin/verbs/playsound.dm | 4 +- code/modules/admin/verbs/randomverbs.dm | 2 +- .../admin/verbs/striketeam_syndicate.dm | 3 +- .../living/carbon/alien/humanoid/humanoid.dm | 4 +- .../mob/living/carbon/alien/larva/larva.dm | 4 +- code/modules/mob/living/carbon/carbon.dm | 4 +- code/modules/mob/living/carbon/human/human.dm | 4 +- .../mob/living/carbon/monkey/monkey.dm | 8 + code/modules/mob/mob.dm | 8 +- code/modules/power/antimatter/fuel.dm | 2 +- 26 files changed, 208 insertions(+), 156 deletions(-) create mode 100644 code/game/events/EventProcs/wormholes.dm diff --git a/baystation12.dme b/baystation12.dme index 8eac216fe68..cc4c98ac73f 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -404,6 +404,7 @@ #include "code\game\events\EventProcs\ninja_equipment.dm" #include "code\game\events\EventProcs\space_ninja.dm" #include "code\game\events\EventProcs\spacevines.dm" +#include "code\game\events\EventProcs\wormholes.dm" #include "code\game\events\Events\AlienInfestation.dm" #include "code\game\events\Events\Appendicitis.dm" #include "code\game\events\Events\ElectricalStorm.dm" diff --git a/code/datums/configuration.dm b/code/datums/configuration.dm index 3cef703980d..59c5c6543d9 100644 --- a/code/datums/configuration.dm +++ b/code/datums/configuration.dm @@ -2,9 +2,6 @@ var/server_name = null // server name (for world name / status) var/server_suffix = 0 // generate numeric suffix based on server port - var/medal_hub = null // medal hub name - var/medal_password = null // medal hub password - var/log_ooc = 0 // log OOC channek var/log_access = 0 // log login/logout var/log_say = 0 // log client say @@ -211,12 +208,6 @@ if ("serversuffix") config.server_suffix = 1 - if ("medalhub") - config.medal_hub = value - - if ("medalpass") - config.medal_password = value - if ("hostedby") config.hostedby = value @@ -381,8 +372,8 @@ sqllogging = 1 else diary << "Unknown setting in configuration: '[name]'" - -/*/datum/configuration/proc/loadforumsql(filename) // -- TLE +/* +/datum/configuration/proc/loadforumsql(filename) // -- TLE var/text = file2text(filename) if (!text) @@ -433,8 +424,8 @@ if ("authenticatedgroup") forum_authenticated_group = value else - diary << "Unknown setting in configuration: '[name]'"*/ - + diary << "Unknown setting in configuration: '[name]'" +*/ /datum/configuration/proc/pick_mode(mode_name) // I wish I didn't have to instance the game modes in order to look up // their information, but it is the only way (at least that I know of). diff --git a/code/defines/client.dm b/code/defines/client.dm index d803c6a9e4a..499e7b3dbf4 100644 --- a/code/defines/client.dm +++ b/code/defines/client.dm @@ -14,6 +14,11 @@ //END Admin Things + //Key auth things +// authenticate = 0 +// var/authenticated = 0 +// var/authenticating = 0 + var/listen_ooc = 1 var/move_delay = 1 var/moving = null diff --git a/code/defines/global.dm b/code/defines/global.dm index 1fa0b55e9fe..24e128d0f9d 100644 --- a/code/defines/global.dm +++ b/code/defines/global.dm @@ -151,9 +151,7 @@ var shuttlecoming = 0 join_motd = null - auth_motd = null rules = null - no_auth_motd = null forceblob = 0 custom_event_msg = null diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm index 1c10c5abddc..be2e9bc8bda 100644 --- a/code/defines/obj/storage.dm +++ b/code/defines/obj/storage.dm @@ -332,7 +332,7 @@ /obj/item/weapon/storage/flashbang_kit name = "flashbangs (WARNING)" - desc = "WARNING: Do not use without reading these preautions!\nThese devices are extremely dangerous and can cause blindness or deafness if used incorrectly.\nThe chemicals contained in these devices have been tuned for maximal effectiveness and due to\nextreme safety precuaiotn shave been incased in a tamper-proof pack. DO NOT ATTEMPT TO OPEN\nFLASH WARNING: Do not use continually. Excercise extreme care when detonating in closed spaces.\n\tMake attemtps not to detonate withing range of 2 meters of the intended target. It is imperative\n\tthat the targets visit a medical professional after usage. Damage to eyes increases extremely per\n\tuse and according to range. Glasses with flash resistant filters DO NOT always work on high powered\n\tflash devices such as this. EXERCISE CAUTION REGARDLESS OF CIRCUMSTANCES\nSOUND WARNING: Do not use continually. Visit a medical professional if hearing is lost.\n\tThere is a slight chance per use of complete deafness. Exercise caution and restraint.\nSTUN WARNING: If the intended or unintended target is too close to detonation the resulting sound\n\tand flash have been known to cause extreme sensory overload resulting in temporary\n\tincapacitation.\nDO NOT USE CONTINUALLY\nOperating Directions:\n\t1. Pull detonnation pin. ONCE THE PIN IS PULLED THE GRENADE CAN NOT BE DISARMED!\n\t2. Throw grenade. NEVER HOLD A LIVE FLASHBANG\n\t3. The grenade will detonste 10 seconds hafter being primed. EXCERCISE CAUTION\n\t-Never prime another grenade until after the first is detonated\nNote: Usage of this pyrotechnic device without authorization is an extreme offense and can\nresult in severe punishment upwards of 10 years in prison per use.\n\nDefault 3 second wait till from prime to detonation. This can be switched with a screwdriver\nto 10 seconds.\n\nCopyright of Nanotrasen Industries- Military Armnaments Division\nThis device was created by Nanotrasen Labs a member of the Expert Advisor Corporation" + desc = "" icon_state = "flashbang" item_state = "syringe_kit" foldable = /obj/item/stack/sheet/cardboard //BubbleWrap diff --git a/code/game/cellautomata.dm b/code/game/cellautomata.dm index 5bf3b888a55..b05d22e526d 100644 --- a/code/game/cellautomata.dm +++ b/code/game/cellautomata.dm @@ -19,8 +19,6 @@ /world/proc/load_motd() join_motd = file2text("config/motd.txt") - auth_motd = file2text("config/motd-auth.txt") - no_auth_motd = file2text("config/motd-noauth.txt") /world/proc/load_rules() rules = file2text("config/rules.html") diff --git a/code/game/events/EventProcs/black_hole.dm b/code/game/events/EventProcs/black_hole.dm index 12d0a20f7df..bc69352df5c 100644 --- a/code/game/events/EventProcs/black_hole.dm +++ b/code/game/events/EventProcs/black_hole.dm @@ -2,86 +2,87 @@ name = "black hole" icon = 'objects.dmi' desc = "FUCK FUCK FUCK AAAHHH" - icon_state = "bhole2" - opacity = 0 + icon_state = "bhole3" + opacity = 1 unacidable = 1 density = 0 anchored = 1 - var/datum/effect/effect/system/harmless_smoke_spread/smoke - /obj/effect/bhole/New() - src.smoke = new /datum/effect/effect/system/harmless_smoke_spread() - src.smoke.set_up(5, 0, src) - src.smoke.attach(src) - src:life() + spawn(4) + controller() + +/obj/effect/bhole/proc/controller() + while(src) + + if(!isturf(loc)) + del(src) + return + + //DESTROYING STUFF AT THE EPICENTER + for(var/mob/living/M in orange(1,src)) + del(M) + for(var/obj/O in orange(1,src)) + del(O) + for(var/turf/simulated/ST in orange(1,src)) + ST.ReplaceWithSpace() + + sleep(6) + grav(10, 4, 10, 0 ) + sleep(6) + grav( 8, 4, 10, 0 ) + sleep(6) + grav( 9, 4, 10, 0 ) + sleep(6) + grav( 7, 3, 40, 1 ) + sleep(6) + grav( 5, 3, 40, 1 ) + sleep(6) + grav( 6, 3, 40, 1 ) + sleep(6) + grav( 4, 2, 50, 6 ) + sleep(6) + grav( 3, 2, 50, 6 ) + sleep(6) + grav( 2, 2, 75,25 ) + sleep(6) -/obj/effect/bhole/Bumped(atom/A) - if (istype(A,/mob/living)) - del(A) - else - A:ex_act(1.0) - -/obj/effect/bhole/proc/life() //Oh man , this will LAG - - if (prob(10)) - src.anchored = 0 - step(src,pick(alldirs)) - if (prob(30)) + //MOVEMENT + if( prob(50) ) + src.anchored = 0 step(src,pick(alldirs)) - src.anchored = 1 + src.anchored = 1 - for (var/atom/X in orange(9,src)) - if ((istype(X,/obj) || istype(X,/mob/living)) && prob(7)) - if (!X:anchored) - step_towards(X,src) +/obj/effect/bhole/proc/grav(var/r, var/ex_act_force, var/pull_chance, var/turf_removal_chance) + if(!isturf(loc)) //blackhole cannot be contained inside anything. Weird stuff might happen + del(src) + return + for(var/t = -r, t < r, t++) + affect_coord(x+t, y-r, ex_act_force, pull_chance, turf_removal_chance) + affect_coord(x-t, y+r, ex_act_force, pull_chance, turf_removal_chance) + affect_coord(x+r, y+t, ex_act_force, pull_chance, turf_removal_chance) + affect_coord(x-r, y-t, ex_act_force, pull_chance, turf_removal_chance) + return - for (var/atom/B in orange(7,src)) - if (istype(B,/obj)) - if (!B:anchored && prob(50)) - step_towards(B,src) - if(prob(10)) B:ex_act(3.0) +/obj/effect/bhole/proc/affect_coord(var/x, var/y, var/ex_act_force, var/pull_chance, var/turf_removal_chance) + //Get turf at coordinate + var/turf/T = locate(x, y, z) + if(isnull(T)) return + + //Pulling and/or ex_act-ing movable atoms in that turf + if( prob(pull_chance) ) + for(var/obj/O in T.contents) + if(O.anchored) + O.ex_act(ex_act_force) else - B:anchored = 0 - //step_towards(B,src) - //B:anchored = 1 - if(prob(10)) B:ex_act(3.0) - else if (istype(B,/turf)) - if (istype(B,/turf/simulated) && (prob(1) && prob(75))) - src.smoke.start() - B:ReplaceWithSpace() - else if (istype(B,/mob/living)) - step_towards(B,src) + step_towards(O,src) + for(var/mob/living/M in T.contents) + step_towards(M,src) - - for (var/atom/A in orange(4,src)) - if (istype(A,/obj)) - if (!A:anchored && prob(90)) - step_towards(A,src) - if(prob(30)) A:ex_act(2.0) - else - A:anchored = 0 - //step_towards(A,src) - //A:anchored = 1 - if(prob(30)) A:ex_act(2.0) - else if (istype(A,/turf)) - if (istype(A,/turf/simulated) && prob(1)) - src.smoke.start() - A:ReplaceWithSpace() - else if (istype(A,/mob/living)) - step_towards(A,src) - - - for (var/atom/D in orange(1,src)) - //if (hascall(D,"blackholed")) - // call(D,"blackholed")(null) - // continue - if (istype(D,/mob/living)) - del(D) - else - D:ex_act(1.0) - - spawn(17) - life() \ No newline at end of file + //Destroying the turf + if( T && istype(T,/turf/simulated) && prob(turf_removal_chance) ) + var/turf/simulated/ST = T + ST.ReplaceWithSpace() + return \ No newline at end of file diff --git a/code/game/events/EventProcs/wormholes.dm b/code/game/events/EventProcs/wormholes.dm new file mode 100644 index 00000000000..31a9b282005 --- /dev/null +++ b/code/game/events/EventProcs/wormholes.dm @@ -0,0 +1,63 @@ +/proc/wormhole_event() + spawn() + var/list/pick_turfs = list() + for(var/turf/simulated/floor/T in world) + if(T.z == 1) + pick_turfs += T + + if(pick_turfs.len) + //All ready. Announce that bad juju is afoot. + command_alert("Space-time anomalies detected on the station. There is no additional data.", "Anomaly Alert") + world << sound('spanomalies.ogg') + + //prob(20) can be approximated to 1 wormhole every 5 turfs! + //admittedly less random but totally worth it >_< + var/event_duration = 3000 //~5 minutes in ticks + var/number_of_selections = (pick_turfs.len/5)+1 //+1 to avoid division by zero! + var/sleep_duration = round( event_duration / number_of_selections ) + var/end_time = world.time + event_duration //the time by which the event should have ended + + var/increment = max(1,round(number_of_selections/50)) +// world << "DEBUG: number_of_selections: [number_of_selections] | sleep_duration: [sleep_duration]" + + var/i = 1 + while( 1 ) + + //we've run into overtime. End the event + if( end_time < world.time ) +// world << "DEBUG: we've run into overtime. End the event" + return + if( !pick_turfs.len ) +// world << "DEBUG: we've run out of turfs to pick. End the event" + return + + //loop it round + i += increment + i %= pick_turfs.len + i++ + + //get our enter and exit locations + var/turf/simulated/floor/enter = pick_turfs[i] + pick_turfs -= enter //remove it from pickable turfs list + if( !enter || !istype(enter) ) continue //sanity + + var/turf/simulated/floor/exit = pick(pick_turfs) + pick_turfs -= exit + if( !exit || !istype(exit) ) continue //sanity + + create_wormhole(enter,exit) + + sleep(sleep_duration) //have a well deserved nap! + + +//maybe this proc can even be used as an admin tool for teleporting players without ruining immulsions? +/proc/create_wormhole(var/turf/enter as turf, var/turf/exit as turf) + var/obj/effect/portal/P = new /obj/effect/portal( enter ) + P.target = exit + P.creator = null + P.icon = 'objects.dmi' + P.failchance = 0 + P.icon_state = "anom" + P.name = "wormhole" + spawn(rand(300,600)) + del(P) \ No newline at end of file diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm index eb4135f4104..8db9eabe4a1 100644 --- a/code/game/machinery/bots/mulebot.dm +++ b/code/game/machinery/bots/mulebot.dm @@ -792,15 +792,6 @@ src.visible_message("\red [src] drives over [H]!") playsound(src.loc, 'splat.ogg', 50, 1) - /* - if(ismob(load)) - var/mob/M = load - if(M.reagents.has_reagent("beer")) - M.unlock_medal("DUI", 1) - if(M.reagents.has_reagent("space_drugs") && istype(H) && H.wear_id.assignment == "Security Officer") - M.unlock_medel("Ridin' Dirty",1) - */ - var/damage = rand(5,15) H.apply_damage(2*damage, BRUTE, "head") H.apply_damage(2*damage, BRUTE, "chest") diff --git a/code/game/verbs/authorize.dm b/code/game/verbs/authorize.dm index 5e2d59a6035..2129eb67d45 100644 --- a/code/game/verbs/authorize.dm +++ b/code/game/verbs/authorize.dm @@ -1,7 +1,4 @@ /* - -The old goon auth/beta code is here: - /client/proc/authorize() set name = "Authorize" @@ -45,8 +42,9 @@ The old goon auth/beta code is here: src << "Try again using the Authorize command, sometimes the server will hiccup and not correctly authorize." src << "\blue[no_auth_motd]" src.authenticating = 0 +*/ - +/* The old goon auth/beta code is here /client/proc/beta_tester_auth() set name = "Tester?" /*if(istester(src)) @@ -167,4 +165,4 @@ var/list/beta_tester_keylist goon_savefile() return 1 return 0 -*/ +*/ \ No newline at end of file diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 4f8a60a2f93..9060defb328 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -12,7 +12,9 @@ /mob/verb/ooc(msg as text) set name = "OOC" //Gave this shit a shorter name so you only have to time out "ooc" rather than "ooc message" to use it --NeoFite set category = "OOC" - + if (IsGuestKey(src.key)) + src << "You are not authorized to communicate over these channels." + return msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN) if(!msg) return @@ -36,17 +38,15 @@ for (var/client/C) if (src.client.holder && (!src.client.stealth || C.holder)) -// C << "OOC: [src.key]: [msg]" if (src.client.holder.rank == "Admin Observer") - C << "OOC: [src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]: [msg]" + C << "OOC: [src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]: [msg]" else if (src.client.holder.rank == "Retired Admin") - C << "OOC: [src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]: [msg]" + C << "OOC: [src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]: [msg]" else - C << "OOC: [src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]: [msg]" + C << "OOC: [src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]: [msg]" else if (C.listen_ooc) - C << "OOC: [src.client.stealth ? src.client.fakekey : src.key]: [msg]" - + C << "OOC: [src.client.stealth ? src.client.fakekey : src.key]: [msg]" /* /mob/verb/goonsay(msg as text) set name = "Goonsay" diff --git a/code/game/vote.dm b/code/game/vote.dm index f475c37f7a7..0c87858e845 100644 --- a/code/game/vote.dm +++ b/code/game/vote.dm @@ -408,7 +408,7 @@ for(var/mob/CM in world) if(CM.client) - if(config.vote_no_default || (config.vote_no_dead && CM.stat == 2)) + if( config.vote_no_default || (config.vote_no_dead && CM.stat == 2) ) CM.client.vote = "none" else CM.client.vote = "default" diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 71811b312da..5897f2cded8 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1049,6 +1049,16 @@ var/global/BSACooldown = 0 log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Observer.)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Observer.)", 1) +// if (href_list["adminauth"]) +// if ((src.rank in list( "Admin Candidate", "Temporary Admin", "Trial Admin", "Badmin", "Game Admin", "Game Master" ))) +// var/mob/M = locate(href_list["adminauth"]) +// if (ismob(M) && !M.client.authenticated && !M.client.authenticating) +// M.client.verbs -= /client/proc/authorize +// M.client.authenticated = text("admin/[]", usr.client.authenticated) +// log_admin("[key_name(usr)] authorized [key_name(M)]") +// message_admins("\blue [key_name_admin(usr)] authorized [key_name_admin(M)]", 1) +// M.client << text("You have been authorized by []", usr.key) + if (href_list["revive"]) if ((src.rank in list( "Trial Admin", "Badmin", "Game Admin", "Game Master" ))) var/mob/living/M = locate(href_list["revive"]) @@ -1904,30 +1914,16 @@ var/global/BSACooldown = 0 world << sound('granomalies.ogg') var/turf/T = pick(blobstart) var/obj/effect/bhole/bh = new /obj/effect/bhole( T.loc, 30 ) - spawn(rand(50, 300)) + spawn(rand(100, 600)) del(bh) - if("timeanomalies") - command_alert("Space-time anomalies detected on the station. There is no additional data.", "Anomaly Alert") - world << sound('spanomalies.ogg') - var/list/turfs = list( ) - var/turf/picked - for(var/turf/T in world) - if(T.z == 1 && istype(T,/turf/simulated/floor) && !istype(T,/turf/space)) - turfs += T - for(var/turf/T in world) - set background = 1 - if(prob(20) && T.z == 1 && istype(T,/turf/simulated/floor)) - spawn(50+rand(0,3000)) - picked = pick(turfs) - var/obj/effect/portal/P = new /obj/effect/portal( T ) - P.target = picked - P.creator = null - P.icon = 'objects.dmi' - P.failchance = 0 - P.icon_state = "anom" - P.name = "wormhole" - spawn(rand(300,600)) - del(P) + + if("timeanomalies") //dear god this code was awful :P Still needs further optimisation + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","STA") + //moved to its own dm so I could split it up and prevent the spawns copying variables over and over + //can be found in code\game\game_modes\events\wormholes.dm + wormhole_event() + if("goblob") //feedback_inc("admin_secrets_fun_used",1) //feedback_add_details("admin_secrets_fun_used","BL") @@ -2354,6 +2350,10 @@ var/global/BSACooldown = 0 var/dat = "Options for [M.key]" var/foo = " " if (ismob(M) && M.client) +// if(!M.client.authenticated && !M.client.authenticating) +// foo += text("Authorize | ") +// else +// foo += text("Authorized | ") foo += text("Promote/Demote | ") if(!istype(M, /mob/new_player)) if(!ismonkey(M)) diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index cff3f989427..92165d06a2f 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -3,8 +3,6 @@ set name = "Asay" //Gave this shit a shorter name so you only have to time out "asay" rather than "admin say" to use it --NeoFite set hidden = 1 - // All admins should be authenticated, but... what if? - if (!src.holder) src << "Only administrators may use this command." return @@ -24,7 +22,7 @@ for (var/mob/M in world) if (M.client && M.client.holder) if (src.holder.rank == "Admin Observer") - M << "ADMIN: [key_name(usr, M)]: [msg]" + M << "ADMIN: [key_name(usr, M)]: [msg]" else M << "ADMIN: [key_name(usr, M)] (JMP): [msg]" diff --git a/code/modules/admin/verbs/atmosdebug.dm b/code/modules/admin/verbs/atmosdebug.dm index 84910af33cb..7e4cb2efaaa 100644 --- a/code/modules/admin/verbs/atmosdebug.dm +++ b/code/modules/admin/verbs/atmosdebug.dm @@ -4,6 +4,7 @@ if(!src.holder) src << "Only administrators may use this command." return + //feedback_add_details("admin_verb","CP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! for (var/obj/machinery/atmospherics/plumbing in world) if (plumbing.nodealert) diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm index 3d76105f862..6fc867c966e 100644 --- a/code/modules/admin/verbs/deadsay.dm +++ b/code/modules/admin/verbs/deadsay.dm @@ -23,4 +23,6 @@ if (istype(M, /mob/new_player)) continue if (M.stat == 2 || (M.client && M.client.holder && M.client.deadchat)) //admins can toggle deadchat on and off. This is a proc in admin.dm and is only give to Administrators and above - M.show_message(rendered, 2) \ No newline at end of file + M.show_message(rendered, 2) + + //feedback_add_details("admin_verb","D") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! \ No newline at end of file diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm index 48210e226a7..4ca0125f63a 100644 --- a/code/modules/admin/verbs/playsound.dm +++ b/code/modules/admin/verbs/playsound.dm @@ -31,6 +31,7 @@ else usr << "You already used up your jukebox monies this round!" del(uploaded_sound) + //feedback_add_details("admin_verb","PGS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/play_local_sound(S as sound) @@ -46,6 +47,7 @@ message_admins("[key_name_admin(src)] played a local sound [S]", 1) playsound(get_turf_loc(src.mob), S, 50, 0, 0) return + //feedback_add_details("admin_verb","PLS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /* @@ -62,7 +64,7 @@ for(var/mob/living/carbon/human/CP in world) if(CP.real_name=="Cuban Pete" && CP.key!="Rosham") CP << "Your body can't contain the rhumba beat" - CP.gib(1) + CP.gib() /client/proc/bananaphone() diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index d16e9aa2a84..25d225bb920 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -907,7 +907,7 @@ Traitors and the like can also be revived with the previous role mostly intact. config.allow_random_events = 0 usr << "Random events disabled" message_admins("Admin [key_name_admin(usr)] has disabled random events.", 1) - feedback_add_details("admin_verb","TRE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + //feedback_add_details("admin_verb","TRE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/rnd_check_designs() set category = "Debug" diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm index a07c3860937..8f4a15d6f72 100644 --- a/code/modules/admin/verbs/striketeam_syndicate.dm +++ b/code/modules/admin/verbs/striketeam_syndicate.dm @@ -37,7 +37,6 @@ var/global/sent_syndicate_strike_team = 0 if (emergency_shuttle.direction == 1 && emergency_shuttle.online == 1) emergency_shuttle.recall() - world << "\blue Alert: The shuttle is going back!" var/syndicate_commando_number = syndicate_commandos_possible //for selecting a leader var/syndicate_leader_selected = 0 //when the leader is chosen. The last person spawned. @@ -145,7 +144,7 @@ var/global/sent_syndicate_strike_team = 0 camera.c_tag = real_name var/obj/item/device/radio/R = new /obj/item/device/radio/headset(src) - R.set_frequency(NUKE_FREQ) //Same frequency as the syndicate team in Nuke mode. + R.set_frequency(NUKE_FREQ) //Same frequency as the syndicate team in Nuke mode. DMTG equip_if_possible(R, slot_ears) equip_if_possible(new /obj/item/clothing/under/syndicate(src), slot_w_uniform) equip_if_possible(new /obj/item/clothing/shoes/swat(src), slot_shoes) diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index e44e5937a06..52fd1b1ac25 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -90,7 +90,7 @@ flick("flash", flash) // if (stat == 2 && client) -// gib(1) +// gib() // return // else if (stat == 2 && !client) @@ -105,7 +105,7 @@ switch (severity) if (1.0) b_loss += 500 - gib(1) + gib() return if (2.0) diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 3388ae322c6..5e0a8156a7b 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -80,7 +80,7 @@ flick("flash", flash) /* if (stat == 2 && client) - gib(1) + gib() return else if (stat == 2 && !client) @@ -93,7 +93,7 @@ switch (severity) if (1.0) b_loss += 500 - gib(1) + gib() return if (2.0) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 12af315a253..d61d24d29bf 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -35,7 +35,7 @@ if(prob(src.getBruteLoss() - 50)) src.gib() -/mob/living/carbon/gib(give_medal,ex_act) +/mob/living/carbon/gib() for(var/mob/M in src) if(M in src.stomach_contents) src.stomach_contents.Remove(M) @@ -43,7 +43,7 @@ for(var/mob/N in viewers(src, null)) if(N.client) N.show_message(text("\red [M] bursts out of [src]!"), 2) - . = ..(ex_act) + . = ..() /mob/living/carbon/attack_hand(mob/M as mob) if (M.hand) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index fceb3cce172..f6a90249965 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -335,7 +335,7 @@ // /obj/item/clothing/head/bomb_hood(src) /* if (stat == 2 && client) - gib(1) + gib() return else if (stat == 2 && !client) @@ -350,7 +350,7 @@ if (1.0) b_loss += 500 if (!prob(getarmor(null, "bomb"))) - gib(1,1) + gib() return else var/atom/target = get_edge_target_turf(src, get_dir(src, get_step_away(src, src))) diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index c3356f4d644..a39ff6a39d0 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -677,6 +677,14 @@ /mob/living/carbon/monkey/ex_act(severity) flick("flash", flash) +/* if (stat == 2 && client) + gib() + return + + if (stat == 2 && !client) + gibs(loc, viruses) + del(src) + return*/ switch(severity) if(1.0) if (stat != 2) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 07480addce1..346a318d3e2 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -840,9 +840,9 @@ for(var/mob/M in viewers()) M.see(message) -//This is the proc for gibbing a mob. Cannot gib ghosts. Removed the medal reference, +//This is the proc for gibbing a mob. Cannot gib ghosts. //added different sort of gibs and animations. N -/mob/proc/gib(var/ex_act = 0) +/mob/proc/gib() if (istype(src, /mob/dead/observer)) gibs(loc, viruses) @@ -901,10 +901,6 @@ Currently doesn't work, but should be useful later or at least as a template else gibs(loc, viruses, dna) sleep(15) - for(var/obj/item/I in contents) - I.loc = get_turf(src) - if(ex_act) - I.ex_act(ex_act) del(src) /* diff --git a/code/modules/power/antimatter/fuel.dm b/code/modules/power/antimatter/fuel.dm index 2d6b279812b..71b22d32647 100644 --- a/code/modules/power/antimatter/fuel.dm +++ b/code/modules/power/antimatter/fuel.dm @@ -75,7 +75,7 @@ /obj/item/weapon/fuel/proc/injest(mob/M as mob) switch(content) if("Anti-Hydrogen") - M.gib(1) + M.gib() if("Hydrogen") M << "\blue You feel very light, as if you might just float away..." del(src)