Readd buildmode, too.

This commit is contained in:
Rob Nelson
2014-06-25 23:03:25 -07:00
parent 9735157f29
commit d167302509
13 changed files with 325 additions and 5 deletions

View File

@@ -10,6 +10,10 @@
Note that AI have no need for the adjacency proc, and so this proc is a lot cleaner.
*/
/mob/living/silicon/ai/DblClickOn(var/atom/A, params)
if(client.buildmode) // comes after object.Click to allow buildmode gui objects to be clicked
build_click(src, client.buildmode, params, A)
return
if(control_disabled || stat) return
//next_move = world.time + 9
@@ -24,6 +28,10 @@
return
next_click = world.time + 1
if(client.buildmode) // comes after object.Click to allow buildmode gui objects to be clicked
build_click(src, client.buildmode, params, A)
return
if(control_disabled || stat)
return

View File

@@ -22,7 +22,7 @@
/*
Standard mob ClickOn()
Handles exceptions: middle click, modified clicks, mech actions
Handles exceptions: Buildmode, middle click, modified clicks, mech actions
After that, mostly just check your state, check whether you're holding an item,
check whether you're adjacent to the target, then pass off the click to whoever
@@ -38,6 +38,10 @@
return
next_click = world.time + 1
if(client.buildmode)
build_click(src, client.buildmode, params, A)
return
var/list/modifiers = params2list(params)
if(modifiers["middle"])
MiddleClickOn(A)
@@ -386,4 +390,4 @@
else usr.dir = SOUTH
else
if(dx > 0) usr.dir = EAST
else usr.dir = WEST
else usr.dir = WEST

View File

@@ -11,6 +11,10 @@
return
next_click = world.time + 1
if(client.buildmode) // comes after object.Click to allow buildmode gui objects to be clicked
build_click(src, client.buildmode, params, A)
return
if(stat || lockcharge || weakened || stunned || paralysis)
return
@@ -155,4 +159,4 @@
if(density)
Topic("aiEnable=7", list("aiEnable"="7"), 1) // 1 meaning no window (consistency!)
else
Topic("aiDisable=7", list("aiDisable"="7"), 1)*/
Topic("aiDisable=7", list("aiDisable"="7"), 1)*/

View File

@@ -1,4 +1,7 @@
/mob/dead/observer/DblClickOn(var/atom/A, var/params)
if(client.buildmode)
build_click(src, client.buildmode, params, A)
return
if(can_reenter_corpse && mind && mind.current)
if(A == mind.current || (mind.current in A)) // double click your corpse or whatever holds it
reenter_corpse() // (cloning scanner, body bag, closet, mech, etc)
@@ -13,6 +16,9 @@
loc = get_turf(A)
/mob/dead/observer/ClickOn(var/atom/A, var/params)
if(client.buildmode)
build_click(src, client.buildmode, params, A)
return
if(world.time <= next_move)
return
//next_move = world.time + 8