Files
vgstation13/code/game/cellautomata.dm
Skiedrake 7bc89cbc8c Added a small fix to the pipe system that should reduce lag.
Added new AI/announcer sound files for when events happen, when game starts or ends, when shuttle is called/recalled/docks and when a new AI is chosen.
Removed traitor.ogg and main.ogg because they weren't being used and were quite large files.
Fixed flash effect and crit-state effect. But now shroom effect is a bit broken. (to-do)
Added a sound effect when a robot comes to life.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@87 316c924e-a436-60f5-8080-3fe189b3f50e
2010-09-12 18:26:44 +00:00

179 lines
4.1 KiB
Plaintext

/world/proc/load_mode()
var/text = file2text("data/mode.txt")
if (text)
var/list/lines = dd_text2list(text, "\n")
if (lines[1])
master_mode = lines[1]
diary << "Saved mode is '[master_mode]'"
/world/proc/save_mode(var/the_mode)
var/F = file("data/mode.txt")
fdel(F)
F << the_mode
/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")
if (!rules)
rules = "<html><head><title>Rules</title><body>There are no rules! Go nuts!</body></html>"
/world/proc/load_admins()
var/text = file2text("config/admins.txt")
if (!text)
diary << "Failed to load config/admins.txt\n"
else
var/list/lines = dd_text2list(text, "\n")
for(var/line in lines)
if (!line)
continue
if (copytext(line, 1, 2) == ";")
continue
var/pos = findtext(line, " - ", 1, null)
if (pos)
var/m_key = copytext(line, 1, pos)
var/a_lev = copytext(line, pos + 3, length(line) + 1)
admins[m_key] = a_lev
diary << ("ADMIN: [m_key] = [a_lev]")
/world/proc/load_testers()
var/text = file2text("config/testers.txt")
if (!text)
diary << "Failed to load config/testers.txt\n"
else
var/list/lines = dd_text2list(text, "\n")
for(var/line in lines)
if (!line)
continue
if (copytext(line, 1, 2) == ";")
continue
var/pos = findtext(line, " - ", 1, null)
if (pos)
var/m_key = copytext(line, 1, pos)
var/a_lev = copytext(line, pos + 3, length(line) + 1)
admins[m_key] = a_lev
/world/proc/load_configuration()
config = new /datum/configuration()
config.load("config/config.txt")
config.loadsql("config/dbconfig.txt")
// apply some settings from config..
abandon_allowed = config.respawn
/world/New()
src.load_configuration()
if (config && config.server_name != null && config.server_suffix && world.port > 0)
// dumb and hardcoded but I don't care~
config.server_name += " #[(world.port % 1000) / 100]"
src.load_mode()
src.load_motd()
src.load_rules()
src.load_admins()
src.update_status()
makepowernets()
sun = new /datum/sun()
vote = new /datum/vote()
radio_controller = new /datum/controller/radio()
//main_hud1 = new /obj/hud()
data_core = new /obj/datacore()
..()
sleep(50)
plmaster = new /obj/overlay( )
plmaster.icon = 'tile_effects.dmi'
plmaster.icon_state = "plasma"
plmaster.layer = FLY_LAYER
plmaster.mouse_opacity = 0
slmaster = new /obj/overlay( )
slmaster.icon = 'tile_effects.dmi'
slmaster.icon_state = "sleeping_agent"
slmaster.layer = FLY_LAYER
slmaster.mouse_opacity = 0
src.update_status()
master_controller = new /datum/controller/game_controller()
spawn(-1) master_controller.setup()
return
//Crispy fullban
/world/Reboot(var/reason)
spawn(0)
world << sound(pick('newroundsexy.ogg','newroundsexy2.ogg')) // Skie
//if(prob(40))
// for(var/mob/M in world)
// if(M.client)
// M << sound('NewRound2.ogg')
//else
// for(var/mob/M in world)
// if(M.client)
// M << sound('NewRound.ogg')
for(var/client/C)
C << link("byond://[world.address]:[world.port]")
// sleep(10) // wait for sound to play
..(reason)
/atom/proc/check_eye(user as mob)
if (istype(user, /mob/living/silicon/ai))
return 1
return
/atom/proc/on_reagent_change()
return
/atom/proc/Bumped(AM as mob|obj)
return
/atom/movable/Bump(var/atom/A as mob|obj|turf|area, yes)
spawn( 0 )
if ((A && yes))
A.last_bumped = world.timeofday
A.Bumped(src)
return
..()
return
// **** Note in 40.93.4, split into obj/mob/turf point verbs, no area
/atom/verb/point()
set src in oview()
if (!usr || !isturf(usr.loc))
return
else if (usr.stat != 0 || usr.restrained())
return
var/tile = get_turf(src)
if (!tile)
return
var/P = new /obj/decal/point(tile)
spawn (20)
del(P)
usr.visible_message("<b>[usr]</b> points to [src]")
/obj/decal/point/point()
set src in oview()
set hidden = 1
return