Fixed female/male side sprites missing some pixels.

Updates to deathsquads (now have mind and spawn message).
Updates to the re-spawn command, including mind and some minor corrections. Still WIP but getting better.
Minor changes to CentCom.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@680 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
noisomehollow@lycos.com
2010-12-21 01:15:46 +00:00
parent d4913f3700
commit d7dd64a427
4 changed files with 1818 additions and 1761 deletions
+37 -8
View File
@@ -256,24 +256,27 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is
var/mob/living/carbon/alien/humanoid/new_xeno = new(spawn_here.loc)
new_xeno.plasma = 250
var/list/candidates = list() // Picks a random ghost for the role. Mostly a copy of alien burst code.
var/list/candidates = list() // Picks a random ghost for the role. Mostly a copy of alien burst code. Doesn't spawn the one using the command.
for(var/mob/dead/observer/G in world)
if(G.client)
if(!G.client.holder && ((G.client.inactivity/10)/60) <= 5)
candidates.Add(G)
if(candidates.len)
var/mob/dead/observer/G = pick(candidates)
new_xeno.key = G.client.key
message_admins("\blue [key_name_admin(usr)] has spawned [G.key] as a filthy xeno.", 1)
new_xeno.client = G.client
del(G)
else
alert("There are no available ghosts to throw into the xeno. Aborting command.")
del(new_xeno)
return
message_admins("\blue [key_name_admin(usr)] has spawned a filthy xeno at [spawn_here.loc].", 1)
//If a guy was gibbed and you want to revive him, this is a good way to do so.
//Works much like entering the game with a new character. Doesn't retain mind. /N
/*Current project. Currently trying to get preferences save to work for characteristics. That and randomized characteristics.
Will probably check for admin status at some point or with possible other spawn options other than Assistant.
Re-spawning traitors or traitor targets is more tricky.
If a guy was gibbed and you want to revive him, this is a good way to do so.
Works kind of like entering the game with a new character. Character receives a new mind.
They spawn as an assistant but there is no announcement. /N */
/client/proc/respawn_character()
set category = "Special Verbs"
set name = "Respawn Character"
@@ -286,22 +289,48 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is
return
var/GKEY = input
var/GNAME = "none"
var/mob/dead/observer/GDEL //to properly delete the mob later on.
for(var/mob/dead/observer/G in world)
if(G.key==input)
GDEL = G
GNAME = G.real_name
else
alert("There is no such key in the game or the person is not currently a ghost. Aborting command.")
return
var/new_character_gender = MALE //to determine character's gender for few of the other procs.
if(alert("Please specify the character's gender.",,"Male","Female")=="Female")
new_character_gender = FEMALE
var/spawn_here = pick(latejoin)//"JoinLate" is a landmark which is deleted on round start. So, latejoin has to be used instead.
var/mob/living/carbon/human/new_character = new(src)
new_character.gender = new_character_gender
// var/datum/preferences/preferences
// new_character.preferences.randomize_name(new_character)
// new_character.preferences = new
// new_character.preferences.randomize_name = new_character
// new_character.name = preferences.real_name
// new_character.real_name = new_character.name
// randomize_name(new_character)
// randomize_skin_tone()
// new_character.preferences.randomize_hair_color(var/target = "hair")
// new_character.preferences.randomize_eyes_color(new_character)
// new_character.preferences.update_preview_icon(new_character)
new_character.loc = spawn_here
new_character.real_name = GNAME
message_admins("\blue [key_name_admin(usr)] has respawned [GKEY] as [new_character.name].", 1) //Here so it doesn't null name if an admin re-spawns themselves.
new_character.key = GKEY
// preferences.copy_to(new_character)
new_character.dna.ready_dna(new_character)
// new_character:ManifestLateSpawn()
new_character.mind = new
new_character.mind.key = GKEY
new_character.mind.current = new_character
new_character.mind.assigned_role = "Assistant"
new_character.Equip_Rank("Assistant", joined_late=1)
message_admins("\blue [key_name_admin(usr)] has respawned [GKEY] at [new_character.loc].", 1) //Here so it doesn't null name if an admin re-spawns themselves.
new_character.key = GKEY
del(GDEL)
/client/proc/cmd_admin_add_freeform_ai_law()
+28 -7
View File
@@ -19,6 +19,12 @@ var/global/sent_strike_team = 0
if(alert("Do you want to send in the CentCom death squad? Once enabled, this is irreversible.",,"Yes","No")=="No")
return
alert("This 'mode' will go on until everyone is dead or the station is destroyed. You may also admin-call the evac shuttle when appropriate. Spawned commandos have internals cameras which are viewable through a monitor inside the Spec. Ops. Office. Assigning the team's task is recommended from there.")
TRYAGAIN
var/input = input(usr, "Please specify which mission the death commando squad shall undertake.", "Specify Mission", "")
if(!input)
goto TRYAGAIN
sent_strike_team = 1
if (emergency_shuttle.direction == 1 && emergency_shuttle.online == 1)
@@ -30,6 +36,9 @@ var/global/sent_strike_team = 0
var/commando_leader_rank = pick("Lieutenant", "Captain", "Major")
var/list/commando_names = dd_file2list("config/names/last.txt")
//Code for spawning a nuke auth code.
var/nuke_code = "[rand(10000, 99999.0)]"
//Spawns commandos and equips them.
for (var/obj/landmark/STARTLOC in world)
@@ -49,9 +58,15 @@ var/global/sent_strike_team = 0
else
new_commando.age = rand(35,45)
new_commando.b_type = pick("A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-")
new_commando.dna.ready_dna(new_commando)
del(STARTLOC)
new_commando.dna.ready_dna(new_commando) //creates DNA
//Creates mind stuff.
new_commando.mind = new
new_commando.mind.current = new_commando
new_commando.mind.assigned_role = "Death Commando"
new_commando.mind.store_memory("<B>Nuke Code:</B> \red [nuke_code].")
new_commando.mind.store_memory("<B>Mission:</B> \red [input].")
del(STARTLOC)
var/obj/machinery/camera/cam = new /obj/machinery/camera(new_commando) //Gives all the commandos internals cameras.
cam.network = "CREED"
@@ -93,6 +108,7 @@ var/global/sent_strike_team = 0
new_commando.equip_if_possible(GUN, new_commando.slot_s_store)
// new_commando.equip_if_possible(new /obj/item/weapon/gun/energy/pulse_rifle(new_commando), new_commando.slot_l_hand)
//Commented out because Commandos now have their rifles spawn in front of them, along with operation manuals.
//Useful for copy pasta since I'm lazy.
var/obj/item/weapon/card/id/W = new(new_commando)
W.name = "[new_commando.real_name]'s ID Card"
@@ -104,21 +120,26 @@ var/global/sent_strike_team = 0
var/list/candidates = list() // Picks a random ghost for the role. Mostly a copy of alien burst code.
for(var/mob/dead/observer/G in world)
if(G.client)
if(!G.client.holder && ((G.client.inactivity/10)/60) <= 5)
// if(!G.client.holder && ((G.client.inactivity/10)/60) <= 5) //!G.client.holder means that whoever called/has the proc won't be added to the list.
if(((G.client.inactivity/10)/60) <= 5) //Removing it allows even the caller to jump in.
candidates.Add(G)
if(candidates.len)
var/mob/dead/observer/G = pick(candidates)
new_commando.key = G.client.key
new_commando.mind.key = G.key//For mind stuff.
new_commando.client = G.client
del(G)
else
new_commando.key = "null"
commando_number = commando_number-1
//Code for spawning a nuke auth code and bombs. Targets any nukes in the world and changes their auth code as needed.
//Bad news for Nuke operatives--or great news.
if (leader_selected == 0)
new_commando << "\blue \nYou are a Special Ops. commando in the service of Central Command. Check the table ahead for detailed instructions.\nYour current mission is: \red<B>[input]</B>"
else
new_commando << "\blue \nYou are a Special Ops. <B>LEADER</B> in the service of Central Command. Check the table ahead for detailed instructions.\nYour current mission is: \red<B>[input]</B>"
var/nuke_code = "[rand(10000, 99999.0)]"
//Targets any nukes in the world and changes their auth code as needed.
//Bad news for Nuke operatives--or great news.
for(var/obj/machinery/nuclearbomb/NUAK in world)
if (NUAK.name == "Nuclear Fission Explosive")
NUAK.r_code = nuke_code