Merge branch 'master' into upstream-merge-29690
This commit is contained in:
@@ -439,7 +439,7 @@ GLOBAL_LIST_EMPTY(teleportlocs)
|
||||
// Ambience goes down here -- make sure to list each area separately for ease of adding things in later, thanks! Note: areas adjacent to each other should have the same sounds to prevent cutoff when possible.- LastyScratch
|
||||
if(L.client && !L.client.ambience_playing && L.client.prefs.toggles & SOUND_SHIP_AMBIENCE)
|
||||
L.client.ambience_playing = 1
|
||||
L << sound('sound/ambience/shipambience.ogg', repeat = 1, wait = 0, volume = 35, channel = CHANNEL_BUZZ)
|
||||
SEND_SOUND(L, sound('sound/ambience/shipambience.ogg', repeat = 1, wait = 0, volume = 35, channel = CHANNEL_BUZZ))
|
||||
|
||||
if(!(L.client && (L.client.prefs.toggles & SOUND_AMBIENCE)))
|
||||
return //General ambience check is below the ship ambience so one can play without the other
|
||||
@@ -448,7 +448,7 @@ GLOBAL_LIST_EMPTY(teleportlocs)
|
||||
var/sound = pick(ambientsounds)
|
||||
|
||||
if(!L.client.played)
|
||||
L << sound(sound, repeat = 0, wait = 0, volume = 25, channel = CHANNEL_AMBIENCE)
|
||||
SEND_SOUND(L, sound(sound, repeat = 0, wait = 0, volume = 25, channel = CHANNEL_AMBIENCE))
|
||||
L.client.played = 1
|
||||
sleep(600) //ewww - this is very very bad
|
||||
if(L.&& L.client)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/game/area/areas.dm b/code/game/area/areas.dm (rejected hunks)
|
||||
@@ -432,7 +432,7 @@ GLOBAL_LIST_EMPTY(teleportlocs)
|
||||
// Ambience goes down here -- make sure to list each area seperately for ease of adding things in later, thanks! Note: areas adjacent to each other should have the same sounds to prevent cutoff when possible.- LastyScratch
|
||||
if(L.client && !L.client.ambience_playing && L.client.prefs.toggles & SOUND_SHIP_AMBIENCE)
|
||||
L.client.ambience_playing = 1
|
||||
- L << sound('sound/ambience/shipambience.ogg', repeat = 1, wait = 0, volume = 35, channel = CHANNEL_BUZZ)
|
||||
+ SEND_SOUND(L, sound('sound/ambience/shipambience.ogg', repeat = 1, wait = 0, volume = 35, channel = CHANNEL_BUZZ))
|
||||
|
||||
if(!(L.client && (L.client.prefs.toggles & SOUND_AMBIENCE)))
|
||||
return //General ambience check is below the ship ambience so one can play without the other
|
||||
@@ -292,7 +292,7 @@ GLOBAL_VAR_INIT(RADIO_MAGNETS, "9")
|
||||
|
||||
/datum/signal/proc/debug_print()
|
||||
if (source)
|
||||
. = "signal = {source = '[source]' ([source:x],[source:y],[source:z])\n"
|
||||
. = "signal = {source = '[source]' [COORD(source)]\n"
|
||||
else
|
||||
. = "signal = {source = '[source]' ()\n"
|
||||
for (var/i in data)
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
SSticker.mode.apprentices += M.mind
|
||||
M.mind.special_role = "apprentice"
|
||||
SSticker.mode.update_wiz_icons_added(M.mind)
|
||||
M << sound('sound/effects/magic.ogg')
|
||||
SEND_SOUND(M, sound('sound/effects/magic.ogg'))
|
||||
var/newname = copytext(sanitize(input(M, "You are [wizard_name]'s apprentice. Would you like to change your name to something else?", "Name change", randomname) as null|text),1,MAX_NAME_LEN)
|
||||
if (!newname)
|
||||
newname = randomname
|
||||
|
||||
@@ -171,8 +171,8 @@
|
||||
if(candidates.len) //if we got at least one candidate, they're a blobbernaut now.
|
||||
var/client/C = pick(candidates)
|
||||
blobber.key = C.key
|
||||
blobber << 'sound/effects/blobattack.ogg'
|
||||
blobber << 'sound/effects/attackblob.ogg'
|
||||
SEND_SOUND(blobber, sound('sound/effects/blobattack.ogg'))
|
||||
SEND_SOUND(blobber, sound('sound/effects/attackblob.ogg'))
|
||||
to_chat(blobber, "<b>You are a blobbernaut!</b>")
|
||||
to_chat(blobber, "You are powerful, hard to kill, and slowly regenerate near nodes and cores, but will slowly die if not near the blob or if the factory that made you is killed.")
|
||||
to_chat(blobber, "You can communicate with other blobbernauts and GLOB.overminds via <b>:b</b>")
|
||||
|
||||
@@ -235,7 +235,7 @@
|
||||
if(istype(I, /obj/item/device/analyzer))
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
to_chat(user, "<b>The analyzer beeps once, then reports:</b><br>")
|
||||
user << 'sound/machines/ping.ogg'
|
||||
SEND_SOUND(user, sound('sound/machines/ping.ogg'))
|
||||
chemeffectreport(user)
|
||||
typereport(user)
|
||||
else
|
||||
|
||||
@@ -16,10 +16,10 @@
|
||||
C.confused += 25
|
||||
C.Jitter(50)
|
||||
else
|
||||
C << sound('sound/effects/screech.ogg')
|
||||
SEND_SOUND(C, sound('sound/effects/screech.ogg'))
|
||||
|
||||
if(issilicon(M))
|
||||
M << sound('sound/weapons/flash.ogg')
|
||||
SEND_SOUND(M, sound('sound/weapons/flash.ogg'))
|
||||
M.Knockdown(rand(100,200))
|
||||
|
||||
for(var/obj/machinery/light/L in range(4, user))
|
||||
|
||||
@@ -150,7 +150,7 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
|
||||
if(prob(ratvarian_prob))
|
||||
message = text2ratvar(message)
|
||||
to_chat(invoker, "<span class='[get_component_span(primary_component)]_large'>\"[message]\"</span>")
|
||||
invoker << 'sound/magic/clockwork/invoke_general.ogg'
|
||||
SEND_SOUND(invoker, sound('sound/magic/clockwork/invoke_general.ogg'))
|
||||
return TRUE
|
||||
|
||||
/datum/clockwork_scripture/proc/check_offstation_penalty()
|
||||
|
||||
@@ -103,13 +103,13 @@
|
||||
if(B.current)
|
||||
B.current.update_action_buttons_icon()
|
||||
if(!B.current.incapacitated())
|
||||
B.current << 'sound/hallucinations/im_here1.ogg'
|
||||
SEND_SOUND(B.current, 'sound/hallucinations/im_here1.ogg')
|
||||
to_chat(B.current, "<span class='cultlarge'>Acolyte [Nominee] has asserted that they are worthy of leading the cult. A vote will be called shortly.</span>")
|
||||
sleep(100)
|
||||
var/list/asked_cultists = list()
|
||||
for(var/datum/mind/B in SSticker.mode.cult)
|
||||
if(B.current && B.current != Nominee && !B.current.incapacitated())
|
||||
B.current << 'sound/magic/exit_blood.ogg'
|
||||
SEND_SOUND(B.current, 'sound/magic/exit_blood.ogg')
|
||||
asked_cultists += B.current
|
||||
var/list/yes_voters = pollCandidates("[Nominee] seeks to lead your cult, do you support [Nominee.p_them()]?", poll_time = 300, group = asked_cultists)
|
||||
if(QDELETED(Nominee) || Nominee.incapacitated())
|
||||
@@ -280,7 +280,7 @@
|
||||
for(var/datum/mind/B in SSticker.mode.cult)
|
||||
if(B.current && B.current.stat != DEAD && B.current.client)
|
||||
to_chat(B.current, "<span class='cultlarge'><b>Master [ranged_ability_user] has marked [GLOB.blood_target] in the [A.name] as the cult's top priority, get there immediately!</b></span>")
|
||||
B.current << pick(sound('sound/hallucinations/over_here2.ogg',0,1,75), sound('sound/hallucinations/over_here3.ogg',0,1,75))
|
||||
SEND_SOUND(B.current, sound(pick('sound/hallucinations/over_here2.ogg','sound/hallucinations/over_here3.ogg'),0,1,75))
|
||||
B.current.client.images += GLOB.blood_target_image
|
||||
attached_action.owner.update_action_buttons_icon()
|
||||
remove_ranged_ability("<span class='cult'>The marking rite is complete! It will last for 90 seconds.</span>")
|
||||
@@ -324,7 +324,7 @@
|
||||
return FALSE
|
||||
if(cooldown > world.time)
|
||||
if(!PM.active)
|
||||
owner << "<span class='cultlarge'><b>You need to wait [round((cooldown - world.time) * 0.1)] seconds before you can pulse again!</b></span>"
|
||||
to_chat(owner, "<span class='cultlarge'><b>You need to wait [round((cooldown - world.time) * 0.1)] seconds before you can pulse again!</b></span>")
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
@@ -367,7 +367,7 @@
|
||||
if(!attached_action.throwing)
|
||||
attached_action.throwing = TRUE
|
||||
attached_action.throwee = target
|
||||
ranged_ability_user << 'sound/weapons/thudswoosh.ogg'
|
||||
SEND_SOUND(ranged_ability_user, sound('sound/weapons/thudswoosh.ogg'))
|
||||
to_chat(ranged_ability_user,"<span class='cult'><b>You reach through the veil with your mind's eye and seize [target]!</b></span>")
|
||||
return
|
||||
else
|
||||
|
||||
@@ -538,7 +538,7 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
mob_to_revive = input(user, "Choose a cultist to revive.", "Cultist to Revive") as null|anything in potential_revive_mobs
|
||||
else
|
||||
mob_to_revive = potential_revive_mobs[1]
|
||||
if(!src || QDELETED(src) || rune_in_use || !validness_checks(mob_to_revive, user))
|
||||
if(QDELETED(src) || !validness_checks(mob_to_revive, user))
|
||||
rune_in_use = FALSE
|
||||
return
|
||||
if(user.name == "Herbert West")
|
||||
|
||||
@@ -29,7 +29,6 @@
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/paper/talisman/supply/Topic(href, href_list)
|
||||
world.log << "[usr], [href], [href_list]"
|
||||
if(QDELETED(src) || usr.incapacitated() || !in_range(src, usr))
|
||||
return
|
||||
|
||||
|
||||
@@ -270,7 +270,7 @@
|
||||
if(target.use(25))
|
||||
new /obj/structure/constructshell(T)
|
||||
to_chat(user, "<span class='warning'>The talisman clings to the metal and twists it into a construct shell!</span>")
|
||||
user << sound('sound/effects/magic.ogg',0,1,25)
|
||||
SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25))
|
||||
invoke(user, 1)
|
||||
qdel(src)
|
||||
else
|
||||
@@ -281,7 +281,7 @@
|
||||
new /obj/item/stack/sheet/runed_metal(T,quantity)
|
||||
target.use(quantity)
|
||||
to_chat(user, "<span class='warning'>The talisman clings to the plasteel, transforming it into runed metal!</span>")
|
||||
user << sound('sound/effects/magic.ogg',0,1,25)
|
||||
SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25))
|
||||
invoke(user, 1)
|
||||
if(uses <= 0)
|
||||
qdel(src)
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
var/list/datum/game_mode/runnable_modes = config.get_runnable_midround_modes(living_crew.len)
|
||||
var/list/datum/game_mode/usable_modes = list()
|
||||
for(var/datum/game_mode/G in runnable_modes)
|
||||
if(G.reroll_friendly)
|
||||
if(G.reroll_friendly && living_crew >= G.required_players)
|
||||
usable_modes += G
|
||||
else
|
||||
qdel(G)
|
||||
|
||||
@@ -375,8 +375,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
|
||||
minor_announce("[key] SECONDS UNTIL DOOMSDAY DEVICE ACTIVATION!", "ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4", TRUE)
|
||||
|
||||
/obj/machinery/doomsday_device/proc/detonate(z_level = ZLEVEL_STATION)
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
M << 'sound/machines/alarm.ogg'
|
||||
sound_to_playing_players('sound/machines/alarm.ogg')
|
||||
sleep(100)
|
||||
for(var/mob/living/L in GLOB.mob_list)
|
||||
var/turf/T = get_turf(L)
|
||||
|
||||
@@ -654,7 +654,7 @@
|
||||
to_chat(M, "[link] [rendered]")
|
||||
|
||||
/mob/living/simple_animal/hostile/swarmer/proc/ContactSwarmers()
|
||||
var/message = input(src, "Announce to other swarmers", "Swarmer contact")
|
||||
var/message = stripped_input(src, "Announce to other swarmers", "Swarmer contact")
|
||||
// TODO get swarmers their own colour rather than just boldtext
|
||||
if(message)
|
||||
swarmer_chat(message)
|
||||
|
||||
@@ -224,7 +224,7 @@
|
||||
player_mind.special_role = "Morph"
|
||||
SSticker.mode.traitors |= player_mind
|
||||
to_chat(S, S.playstyle_string)
|
||||
S << 'sound/magic/mutate.ogg'
|
||||
SEND_SOUND(S, sound('sound/magic/mutate.ogg'))
|
||||
message_admins("[key_name_admin(S)] has been made into a morph by an event.")
|
||||
log_game("[key_name(S)] was spawned as a morph by an event.")
|
||||
spawned_mobs += S
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
generated_objectives_and_spells = TRUE
|
||||
mind.remove_all_antag()
|
||||
mind.wipe_memory()
|
||||
src << 'sound/effects/ghost.ogg'
|
||||
SEND_SOUND(src, sound('sound/effects/ghost.ogg'))
|
||||
var/datum/objective/revenant/objective = new
|
||||
objective.owner = mind
|
||||
mind.objectives += objective
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
SSticker.mode.traitors |= player_mind
|
||||
to_chat(S, S.playstyle_string)
|
||||
to_chat(S, "<B>You are currently not currently in the same plane of existence as the station. Blood Crawl near a blood pool to manifest.</B>")
|
||||
S << 'sound/magic/demon_dies.ogg'
|
||||
SEND_SOUND(S, 'sound/magic/demon_dies.ogg')
|
||||
message_admins("[key_name_admin(S)] has been made into a slaughter demon by an event.")
|
||||
log_game("[key_name(S)] was spawned as a slaughter demon by an event.")
|
||||
spawned_mobs += S
|
||||
|
||||
@@ -421,8 +421,7 @@
|
||||
yes_code = FALSE
|
||||
safety = TRUE
|
||||
update_icon()
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
M << 'sound/machines/alarm.ogg'
|
||||
sound_to_playing_players('sound/machines/alarm.ogg')
|
||||
if(SSticker && SSticker.mode)
|
||||
SSticker.mode.explosion_in_progress = 1
|
||||
sleep(100)
|
||||
|
||||
@@ -476,7 +476,7 @@
|
||||
GiveHint(target)
|
||||
else if(istype(I, /obj/item/weapon/bikehorn))
|
||||
to_chat(target, "<span class='userdanger'>HONK</span>")
|
||||
target << 'sound/items/airhorn.ogg'
|
||||
SEND_SOUND(target, 'sound/items/airhorn.ogg')
|
||||
target.adjustEarDamage(0,3)
|
||||
GiveHint(target)
|
||||
cooldown = world.time +cooldown_time
|
||||
|
||||
@@ -403,7 +403,7 @@
|
||||
flash_color(mob_occupant, flash_color="#960000", flash_time=100)
|
||||
to_chat(mob_occupant, "<span class='warning'><b>Agony blazes across your consciousness as your body is torn apart.</b><br><i>Is this what dying is like? Yes it is.</i></span>")
|
||||
playsound(src.loc, 'sound/machines/warning-buzzer.ogg', 50, 0)
|
||||
mob_occupant << sound('sound/hallucinations/veryfar_noise.ogg',0,1,50)
|
||||
SEND_SOUND(mob_occupant, sound('sound/hallucinations/veryfar_noise.ogg',0,1,50))
|
||||
QDEL_IN(mob_occupant, 40)
|
||||
|
||||
/obj/machinery/clonepod/relaymove(mob/user)
|
||||
|
||||
@@ -473,7 +473,6 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
||||
if ("reg")
|
||||
if (authenticated)
|
||||
var/t2 = modify
|
||||
//var/t1 = input(usr, "What name?", "ID computer", null) as text
|
||||
if ((authenticated && modify == t2 && (in_range(src, usr) || issilicon(usr)) && isturf(loc)))
|
||||
var/newName = reject_bad_name(href_list["reg"])
|
||||
if(newName)
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
playsound(src, 'sound/machines/terminal_alert.ogg', 25, 0)
|
||||
if(prob(25))
|
||||
for(var/mob/living/silicon/ai/AI in active_ais())
|
||||
AI << sound('sound/machines/terminal_alert.ogg', volume = 10) //Very quiet for balance reasons
|
||||
SEND_SOUND(AI, sound('sound/machines/terminal_alert.ogg', volume = 10)) //Very quiet for balance reasons
|
||||
if("logout")
|
||||
authenticated = 0
|
||||
playsound(src, 'sound/machines/terminal_off.ogg', 50, 0)
|
||||
|
||||
@@ -309,7 +309,7 @@
|
||||
message = noserver
|
||||
else
|
||||
if(auth)
|
||||
var/dkey = trim(input(usr, "Please enter the decryption key.") as text|null)
|
||||
var/dkey = trim(stripped_input(usr, "Please enter the decryption key."))
|
||||
if(dkey && dkey != "")
|
||||
if(src.linkedServer.decryptkey == dkey)
|
||||
var/newkey = trim(input(usr,"Please enter the new key (3 - 16 characters max):"))
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
return
|
||||
|
||||
if(!connected)
|
||||
viewers(null, null) << "Cannot locate mass driver connector. Cancelling firing sequence!"
|
||||
say("Cannot locate mass driver connector. Cancelling firing sequence!")
|
||||
return
|
||||
|
||||
for(var/obj/machinery/door/poddoor/M in range(range, src))
|
||||
|
||||
@@ -233,9 +233,13 @@
|
||||
return
|
||||
else /*if(src.justzap)*/
|
||||
return
|
||||
else if(user.hallucination > 50 && ishuman(user) && prob(10) && src.operating == FALSE)
|
||||
hallucinate_shock(user)
|
||||
return
|
||||
else if(user.hallucinating() && ishuman(user) && prob(4) && !operating)
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(H.gloves)
|
||||
var/obj/item/clothing/gloves/G = H.gloves
|
||||
if(G.siemens_coefficient)//not insulated
|
||||
hallucinate_shock(H)
|
||||
return
|
||||
if (cyclelinkedairlock)
|
||||
if (!shuttledocked && !emergency && !cyclelinkedairlock.shuttledocked && !cyclelinkedairlock.emergency && allowed(user))
|
||||
if(cyclelinkedairlock.operating)
|
||||
|
||||
@@ -390,7 +390,7 @@
|
||||
new /obj/effect/temp_visual/cult/sac(loc)
|
||||
var/atom/throwtarget
|
||||
throwtarget = get_edge_target_turf(src, get_dir(src, get_step_away(L, src)))
|
||||
L << pick(sound('sound/hallucinations/turn_around1.ogg',0,1,50), sound('sound/hallucinations/turn_around2.ogg',0,1,50))
|
||||
SEND_SOUND(L, sound(pick('sound/hallucinations/turn_around1.ogg','sound/hallucinations/turn_around2.ogg'),0,1,50))
|
||||
flash_color(L, flash_color="#960000", flash_time=20)
|
||||
L.Knockdown(40)
|
||||
L.throw_at(throwtarget, 5, 1,src)
|
||||
|
||||
@@ -96,7 +96,8 @@
|
||||
colour2 = rgb(255,128,0)
|
||||
|
||||
if(ismob(AM))
|
||||
if(AM:client)
|
||||
var/mob/M = AM
|
||||
if(M.client)
|
||||
colour = rgb(255,0,0)
|
||||
else
|
||||
colour = rgb(255,128,128)
|
||||
@@ -242,7 +243,8 @@
|
||||
colour = rgb(255,255,0)
|
||||
|
||||
if(ismob(AM))
|
||||
if(AM:client)
|
||||
var/mob/M = AM
|
||||
if(M.client)
|
||||
colour = rgb(255,0,0)
|
||||
else
|
||||
colour = rgb(255,128,128)
|
||||
|
||||
@@ -11,31 +11,29 @@
|
||||
idle_power_usage = 20
|
||||
active_power_usage = 5000
|
||||
|
||||
/obj/machinery/robotic_fabricator/attackby(obj/item/O, mob/user, params)
|
||||
/obj/machinery/robotic_fabricator/attackby(obj/item/O, mob/living/user, params)
|
||||
if (istype(O, /obj/item/stack/sheet/metal))
|
||||
if (src.metal_amount < 150000)
|
||||
var/count = 0
|
||||
src.add_overlay("fab-load-metal")
|
||||
spawn(15)
|
||||
if(O)
|
||||
if(!O:amount)
|
||||
return
|
||||
while(metal_amount < 150000 && O:amount)
|
||||
src.metal_amount += O:materials[MAT_METAL] /*O:height * O:width * O:length * 100000*/
|
||||
O:amount--
|
||||
count++
|
||||
|
||||
if (O:amount < 1)
|
||||
qdel(O)
|
||||
|
||||
to_chat(user, "<span class='notice'>You insert [count] metal sheet\s into \the [src].</span>")
|
||||
cut_overlay("fab-load-metal")
|
||||
updateDialog()
|
||||
if (metal_amount < 150000)
|
||||
add_overlay("fab-load-metal")
|
||||
addtimer(CALLBACK(src, .proc/FinishLoadingMetal, O, user), 15)
|
||||
else
|
||||
to_chat(user, "\The [src] is full.")
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/robotic_fabricator/proc/FinishLoadingMetal(obj/item/stack/sheet/metal/M, mob/living/user)
|
||||
cut_overlay("fab-load-metal")
|
||||
if(QDELETED(M) || QDELETED(user))
|
||||
return
|
||||
var/count = 0
|
||||
while(metal_amount < 150000 && !QDELETED(M))
|
||||
metal_amount += M.materials[MAT_METAL]
|
||||
M.use(1)
|
||||
count++
|
||||
|
||||
to_chat(user, "<span class='notice'>You insert [count] metal sheet\s into \the [src].</span>")
|
||||
updateDialog()
|
||||
|
||||
/obj/machinery/robotic_fabricator/power_change()
|
||||
if (powered())
|
||||
stat &= ~NOPOWER
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
max_integrity = 200 //The shield can only take so much beating (prevents perma-prisons)
|
||||
CanAtmosPass = ATMOS_PASS_DENSITY
|
||||
|
||||
/obj/structure/emergency_shield/New()
|
||||
src.setDir(pick(1,2,3,4))
|
||||
..()
|
||||
/obj/structure/emergency_shield/Initialize()
|
||||
. = ..()
|
||||
setDir(pick(GLOB.cardinals))
|
||||
air_update_turf(1)
|
||||
|
||||
/obj/structure/emergency_shield/Destroy()
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm (rejected hunks)
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
/obj/structure/emergency_shield/Initialize()
|
||||
. = ..()
|
||||
- setDir(pick(1,2,3,4))
|
||||
+ setDir(pick(GLOB.cardinals))
|
||||
air_update_turf(1)
|
||||
|
||||
/obj/structure/emergency_shield/Destroy()
|
||||
@@ -37,10 +37,7 @@
|
||||
src.update_chassis_page()
|
||||
chassis.occupant_message("<span class='danger'>The [src] is destroyed!</span>")
|
||||
chassis.log_append_to_last("[src] is destroyed.",1)
|
||||
if(istype(src, /obj/item/mecha_parts/mecha_equipment/weapon))
|
||||
chassis.occupant << sound('sound/mecha/weapdestr.ogg',volume=50)
|
||||
else
|
||||
chassis.occupant << sound('sound/mecha/critdestr.ogg',volume=50)
|
||||
SEND_SOUND(chassis.occupant, sound(istype(src, /obj/item/mecha_parts/mecha_equipment/weapon) ? 'sound/mecha/weapdestr.ogg' : 'sound/mecha/critdestr.ogg', volume=50))
|
||||
chassis = null
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -596,7 +596,7 @@
|
||||
/obj/mecha/proc/setInternalDamage(int_dam_flag)
|
||||
internal_damage |= int_dam_flag
|
||||
log_append_to_last("Internal damage of type [int_dam_flag].",1)
|
||||
occupant << sound('sound/machines/warning-buzzer.ogg',wait=0)
|
||||
SEND_SOUND(occupant, sound('sound/machines/warning-buzzer.ogg',wait=0))
|
||||
diag_hud_set_mechstat()
|
||||
return
|
||||
|
||||
@@ -707,14 +707,14 @@
|
||||
icon_state = initial(icon_state)
|
||||
playsound(src, 'sound/machines/windowdoor.ogg', 50, 1)
|
||||
if(!internal_damage)
|
||||
occupant << sound('sound/mecha/nominal.ogg',volume=50)
|
||||
SEND_SOUND(occupant, sound('sound/mecha/nominal.ogg',volume=50))
|
||||
AI.cancel_camera()
|
||||
AI.controlled_mech = src
|
||||
AI.remote_control = src
|
||||
AI.canmove = 1 //Much easier than adding AI checks! Be sure to set this back to 0 if you decide to allow an AI to leave a mech somehow.
|
||||
AI.can_shunt = 0 //ONE AI ENTERS. NO AI LEAVES.
|
||||
to_chat(AI, "[AI.can_dominate_mechs ? "<span class='announce'>Takeover of [name] complete! You are now loaded onto the onboard computer. Do not attempt to leave the station sector!</span>" \
|
||||
: "<span class='notice'>You have been uploaded to a mech's onboard computer."]")
|
||||
to_chat(AI, AI.can_dominate_mechs ? "<span class='announce'>Takeover of [name] complete! You are now loaded onto the onboard computer. Do not attempt to leave the station sector!</span>" :\
|
||||
"<span class='notice'>You have been uploaded to a mech's onboard computer.</span>")
|
||||
to_chat(AI, "<span class='reallybig boldnotice'>Use Middle-Mouse to activate mech functions and equipment. Click normally for AI interactions.</span>")
|
||||
if(interaction == AI_TRANS_FROM_CARD)
|
||||
GrantActions(AI, FALSE) //No eject/return to core action for AI uploaded by card
|
||||
@@ -860,7 +860,7 @@
|
||||
setDir(dir_in)
|
||||
playsound(src, 'sound/machines/windowdoor.ogg', 50, 1)
|
||||
if(!internal_damage)
|
||||
occupant << sound('sound/mecha/nominal.ogg',volume=50)
|
||||
SEND_SOUND(occupant, sound('sound/mecha/nominal.ogg',volume=50))
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
@@ -914,7 +914,7 @@
|
||||
setDir(dir_in)
|
||||
log_message("[mmi_as_oc] moved in as pilot.")
|
||||
if(!internal_damage)
|
||||
occupant << sound('sound/mecha/nominal.ogg',volume=50)
|
||||
SEND_SOUND(occupant, sound('sound/mecha/nominal.ogg',volume=50))
|
||||
GrantActions(brainmob)
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -242,7 +242,7 @@
|
||||
chassis.occupant_message("<font color='[chassis.zoom_mode?"blue":"red"]'>Zoom mode [chassis.zoom_mode?"en":"dis"]abled.</font>")
|
||||
if(chassis.zoom_mode)
|
||||
owner.client.change_view(12)
|
||||
owner << sound('sound/mecha/imag_enh.ogg',volume=50)
|
||||
SEND_SOUND(owner, sound('sound/mecha/imag_enh.ogg',volume=50))
|
||||
else
|
||||
owner.client.change_view(world.view) //world.view - default mob view size
|
||||
UpdateButtonIcon()
|
||||
|
||||
@@ -121,13 +121,13 @@
|
||||
if(!victim.client || !istype(victim))
|
||||
return
|
||||
to_chat(victim, "<span class='reallybig redtext'>RIP AND TEAR</span>")
|
||||
victim << 'sound/misc/e1m1.ogg'
|
||||
SEND_SOUND(victim, sound('sound/misc/e1m1.ogg'))
|
||||
var/old_color = victim.client.color
|
||||
var/red_splash = list(1,0,0,0.8,0.2,0, 0.8,0,0.2,0.1,0,0)
|
||||
var/pure_red = list(0,0,0,0,0,0,0,0,0,1,0,0)
|
||||
|
||||
spawn(0)
|
||||
new /obj/effect/hallucination/delusion(victim.loc,victim,"demon",duration,0)
|
||||
new /datum/hallucination/delusion(victim, TRUE, "demon",duration,0)
|
||||
|
||||
var/obj/item/weapon/twohanded/required/chainsaw/doomslayer/chainsaw = new(victim.loc)
|
||||
chainsaw.flags |= NODROP
|
||||
|
||||
@@ -147,7 +147,7 @@ MASS SPECTROMETER
|
||||
if (M.getCloneLoss())
|
||||
to_chat(user, "\t<span class='alert'>Subject appears to have [M.getCloneLoss() > 30 ? "severe" : "minor"] cellular damage.</span>")
|
||||
if (M.reagents && M.reagents.get_reagent_amount("epinephrine"))
|
||||
to_chat(user, "\t<span class='info'>Bloodstream analysis located [M.reagents:get_reagent_amount("epinephrine")] units of rejuvenation chemicals.</span>")
|
||||
to_chat(user, "\t<span class='info'>Bloodstream analysis located [M.reagents.get_reagent_amount("epinephrine")] units of rejuvenation chemicals.</span>")
|
||||
if (M.getBrainLoss() >= 100 || !M.getorgan(/obj/item/organ/brain))
|
||||
to_chat(user, "\t<span class='alert'>Subject brain function is non-existent.</span>")
|
||||
else if (M.getBrainLoss() >= 60)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
desc = "Regulates the transfer of air between two tanks"
|
||||
var/obj/item/weapon/tank/tank_one
|
||||
var/obj/item/weapon/tank/tank_two
|
||||
var/obj/item/device/attached_device
|
||||
var/obj/item/device/assembly/attached_device
|
||||
var/mob/attacher = null
|
||||
var/valve_open = FALSE
|
||||
var/toggle = 1
|
||||
@@ -99,8 +99,8 @@
|
||||
toggle_valve()
|
||||
else if(attached_device)
|
||||
if(href_list["rem_device"])
|
||||
attached_device.loc = get_turf(src)
|
||||
attached_device:holder = null
|
||||
attached_device.forceMove(get_turf(src))
|
||||
attached_device.holder = null
|
||||
attached_device = null
|
||||
update_icon()
|
||||
if(href_list["device"])
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
var/create_full = FALSE
|
||||
var/create_with_tank = FALSE
|
||||
var/igniter_type = /obj/item/device/assembly/igniter
|
||||
trigger_guard = TRIGGER_GUARD_NORMAL
|
||||
|
||||
/obj/item/weapon/flamethrower/Destroy()
|
||||
if(weldtool)
|
||||
@@ -69,12 +70,7 @@
|
||||
if(flag)
|
||||
return // too close
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(H.dna.check_mutation(HULK))
|
||||
to_chat(user, "<span class='warning'>Your meaty finger is much too large for the trigger guard!</span>")
|
||||
return
|
||||
if(NOGUNS in H.dna.species.species_traits)
|
||||
to_chat(user, "<span class='warning'>Your fingers don't fit in the trigger guard!</span>")
|
||||
if(!can_trigger_gun(user))
|
||||
return
|
||||
if(user && user.get_active_held_item() == src) // Make sure our user is still holding us
|
||||
var/turf/target_turf = get_turf(target)
|
||||
|
||||
@@ -320,6 +320,8 @@
|
||||
desc = "Particularly twisted dieties grant gifts of dubious value."
|
||||
icon_state = "arm_blade"
|
||||
item_state = "arm_blade"
|
||||
lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi'
|
||||
flags = ABSTRACT | NODROP
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
sharpness = IS_SHARP
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
var/fire_mode = PCANNON_FIREALL
|
||||
var/automatic = FALSE
|
||||
var/clumsyCheck = TRUE
|
||||
trigger_guard = TRIGGER_GUARD_NORMAL
|
||||
|
||||
/obj/item/weapon/pneumatic_cannon/CanItemAutoclick()
|
||||
return automatic
|
||||
@@ -108,11 +109,7 @@
|
||||
if(!istype(user) && !target)
|
||||
return
|
||||
var/discharge = 0
|
||||
if(user.dna.check_mutation(HULK))
|
||||
to_chat(user, "<span class='warning'>Your meaty finger is much too large for the trigger guard!</span>")
|
||||
return
|
||||
if(NOGUNS in user.dna.species.species_traits)
|
||||
to_chat(user, "<span class='warning'>Your fingers don't fit in the trigger guard!</span>")
|
||||
if(!can_trigger_gun(user))
|
||||
return
|
||||
if(!loadedItems || !loadedWeightClass)
|
||||
to_chat(user, "<span class='warning'>\The [src] has nothing loaded.</span>")
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
/obj/item/weapon
|
||||
var/trigger_guard = TRIGGER_GUARD_NONE
|
||||
|
||||
/obj/item/weapon/banhammer
|
||||
desc = "A banhammer"
|
||||
@@ -584,3 +585,8 @@
|
||||
throwforce = 0
|
||||
flags = DROPDEL | ABSTRACT
|
||||
attack_verb = list("bopped")
|
||||
|
||||
/obj/item/weapon/proc/can_trigger_gun(mob/living/user)
|
||||
if(!user.can_use_guns(src))
|
||||
return FALSE
|
||||
return TRUE
|
||||
@@ -1,12 +1,13 @@
|
||||
/obj/structure/flora
|
||||
resistance_flags = FLAMMABLE
|
||||
obj_integrity = 150
|
||||
max_integrity = 150
|
||||
anchored = TRUE
|
||||
anchored = 1
|
||||
|
||||
//trees
|
||||
/obj/structure/flora/tree
|
||||
name = "tree"
|
||||
density = TRUE
|
||||
density = 1
|
||||
pixel_x = -16
|
||||
layer = FLY_LAYER
|
||||
var/cut = FALSE
|
||||
@@ -25,7 +26,7 @@
|
||||
playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 100 , 0, 0)
|
||||
icon = 'icons/obj/flora/pinetrees.dmi'
|
||||
icon_state = "tree_stump"
|
||||
density = FALSE
|
||||
density = 0
|
||||
pixel_x = -16
|
||||
name += " stump"
|
||||
cut = TRUE
|
||||
@@ -45,14 +46,14 @@
|
||||
|
||||
/obj/structure/flora/tree/pine/Initialize()
|
||||
icon_state = "pine_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/tree/pine/xmas
|
||||
name = "xmas tree"
|
||||
icon_state = "pine_c"
|
||||
|
||||
/obj/structure/flora/tree/pine/xmas/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
icon_state = "pine_c"
|
||||
|
||||
/obj/structure/flora/tree/dead
|
||||
@@ -64,7 +65,7 @@
|
||||
icon_state = "palm1"
|
||||
|
||||
/obj/structure/flora/tree/palm/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
icon_state = pick("palm1","palm2")
|
||||
pixel_x = 0
|
||||
|
||||
@@ -76,7 +77,7 @@
|
||||
|
||||
/obj/structure/flora/tree/dead/Initialize()
|
||||
icon_state = "tree_[rand(1, 6)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/tree/jungle
|
||||
name = "tree"
|
||||
@@ -88,12 +89,7 @@
|
||||
|
||||
/obj/structure/flora/tree/jungle/Initialize()
|
||||
icon_state = "[icon_state][rand(1, 6)]"
|
||||
..()
|
||||
|
||||
/obj/structure/flora/tree/jungle/small
|
||||
pixel_y = 0
|
||||
pixel_x = -32
|
||||
icon = 'icons/obj/flora/jungletreesmall.dmi'
|
||||
. = ..()
|
||||
|
||||
//grass
|
||||
/obj/structure/flora/grass
|
||||
@@ -106,7 +102,7 @@
|
||||
|
||||
/obj/structure/flora/grass/brown/Initialize()
|
||||
icon_state = "snowgrass[rand(1, 3)]bb"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
|
||||
/obj/structure/flora/grass/green
|
||||
@@ -114,14 +110,14 @@
|
||||
|
||||
/obj/structure/flora/grass/green/Initialize()
|
||||
icon_state = "snowgrass[rand(1, 3)]gb"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/grass/both
|
||||
icon_state = "snowgrassall1"
|
||||
|
||||
/obj/structure/flora/grass/both/Initialize()
|
||||
icon_state = "snowgrassall[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
|
||||
//bushes
|
||||
@@ -129,11 +125,11 @@
|
||||
name = "bush"
|
||||
icon = 'icons/obj/flora/snowflora.dmi'
|
||||
icon_state = "snowbush1"
|
||||
anchored = TRUE
|
||||
anchored = 1
|
||||
|
||||
/obj/structure/flora/bush/Initialize()
|
||||
icon_state = "snowbush[rand(1, 6)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
//newbushes
|
||||
|
||||
@@ -145,112 +141,112 @@
|
||||
/obj/structure/flora/ausbushes/Initialize()
|
||||
if(icon_state == "firstbush_1")
|
||||
icon_state = "firstbush_[rand(1, 4)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/reedbush
|
||||
icon_state = "reedbush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/reedbush/Initialize()
|
||||
icon_state = "reedbush_[rand(1, 4)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/leafybush
|
||||
icon_state = "leafybush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/leafybush/Initialize()
|
||||
icon_state = "leafybush_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/palebush
|
||||
icon_state = "palebush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/palebush/Initialize()
|
||||
icon_state = "palebush_[rand(1, 4)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/stalkybush
|
||||
icon_state = "stalkybush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/stalkybush/Initialize()
|
||||
icon_state = "stalkybush_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/grassybush
|
||||
icon_state = "grassybush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/grassybush/Initialize()
|
||||
icon_state = "grassybush_[rand(1, 4)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/fernybush
|
||||
icon_state = "fernybush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/fernybush/Initialize()
|
||||
icon_state = "fernybush_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/sunnybush
|
||||
icon_state = "sunnybush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/sunnybush/Initialize()
|
||||
icon_state = "sunnybush_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/genericbush
|
||||
icon_state = "genericbush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/genericbush/Initialize()
|
||||
icon_state = "genericbush_[rand(1, 4)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/pointybush
|
||||
icon_state = "pointybush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/pointybush/Initialize()
|
||||
icon_state = "pointybush_[rand(1, 4)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/lavendergrass
|
||||
icon_state = "lavendergrass_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/lavendergrass/Initialize()
|
||||
icon_state = "lavendergrass_[rand(1, 4)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/ywflowers
|
||||
icon_state = "ywflowers_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/ywflowers/Initialize()
|
||||
icon_state = "ywflowers_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/brflowers
|
||||
icon_state = "brflowers_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/brflowers/Initialize()
|
||||
icon_state = "brflowers_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/ppflowers
|
||||
icon_state = "ppflowers_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/ppflowers/Initialize()
|
||||
icon_state = "ppflowers_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/sparsegrass
|
||||
icon_state = "sparsegrass_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/sparsegrass/Initialize()
|
||||
icon_state = "sparsegrass_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/fullgrass
|
||||
icon_state = "fullgrass_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/fullgrass/Initialize()
|
||||
icon_state = "fullgrass_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/item/weapon/twohanded/required/kirbyplants
|
||||
name = "potted plant"
|
||||
@@ -308,10 +304,10 @@
|
||||
desc = "A volcanic rock"
|
||||
icon = 'icons/obj/flora/rocks.dmi'
|
||||
resistance_flags = FIRE_PROOF
|
||||
density = TRUE
|
||||
density = 1
|
||||
|
||||
/obj/structure/flora/rock/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
icon_state = "[icon_state][rand(1,3)]"
|
||||
|
||||
/obj/structure/flora/rock/pile
|
||||
@@ -319,7 +315,7 @@
|
||||
desc = "A pile of rocks"
|
||||
|
||||
/obj/structure/flora/rock/pile/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
icon_state = "[icon_state][rand(1,3)]"
|
||||
|
||||
//Jungle grass
|
||||
@@ -333,7 +329,7 @@
|
||||
|
||||
/obj/structure/flora/grass/jungle/Initialize()
|
||||
icon_state = "[icon_state][rand(1, 5)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/grass/jungle/b
|
||||
icon_state = "grassb"
|
||||
@@ -348,7 +344,7 @@
|
||||
density = FALSE
|
||||
|
||||
/obj/structure/flora/rock/jungle/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
icon_state = "[initial(icon_state)][rand(1,5)]"
|
||||
|
||||
|
||||
@@ -361,7 +357,7 @@
|
||||
|
||||
/obj/structure/flora/junglebush/Initialize()
|
||||
icon_state = "[icon_state][rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/junglebush/b
|
||||
icon_state = "bushb"
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
diff a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm (rejected hunks)
|
||||
@@ -89,7 +89,7 @@
|
||||
|
||||
/obj/structure/flora/tree/jungle/Initialize()
|
||||
icon_state = "[icon_state][rand(1, 6)]"
|
||||
- ..()
|
||||
+ . = ..()
|
||||
|
||||
//grass
|
||||
/obj/structure/flora/grass
|
||||
@@ -307,7 +307,7 @@
|
||||
density = 1
|
||||
|
||||
/obj/structure/flora/rock/Initialize()
|
||||
- ..()
|
||||
+ . = ..()
|
||||
icon_state = "[icon_state][rand(1,3)]"
|
||||
|
||||
/obj/structure/flora/rock/pile
|
||||
@@ -381,5 +381,5 @@
|
||||
pixel_y = -16
|
||||
|
||||
/obj/structure/flora/rock/pile/largejungle/Initialize()
|
||||
- ..()
|
||||
- icon_state = "[initial(icon_state)][rand(1,3)]"
|
||||
\ No newline at end of file
|
||||
+ . = ..()
|
||||
+ icon_state = "[initial(icon_state)][rand(1,3)]"
|
||||
+3
-7
@@ -78,7 +78,7 @@
|
||||
S.y = 1
|
||||
S.falloff = (falloff ? falloff : FALLOFF_SOUNDS)
|
||||
|
||||
src << S
|
||||
SEND_SOUND(src, S)
|
||||
|
||||
/proc/sound_to_playing_players(sound, volume = 100, vary)
|
||||
sound = get_sfx(sound)
|
||||
@@ -94,13 +94,13 @@
|
||||
next_channel = 1
|
||||
|
||||
/mob/proc/stop_sound_channel(chan)
|
||||
src << sound(null, repeat = 0, wait = 0, channel = chan)
|
||||
SEND_SOUND(src, sound(null, repeat = 0, wait = 0, channel = chan))
|
||||
|
||||
/client/proc/playtitlemusic()
|
||||
UNTIL(SSticker.login_music) //wait for SSticker init to set the login music
|
||||
|
||||
if(prefs && (prefs.toggles & SOUND_LOBBY))
|
||||
src << sound(SSticker.login_music, repeat = 0, wait = 0, volume = 85, channel = CHANNEL_LOBBYMUSIC) // MAD JAMS
|
||||
SEND_SOUND(src, sound(SSticker.login_music, repeat = 0, wait = 0, volume = 85, channel = CHANNEL_LOBBYMUSIC) // MAD JAMS)
|
||||
|
||||
/proc/get_rand_frequency()
|
||||
return rand(32000, 55000) //Frequency stuff only works with 45kbps oggs.
|
||||
@@ -175,7 +175,3 @@
|
||||
'sound/vore/prey/death_07.ogg','sound/vore/prey/death_08.ogg','sound/vore/prey/death_09.ogg',
|
||||
'sound/vore/prey/death_10.ogg')
|
||||
return soundin
|
||||
|
||||
/proc/playsound_global(file, repeat = 0, wait, channel, volume)
|
||||
for(var/V in GLOB.clients)
|
||||
V << sound(file, repeat, wait, channel, volume)
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
diff a/code/game/sound.dm b/code/game/sound.dm (rejected hunks)
|
||||
@@ -145,7 +145,3 @@
|
||||
if ("can_open")
|
||||
soundin = pick('sound/effects/can_open1.ogg', 'sound/effects/can_open2.ogg', 'sound/effects/can_open3.ogg')
|
||||
return soundin
|
||||
-
|
||||
-/proc/playsound_global(file, repeat = 0, wait, channel, volume)
|
||||
- for(var/V in GLOB.clients)
|
||||
- V << sound(file, repeat, wait, channel, volume)
|
||||
@@ -18,6 +18,7 @@
|
||||
var/sound
|
||||
|
||||
/turf/open/indestructible/sound/Entered(var/mob/AM)
|
||||
..()
|
||||
if(istype(AM))
|
||||
playsound(src,sound,50,1)
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
return
|
||||
|
||||
/turf/open/chasm/Entered(atom/movable/AM)
|
||||
..()
|
||||
START_PROCESSING(SSobj, src)
|
||||
drop_stuff(AM)
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
dir = EAST
|
||||
|
||||
/turf/open/space/transit/Entered(atom/movable/AM, atom/OldLoc)
|
||||
..()
|
||||
if(!locate(/obj/structure/lattice) in src)
|
||||
throw_atom(AM)
|
||||
|
||||
|
||||
@@ -160,6 +160,7 @@
|
||||
return TRUE //Nothing found to block so return success!
|
||||
|
||||
/turf/Entered(atom/movable/AM)
|
||||
..()
|
||||
if(explosion_level && AM.ex_check(explosion_id))
|
||||
AM.ex_act(explosion_level)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user