mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 11:43:31 +00:00
Compilation fixes.
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user