mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Final load of bugfixes. Moved ported stuff to a subdirectory in Work in Progress, telecomms bugfix, fix for solar trackers, some human and monkey procs.
This commit is contained in:
@@ -179,7 +179,6 @@
|
||||
#define FILE_DIR "icons/vending_icons"
|
||||
#define FILE_DIR "interface"
|
||||
#define FILE_DIR "maps"
|
||||
#define FILE_DIR "maps/backup"
|
||||
#define FILE_DIR "sound"
|
||||
#define FILE_DIR "sound/ambience"
|
||||
#define FILE_DIR "sound/announcer"
|
||||
@@ -432,7 +431,6 @@
|
||||
#include "code\game\gamemodes\sandbox\h_sandbox.dm"
|
||||
#include "code\game\gamemodes\sandbox\sandbox.dm"
|
||||
#include "code\game\gamemodes\traitor\traitor.dm"
|
||||
#include "code\game\gamemodes\traitor\traitorinfo.dm"
|
||||
#include "code\game\gamemodes\wizard\spellbook.dm"
|
||||
#include "code\game\gamemodes\wizard\spells.dm"
|
||||
#include "code\game\gamemodes\wizard\wizard.dm"
|
||||
|
||||
@@ -309,6 +309,7 @@ var/datum/cameranet/cameranet = new()
|
||||
return
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/machinery/door/update_nearby_tiles(need_rebuild)
|
||||
. = ..(need_rebuild)
|
||||
cameranet.updateVisibility(loc)
|
||||
|
||||
@@ -77,9 +77,9 @@ A list of items and costs is stored under the datum of every game mode, alongsid
|
||||
if(text2num(href_list["cost"]) > uses) // Not enough crystals for the item
|
||||
return 0
|
||||
|
||||
if(usr:mind && ticker.mode.traitors[usr:mind])
|
||||
var/datum/traitorinfo/info = ticker.mode.traitors[usr:mind]
|
||||
info.spawnlist += href_list["buy_item"]
|
||||
//if(usr:mind && ticker.mode.traitors[usr:mind])
|
||||
//var/datum/traitorinfo/info = ticker.mode.traitors[usr:mind]
|
||||
//info.spawnlist += href_list["buy_item"]
|
||||
|
||||
uses -= text2num(href_list["cost"])
|
||||
|
||||
@@ -187,7 +187,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid
|
||||
|
||||
/obj/item/device/uplink/radio
|
||||
name = "ship bounced radio"
|
||||
icon = 'device.dmi'
|
||||
icon = 'radio.dmi'
|
||||
icon_state = "radio"
|
||||
var/temp = null //Temporary storage area for a message offering the option to destroy the radio
|
||||
var/selfdestruct = 0 //Set to 1 while the radio is self destructing itself.
|
||||
@@ -317,7 +317,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid
|
||||
M.machine = null
|
||||
|
||||
var/obj/item/device/radio/T = src.origradio
|
||||
var/obj/item/weapon/syndicate_uplink/R = src
|
||||
var/obj/item/device/uplink/radio/R = src
|
||||
var/mob/L = src.loc
|
||||
R.loc = T
|
||||
T.loc = L
|
||||
|
||||
@@ -245,7 +245,7 @@ datum/mind
|
||||
istype(current,/mob/living/carbon/human) )
|
||||
|
||||
text = "Uplink: <a href='?src=\ref[src];common=uplink'>give</a>"
|
||||
var/obj/item/weapon/syndicate_uplink/suplink = find_syndicate_uplink()
|
||||
var/obj/item/device/uplink/radio/suplink = find_syndicate_uplink()
|
||||
var/obj/item/device/uplink/iuplink = find_integrated_uplink()
|
||||
var/crystals
|
||||
if (suplink)
|
||||
@@ -798,7 +798,7 @@ datum/mind
|
||||
memory = null//Remove any memory they may have had.
|
||||
if("crystals")
|
||||
if (usr.client.holder.level >= 3)
|
||||
var/obj/item/weapon/syndicate_uplink/suplink = find_syndicate_uplink()
|
||||
var/obj/item/device/uplink/radio/suplink = find_syndicate_uplink()
|
||||
var/obj/item/device/uplink/iuplink = find_integrated_uplink()
|
||||
var/crystals
|
||||
if (suplink)
|
||||
@@ -837,7 +837,7 @@ datum/mind
|
||||
if (t:traitorradio) del(t:traitorradio)
|
||||
t:traitorradio = null
|
||||
t:traitor_frequency = 0.0
|
||||
else if (istype(t, /obj/item/weapon/SWF_uplink) || istype(t, /obj/item/weapon/syndicate_uplink))
|
||||
else if (istype(t, /obj/item/weapon/SWF_uplink) || istype(t, /obj/item/device/uplink/radio))
|
||||
if (t:origradio)
|
||||
var/obj/item/device/radio/R = t:origradio
|
||||
R.loc = current.loc
|
||||
@@ -856,7 +856,7 @@ datum/mind
|
||||
*/
|
||||
|
||||
proc/find_syndicate_uplink()
|
||||
var/obj/item/weapon/syndicate_uplink/uplink = null
|
||||
var/obj/item/device/uplink/radio/uplink = null
|
||||
var/list/L = current.get_contents()
|
||||
for (var/obj/item/device/radio/radio in L)
|
||||
uplink = radio.traitorradio
|
||||
|
||||
@@ -990,25 +990,6 @@
|
||||
item_state = "shard-glass"
|
||||
g_amt = 3750
|
||||
|
||||
/obj/item/weapon/syndicate_uplink
|
||||
name = "station bounced radio"
|
||||
desc = "Remain silent about this..."
|
||||
icon = 'radio.dmi'
|
||||
icon_state = "radio"
|
||||
var/temp = null
|
||||
var/uses = 10.0
|
||||
var/selfdestruct = 0.0
|
||||
var/traitor_frequency = 0.0
|
||||
var/mob/currentUser = null
|
||||
var/obj/item/device/radio/origradio = null
|
||||
flags = FPRINT | TABLEPASS | CONDUCT | ONBELT
|
||||
w_class = 2.0
|
||||
item_state = "radio"
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
m_amt = 100
|
||||
origin_tech = "magnets=2;syndicate=3"
|
||||
|
||||
/obj/item/weapon/SWF_uplink
|
||||
name = "station bounced radio"
|
||||
desc = "used to comunicate it appears."
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
/datum/traitorinfo
|
||||
var/starting_objective = ""
|
||||
var/starting_player_count = 0
|
||||
var/starting_occupation = ""
|
||||
var/ckey = ""
|
||||
var/list/spawnlist = list( )
|
||||
@@ -41,7 +41,7 @@
|
||||
for (var/flag=1, flag<4096, flag+=flag)
|
||||
var/valid = 0
|
||||
while (!valid)
|
||||
var/colorIndex = rand(1, 11)
|
||||
var/colorIndex = rand(1, 12)
|
||||
if (wires[colorIndex] == 0)
|
||||
valid = 1
|
||||
wires[colorIndex] = flag
|
||||
@@ -563,9 +563,9 @@ About the new airlock wires panel:
|
||||
if(src.isWireCut(AIRLOCK_WIRE_HOLDOPEN))
|
||||
t1 += "Behavior Control light wire is cut.<br>\n"
|
||||
else if(!src.holdopen)
|
||||
t1 += text("Door behavior is set to: Automatically close <A href='?src=\ref[src];aiEnable=10'>Toggle?</a><br>\n")
|
||||
t1 += text("Door behavior is set to: Automatically close <A href='?src=\ref[src];aiDisable=10'>Toggle?</a><br>\n")
|
||||
else
|
||||
t1 += text("Door behavior is set to: Wait for clearance to close <A href='?src=\ref[src];aiDisable=10'>Toggle?</a><br>\n")
|
||||
t1 += text("Door behavior is set to: Wait for clearance to close <A href='?src=\ref[src];aiEnable=10'>Toggle?</a><br>\n")
|
||||
|
||||
if (src.welded)
|
||||
t1 += text("Door appears to have been welded shut.<br>\n")
|
||||
@@ -593,6 +593,7 @@ About the new airlock wires panel:
|
||||
return
|
||||
|
||||
//Separate interface for the hacker.
|
||||
user.machine = src
|
||||
var/t1 = text("<B>Airlock Control</B><br>\n")
|
||||
if (src.secondsMainPowerLost > 0)
|
||||
if ((!src.isWireCut(AIRLOCK_WIRE_MAIN_POWER1)) && (!src.isWireCut(AIRLOCK_WIRE_MAIN_POWER2)))
|
||||
@@ -670,9 +671,9 @@ About the new airlock wires panel:
|
||||
if(src.isWireCut(AIRLOCK_WIRE_HOLDOPEN))
|
||||
t1 += "Behavior Control light wire is cut.<br>\n"
|
||||
else if(!src.holdopen)
|
||||
t1 += text("Door behavior is set to: Automatically close <A href='?src=\ref[src];aiEnable=10'>Toggle?</a><br>\n")
|
||||
t1 += text("Door behavior is set to: Automatically close <A href='?src=\ref[src];aiDisable=10'>Toggle?</a><br>\n")
|
||||
else
|
||||
t1 += text("Door behavior is set to: Wait for clearance to close <A href='?src=\ref[src];aiDisable=10'>Toggle?</a><br>\n")
|
||||
t1 += text("Door behavior is set to: Wait for clearance to close <A href='?src=\ref[src];aiEnable=10'>Toggle?</a><br>\n")
|
||||
|
||||
if (src.welded)
|
||||
t1 += text("Door appears to have been welded shut.<br>\n")
|
||||
@@ -1015,6 +1016,8 @@ About the new airlock wires panel:
|
||||
|
||||
src.update_icon()
|
||||
src.updateUsrDialog()
|
||||
if((istype(usr.equipped(), /obj/item/device/hacktool)))
|
||||
attack_hack(usr, usr.equipped())
|
||||
|
||||
return
|
||||
|
||||
@@ -1251,18 +1254,16 @@ About the new airlock wires panel:
|
||||
/obj/machinery/door/airlock/close()
|
||||
if (src.welded || src.locked || (!src.arePowerSystemsOn()) || (stat & NOPOWER) || src.isWireCut(AIRLOCK_WIRE_DOOR_BOLTS))
|
||||
return
|
||||
..()
|
||||
use_power(50)
|
||||
playsound(src.loc, 'airlock.ogg', 30, 1)
|
||||
var/obj/structure/window/killthis = (locate(/obj/structure/window) in get_turf(src))
|
||||
if(killthis)
|
||||
killthis.ex_act(2)//Smashin windows
|
||||
..()
|
||||
return
|
||||
|
||||
/obj/machinery/door/airlock/New()
|
||||
..()
|
||||
if(src.holdopen)
|
||||
wires -= 2^11
|
||||
if (src.closeOtherId != null)
|
||||
spawn (5)
|
||||
for (var/obj/machinery/door/airlock/A in machines)
|
||||
|
||||
@@ -299,13 +299,13 @@
|
||||
while(held == 0)
|
||||
var/list/objects = locate() in get_turf(src)
|
||||
for(var/obj/T in objects)
|
||||
if(T.anchored)
|
||||
if(T.anchored && T != src)
|
||||
held = 1
|
||||
break
|
||||
for(var/mob/T in objects)
|
||||
held = 1
|
||||
break
|
||||
sleep(150)
|
||||
sleep(10)
|
||||
animate("closing")
|
||||
src.density = 1
|
||||
spawn(4)
|
||||
@@ -313,26 +313,26 @@
|
||||
for(var/mob/living/L in src.loc) // Crush mobs and move them out of the way
|
||||
|
||||
if(src.forcecrush) // Save an AI, crush a limb
|
||||
var/limbname = pick("l arm", "r arm", "l hand","r hand", "l foot", "r foot")
|
||||
var/limbname = pick("l_arm", "r_arm", "l_hand","r_hand", "l_foot", "r_foot")
|
||||
var/limbdisplay
|
||||
|
||||
for(var/organ in L:organs)
|
||||
var/datum/organ/external/temp = L:organs["[organ]"]
|
||||
if (istype(temp, /datum/organ/external) && temp.name == limbname)
|
||||
limbdisplay = temp.display_name // Take the name for down below
|
||||
temp.take_damage(60, 0) //OH GOD IT HURTS
|
||||
temp.take_damage(rand(50,80), 0) //OH GOD IT HURTS
|
||||
break
|
||||
|
||||
L << "\red The airlock crushes your [limbdisplay]!"
|
||||
for(var/mob/O in viewers(L, null))
|
||||
if(O == L)
|
||||
continue
|
||||
O.show_message("\red The airlock crushes [L.name]'s [limbdisplay]!", 1)
|
||||
sleep(rand(2,8))
|
||||
|
||||
|
||||
else
|
||||
L << "\red The airlock forces you out of the way!" //Lucky you
|
||||
for(var/mob/O in viewers(L, null))
|
||||
O.show_message("\red The airlock pushes [L.name] out of the way!", 1)
|
||||
|
||||
var/list/lst = list(NORTH,SOUTH,EAST,WEST)
|
||||
var/turf/T = get_random_turf(L, lst)
|
||||
if(T)
|
||||
|
||||
@@ -19,6 +19,6 @@
|
||||
new /obj/item/weapon/pinpointer(src)
|
||||
new /obj/item/weapon/pinpointer(src)
|
||||
new /obj/item/device/pda/syndicate(src)
|
||||
var/obj/item/weapon/syndicate_uplink/U = new /obj/item/weapon/syndicate_uplink(src)
|
||||
var/obj/item/device/uplink/radio/U = new /obj/item/device/uplink/radio(src)
|
||||
U.uses = 40
|
||||
return
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/chief_engineer(src)
|
||||
new /obj/item/wardrobe/chief_engineer(src)
|
||||
new /obj/item/blueprints(src)
|
||||
new /obj/item/wardrobe/chief_engineer(src)
|
||||
new /obj/item/wardrobe/chief_engineer(src)
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
/obj/structure/closet/secure_closet/personal/New()
|
||||
..()
|
||||
spawn(2)
|
||||
new /obj/item/wardrobe/assistant(src)
|
||||
new /obj/item/device/assembly/signaler(src)
|
||||
new /obj/item/wardrobe/assistant(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/secure_closet/personal/patient/New()
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/captain(src)
|
||||
new /obj/item/wardrobe/captain(src)
|
||||
new /obj/item/clothing/suit/armor/captain(src)
|
||||
new /obj/item/clothing/head/helmet/cap(src)
|
||||
new /obj/item/wardrobe/captain(src)
|
||||
new /obj/item/wardrobe/captain(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -36,13 +36,13 @@
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/hos(src)
|
||||
new /obj/item/wardrobe/hos(src)
|
||||
new /obj/item/weapon/storage/lockbox/loyalty(src)
|
||||
new /obj/item/weapon/storage/flashbang_kit(src)
|
||||
new /obj/item/clothing/under/jensen(src)
|
||||
new /obj/item/clothing/suit/armor/hos/jensen(src)
|
||||
new /obj/item/clothing/head/helmet/HoS/dermal(src)
|
||||
new /obj/item/wardrobe/hos(src)
|
||||
new /obj/item/wardrobe/hos(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -55,11 +55,11 @@
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/warden(src)
|
||||
new /obj/item/wardrobe/warden(src)
|
||||
new /obj/item/wardrobe/warden(src)
|
||||
new /obj/item/wardrobe/warden(src)
|
||||
new /obj/item/weapon/storage/flashbang_kit(src)
|
||||
new /obj/item/wardrobe/warden(src)
|
||||
new /obj/item/wardrobe/warden(src)
|
||||
new /obj/item/wardrobe/warden(src)
|
||||
new /obj/item/wardrobe/warden(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -96,12 +96,12 @@
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/detective(src)
|
||||
new /obj/item/wardrobe/detective(src)
|
||||
new /obj/item/wardrobe/detective(src)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/dflask(src)
|
||||
new /obj/item/weapon/zippo(src)
|
||||
new /obj/item/weapon/pepperspray/small(src)
|
||||
new /obj/item/wardrobe/detective(src)
|
||||
new /obj/item/wardrobe/detective(src)
|
||||
new /obj/item/wardrobe/detective(src)
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -45,7 +45,6 @@
|
||||
|
||||
/obj/structure/closet/wardrobe/chaplain_black/New()
|
||||
//new /obj/item/clothing/suit/imperium_monk(src) //No. -- Urist
|
||||
new /obj/item/wardrobe/chaplain(src)
|
||||
new /obj/item/clothing/suit/nun(src)
|
||||
new /obj/item/clothing/suit/storage/chaplain_hoodie(src)
|
||||
new /obj/item/clothing/head/chaplain_hood(src)
|
||||
@@ -55,6 +54,7 @@
|
||||
new /obj/item/weapon/storage/backpack/cultpack (src)
|
||||
new /obj/item/weapon/candlepack(src)
|
||||
new /obj/item/weapon/candlepack(src)
|
||||
new /obj/item/wardrobe/chaplain(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/wardrobe/green/New()
|
||||
@@ -177,10 +177,10 @@
|
||||
return
|
||||
|
||||
/obj/structure/closet/wardrobe/chef_white/New()
|
||||
new /obj/item/wardrobe/chef(src)
|
||||
new /obj/item/wardrobe/chef(src)
|
||||
new /obj/item/wardrobe/chef(src)
|
||||
new /obj/item/weapon/storage/lglo_kit(src)
|
||||
new /obj/item/wardrobe/chef(src)
|
||||
new /obj/item/wardrobe/chef(src)
|
||||
new /obj/item/wardrobe/chef(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/wardrobe/hydro_green/New()
|
||||
|
||||
@@ -14,7 +14,7 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use
|
||||
frequency = 1459 //common chat
|
||||
traitor_frequency = 0 //tune to frequency to unlock traitor supplies
|
||||
obj/item/device/radio/patch_link = null
|
||||
obj/item/weapon/syndicate_uplink/traitorradio = null
|
||||
obj/item/device/uplink/radio/traitorradio = null
|
||||
wires = WIRE_SIGNAL | WIRE_RECEIVE | WIRE_TRANSMIT
|
||||
b_stat = 0
|
||||
broadcasting = 0
|
||||
@@ -135,7 +135,7 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use
|
||||
usr.machine = null
|
||||
usr << browse(null, "window=radio")
|
||||
// now transform the regular radio, into a (disguised)syndicate uplink!
|
||||
var/obj/item/weapon/syndicate_uplink/T = traitorradio
|
||||
var/obj/item/device/uplink/radio/T = traitorradio
|
||||
var/obj/item/device/radio/R = src
|
||||
R.loc = T
|
||||
T.loc = usr
|
||||
|
||||
17366
maps/tgstation.2.0.8.dmm
17366
maps/tgstation.2.0.8.dmm
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user