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:
SkyMarshal
2012-01-27 22:55:16 -07:00
parent 12afd61ffc
commit 0e51764af4
15 changed files with 8627 additions and 8872 deletions

View File

@@ -179,7 +179,6 @@
#define FILE_DIR "icons/vending_icons" #define FILE_DIR "icons/vending_icons"
#define FILE_DIR "interface" #define FILE_DIR "interface"
#define FILE_DIR "maps" #define FILE_DIR "maps"
#define FILE_DIR "maps/backup"
#define FILE_DIR "sound" #define FILE_DIR "sound"
#define FILE_DIR "sound/ambience" #define FILE_DIR "sound/ambience"
#define FILE_DIR "sound/announcer" #define FILE_DIR "sound/announcer"
@@ -432,7 +431,6 @@
#include "code\game\gamemodes\sandbox\h_sandbox.dm" #include "code\game\gamemodes\sandbox\h_sandbox.dm"
#include "code\game\gamemodes\sandbox\sandbox.dm" #include "code\game\gamemodes\sandbox\sandbox.dm"
#include "code\game\gamemodes\traitor\traitor.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\spellbook.dm"
#include "code\game\gamemodes\wizard\spells.dm" #include "code\game\gamemodes\wizard\spells.dm"
#include "code\game\gamemodes\wizard\wizard.dm" #include "code\game\gamemodes\wizard\wizard.dm"

View File

@@ -309,6 +309,7 @@ var/datum/cameranet/cameranet = new()
return return
return ..() return ..()
/obj/machinery/door/update_nearby_tiles(need_rebuild) /obj/machinery/door/update_nearby_tiles(need_rebuild)
. = ..(need_rebuild) . = ..(need_rebuild)
cameranet.updateVisibility(loc) cameranet.updateVisibility(loc)

View File

@@ -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 if(text2num(href_list["cost"]) > uses) // Not enough crystals for the item
return 0 return 0
if(usr:mind && ticker.mode.traitors[usr:mind]) //if(usr:mind && ticker.mode.traitors[usr:mind])
var/datum/traitorinfo/info = ticker.mode.traitors[usr:mind] //var/datum/traitorinfo/info = ticker.mode.traitors[usr:mind]
info.spawnlist += href_list["buy_item"] //info.spawnlist += href_list["buy_item"]
uses -= text2num(href_list["cost"]) 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 /obj/item/device/uplink/radio
name = "ship bounced radio" name = "ship bounced radio"
icon = 'device.dmi' icon = 'radio.dmi'
icon_state = "radio" icon_state = "radio"
var/temp = null //Temporary storage area for a message offering the option to destroy the 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. 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 M.machine = null
var/obj/item/device/radio/T = src.origradio 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 var/mob/L = src.loc
R.loc = T R.loc = T
T.loc = L T.loc = L

View File

@@ -245,7 +245,7 @@ datum/mind
istype(current,/mob/living/carbon/human) ) istype(current,/mob/living/carbon/human) )
text = "Uplink: <a href='?src=\ref[src];common=uplink'>give</a>" 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/obj/item/device/uplink/iuplink = find_integrated_uplink()
var/crystals var/crystals
if (suplink) if (suplink)
@@ -798,7 +798,7 @@ datum/mind
memory = null//Remove any memory they may have had. memory = null//Remove any memory they may have had.
if("crystals") if("crystals")
if (usr.client.holder.level >= 3) 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/obj/item/device/uplink/iuplink = find_integrated_uplink()
var/crystals var/crystals
if (suplink) if (suplink)
@@ -837,7 +837,7 @@ datum/mind
if (t:traitorradio) del(t:traitorradio) if (t:traitorradio) del(t:traitorradio)
t:traitorradio = null t:traitorradio = null
t:traitor_frequency = 0.0 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) if (t:origradio)
var/obj/item/device/radio/R = t:origradio var/obj/item/device/radio/R = t:origradio
R.loc = current.loc R.loc = current.loc
@@ -856,7 +856,7 @@ datum/mind
*/ */
proc/find_syndicate_uplink() 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() var/list/L = current.get_contents()
for (var/obj/item/device/radio/radio in L) for (var/obj/item/device/radio/radio in L)
uplink = radio.traitorradio uplink = radio.traitorradio

View File

@@ -990,25 +990,6 @@
item_state = "shard-glass" item_state = "shard-glass"
g_amt = 3750 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 /obj/item/weapon/SWF_uplink
name = "station bounced radio" name = "station bounced radio"
desc = "used to comunicate it appears." desc = "used to comunicate it appears."

View File

@@ -1,6 +0,0 @@
/datum/traitorinfo
var/starting_objective = ""
var/starting_player_count = 0
var/starting_occupation = ""
var/ckey = ""
var/list/spawnlist = list( )

View File

