mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-08-31 07:56:25 +01:00
@@ -58,7 +58,8 @@
|
||||
#define ROBOT 8
|
||||
#define SLIME 16
|
||||
#define SIMPLE_ANIMAL 32
|
||||
#define ALLMOBS (HUMAN|MONKEY|ALIEN|ROBOT|SLIME|SIMPLE_ANIMAL)
|
||||
#define HEAVY 64
|
||||
#define ALLMOBS (HUMAN|MONKEY|ALIEN|ROBOT|SLIME|SIMPLE_ANIMAL|HEAVY)
|
||||
|
||||
#define NEXT_MOVE_DELAY 8
|
||||
|
||||
|
||||
@@ -27,3 +27,18 @@ proc/isDay(var/month, var/day)
|
||||
// Uncomment this out when debugging!
|
||||
//else
|
||||
//return 1
|
||||
|
||||
var/next_duration_update = 0
|
||||
var/last_round_duration = 0
|
||||
proc/round_duration()
|
||||
if(last_round_duration && world.time < next_duration_update)
|
||||
return last_round_duration
|
||||
|
||||
var/mills = world.time // 1/10 of a second, not real milliseconds but whatever
|
||||
//var/secs = ((mills % 36000) % 600) / 10 //Not really needed, but I'll leave it here for refrence.. or something
|
||||
var/mins = (mills % 36000) / 600
|
||||
var/hours = mills / 36000
|
||||
|
||||
last_round_duration = "[round(hours)]h [round(mins)]m"
|
||||
next_duration_update = world.time + 1 MINUTES
|
||||
return last_round_duration
|
||||
|
||||
@@ -97,20 +97,21 @@ On the map:
|
||||
1455 for AI access
|
||||
*/
|
||||
|
||||
var/const/BOT_FREQ = 1447
|
||||
var/const/COMM_FREQ = 1353
|
||||
var/const/SYND_FREQ = 1213
|
||||
var/const/ERT_FREQ = 1345
|
||||
var/const/AI_FREQ = 1343
|
||||
var/const/DTH_FREQ = 1341
|
||||
var/const/AI_FREQ = 1447
|
||||
var/const/SYND_FREQ = 1213
|
||||
|
||||
// department channels
|
||||
var/const/PUB_FREQ = 1459
|
||||
var/const/SEC_FREQ = 1359
|
||||
var/const/ENG_FREQ = 1357
|
||||
var/const/SCI_FREQ = 1351
|
||||
var/const/MED_FREQ = 1355
|
||||
var/const/SUP_FREQ = 1347
|
||||
var/const/SCI_FREQ = 1351
|
||||
var/const/SRV_FREQ = 1349
|
||||
var/const/SUP_FREQ = 1347
|
||||
|
||||
var/list/radiochannels = list(
|
||||
"Common" = PUB_FREQ,
|
||||
|
||||
@@ -203,7 +203,7 @@ var/global/datum/shuttle_controller/shuttle_controller
|
||||
|
||||
//Skipjack.
|
||||
var/datum/shuttle/multi_shuttle/VS = new/datum/shuttle/multi_shuttle()
|
||||
VS.origin = locate(/area/shuttle/skipjack/station)
|
||||
VS.origin = locate(/area/skipjack_station)
|
||||
|
||||
VS.destinations = list(
|
||||
"Fore Starboard Solars" = locate(/area/skipjack_station/northeast_solars),
|
||||
|
||||
@@ -184,7 +184,7 @@ var/datum/antagonist/raider/raiders
|
||||
return 0
|
||||
|
||||
for(var/datum/mind/player in current_antagonists)
|
||||
if(!player.current || get_area(player.current) != locate(/area/shuttle/skipjack/station))
|
||||
if(!player.current || get_area(player.current) != locate(/area/skipjack_station))
|
||||
return 0
|
||||
return 1
|
||||
|
||||
|
||||
@@ -319,11 +319,6 @@ area/space/atmosalert()
|
||||
/area/shuttle/research/outpost
|
||||
icon_state = "shuttle"
|
||||
|
||||
/area/shuttle/skipjack/station
|
||||
name = "\improper Skipjack"
|
||||
icon_state = "yellow"
|
||||
requires_power = 0
|
||||
|
||||
/area/airtunnel1/ // referenced in airtunnel.dm:759
|
||||
|
||||
/area/dummy/ // Referenced in engine.dm:261
|
||||
@@ -516,6 +511,11 @@ area/space/atmosalert()
|
||||
requires_power = 0
|
||||
lighting_use_dynamic = 0
|
||||
|
||||
/area/skipjack_station
|
||||
name = "\improper Skipjack"
|
||||
icon_state = "yellow"
|
||||
requires_power = 0
|
||||
|
||||
/area/skipjack_station/transit
|
||||
|
||||
name = "\improper hyperspace"
|
||||
|
||||
@@ -728,7 +728,7 @@ datum/objective/heist/kidnap
|
||||
//if (!target.current.restrained())
|
||||
// return 0 // They're loose. Close but no cigar.
|
||||
|
||||
var/area/shuttle/skipjack/station/A = locate()
|
||||
var/area/skipjack_station/A = locate()
|
||||
for(var/mob/living/carbon/human/M in A)
|
||||
if(target.current == M)
|
||||
return 1 //They're restrained on the shuttle. Success.
|
||||
@@ -779,7 +779,7 @@ datum/objective/heist/loot
|
||||
|
||||
var/total_amount = 0
|
||||
|
||||
for(var/obj/O in locate(/area/shuttle/skipjack/station))
|
||||
for(var/obj/O in locate(/area/skipjack_station))
|
||||
if(istype(O,target)) total_amount++
|
||||
for(var/obj/I in O.contents)
|
||||
if(istype(I,target)) total_amount++
|
||||
@@ -828,7 +828,7 @@ datum/objective/heist/salvage
|
||||
|
||||
var/total_amount = 0
|
||||
|
||||
for(var/obj/item/O in locate(/area/shuttle/skipjack/station))
|
||||
for(var/obj/item/O in locate(/area/skipjack_station))
|
||||
|
||||
var/obj/item/stack/material/S
|
||||
if(istype(O,/obj/item/stack/material))
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
brute_dam_coeff = 0.5
|
||||
var/atom/movable/load = null // the loaded crate (usually)
|
||||
var/beacon_freq = 1400
|
||||
var/control_freq = AI_FREQ
|
||||
var/control_freq = BOT_FREQ
|
||||
|
||||
suffix = ""
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
id = "Receiver A"
|
||||
network = "tcommsat"
|
||||
autolinkers = list("receiverA") // link to relay
|
||||
freq_listening = list(SCI_FREQ, MED_FREQ, SUP_FREQ, SRV_FREQ, COMM_FREQ, ENG_FREQ, SEC_FREQ)
|
||||
freq_listening = list(AI_FREQ, SCI_FREQ, MED_FREQ, SUP_FREQ, SRV_FREQ, COMM_FREQ, ENG_FREQ, SEC_FREQ)
|
||||
|
||||
//Common and other radio frequencies for people to freely use
|
||||
New()
|
||||
@@ -88,7 +88,7 @@
|
||||
|
||||
/obj/machinery/telecomms/bus/preset_two/New()
|
||||
for(var/i = 1441, i < 1489, i += 2)
|
||||
if(i == AI_FREQ || i == PUB_FREQ)
|
||||
if(i == PUB_FREQ)
|
||||
continue
|
||||
freq_listening |= i
|
||||
..()
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
var/mob/living/bot/secbot/active // the active bot; if null, show bot list
|
||||
var/list/botstatus // the status signal sent by the bot
|
||||
|
||||
var/control_freq = AI_FREQ
|
||||
var/control_freq = BOT_FREQ
|
||||
|
||||
// create a new QM cartridge, and register to receive bot control & beacon message
|
||||
New()
|
||||
@@ -112,7 +112,7 @@
|
||||
var/list/beacons
|
||||
|
||||
var/beacon_freq = 1400
|
||||
var/control_freq = AI_FREQ
|
||||
var/control_freq = BOT_FREQ
|
||||
|
||||
// create a new QM cartridge, and register to receive bot control & beacon message
|
||||
New()
|
||||
|
||||
@@ -67,3 +67,10 @@
|
||||
icon_state = "intercom-p"
|
||||
else
|
||||
icon_state = "intercom"
|
||||
|
||||
/obj/item/device/radio/intercom/locked
|
||||
freerange = 1
|
||||
var/locked_frequency
|
||||
|
||||
/obj/item/device/radio/intercom/locked/set_frequency()
|
||||
..(locked_frequency)
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
return
|
||||
|
||||
/obj/structure/girder/proc/reset_girder()
|
||||
anchored = 1
|
||||
cover = initial(cover)
|
||||
health = min(health,initial(health))
|
||||
state = 0
|
||||
|
||||
@@ -291,6 +291,10 @@
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
// TODO : Change to incapacitated() on merge.
|
||||
if(usr.stat || usr.lying || usr.resting || usr.buckled)
|
||||
return 0
|
||||
|
||||
if(anchored)
|
||||
usr << "It is fastened to the floor therefore you can't rotate it!"
|
||||
return 0
|
||||
@@ -307,6 +311,10 @@
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
// TODO : Change to incapacitated() on merge.
|
||||
if(usr.stat || usr.lying || usr.resting || usr.buckled)
|
||||
return 0
|
||||
|
||||
if(anchored)
|
||||
usr << "It is fastened to the floor therefore you can't rotate it!"
|
||||
return 0
|
||||
|
||||
@@ -189,7 +189,6 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
/mob/dead/observer/Stat()
|
||||
..()
|
||||
if(statpanel("Status"))
|
||||
stat(null, "Station Time: [worldtime2text()]")
|
||||
if(emergency_shuttle)
|
||||
var/eta_status = emergency_shuttle.get_status_panel_eta()
|
||||
if(eta_status)
|
||||
|
||||
@@ -97,10 +97,12 @@
|
||||
..(message, null, verb)
|
||||
|
||||
/mob/living/bot/Bump(var/atom/A)
|
||||
if(istype(A, /obj/machinery/door) && botcard)
|
||||
if(on && botcard && istype(A, /obj/machinery/door))
|
||||
var/obj/machinery/door/D = A
|
||||
if(!istype(D, /obj/machinery/door/firedoor) && !istype(D, /obj/machinery/door/blast) && D.check_access(botcard))
|
||||
D.open()
|
||||
else
|
||||
..()
|
||||
|
||||
/mob/living/bot/emag_act(var/remaining_charges, var/mob/user)
|
||||
return 0
|
||||
|
||||
@@ -11,6 +11,11 @@
|
||||
is_ranged = 1
|
||||
preparing_arrest_sounds = new()
|
||||
|
||||
a_intent = I_HURT
|
||||
mob_bump_flag = HEAVY
|
||||
mob_swap_flags = ~HEAVY
|
||||
mob_push_flags = HEAVY
|
||||
|
||||
var/shot_delay = 4
|
||||
var/last_shot = 0
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
var/obj/secbot_listener/listener = null
|
||||
var/beacon_freq = 1445 // Navigation beacon frequency
|
||||
var/control_freq = AI_FREQ // Bot control frequency
|
||||
var/control_freq = BOT_FREQ // Bot control frequency
|
||||
var/list/path = list()
|
||||
var/frustration = 0
|
||||
var/turf/patrol_target = null // This is where we are headed
|
||||
|
||||
@@ -82,5 +82,5 @@
|
||||
var/list/flavor_texts = list()
|
||||
|
||||
mob_bump_flag = HUMAN
|
||||
mob_push_flags = ALLMOBS
|
||||
mob_swap_flags = ALLMOBS
|
||||
mob_push_flags = ~HEAVY
|
||||
mob_swap_flags = ~HEAVY
|
||||
|
||||
@@ -135,9 +135,9 @@
|
||||
)
|
||||
|
||||
// Bump vars
|
||||
var/bump_flag = HUMAN // What are we considered to be when bumped?
|
||||
var/push_flags = ALLMOBS // What can we push?
|
||||
var/swap_flags = ALLMOBS // What can we swap place with?
|
||||
var/bump_flag = HUMAN // What are we considered to be when bumped?
|
||||
var/push_flags = ~HEAVY // What can we push?
|
||||
var/swap_flags = ~HEAVY // What can we swap place with?
|
||||
|
||||
/datum/species/New()
|
||||
if(hud_type)
|
||||
|
||||
@@ -53,8 +53,8 @@
|
||||
)
|
||||
|
||||
bump_flag = ALIEN
|
||||
swap_flags = ALLMOBS
|
||||
push_flags = ALLMOBS ^ ROBOT
|
||||
swap_flags = ~HEAVY
|
||||
push_flags = (~HEAVY) ^ ROBOT
|
||||
|
||||
var/alien_number = 0
|
||||
var/caste_name = "creature" // Used to update alien name.
|
||||
|
||||
@@ -128,7 +128,6 @@ proc/get_radio_key_from_channel(var/channel)
|
||||
return verb
|
||||
|
||||
/mob/living/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="")
|
||||
|
||||
if(client)
|
||||
if(client.prefs.muted & MUTE_IC)
|
||||
src << "\red You cannot speak in IC (Muted)."
|
||||
@@ -167,7 +166,7 @@ proc/get_radio_key_from_channel(var/channel)
|
||||
// irrespective of distance or anything else.
|
||||
if(speaking.flags & HIVEMIND)
|
||||
speaking.broadcast(src,trim(message))
|
||||
return
|
||||
return 1
|
||||
//If we've gotten this far, keep going!
|
||||
if(speaking.flags & COMMON_VERBS)
|
||||
verb = say_quote(message)
|
||||
@@ -188,11 +187,11 @@ proc/get_radio_key_from_channel(var/channel)
|
||||
verb = handle_s[2]
|
||||
|
||||
if(!message || message == "")
|
||||
return
|
||||
return 0
|
||||
|
||||
var/list/obj/item/used_radios = new
|
||||
if(handle_message_mode(message_mode, message, verb, speaking, used_radios, alt_name))
|
||||
return
|
||||
return 1
|
||||
|
||||
var/list/handle_v = handle_speech_sound()
|
||||
var/sound/speech_sound = handle_v[1]
|
||||
|
||||
@@ -78,6 +78,8 @@
|
||||
|
||||
for(var/datum/ai_law/law in laws.laws_to_state())
|
||||
can_state = statelaw("[prefix][law.get_index()]. [law.law]")
|
||||
if(!can_state)
|
||||
break
|
||||
|
||||
if(!can_state)
|
||||
src << "<span class='danger'>[method]: Unable to state laws. Communication method unavailable.</span>"
|
||||
|
||||
@@ -37,4 +37,4 @@
|
||||
else if(M.stat == 2 && M.client.prefs.toggles & CHAT_GHOSTEARS)
|
||||
if(M.client) M << "<b>[src]</b> transmits, \"[message]\""
|
||||
return 1
|
||||
..(message)
|
||||
return ..(message, 0)
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
mob_bump_flag = ROBOT
|
||||
mob_swap_flags = ROBOT|MONKEY|SLIME|SIMPLE_ANIMAL
|
||||
mob_push_flags = ALLMOBS //trundle trundle
|
||||
mob_push_flags = ~HEAVY //trundle trundle
|
||||
|
||||
var/lights_on = 0 // Is our integrated light on?
|
||||
var/used_power_this_tick = 0
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
/mob/living/silicon/say(var/message, var/sanitize = 1)
|
||||
return ..(sanitize ? sanitize(message) : message)
|
||||
|
||||
/mob/living/silicon/handle_message_mode(message_mode, message, verb, speaking, used_radios, alt_name)
|
||||
log_say("[key_name(src)] : [message]")
|
||||
|
||||
|
||||
@@ -151,12 +151,6 @@
|
||||
/mob/living/silicon/proc/show_malf_ai()
|
||||
return 0
|
||||
|
||||
|
||||
// this function displays the station time in the status panel
|
||||
/mob/living/silicon/proc/show_station_time()
|
||||
stat(null, "Station Time: [worldtime2text()]")
|
||||
|
||||
|
||||
// this function displays the shuttles ETA in the status panel if the shuttle has been called
|
||||
/mob/living/silicon/proc/show_emergency_shuttle_eta()
|
||||
if(emergency_shuttle)
|
||||
@@ -168,7 +162,6 @@
|
||||
// This adds the basic clock, shuttle recall timer, and malf_ai info to all silicon lifeforms
|
||||
/mob/living/silicon/Stat()
|
||||
if(statpanel("Status"))
|
||||
show_station_time()
|
||||
show_emergency_shuttle_eta()
|
||||
show_system_integrity()
|
||||
show_malf_ai()
|
||||
|
||||
+15
-10
@@ -654,16 +654,21 @@
|
||||
. = (client && client.inactivity < 1200)
|
||||
|
||||
if(.)
|
||||
if(statpanel("Status") && ticker && ticker.current_state != GAME_STATE_PREGAME)
|
||||
stat("Station Time", worldtime2text())
|
||||
stat("Round Duration", round_duration())
|
||||
|
||||
if(client.holder)
|
||||
if(statpanel("Status"))
|
||||
statpanel("Status","Location:","([x], [y], [z])")
|
||||
statpanel("Status","CPU:","[world.cpu]")
|
||||
statpanel("Status","Instances:","[world.contents.len]")
|
||||
if(statpanel("Status") && processScheduler && processScheduler.getIsRunning())
|
||||
for(var/datum/controller/process/P in processScheduler.processes)
|
||||
statpanel("Status",P.getStatName(), P.getTickTime())
|
||||
else
|
||||
statpanel("Status","processScheduler is not running.")
|
||||
stat("Location:","([x], [y], [z])")
|
||||
if(statpanel("Processes"))
|
||||
stat("CPU:","[world.cpu]")
|
||||
stat("Instances:","[world.contents.len]")
|
||||
if(processScheduler && processScheduler.getIsRunning())
|
||||
for(var/datum/controller/process/P in processScheduler.processes)
|
||||
stat(P.getStatName(), P.getTickTime())
|
||||
else
|
||||
stat("processScheduler is not running.")
|
||||
|
||||
if(listed_turf && client)
|
||||
if(!TurfAdjacent(listed_turf))
|
||||
@@ -729,7 +734,7 @@
|
||||
drop_l_hand()
|
||||
drop_r_hand()
|
||||
else
|
||||
density = 1
|
||||
density = initial(density)
|
||||
|
||||
for(var/obj/item/weapon/grab/G in grabbed_by)
|
||||
if(G.state >= GRAB_AGGRESSIVE)
|
||||
@@ -1089,4 +1094,4 @@ mob/proc/yank_out_object()
|
||||
/mob/proc/throw_mode_on()
|
||||
src.in_throw_mode = 1
|
||||
if(src.throw_icon)
|
||||
src.throw_icon.icon_state = "act_throw_on"
|
||||
src.throw_icon.icon_state = "act_throw_on"
|
||||
|
||||
@@ -67,12 +67,7 @@
|
||||
Stat()
|
||||
..()
|
||||
|
||||
statpanel("Status")
|
||||
if (client.statpanel == "Status" && ticker)
|
||||
if (ticker.current_state != GAME_STATE_PREGAME)
|
||||
stat(null, "Station Time: [worldtime2text()]")
|
||||
statpanel("Lobby")
|
||||
if(client.statpanel=="Lobby" && ticker)
|
||||
if(statpanel("Lobby") && ticker)
|
||||
if(ticker.hide_mode)
|
||||
stat("Game Mode:", "Secret")
|
||||
else
|
||||
@@ -387,16 +382,11 @@
|
||||
global_announcer.autosay("A new[rank ? " [rank]" : " visitor" ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer")
|
||||
|
||||
proc/LateChoices()
|
||||
var/mills = world.time // 1/10 of a second, not real milliseconds but whatever
|
||||
//var/secs = ((mills % 36000) % 600) / 10 //Not really needed, but I'll leave it here for refrence.. or something
|
||||
var/mins = (mills % 36000) / 600
|
||||
var/hours = mills / 36000
|
||||
|
||||
var/name = client.prefs.be_random_name ? "friend" : client.prefs.real_name
|
||||
|
||||
var/dat = "<html><body><center>"
|
||||
dat += "<b>Welcome, [name].<br></b>"
|
||||
dat += "Round Duration: [round(hours)]h [round(mins)]m<br>"
|
||||
dat += "Round Duration: [round_duration()]<br>"
|
||||
|
||||
if(emergency_shuttle) //In case Nanotrasen decides reposess CentComm's shuttles.
|
||||
if(emergency_shuttle.going_to_centcom()) //Shuttle is going to centcomm, not recalled
|
||||
|
||||
@@ -56,6 +56,12 @@
|
||||
|
||||
-->
|
||||
<div class="commit sansserif">
|
||||
<h2 class="date">17 August 2015</h2>
|
||||
<h3 class="author">PsiOmegaDelta updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">Station time and duration now available in the Status tab.</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">16 August 2015</h2>
|
||||
<h3 class="author">HarpyEagle updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
|
||||
@@ -2153,3 +2153,6 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
|
||||
2015-08-16:
|
||||
HarpyEagle:
|
||||
- tweak: The unathi breacher is now only wearable by unathi.
|
||||
2015-08-17:
|
||||
PsiOmegaDelta:
|
||||
- rscadd: Station time and duration now available in the Status tab.
|
||||
|
||||
+286
-286
File diff suppressed because it is too large
Load Diff
+298
-298
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user