mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 05:27:01 +01:00
Merge remote-tracking branch 'ParadiseSS13/master' into Virtual-Avatars
This commit is contained in:
Vendored
+6
-6
@@ -1,8 +1,8 @@
|
||||
var/global/datum/repository/apc/apc_repository = new()
|
||||
|
||||
/datum/repository/apc/proc/apc_data(var/obj/machinery/computer/monitor/powermonitor)
|
||||
/datum/repository/apc/proc/apc_data(datum/powernet/powernet)
|
||||
var/apcData[0]
|
||||
|
||||
|
||||
var/datum/cache_entry/cache_entry = cache_data
|
||||
if(!cache_entry)
|
||||
cache_entry = new/datum/cache_entry
|
||||
@@ -10,10 +10,10 @@ var/global/datum/repository/apc/apc_repository = new()
|
||||
|
||||
if(world.time < cache_entry.timestamp)
|
||||
return cache_entry.data
|
||||
|
||||
if(powermonitor && !isnull(powermonitor.powernet))
|
||||
|
||||
if(powernet)
|
||||
var/list/L = list()
|
||||
for(var/obj/machinery/power/terminal/term in powermonitor.powernet.nodes)
|
||||
for(var/obj/machinery/power/terminal/term in powernet.nodes)
|
||||
if(istype(term.master, /obj/machinery/power/apc))
|
||||
var/obj/machinery/power/apc/A = term.master
|
||||
L += A
|
||||
@@ -24,5 +24,5 @@ var/global/datum/repository/apc/apc_repository = new()
|
||||
apcData[++apcData.len] = list("Name" = html_encode(A.area.name), "Equipment" = Status[A.equipment+1], "Lights" = Status[A.lighting+1], "Environment" = Status[A.environ+1], "CellPct" = A.cell ? round(A.cell.percent(),1) : "M", "CellStatus" = A.cell ? chg[A.charging+1] : "M", "Load" = round(A.lastused_total,1))
|
||||
|
||||
cache_entry.timestamp = world.time + 5 SECONDS
|
||||
cache_entry.data = apcData
|
||||
cache_entry.data = apcData
|
||||
return apcData
|
||||
+10
-10
@@ -593,7 +593,7 @@
|
||||
new_objective.explanation_text = "Absorb [target_number] compatible genomes."
|
||||
if("blood")
|
||||
new_objective = new /datum/objective/blood
|
||||
new_objective.explanation_text = "Accumulate atleast [target_number] units of blood in total."
|
||||
new_objective.explanation_text = "Accumulate at least [target_number] total units of blood."
|
||||
new_objective.owner = src
|
||||
new_objective.target_amount = target_number
|
||||
|
||||
@@ -713,7 +713,7 @@
|
||||
if(src in ticker.mode.head_revolutionaries)
|
||||
ticker.mode.head_revolutionaries -= src
|
||||
ticker.mode.update_rev_icons_removed(src)
|
||||
to_chat(current, "\red <FONT size = 3><B>Revolution has been disappointed of your leader traits! You are a regular revolutionary now!</B></FONT>")
|
||||
to_chat(current, "\red <FONT size = 3><B>Revolution has been disappointed of your leadership traits! You are a regular revolutionary now!</B></FONT>")
|
||||
else if(!(src in ticker.mode.revolutionaries))
|
||||
to_chat(current, "\red <FONT size = 3> You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!</FONT>")
|
||||
else
|
||||
@@ -728,7 +728,7 @@
|
||||
if(src in ticker.mode.revolutionaries)
|
||||
ticker.mode.revolutionaries -= src
|
||||
ticker.mode.update_rev_icons_removed(src)
|
||||
to_chat(current, "\red <FONT size = 3><B>You have proved your devotion to revoltion! Yea are a head revolutionary now!</B></FONT>")
|
||||
to_chat(current, "\red <FONT size = 3><B>You have proven your devotion to revolution! You are a head revolutionary now!</B></FONT>")
|
||||
else if(!(src in ticker.mode.head_revolutionaries))
|
||||
to_chat(current, "\blue You are a member of the revolutionaries' leadership now!")
|
||||
else
|
||||
@@ -857,7 +857,7 @@
|
||||
special_role = SPECIAL_ROLE_WIZARD
|
||||
//ticker.mode.learn_basic_spells(current)
|
||||
ticker.mode.update_wiz_icons_added(src)
|
||||
to_chat(current, "<span class='danger'>You are the Space Wizard!</span>")
|
||||
to_chat(current, "<span class='danger'>You are a Space Wizard!</span>")
|
||||
current.faction = list("wizard")
|
||||
log_admin("[key_name(usr)] has wizarded [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has wizarded [key_name_admin(current)]")
|
||||
@@ -875,7 +875,7 @@
|
||||
message_admins("[key_name_admin(usr)] has allowed wizard [key_name_admin(current)] to name themselves")
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_wizard_objectives(src)
|
||||
to_chat(usr, "\blue The objectives for wizard [key] have been generated. You can edit them and anounce manually.")
|
||||
to_chat(usr, "\blue The objectives for wizard [key] have been generated. You can edit them and announce manually.")
|
||||
log_admin("[key_name(usr)] has automatically forged wizard objectives for [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has automatically forged wizard objectives for [key_name_admin(current)]")
|
||||
|
||||
@@ -898,13 +898,13 @@
|
||||
ticker.mode.grant_changeling_powers(current)
|
||||
ticker.mode.update_change_icons_added(src)
|
||||
special_role = SPECIAL_ROLE_CHANGELING
|
||||
to_chat(current, "<B><font color='red'>Your powers are awoken. A flash of memory returns to us...we are a changeling!</font></B>")
|
||||
to_chat(current, "<B><font color='red'>Your powers have awoken. A flash of memory returns to us... we are a changeling!</font></B>")
|
||||
log_admin("[key_name(usr)] has changelinged [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has changelinged [key_name_admin(current)]")
|
||||
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_changeling_objectives(src)
|
||||
to_chat(usr, "\blue The objectives for changeling [key] have been generated. You can edit them and anounce manually.")
|
||||
to_chat(usr, "\blue The objectives for changeling [key] have been generated. You can edit them and announce manually.")
|
||||
log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]")
|
||||
|
||||
@@ -942,7 +942,7 @@
|
||||
slaved.masters += src
|
||||
som = slaved //we MIGT want to mindslave someone
|
||||
special_role = SPECIAL_ROLE_VAMPIRE
|
||||
to_chat(current, "<B><font color='red'>Your powers are awoken. Your lust for blood grows... You are a Vampire!</font></B>")
|
||||
to_chat(current, "<B><font color='red'>Your powers have awoken. Your lust for blood grows... You are a Vampire!</font></B>")
|
||||
log_admin("[key_name(usr)] has vampired [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has vampired [key_name_admin(current)]")
|
||||
|
||||
@@ -1061,7 +1061,7 @@
|
||||
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_traitor_objectives(src)
|
||||
to_chat(usr, "\blue The objectives for traitor [key] have been generated. You can edit them and anounce manually.")
|
||||
to_chat(usr, "\blue The objectives for traitor [key] have been generated. You can edit them and announce manually.")
|
||||
log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]")
|
||||
|
||||
@@ -1360,7 +1360,7 @@
|
||||
to_chat(H, "A tome, a message from your new master, appears in your [where].")
|
||||
|
||||
if(!ticker.mode.equip_cultist(current))
|
||||
to_chat(H, "Spawning an amulet from your Master failed.")
|
||||
to_chat(H, "Summoning an amulet from your Master failed.")
|
||||
|
||||
/datum/mind/proc/make_Rev()
|
||||
if(ticker.mode.head_revolutionaries.len>0)
|
||||
|
||||
+796
-681
File diff suppressed because it is too large
Load Diff
@@ -99,6 +99,13 @@
|
||||
treasure in this disused warehouse, launch it into space, and then \
|
||||
ignore it. Forever."
|
||||
|
||||
/datum/map_template/ruin/space/listeningpost
|
||||
id = "listeningpost"
|
||||
suffix = "listeningpost.dmm"
|
||||
name = "Syndie Listening Post"
|
||||
description = "What happens to Nuclear Operatives that fail in their mission? \
|
||||
Certainly not assignment to a backwater listening post..."
|
||||
|
||||
/datum/map_template/ruin/space/empty_shell
|
||||
id = "empty-shell"
|
||||
suffix = "emptyshell.dmm"
|
||||
|
||||
@@ -11,10 +11,13 @@
|
||||
invocation_type = "shout"
|
||||
action_icon_state = "immrod"
|
||||
|
||||
sound = 'sound/effects/whoosh.ogg'
|
||||
var/rod_delay = 2
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/rod_form/cast(list/targets,mob/user = usr)
|
||||
for(var/mob/living/M in targets)
|
||||
var/turf/start = get_turf(M)
|
||||
var/obj/effect/immovablerod/wizard/W = new(start, get_ranged_target_turf(M, M.dir, (15 + spell_level * 3)))
|
||||
var/obj/effect/immovablerod/wizard/W = new(start, get_ranged_target_turf(M, M.dir, (15 + spell_level * 3)), rod_delay)
|
||||
W.wizard = M
|
||||
W.max_distance += spell_level * 3 //You travel farther when you upgrade the spell
|
||||
W.start_turf = start
|
||||
|
||||
@@ -1173,7 +1173,7 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
|
||||
|
||||
/datum/supply_packs/materials/plastic30
|
||||
name = "30 Plastic Sheets Crate"
|
||||
contains = list(/obj/item/stack/sheet/mineral/plastic)
|
||||
contains = list(/obj/item/stack/sheet/plastic)
|
||||
amount = 30
|
||||
cost = 25
|
||||
containername = "plastic sheets crate"
|
||||
|
||||
@@ -319,7 +319,7 @@ var/list/uplink_items = list()
|
||||
cost = 6
|
||||
job = list("Life Support Specialist")
|
||||
|
||||
/datum/uplink_item/dangerous/energizedfireaxe
|
||||
/datum/uplink_item/jobspecific/energizedfireaxe
|
||||
name = "Energized Fire Axe"
|
||||
desc = "A fire axe with a massive electrical charge built into it. It can release this charge on its first victim and will be rather plain after that."
|
||||
reference = "EFA"
|
||||
|
||||
@@ -11,52 +11,44 @@
|
||||
|
||||
var/const/AIRLOCK_WIRE_IDSCAN = 1
|
||||
var/const/AIRLOCK_WIRE_MAIN_POWER1 = 2
|
||||
var/const/AIRLOCK_WIRE_MAIN_POWER2 = 4
|
||||
var/const/AIRLOCK_WIRE_DOOR_BOLTS = 8
|
||||
var/const/AIRLOCK_WIRE_BACKUP_POWER1 = 16
|
||||
var/const/AIRLOCK_WIRE_BACKUP_POWER2 = 32
|
||||
var/const/AIRLOCK_WIRE_OPEN_DOOR = 64
|
||||
var/const/AIRLOCK_WIRE_AI_CONTROL = 128
|
||||
var/const/AIRLOCK_WIRE_ELECTRIFY = 256
|
||||
var/const/AIRLOCK_WIRE_SAFETY = 512
|
||||
var/const/AIRLOCK_WIRE_SPEED = 1024
|
||||
var/const/AIRLOCK_WIRE_LIGHT = 2048
|
||||
var/const/AIRLOCK_WIRE_DOOR_BOLTS = 4
|
||||
var/const/AIRLOCK_WIRE_BACKUP_POWER1 = 8
|
||||
var/const/AIRLOCK_WIRE_OPEN_DOOR = 16
|
||||
var/const/AIRLOCK_WIRE_AI_CONTROL = 32
|
||||
var/const/AIRLOCK_WIRE_ELECTRIFY = 64
|
||||
var/const/AIRLOCK_WIRE_SAFETY = 128
|
||||
var/const/AIRLOCK_WIRE_SPEED = 256
|
||||
var/const/AIRLOCK_WIRE_LIGHT = 512
|
||||
|
||||
/datum/wires/airlock/GetWireName(index)
|
||||
switch(index)
|
||||
if(AIRLOCK_WIRE_IDSCAN)
|
||||
return "ID Scan"
|
||||
|
||||
|
||||
if(AIRLOCK_WIRE_MAIN_POWER1)
|
||||
return "Primary Power"
|
||||
|
||||
if(AIRLOCK_WIRE_MAIN_POWER2)
|
||||
return "Secondary Power"
|
||||
|
||||
|
||||
if(AIRLOCK_WIRE_DOOR_BOLTS)
|
||||
return "Door Bolts"
|
||||
|
||||
|
||||
if(AIRLOCK_WIRE_BACKUP_POWER1)
|
||||
return "Primary Backup Power"
|
||||
|
||||
if(AIRLOCK_WIRE_BACKUP_POWER2)
|
||||
return "Secondary Backup Power"
|
||||
|
||||
|
||||
if(AIRLOCK_WIRE_OPEN_DOOR)
|
||||
return "Door State"
|
||||
|
||||
|
||||
if(AIRLOCK_WIRE_AI_CONTROL)
|
||||
return "AI Control"
|
||||
|
||||
|
||||
if(AIRLOCK_WIRE_ELECTRIFY)
|
||||
return "Electrification"
|
||||
|
||||
|
||||
if(AIRLOCK_WIRE_ELECTRIFY)
|
||||
return "Door Safeties"
|
||||
|
||||
|
||||
if(AIRLOCK_WIRE_ELECTRIFY)
|
||||
return "Door Timing"
|
||||
|
||||
|
||||
if(AIRLOCK_WIRE_ELECTRIFY)
|
||||
return "Bolt Lights"
|
||||
|
||||
@@ -89,7 +81,7 @@ var/const/AIRLOCK_WIRE_LIGHT = 2048
|
||||
switch(index)
|
||||
if(AIRLOCK_WIRE_IDSCAN)
|
||||
A.aiDisabledIdScanner = !mended
|
||||
if(AIRLOCK_WIRE_MAIN_POWER1, AIRLOCK_WIRE_MAIN_POWER2)
|
||||
if(AIRLOCK_WIRE_MAIN_POWER1)
|
||||
|
||||
if(!mended)
|
||||
//Cutting either one disables the main door power, but unless backup power is also cut, the backup power re-powers the door in 10 seconds. While unpowered, the door may be crowbarred open, but bolts-raising will not work. Cutting these wires may electocute the user.
|
||||
@@ -99,7 +91,7 @@ var/const/AIRLOCK_WIRE_LIGHT = 2048
|
||||
A.regainMainPower()
|
||||
A.shock(usr, 50)
|
||||
|
||||
if(AIRLOCK_WIRE_BACKUP_POWER1, AIRLOCK_WIRE_BACKUP_POWER2)
|
||||
if(AIRLOCK_WIRE_BACKUP_POWER1)
|
||||
|
||||
if(!mended)
|
||||
//Cutting either one disables the backup door power (allowing it to be crowbarred open, but disabling bolts-raising), but may electocute the user.
|
||||
@@ -165,7 +157,7 @@ var/const/AIRLOCK_WIRE_LIGHT = 2048
|
||||
if(A.emergency)
|
||||
A.emergency = 0
|
||||
A.update_icon()
|
||||
if(AIRLOCK_WIRE_MAIN_POWER1 || AIRLOCK_WIRE_MAIN_POWER2)
|
||||
if(AIRLOCK_WIRE_MAIN_POWER1)
|
||||
//Sending a pulse through either one causes a breaker to trip, disabling the door for 10 seconds if backup power is connected, or 1 minute if not (or until backup power comes back on, whichever is shorter).
|
||||
A.loseMainPower()
|
||||
if(AIRLOCK_WIRE_DOOR_BOLTS)
|
||||
@@ -176,7 +168,7 @@ var/const/AIRLOCK_WIRE_LIGHT = 2048
|
||||
else
|
||||
A.unlock()
|
||||
|
||||
if(AIRLOCK_WIRE_BACKUP_POWER1 || AIRLOCK_WIRE_BACKUP_POWER2)
|
||||
if(AIRLOCK_WIRE_BACKUP_POWER1)
|
||||
//two wires for backup power. Sending a pulse through either one causes a breaker to trip, but this does not disable it unless main power is down too (in which case it is disabled for 1 minute or however long it takes main power to come back, whichever is shorter).
|
||||
A.loseBackupPower()
|
||||
if(AIRLOCK_WIRE_AI_CONTROL)
|
||||
|
||||
Reference in New Issue
Block a user