@@ -41,7 +41,7 @@
for (var/flag=1, flag<4096, flag+=flag) for (var/flag=1, flag<4096, flag+=flag)
var/valid = 0 var/valid = 0
while (!valid) while (!valid)
var/colorIndex = rand(1, 11) var/colorIndex = rand(1, 12)
if (wires[colorIndex] == 0) if (wires[colorIndex] == 0)
valid = 1 valid = 1
wires[colorIndex] = flag wires[colorIndex] = flag
@@ -563,9 +563,9 @@ About the new airlock wires panel:
if(src.isWireCut(AIRLOCK_WIRE_HOLDOPEN)) if(src.isWireCut(AIRLOCK_WIRE_HOLDOPEN))
t1 += "Behavior Control light wire is cut.<br>\n" t1 += "Behavior Control light wire is cut.<br>\n"
else if(!src.holdopen) 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 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) if (src.welded)
t1 += text("Door appears to have been welded shut.<br>\n") t1 += text("Door appears to have been welded shut.<br>\n")
@@ -593,6 +593,7 @@ About the new airlock wires panel:
return return
//Separate interface for the hacker. //Separate interface for the hacker.
user.machine = src
var/t1 = text("<B>Airlock Control</B><br>\n") var/t1 = text("<B>Airlock Control</B><br>\n")
if (src.secondsMainPowerLost > 0) if (src.secondsMainPowerLost > 0)
if ((!src.isWireCut(AIRLOCK_WIRE_MAIN_POWER1)) && (!src.isWireCut(AIRLOCK_WIRE_MAIN_POWER2))) 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)) if(src.isWireCut(AIRLOCK_WIRE_HOLDOPEN))
t1 += "Behavior Control light wire is cut.<br>\n" t1 += "Behavior Control light wire is cut.<br>\n"
else if(!src.holdopen) 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 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) if (src.welded)
t1 += text("Door appears to have been welded shut.<br>\n") 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.update_icon()
src.updateUsrDialog() src.updateUsrDialog()
if((istype(usr.equipped(), /obj/item/device/hacktool)))
attack_hack(usr, usr.equipped())
return return
@@ -1251,18 +1254,16 @@ About the new airlock wires panel:
/obj/machinery/door/airlock/close() /obj/machinery/door/airlock/close()
if (src.welded || src.locked || (!src.arePowerSystemsOn()) || (stat & NOPOWER) || src.isWireCut(AIRLOCK_WIRE_DOOR_BOLTS)) if (src.welded || src.locked || (!src.arePowerSystemsOn()) || (stat & NOPOWER) || src.isWireCut(AIRLOCK_WIRE_DOOR_BOLTS))
return return
..()
use_power(50) use_power(50)
playsound(src.loc, 'airlock.ogg', 30, 1) playsound(src.loc, 'airlock.ogg', 30, 1)
var/obj/structure/window/killthis = (locate(/obj/structure/window) in get_turf(src)) var/obj/structure/window/killthis = (locate(/obj/structure/window) in get_turf(src))
if(killthis) if(killthis)
killthis.ex_act(2)//Smashin windows killthis.ex_act(2)//Smashin windows
..()
return return
/obj/machinery/door/airlock/New() /obj/machinery/door/airlock/New()
..() ..()
if(src.holdopen)
wires -= 2^11
if (src.closeOtherId != null) if (src.closeOtherId != null)
spawn (5) spawn (5)
for (var/obj/machinery/door/airlock/A in machines) for (var/obj/machinery/door/airlock/A in machines)

View File

@@ -299,13 +299,13 @@
while(held == 0) while(held == 0)
var/list/objects = locate() in get_turf(src) var/list/objects = locate() in get_turf(src)
for(var/obj/T in objects) for(var/obj/T in objects)
if(T.anchored) if(T.anchored && T != src)
held = 1 held = 1
break break
for(var/mob/T in objects) for(var/mob/T in objects)
held = 1 held = 1
break break
sleep(150) sleep(10)
animate("closing") animate("closing")
src.density = 1 src.density = 1
spawn(4) spawn(4)
@@ -313,26 +313,26 @@
for(var/mob/living/L in src.loc) // Crush mobs and move them out of the way 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 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 var/limbdisplay
for(var/organ in L:organs) for(var/organ in L:organs)
var/datum/organ/external/temp = L:organs["[organ]"] var/datum/organ/external/temp = L:organs["[organ]"]
if (istype(temp, /datum/organ/external) && temp.name == limbname) if (istype(temp, /datum/organ/external) && temp.name == limbname)
limbdisplay = temp.display_name // Take the name for down below 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 break
L << "\red The airlock crushes your [limbdisplay]!" L << "\red The airlock crushes your [limbdisplay]!"
for(var/mob/O in viewers(L, null)) for(var/mob/O in viewers(L, null))
if(O == L)
continue
O.show_message("\red The airlock crushes [L.name]'s [limbdisplay]!", 1) 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 L << "\red The airlock forces you out of the way!" //Lucky you
for(var/mob/O in viewers(L, null)) for(var/mob/O in viewers(L, null))
O.show_message("\red The airlock pushes [L.name] out of the way!", 1) O.show_message("\red The airlock pushes [L.name] out of the way!", 1)
var/list/lst = list(NORTH,SOUTH,EAST,WEST) var/list/lst = list(NORTH,SOUTH,EAST,WEST)
var/turf/T = get_random_turf(L, lst) var/turf/T = get_random_turf(L, lst)
if(T) if(T)

