Minds part 3

Removed mob/var/original_name. Totally replaced by datum/mind/var/name now.

Fixed round-end reports. They're now sort of follow the same format as each-other. Not sure how the ew format will work out on high-pop servers. if it's too spammy I'll tone it down a bit.

Fixed pais. Their life.dm got unticked. Resolves issue 759

Known issues: 
Borgs keep their human objectives when borged. I'll try playing with the way minds work for silicon mobs whe the freeze is over.
No way to edit minds when they are not attached to a mob. Need some sort of debugging tool.
datum/mind/var/mob/living/original isn't realy used for much. I could probably replace it with something more useful.
Changeling stuff is messy. The changeling object should be referenced by the mind not the mob (or something)

Part 4 on hold will try to address some of these known issues. Taking a break from minds to fix some issues on the tracker now (like lighting)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4355 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
elly1989@rocketmail.com
2012-08-09 23:41:01 +00:00
parent 4b98d66d68
commit 40c2238c24
13 changed files with 317 additions and 286 deletions
+1 -2
View File
@@ -419,8 +419,7 @@ client
break
M.real_name = new_name
M.name = new_name
if(M.mind)
M.mind.name = new_name
if(M.mind) M.mind.name = new_name
href_list["datumrefresh"] = href_list["rename"]
else if (href_list["varnameedit"])
+12 -15
View File
@@ -31,13 +31,12 @@
datum/mind
var/key
var/name //replaces mob/var/original_name
var/name //replaces mob/var/original_name
var/mob/living/current
var/mob/living/original
var/mob/living/original //TODO: remove.not used in any meaningful way ~Carn. First I'll need to tweak the way silicon-mobs handle minds.
var/active = 0
var/memory
//TODO: store original name --rastaf0
var/assigned_role
var/special_role
@@ -778,16 +777,16 @@ datum/mind
ticker.mode.malf_ai -= src
special_role = null
current.verbs -= /mob/living/silicon/ai/proc/choose_modules
current.verbs -= /datum/game_mode/malfunction/proc/takeover
current.verbs -= /datum/game_mode/malfunction/proc/ai_win
current.verbs -= /client/proc/fireproof_core
current.verbs -= /client/proc/upgrade_turrets
current.verbs -= /client/proc/disable_rcd
current.verbs -= /client/proc/overload_machine
current.verbs -= /client/proc/blackout
current.verbs -= /client/proc/interhack
current.verbs -= /client/proc/reactivate_camera
current.verbs.Remove(/mob/living/silicon/ai/proc/choose_modules,
/datum/game_mode/malfunction/proc/takeover,
/datum/game_mode/malfunction/proc/ai_win,
/client/proc/fireproof_core,
/client/proc/upgrade_turrets,
/client/proc/disable_rcd,
/client/proc/overload_machine,
/client/proc/blackout,
/client/proc/interhack,
/client/proc/reactivate_camera)
current:laws = new /datum/ai_laws/asimov
del(current:malf_picker)
@@ -1092,8 +1091,6 @@ datum/mind
//Initialisation procs
/mob/living/proc/mind_initialize()
if(mind)
if(mind.key != key)
world.log << "## DEBUG: mind_initialize(): [key] took possession of [mind.key]'s mind"
mind.key = key
else
mind = new /datum/mind(key)