mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-28 06:27:26 +01:00
Cloning and deathsquad fixes
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user