diff --git a/code/defines/procs/helpers.dm b/code/defines/procs/helpers.dm index cb52e0c0ac2..a1341d2dcac 100644 --- a/code/defines/procs/helpers.dm +++ b/code/defines/procs/helpers.dm @@ -816,6 +816,8 @@ Turf and target are seperate in case you want to teleport some distance from a t mob_list.Add(M) for(var/mob/living/carbon/monkey/M in world) mob_list.Add(M) + for(var/mob/living/carbon/metroid/M in world) + mob_list.Add(M) // for(var/mob/living/silicon/hivebot/M in world) // mob_list.Add(M) // for(var/mob/living/silicon/hive_mainframe/M in world) diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index f13807844b3..ad2681b6fe6 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -15,6 +15,8 @@ var/global/datum/controller/gameticker/ticker var/event_time = null var/event = 0 + var/login_music // music played in pregame lobby + var/list/datum/mind/minds = list()//The people in the game. Used for objective tracking. var/Bible_icon_state // icon_state the chaplain has chosen for his bible @@ -26,7 +28,9 @@ var/global/datum/controller/gameticker/ticker var/pregame_timeleft = 0 + /datum/controller/gameticker/proc/pregame() + login_music = pick('title1.ogg', 'title2.ogg') // choose title music! do pregame_timeleft = 90 diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 2d9c63a2c57..100b1434bb3 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -447,8 +447,15 @@ src.eject_wait = 0 src.occupant = new /mob/living/carbon/human(src) + + occupant:UI = UI // set interface preference + ghost.client.mob = src.occupant + src.occupant.hud_used = new/obj/hud( src ) + // probably redundant because previous line calls mob/Login() which does this line of code + // but until this is proven useless keep it for safety - Doohl + src.icon_state = "pod_1" //Get the clone body ready src.occupant.rejuv = 10 @@ -503,9 +510,6 @@ // -- End mode specific stuff - occupant:UI = UI - - if(istype(ghost, /mob/dead/observer)) del(ghost) //Don't leave ghosts everywhere!! diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 76a21504d36..ab973012467 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -96,7 +96,7 @@ if(src.authenticated==2) if(message_cooldown) return var/input = input(usr, "Please choose a message to announce to the station crew.", "What?", "") - if(!input) + if(!input || !(usr in view(1,src))) return captain_announce(input)//This should really tell who is, IE HoP, CE, HoS, RD, Captain log_say("[key_name(usr)] has made a captain announcement: [input]") diff --git a/code/game/objects/radio/radio.dm b/code/game/objects/radio/radio.dm index f35d74734d9..7c6f352e911 100644 --- a/code/game/objects/radio/radio.dm +++ b/code/game/objects/radio/radio.dm @@ -367,9 +367,16 @@ return */ /obj/item/device/radio/proc/send_hear(freq) + /* + + I'm removing this because this is apparently a REALLY REALLY bad thing and causes + people's transmissions to get cut off. This also means radios have no delay. A + fair price to pay for reliable radios. -- Doohl + if(last_transmission && world.time < (last_transmission + TRANSMISSION_DELAY)) return last_transmission = world.time + */ if (!(wires & WIRE_RECEIVE)) return if (!freq) //recieved on main frequency diff --git a/code/game/verbs/sound.dm b/code/game/verbs/sound.dm index cced7b67b23..c2ae2911c6f 100644 --- a/code/game/verbs/sound.dm +++ b/code/game/verbs/sound.dm @@ -13,4 +13,19 @@ M << sound(null, 0, 0, 777) // breaks the client's sound output on channel 777 M << "You will now [M.client.midis? "start":"stop"] receiving any sounds uploaded by admins[M.client.midis? "":", and any current midis playing have been disabled"]." + return + + + +/mob/verb/toggletitlemusic() + set category = "Special Verbs" + set name = "Toggle Pregame Music" + set desc = "Stops the pregame lobby music from playing." + + if(istype(usr,/mob/new_player)) + var/mob/M = usr + + if(M.client) + M << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) // stop the jamsz + return \ No newline at end of file diff --git a/code/modules/chemical/Chemistry-Recipes.dm b/code/modules/chemical/Chemistry-Recipes.dm index 36183d6f889..1b514af0bd2 100644 --- a/code/modules/chemical/Chemistry-Recipes.dm +++ b/code/modules/chemical/Chemistry-Recipes.dm @@ -526,9 +526,33 @@ datum /////////////////////////////////////METROID CORE REACTIONS /////////////////////////////// + metroidpepper + name = "Metroid Condensedcapaicin" + id = "m_condensedcapaicin" + result = "condensedcapsaicin" + required_reagents = list("sugar" = 1) + result_amount = 1 + required_container = /obj/item/metroid_core + required_other = 1 + metroidfrost + name = "Metroid Frost Oil" + id = "m_frostoil" + result = "frostoil" + required_reagents = list("water" = 1) + result_amount = 1 + required_container = /obj/item/metroid_core + required_other = 1 + metroidglycerol + name = "Metroid Glycerol" + id = "m_glycerol" + result = "glycerol" + required_reagents = list("blood" = 1) + result_amount = 1 + required_container = /obj/item/metroid_core + required_other = 1 metroid_explosion - name = "Explosion" + name = "Metroid Explosion" id = "m_explosion" result = null required_reagents = list("blood" = 1) @@ -633,9 +657,10 @@ datum playsound(TO, 'phasein.ogg', 100, 1) var/list/flashers = list() - for(var/mob/living/carbon/M in viewers(TO, null)) - flick("e_flash", M.flash) // flash dose faggots - flashers += M + for(var/mob/living/carbon/human/M in viewers(TO, null)) + if(M:eyecheck() <= 0) + flick("e_flash", M.flash) // flash dose faggots + flashers += M var/y_distance = TO.y - FROM.y var/x_distance = TO.x - FROM.x @@ -677,8 +702,9 @@ datum playsound(get_turf_loc(holder.my_atom), 'phasein.ogg', 100, 1) - for(var/mob/living/carbon/M in viewers(get_turf_loc(holder.my_atom), null)) - flick("e_flash", M.flash) + for(var/mob/living/carbon/human/M in viewers(get_turf_loc(holder.my_atom), null)) + if(M:eyecheck() <= 0) + flick("e_flash", M.flash) for(var/i = 1, i <= created_volume, i++) var/chosen = pick(critters) @@ -702,8 +728,9 @@ datum playsound(get_turf_loc(holder.my_atom), 'phasein.ogg', 100, 1) - for(var/mob/living/carbon/M in viewers(get_turf_loc(holder.my_atom), null)) - flick("e_flash", M.flash) + for(var/mob/living/carbon/human/M in viewers(get_turf_loc(holder.my_atom), null)) + if(M:eyecheck() <= 0) + flick("e_flash", M.flash) for(var/i = 1, i <= created_volume, i++) var/chosen = pick(borks) diff --git a/code/modules/critters/critters.dm b/code/modules/critters/critters.dm index 5163d264ce2..d79500fe3fb 100644 --- a/code/modules/critters/critters.dm +++ b/code/modules/critters/critters.dm @@ -20,6 +20,7 @@ melee_damage_upper = 50 angertext = "runs" attacktext = "chomps" + attack_sound = 'bite.ogg' /obj/effect/critter/roach @@ -122,6 +123,7 @@ melee_damage_upper = 8 angertext = "charges" attacktext = "hits" + attack_sound = 'genhit1.ogg' Die() ..() diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 148522672ca..6c52670480e 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -132,6 +132,7 @@ message = dd_replacetext(message, "grief", "grife") message = dd_replacetext(message, "space", "spess") message = dd_replacetext(message, "carp", "crap") + message = dd_replacetext(message, "reason", "raisin") if(prob(50)) message = uppertext(message) message += "[stutter(pick("!", "!!", "!!!"))]" @@ -161,6 +162,7 @@ message_range = 1 italics = 1 + if ("secure headset") if (src:ears) src:ears.talk_into(src, message, 1) diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 75bf5761a3b..f64a65fed0e 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -21,6 +21,8 @@ mind.key = key mind.current = src + spawn() Playmusic() // git some tunes up in heeyaa~ + var/starting_loc = pick(newplayer_start) if(!starting_loc) starting_loc = locate(1,1,1) loc = starting_loc @@ -94,6 +96,7 @@ src << browse_rsc('sos_14.png') //End PDA Resource Initialisation =====================================================> + Logout() ready = 0 ..() @@ -124,6 +127,21 @@ src << browse(output,"window=playersetup;size=250x210;can_close=0") return + proc/Playmusic() + while(!ticker) // wait for ticker to be created + sleep(1) + + var/waits = 0 + var/maxwaits = 100 + while(!ticker.login_music) + sleep(2) + + waits++ // prevents DDoSing the server via badminery + if(waits >= maxwaits) + break + + src << sound(ticker.login_music, repeat = 0, wait = 0, volume = 85, channel = 1) // MAD JAMS + Stat() ..() @@ -338,6 +356,9 @@ else preferences.copy_to(new_character) + src << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) // MAD JAMS cant last forever yo + + new_character.dna.ready_dna(new_character) if(mind) mind.transfer_to(new_character) diff --git a/html/changelog.html b/html/changelog.html index b14c0a42a51..7230850aac5 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -54,6 +54,16 @@ Stuff which is in development and not yet visible to players or just code relate (ie. code improvements for expandability, etc.) should not be listed here. They should be listed in the changelog upon commit tho. Thanks. --> +10 December 2011 + + 8 December 2011
  • Errorage updated: @@ -126,15 +136,6 @@ should be listed in the changelog upon commit tho. Thanks. -->
-22 November 2011 -
    -
  • Doohl updated: -
      -
    • The firing range now has a purpose. Go check it out; there's a few surprises!
    • -
    -
  • -
- 22 November 2011
  • Doohl updated: