Cloning and deathsquad fixes

This commit is contained in:
Markolie
2014-11-28 01:33:36 +01:00
parent 87fb604761
commit a34d283aab
3 changed files with 30 additions and 13 deletions
@@ -82,6 +82,7 @@
..()
dna.mutantrace = "lizard"
greaterform = "Unathi"
dna.species = "Unathi"
add_language("Sinta'unathi")
/mob/living/carbon/monkey/skrell/New()
@@ -89,6 +90,7 @@
..()
dna.mutantrace = "skrell"
greaterform = "Skrell"
dna.species = "Skrell"
add_language("Skrellian")
/mob/living/carbon/monkey/tajara/New()
@@ -96,6 +98,7 @@
..()
dna.mutantrace = "tajaran"
greaterform = "Tajaran"
dna.species = "Tajaran"
add_language("Siik'tajr")
/mob/living/carbon/monkey/diona/New()
@@ -105,6 +108,7 @@
gender = NEUTER
dna.mutantrace = "plant"
greaterform = "Diona"
dna.species = "Diona"
add_language("Rootspeak")
/mob/living/carbon/monkey/movement_delay()
@@ -65,6 +65,12 @@
del P
return
*/
if(istype(P, /obj/item/projectile/energy/electrode) || istype(P, /obj/item/projectile/bullet/stunshot))
stun_effect_act(0, P.agony, def_zone, P)
src <<"\red You have been hit by [P]!"
del P
return
//Armor
var/absorb = run_armor_check(def_zone, P.flag)
var/proj_sharp = is_sharp(P)
+20 -13
View File
@@ -72,7 +72,7 @@
var/pose
var/base_icon = ""
var/crisis = 0
var/syndicateborg = 0
var/hiddenborg = 0
/mob/living/silicon/robot/New(loc,var/syndie = 0,var/unfinished = 0, var/alien = 0)
spark_system = new /datum/effect/effect/system/spark_spread()
@@ -144,7 +144,7 @@
hud_list[NATIONS_HUD] = image('icons/mob/hud.dmi', src, "hudblank")
/mob/living/silicon/robot/proc/init(var/alien=0)
if(syndicateborg)
if(hiddenborg)
playsound(loc, 'sound/voice/liveagain.ogg', 75, 1)
return
aiCamera = new/obj/item/device/camera/siliconcam/robot_camera(src)
@@ -170,7 +170,7 @@
if (!rbPDA)
rbPDA = new/obj/item/device/pda/ai(src)
rbPDA.set_name_and_job(custom_name,braintype)
if(syndicateborg)
if(hiddenborg)
rbPDA.hidden = 1
//If there's an MMI in the robot, have it ejected when the mob goes away. --NEO
@@ -1409,7 +1409,7 @@
icon_state = "nano_bloodhound"
lawupdate = 0
scrambledcodes = 1
syndicateborg = 1
hiddenborg = 1
modtype = "Commando"
faction = list("nanotrasen")
designation = "NT Combat Cyborg"
@@ -1422,14 +1422,17 @@
radio = new /obj/item/device/radio/borg/deathsquad(src)
module = new /obj/item/weapon/robot_module/deathsquad(src)
laws = new /datum/ai_laws/deathsquad()
Namepick()
/mob/living/silicon/robot/deathsquad/attack_hand(mob/user)
if((ckey == null) && searching_for_ckey == 0 && (alert(user,"Attempt to boot NanoTrasen Commando cyborg?","","Yes","No") == "Yes"))
get_borg_occupant(user, get_candidates())
if((ckey == null) && searching_for_ckey == 0)
var/list/ghosts = list()
for(var/mob/dead/observer/G in player_list)
ghosts += G
get_borg_occupant(user, ghosts)
return
..()
/mob/living/silicon/robot/deathsquad/proc/get_borg_occupant(mob/user as mob, var/list/possiblecandidates = list())
var/time_passed = world.time
searching_for_ckey = 1
@@ -1441,12 +1444,17 @@
var/possibleborg = pick(possiblecandidates)
spawn(0)
var/input = alert(possibleborg,"Do you want to spawn in as a cyborg for the NT Deathsquad?","Please answer in thirty seconds!","Yes","No")
if(input == "Yes" && ckey == null)
var/mob/dead/observer/C = possibleborg
if(input == "Yes" && ckey == null && C.client)
if((world.time-time_passed)>300)
return
possiblecandidates -= possibleborg
searching_for_ckey = 0
ckey = possibleborg
C.mind.transfer_to(src)
C.mind.assigned_role = "MODE"
C.mind.special_role = "Death Commando"
ticker.mode.traitors |= C.mind // Adds them to current traitor list. Which is really the extra antagonist list.
src.key = C.key
else
possiblecandidates -= possibleborg
get_borg_occupant(user, possiblecandidates)
@@ -1463,7 +1471,7 @@
icon_state = "syndie_bloodhound"
lawupdate = 0
scrambledcodes = 1
syndicateborg = 1
hiddenborg = 1
modtype = "Synd"
faction = list("syndicate")
designation = "Syndicate"
@@ -1480,7 +1488,6 @@
Namepick()
/mob/living/silicon/robot/proc/notify_ai(var/notifytype, var/oldname, var/newname)
if(!connected_ai)
return