Compilation fixes.

This commit is contained in:
PsiOmegaDelta
2015-06-16 11:03:25 +02:00
parent e094ca3d26
commit 307f36e919
3 changed files with 42 additions and 34 deletions

View File

@@ -5,41 +5,47 @@
icon_state = "posibrain" icon_state = "posibrain"
w_class = 3 w_class = 3
origin_tech = list(TECH_ENGINERING = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2, TECH_DATA = 4) origin_tech = list(TECH_ENGINERING = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2, TECH_DATA = 4)
var/searching = 0
construction_cost = list(DEFAULT_WALL_MATERIAL=500,"glass"=500,"silver"=200,"gold"=200,"phoron"=100,"diamond"=10) construction_cost = list(DEFAULT_WALL_MATERIAL=500,"glass"=500,"silver"=200,"gold"=200,"phoron"=100,"diamond"=10)
construction_time = 75 construction_time = 75
var/searching = 0
var/askDelay = 10 * 60 * 1
req_access = list(access_robotics) req_access = list(access_robotics)
locked = 0 locked = 0
mecha = null//This does not appear to be used outside of reference in mecha.dm. mecha = null//This does not appear to be used outside of reference in mecha.dm.
/obj/item/device/mmi/digital/posibrain/New()
..()
brainmob.name = "[pick(list("PBU","HIU","SINA","ARMA","OSI"))]-[rand(100, 999)]"
brainmob.real_name = src.brainmob.name
/obj/item/device/mmi/digital/posibrain/attack_self(var/mob/user) /obj/item/device/mmi/digital/posibrain/attack_self(mob/user as mob)
if(brainmob && !brainmob.key && !searching) if(brainmob && !brainmob.key && searching == 0)
//Start the process of searching for a new user. //Start the process of searching for a new user.
user << "<span class='notice'>You carefully locate the manual activation switch and start the positronic brain's boot process.</span>" user << "\blue You carefully locate the manual activation switch and start the positronic brain's boot process."
icon_state = "posibrain-searching" icon_state = "posibrain-searching"
searching = 1 src.searching = 1
var/datum/ghosttrap/G = get_ghost_trap("positronic brain") src.request_player()
G.request_player(brainmob, "A [src.name] has been booted by \the [user] in [get_area(user)]. ")
spawn(600) reset_search() spawn(600) reset_search()
/obj/item/device/mmi/digital/posibrain/attack_ghost(var/mob/dead/observer/user) /obj/item/device/mmi/digital/posibrain/proc/request_player()
var/datum/ghosttrap/G = get_ghost_trap("positronic brain") for(var/mob/dead/observer/O in player_list)
if(!G.assess_candidate(user)) if(!O.MayRespawn())
return continue
var/response = alert(user, "Are you sure you want to play as a positronic brain?", "Positronic brain request", "Yes", "No") if(jobban_isbanned(O, "AI") && jobban_isbanned(O, "Cyborg"))
if(response == "Yes") continue
if(G.transfer_personality(user, brainmob)) if(O.client)
var/turf/T = get_turf(src) if(O.client.prefs.be_special & BE_AI)
T.visible_message("<span class='notice'>\The [src] chimes quietly.</span>") question(O.client)
searching = 0
name = "positronic brain ([brainmob.name])" /obj/item/device/mmi/digital/posibrain/proc/question(var/client/C)
icon_state = "posibrain-occupied" spawn(0)
return if(!C) return
var/response = alert(C, "Someone is requesting a personality for a positronic brain. Would you like to play as one?", "Positronic brain request", "Yes", "No", "Never for this round")
if(response == "Yes")
response = alert(C, "Are you sure you want to play as a positronic brain?", "Positronic brain request", "Yes", "No")
if(!C || brainmob.key || 0 == searching) return //handle logouts that happen whilst the alert is waiting for a response, and responses issued after a brain has been located.
if(response == "Yes")
transfer_personality(C.mob)
else if (response == "Never for this round")
C.prefs.be_special ^= BE_AI
/obj/item/device/mmi/digital/posibrain/transfer_identity(var/mob/living/carbon/H) /obj/item/device/mmi/digital/posibrain/transfer_identity(var/mob/living/carbon/H)
..() ..()
@@ -49,10 +55,6 @@
icon_state = "posibrain-occupied" icon_state = "posibrain-occupied"
return return
/obj/item/device/mmi/digital/posibrain/proc/reset_search()
if(!searching || (src.brainmob && src.brainmob.key))
return
searching = 0
/obj/item/device/mmi/digital/posibrain/proc/transfer_personality(var/mob/candidate) /obj/item/device/mmi/digital/posibrain/proc/transfer_personality(var/mob/candidate)
announce_ghost_joinleave(candidate, 0, "They are occupying a positronic brain now.") announce_ghost_joinleave(candidate, 0, "They are occupying a positronic brain now.")
src.searching = 0 src.searching = 0
@@ -77,14 +79,16 @@
src.searching = 0 src.searching = 0
icon_state = "posibrain" icon_state = "posibrain"
var/turf/T = get_turf(src)
T.visible_message("<span class='notice'>\The [src] brain buzzes quietly, and the golden lights fade away. Perhaps you could try again?</span>") var/turf/T = get_turf_or_move(src.loc)
for (var/mob/M in viewers(T))
M.show_message("\blue The positronic brain buzzes quietly, and the golden lights fade away. Perhaps you could try again?")
/obj/item/device/mmi/digital/posibrain/examine(mob/user) /obj/item/device/mmi/digital/posibrain/examine(mob/user)
if(!..(user)) if(!..(user))
return return
var/msg = "<span class='info'>*---------*\</span>nThis is \icon[src] \a <EM>[src]</EM>!\n[desc]\n" var/msg = "<span class='info'>*---------*</span>\nThis is \icon[src] \a <EM>[src]</EM>!\n[desc]\n"
msg += "<span class='warning'>" msg += "<span class='warning'>"
if(src.brainmob && src.brainmob.key) if(src.brainmob && src.brainmob.key)
@@ -95,7 +99,7 @@
if(DEAD) msg += "<span class='deadsay'>It appears to be completely inactive.</span>\n" if(DEAD) msg += "<span class='deadsay'>It appears to be completely inactive.</span>\n"
else else
msg += "<span class='deadsay'>It appears to be completely inactive.</span>\n" msg += "<span class='deadsay'>It appears to be completely inactive.</span>\n"
msg += "</span><span class='info'>*---------*</span>" msg += "<span class='info'>*---------*</span>"
user << msg user << msg
return return
@@ -112,3 +116,7 @@
src.brainmob.emp_damage += rand(0,10) src.brainmob.emp_damage += rand(0,10)
..() ..()
/obj/item/device/mmi/digital/posibrain/New()
..()
src.brainmob.name = "[pick(list("PBU","HIU","SINA","ARMA","OSI"))]-[rand(100, 999)]"
src.brainmob.real_name = src.brainmob.name

View File

@@ -21,7 +21,7 @@
/obj/machinery/power/breakerbox/Destroy() /obj/machinery/power/breakerbox/Destroy()
..() ..()
for(var/obj/nano_module/rcon/R in world) for(var/datum/nano_module/rcon/R in world)
R.FindDevices() R.FindDevices()
/obj/machinery/power/breakerbox/activated /obj/machinery/power/breakerbox/activated

View File

@@ -78,7 +78,7 @@
/obj/machinery/power/smes/buildable/Destroy() /obj/machinery/power/smes/buildable/Destroy()
..() ..()
qdel(wires) qdel(wires)
for(var/obj/nano_module/rcon/R in world) for(var/datum/nano_module/rcon/R in world)
R.FindDevices() R.FindDevices()