mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +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)
|
mob_list.Add(M)
|
||||||
for(var/mob/living/carbon/monkey/M in world)
|
for(var/mob/living/carbon/monkey/M in world)
|
||||||
mob_list.Add(M)
|
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)
|
// for(var/mob/living/silicon/hivebot/M in world)
|
||||||
// mob_list.Add(M)
|
// mob_list.Add(M)
|
||||||
// for(var/mob/living/silicon/hive_mainframe/M in world)
|
// 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_time = null
|
||||||
var/event = 0
|
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/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
|
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
|
var/pregame_timeleft = 0
|
||||||
|
|
||||||
|
|
||||||
/datum/controller/gameticker/proc/pregame()
|
/datum/controller/gameticker/proc/pregame()
|
||||||
|
login_music = pick('title1.ogg', 'title2.ogg') // choose title music!
|
||||||
|
|
||||||
do
|
do
|
||||||
pregame_timeleft = 180
|
pregame_timeleft = 180
|
||||||
|
|||||||
@@ -447,8 +447,15 @@
|
|||||||
src.eject_wait = 0
|
src.eject_wait = 0
|
||||||
|
|
||||||
src.occupant = new /mob/living/carbon/human(src)
|
src.occupant = new /mob/living/carbon/human(src)
|
||||||
|
|
||||||
|
occupant:UI = UI // set interface preference
|
||||||
|
|
||||||
ghost.client.mob = src.occupant
|
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"
|
src.icon_state = "pod_1"
|
||||||
//Get the clone body ready
|
//Get the clone body ready
|
||||||
src.occupant.rejuv = 10
|
src.occupant.rejuv = 10
|
||||||
@@ -503,9 +510,6 @@
|
|||||||
|
|
||||||
// -- End mode specific stuff
|
// -- End mode specific stuff
|
||||||
|
|
||||||
occupant:UI = UI
|
|
||||||
|
|
||||||
|
|
||||||
if(istype(ghost, /mob/dead/observer))
|
if(istype(ghost, /mob/dead/observer))
|
||||||
del(ghost) //Don't leave ghosts everywhere!!
|
del(ghost) //Don't leave ghosts everywhere!!
|
||||||
|
|
||||||
|
|||||||
@@ -96,7 +96,7 @@
|
|||||||
if(src.authenticated==2)
|
if(src.authenticated==2)
|
||||||
if(message_cooldown) return
|
if(message_cooldown) return
|
||||||
var/input = input(usr, "Please choose a message to announce to the station crew.", "What?", "")
|
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
|
return
|
||||||
captain_announce(input)//This should really tell who is, IE HoP, CE, HoS, RD, Captain
|
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]")
|
log_say("[key_name(usr)] has made a captain announcement: [input]")
|
||||||
|
|||||||
@@ -367,9 +367,16 @@
|
|||||||
return
|
return
|
||||||
*/
|
*/
|
||||||
/obj/item/device/radio/proc/send_hear(freq)
|
/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))
|
if(last_transmission && world.time < (last_transmission + TRANSMISSION_DELAY))
|
||||||
return
|
return
|
||||||
last_transmission = world.time
|
last_transmission = world.time
|
||||||
|
*/
|
||||||
if (!(wires & WIRE_RECEIVE))
|
if (!(wires & WIRE_RECEIVE))
|
||||||
return
|
return
|
||||||
if (!freq) //recieved on main frequency
|
if (!freq) //recieved on main frequency
|
||||||
|
|||||||
@@ -14,3 +14,18 @@
|
|||||||
|
|
||||||
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"]."
|
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
|
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 ///////////////////////////////
|
/////////////////////////////////////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
|
metroid_explosion
|
||||||
name = "Explosion"
|
name = "Metroid Explosion"
|
||||||
id = "m_explosion"
|
id = "m_explosion"
|
||||||
result = null
|
result = null
|
||||||
required_reagents = list("blood" = 1)
|
required_reagents = list("blood" = 1)
|
||||||
@@ -633,9 +657,10 @@ datum
|
|||||||
playsound(TO, 'phasein.ogg', 100, 1)
|
playsound(TO, 'phasein.ogg', 100, 1)
|
||||||
|
|
||||||
var/list/flashers = list()
|
var/list/flashers = list()
|
||||||
for(var/mob/living/carbon/M in viewers(TO, null))
|
for(var/mob/living/carbon/human/M in viewers(TO, null))
|
||||||
flick("e_flash", M.flash) // flash dose faggots
|
if(M:eyecheck() <= 0)
|
||||||
flashers += M
|
flick("e_flash", M.flash) // flash dose faggots
|
||||||
|
flashers += M
|
||||||
|
|
||||||
var/y_distance = TO.y - FROM.y
|
var/y_distance = TO.y - FROM.y
|
||||||
var/x_distance = TO.x - FROM.x
|
var/x_distance = TO.x - FROM.x
|
||||||
@@ -677,8 +702,9 @@ datum
|
|||||||
|
|
||||||
playsound(get_turf_loc(holder.my_atom), 'phasein.ogg', 100, 1)
|
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))
|
for(var/mob/living/carbon/human/M in viewers(get_turf_loc(holder.my_atom), null))
|
||||||
flick("e_flash", M.flash)
|
if(M:eyecheck() <= 0)
|
||||||
|
flick("e_flash", M.flash)
|
||||||
|
|
||||||
for(var/i = 1, i <= created_volume, i++)
|
for(var/i = 1, i <= created_volume, i++)
|
||||||
var/chosen = pick(critters)
|
var/chosen = pick(critters)
|
||||||
@@ -702,8 +728,9 @@ datum
|
|||||||
|
|
||||||
playsound(get_turf_loc(holder.my_atom), 'phasein.ogg', 100, 1)
|
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))
|
for(var/mob/living/carbon/human/M in viewers(get_turf_loc(holder.my_atom), null))
|
||||||
flick("e_flash", M.flash)
|
if(M:eyecheck() <= 0)
|
||||||
|
flick("e_flash", M.flash)
|
||||||
|
|
||||||
for(var/i = 1, i <= created_volume, i++)
|
for(var/i = 1, i <= created_volume, i++)
|
||||||
var/chosen = pick(borks)
|
var/chosen = pick(borks)
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
melee_damage_upper = 50
|
melee_damage_upper = 50
|
||||||
angertext = "runs"
|
angertext = "runs"
|
||||||
attacktext = "chomps"
|
attacktext = "chomps"
|
||||||
|
attack_sound = 'bite.ogg'
|
||||||
|
|
||||||
|
|
||||||
/obj/effect/critter/roach
|
/obj/effect/critter/roach
|
||||||
@@ -122,6 +123,7 @@
|
|||||||
melee_damage_upper = 8
|
melee_damage_upper = 8
|
||||||
angertext = "charges"
|
angertext = "charges"
|
||||||
attacktext = "hits"
|
attacktext = "hits"
|
||||||
|
attack_sound = 'genhit1.ogg'
|
||||||
|
|
||||||
Die()
|
Die()
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -140,6 +140,7 @@
|
|||||||
message = dd_replacetext(message, "grief", "grife")
|
message = dd_replacetext(message, "grief", "grife")
|
||||||
message = dd_replacetext(message, "space", "spess")
|
message = dd_replacetext(message, "space", "spess")
|
||||||
message = dd_replacetext(message, "carp", "crap")
|
message = dd_replacetext(message, "carp", "crap")
|
||||||
|
message = dd_replacetext(message, "reason", "raisin")
|
||||||
if(prob(50))
|
if(prob(50))
|
||||||
message = uppertext(message)
|
message = uppertext(message)
|
||||||
message += "[stutter(pick("!", "!!", "!!!"))]"
|
message += "[stutter(pick("!", "!!", "!!!"))]"
|
||||||
@@ -174,6 +175,7 @@
|
|||||||
message_range = 1
|
message_range = 1
|
||||||
italics = 1
|
italics = 1
|
||||||
|
|
||||||
|
|
||||||
if ("secure headset")
|
if ("secure headset")
|
||||||
if (src:l_ear && istype(src:l_ear,/obj/item/device/radio))
|
if (src:l_ear && istype(src:l_ear,/obj/item/device/radio))
|
||||||
src:l_ear.talk_into(src, message, 1)
|
src:l_ear.talk_into(src, message, 1)
|
||||||
|
|||||||
@@ -21,6 +21,8 @@
|
|||||||
mind.key = key
|
mind.key = key
|
||||||
mind.current = src
|
mind.current = src
|
||||||
|
|
||||||
|
spawn() Playmusic() // git some tunes up in heeyaa~
|
||||||
|
|
||||||
var/starting_loc = pick(newplayer_start)
|
var/starting_loc = pick(newplayer_start)
|
||||||
if(!starting_loc) starting_loc = locate(1,1,1)
|
if(!starting_loc) starting_loc = locate(1,1,1)
|
||||||
loc = starting_loc
|
loc = starting_loc
|
||||||
@@ -94,6 +96,7 @@
|
|||||||
src << browse_rsc('sos_14.png')
|
src << browse_rsc('sos_14.png')
|
||||||
//End PDA Resource Initialisation =====================================================>
|
//End PDA Resource Initialisation =====================================================>
|
||||||
|
|
||||||
|
|
||||||
Logout()
|
Logout()
|
||||||
ready = 0
|
ready = 0
|
||||||
..()
|
..()
|
||||||
@@ -125,6 +128,21 @@
|
|||||||
src << browse(output,"window=playersetup;size=250x233;can_close=0")
|
src << browse(output,"window=playersetup;size=250x233;can_close=0")
|
||||||
return
|
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()
|
Stat()
|
||||||
..()
|
..()
|
||||||
|
|
||||||
@@ -343,6 +361,9 @@
|
|||||||
else
|
else
|
||||||
preferences.copy_to(new_character)
|
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)
|
new_character.dna.ready_dna(new_character)
|
||||||
if(mind)
|
if(mind)
|
||||||
mind.transfer_to(new_character)
|
mind.transfer_to(new_character)
|
||||||
|
|||||||
Reference in New Issue
Block a user