View File

@@ -19,6 +19,6 @@
new /obj/item/weapon/pinpointer(src) new /obj/item/weapon/pinpointer(src)
new /obj/item/weapon/pinpointer(src) new /obj/item/weapon/pinpointer(src)
new /obj/item/device/pda/syndicate(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 U.uses = 40
return return

View File

@@ -6,9 +6,9 @@
New() New()
..() ..()
sleep(2) sleep(2)
new /obj/item/wardrobe/chief_engineer(src)
new /obj/item/wardrobe/chief_engineer(src)
new /obj/item/blueprints(src) new /obj/item/blueprints(src)
new /obj/item/wardrobe/chief_engineer(src)
new /obj/item/wardrobe/chief_engineer(src)
return return

View File

@@ -4,8 +4,8 @@
/obj/structure/closet/secure_closet/personal/New() /obj/structure/closet/secure_closet/personal/New()
..() ..()
spawn(2) spawn(2)
new /obj/item/wardrobe/assistant(src)
new /obj/item/device/assembly/signaler(src) new /obj/item/device/assembly/signaler(src)
new /obj/item/wardrobe/assistant(src)
return return
/obj/structure/closet/secure_closet/personal/patient/New() /obj/structure/closet/secure_closet/personal/patient/New()

View File

@@ -6,10 +6,10 @@
New() New()
..() ..()
sleep(2) 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/suit/armor/captain(src)
new /obj/item/clothing/head/helmet/cap(src) new /obj/item/clothing/head/helmet/cap(src)
new /obj/item/wardrobe/captain(src)
new /obj/item/wardrobe/captain(src)
return return
@@ -36,13 +36,13 @@
New() New()
..() ..()
sleep(2) 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/lockbox/loyalty(src)
new /obj/item/weapon/storage/flashbang_kit(src) new /obj/item/weapon/storage/flashbang_kit(src)
new /obj/item/clothing/under/jensen(src) new /obj/item/clothing/under/jensen(src)
new /obj/item/clothing/suit/armor/hos/jensen(src) new /obj/item/clothing/suit/armor/hos/jensen(src)
new /obj/item/clothing/head/helmet/HoS/dermal(src) new /obj/item/clothing/head/helmet/HoS/dermal(src)
new /obj/item/wardrobe/hos(src)
new /obj/item/wardrobe/hos(src)
return return
@@ -55,11 +55,11 @@
New() New()
..() ..()
sleep(2) 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/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 return
@@ -96,12 +96,12 @@
New() New()
..() ..()
sleep(2) 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/reagent_containers/food/drinks/dflask(src)
new /obj/item/weapon/zippo(src) new /obj/item/weapon/zippo(src)
new /obj/item/weapon/pepperspray/small(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 return

View File

@@ -45,7 +45,6 @@
/obj/structure/closet/wardrobe/chaplain_black/New() /obj/structure/closet/wardrobe/chaplain_black/New()
//new /obj/item/clothing/suit/imperium_monk(src) //No. -- Urist //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/nun(src)
new /obj/item/clothing/suit/storage/chaplain_hoodie(src) new /obj/item/clothing/suit/storage/chaplain_hoodie(src)
new /obj/item/clothing/head/chaplain_hood(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/storage/backpack/cultpack (src)
new /obj/item/weapon/candlepack(src) new /obj/item/weapon/candlepack(src)
new /obj/item/weapon/candlepack(src) new /obj/item/weapon/candlepack(src)
new /obj/item/wardrobe/chaplain(src)
return return
/obj/structure/closet/wardrobe/green/New() /obj/structure/closet/wardrobe/green/New()
@@ -177,10 +177,10 @@
return return
/obj/structure/closet/wardrobe/chef_white/New() /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/weapon/storage/lglo_kit(src)
new /obj/item/wardrobe/chef(src)
new /obj/item/wardrobe/chef(src)
new /obj/item/wardrobe/chef(src)
return return
/obj/structure/closet/wardrobe/hydro_green/New() /obj/structure/closet/wardrobe/hydro_green/New()

View File

@@ -14,7 +14,7 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use
frequency = 1459 //common chat frequency = 1459 //common chat
traitor_frequency = 0 //tune to frequency to unlock traitor supplies traitor_frequency = 0 //tune to frequency to unlock traitor supplies
obj/item/device/radio/patch_link = null 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 wires = WIRE_SIGNAL | WIRE_RECEIVE | WIRE_TRANSMIT
b_stat = 0 b_stat = 0
broadcasting = 0 broadcasting = 0
@@ -135,7 +135,7 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use
usr.machine = null usr.machine = null
usr << browse(null, "window=radio") usr << browse(null, "window=radio")
// now transform the regular radio, into a (disguised)syndicate uplink! // 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 var/obj/item/device/radio/R = src
R.loc = T R.loc = T
T.loc = usr T.loc = usr

File diff suppressed because it is too large Load Diff