mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
TG update: Small changes and bugfixes:
◦ Metroids can now be observed by ghosts.
◦ Saved User Interface preferences ("Old UI" & "New UI") now correctly get transferred to clones.
◦ Captain announcements now require the player to be next to the console. (Issue 220)
◦ Radio headsets no longer sometimes fail to deliver the messages (Issue 221)
◦ Some other insignificant back-end shenanigans.
◦ The pregame lobby now has title music. The gameticker chooses between two .ogg files on game start and plays that for everyone who joins. The music stops when create_character() gets called though.
◦ Gave some critters, namely "creature" and "blob" some attack sounds.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2655 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
committed by
Albert Iordache
parent
fac10fb031
commit
75c7670e75
@@ -818,6 +818,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)
|
||||
|
||||
@@ -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 = 180
|
||||
|
||||
@@ -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!!
|
||||
|
||||
|
||||
@@ -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]")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
..()
|
||||
|
||||
@@ -140,6 +140,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("!", "!!", "!!!"))]"
|
||||
@@ -174,6 +175,7 @@
|
||||
message_range = 1
|
||||
italics = 1
|
||||
|
||||
|
||||
if ("secure headset")
|
||||
if (src:l_ear && istype(src:l_ear,/obj/item/device/radio))
|
||||
src:l_ear.talk_into(src, message, 1)
|
||||
|
||||
@@ -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
|
||||
..()
|
||||
@@ -125,6 +128,21 @@
|
||||
src << browse(output,"window=playersetup;size=250x233;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()
|
||||
..()
|
||||
|
||||
@@ -343,6 +361,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)
|
||||
|
||||
Reference in New Issue
Block a user