mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 02:57:48 +01:00
part 2
This commit is contained in:
@@ -58,6 +58,7 @@
|
||||
var/datum/changeling/changeling //changeling holder
|
||||
var/datum/vampire/vampire //vampire holder
|
||||
var/datum/nations/nation //nation holder
|
||||
var/datum/abductor/abductor //abductor holder
|
||||
|
||||
var/antag_hud_icon_state = null //this mind's ANTAG_HUD should have this icon_state
|
||||
var/datum/atom_hud/antag/antag_hud = null //this mind's antag HUD
|
||||
|
||||
@@ -618,6 +618,14 @@ var/list/ghostteleportlocs = list()
|
||||
name = "\improper Hyperspace"
|
||||
icon_state = "shuttle"
|
||||
|
||||
//Abductors
|
||||
/area/abductor_ship
|
||||
name = "\improper Abductor Ship"
|
||||
icon_state = "yellow"
|
||||
requires_power = 0
|
||||
has_gravity = 1
|
||||
lighting_use_dynamic = 0
|
||||
|
||||
/area/wizard_station
|
||||
name = "\improper Wizard's Den"
|
||||
icon_state = "yellow"
|
||||
|
||||
@@ -106,7 +106,6 @@
|
||||
var/datum/mind/scientist
|
||||
var/team_name
|
||||
var/mob/living/carbon/human/H
|
||||
var/datum/species/abductor/S
|
||||
for(var/team_number=1,team_number<=abductor_teams,team_number++)
|
||||
team_name = team_names[team_number]
|
||||
agent = agents[team_number]
|
||||
@@ -114,9 +113,8 @@
|
||||
L = agent_landmarks[team_number]
|
||||
H.loc = L.loc
|
||||
H.set_species("Abductor")
|
||||
S = H.dna.species
|
||||
S.agent = 1
|
||||
S.team = team_number
|
||||
H.mind.abductor.agent = 1
|
||||
H.mind.abductor.team = team_number
|
||||
H.real_name = team_name + " Agent"
|
||||
equip_common(H,team_number)
|
||||
equip_agent(H,team_number)
|
||||
@@ -127,9 +125,8 @@
|
||||
L = scientist_landmarks[team_number]
|
||||
H.loc = L.loc
|
||||
H.set_species("Abductor")
|
||||
S = H.dna.species
|
||||
S.scientist = 1
|
||||
S.team = team_number
|
||||
H.mind.abductor.scientist = 1
|
||||
H.mind.abductor.team = team_number
|
||||
H.real_name = team_name + " Scientist"
|
||||
equip_common(H,team_number)
|
||||
equip_scientist(H,team_number)
|
||||
@@ -153,7 +150,6 @@
|
||||
var/datum/mind/scientist
|
||||
var/team_name
|
||||
var/mob/living/carbon/human/H
|
||||
var/datum/species/abductor/S
|
||||
|
||||
team_name = team_names[team_number]
|
||||
agent = agents[team_number]
|
||||
@@ -161,9 +157,8 @@
|
||||
L = agent_landmarks[team_number]
|
||||
H.loc = L.loc
|
||||
H.set_species("Abductor")
|
||||
S = H.dna.species
|
||||
S.agent = 1
|
||||
S.team = team_number
|
||||
H.mind.abductor.agent = 1
|
||||
H.mind.abductor.team = team_number
|
||||
H.real_name = team_name + " Agent"
|
||||
equip_common(H,team_number)
|
||||
equip_agent(H,team_number)
|
||||
@@ -175,15 +170,18 @@
|
||||
L = scientist_landmarks[team_number]
|
||||
H.loc = L.loc
|
||||
H.set_species("Abductor")
|
||||
S = H.dna.species
|
||||
S.scientist = 1
|
||||
S.team = team_number
|
||||
H.mind.abductor.scientist = 1
|
||||
H.mind.abductor.team = team_number
|
||||
H.real_name = team_name + " Scientist"
|
||||
equip_common(H,team_number)
|
||||
equip_scientist(H,team_number)
|
||||
greet_scientist(scientist,team_number)
|
||||
|
||||
|
||||
/datum/abductor //stores abductor's team and whether they're a scientist or agent; since species datums are global, we have to use this, instead.
|
||||
var/scientist = 0
|
||||
var/agent = 0
|
||||
var/team = 1
|
||||
|
||||
/datum/game_mode/abduction/proc/greet_agent(datum/mind/abductor,team_number)
|
||||
abductor.objectives += team_objectives[team_number]
|
||||
@@ -233,8 +231,7 @@
|
||||
|
||||
/datum/game_mode/abduction/proc/equip_agent(mob/living/carbon/human/agent,team_number)
|
||||
if(!team_number)
|
||||
var/datum/species/abductor/S = agent.dna.species
|
||||
team_number = S.team
|
||||
team_number = agent.mind.abductor.team
|
||||
|
||||
var/obj/machinery/abductor/console/console = get_team_console(team_number)
|
||||
var/obj/item/clothing/suit/armor/abductor/vest/V = new /obj/item/clothing/suit/armor/abductor/vest(agent)
|
||||
@@ -250,8 +247,7 @@
|
||||
|
||||
/datum/game_mode/abduction/proc/equip_scientist(var/mob/living/carbon/human/scientist,var/team_number)
|
||||
if(!team_number)
|
||||
var/datum/species/abductor/S = scientist.dna.species
|
||||
team_number = S.team
|
||||
team_number = scientist.mind.abductor.team
|
||||
|
||||
var/obj/machinery/abductor/console/console = get_team_console(team_number)
|
||||
var/obj/item/device/abductor/gizmo/G = new /obj/item/device/abductor/gizmo(scientist)
|
||||
@@ -299,15 +295,6 @@
|
||||
/obj/effect/landmark/abductor
|
||||
var/team = 1
|
||||
|
||||
/obj/effect/landmark/abductor/console/New()
|
||||
var/obj/machinery/abductor/console/c = new /obj/machinery/abductor/console(src.loc)
|
||||
c.team = team
|
||||
|
||||
spawn(5) // I'd do this properly when i got some time, temporary hack for mappers
|
||||
c.Initialize()
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/effect/landmark/abductor/agent
|
||||
/obj/effect/landmark/abductor/scientist
|
||||
|
||||
@@ -328,8 +315,7 @@
|
||||
var/mob/living/carbon/human/H = owner.current
|
||||
if(H.get_species() != "Abductor")
|
||||
return 0
|
||||
var/datum/species/abductor/S = H.dna.species
|
||||
ab_team = S.team
|
||||
ab_team = H.mind.abductor.team
|
||||
for(var/obj/machinery/abductor/experiment/E in machines)
|
||||
if(E.team == ab_team)
|
||||
if(E.points >= target_amount)
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
blood_overlay_type = "armor"
|
||||
origin_tech = "materials=5;biotech=4;powerstorage=5;abductor=3"
|
||||
armor = list(melee = 15, bullet = 15, laser = 15, energy = 15, bomb = 15, bio = 15, rad = 15)
|
||||
action_button_name = "Activate"
|
||||
action_button_is_hands_free = 1
|
||||
var/mode = VEST_STEALTH
|
||||
var/stealth_active = 0
|
||||
@@ -96,6 +97,7 @@
|
||||
if(istype(src.loc, /mob/living/carbon/human))
|
||||
if(combat_cooldown != initial(combat_cooldown))
|
||||
to_chat(src.loc, "<span class='warning'>Combat injection is still recharging.</span>")
|
||||
return
|
||||
var/mob/living/carbon/human/M = src.loc
|
||||
M.adjustStaminaLoss(-75)
|
||||
M.SetParalysis(0)
|
||||
@@ -125,8 +127,7 @@
|
||||
|
||||
/obj/item/device/abductor/proc/ScientistCheck(user)
|
||||
var/mob/living/carbon/human/H = user
|
||||
var/datum/species/abductor/S = H.dna.species
|
||||
return S.scientist
|
||||
return H.mind.abductor.scientist
|
||||
|
||||
/obj/item/device/abductor/gizmo
|
||||
name = "science tool"
|
||||
@@ -284,8 +285,7 @@
|
||||
if(ishuman(source))
|
||||
var/mob/living/carbon/human/H = source
|
||||
if(H.get_species() == "Abductor")
|
||||
var/datum/species/abductor/S = H.dna.species
|
||||
console = get_team_console(S.team)
|
||||
console = get_team_console(H.mind.abductor.team)
|
||||
home = console.pad
|
||||
|
||||
if(!home)
|
||||
@@ -316,15 +316,17 @@
|
||||
<br>
|
||||
1.Acquire fresh specimen.<br>
|
||||
2.Put the specimen on operating table<br>
|
||||
3.Apply surgical drapes preparing for dissection<br>
|
||||
3.Apply scalpel to the chest, preparing for dissection<br>
|
||||
4.Apply scalpel to specimen torso<br>
|
||||
5.Retract skin from specimen's torso<br>
|
||||
6.Apply scalpel to specimen's torso<br>
|
||||
7.Search through the specimen's torso with your hands to remove any organs<br>
|
||||
8.Insert replacement gland (Retrieve one from gland storage)<br>
|
||||
9.Consider dressing the specimen back to not disturb the habitat <br>
|
||||
10.Put the specimen in the experiment machinery<br>
|
||||
11.Choose one of the machine options and follow displayed instructions<br>
|
||||
5.Clamp bleeders on the specimen's torso
|
||||
6.Retract skin from specimen's torso<br>
|
||||
7.Saw through the specimen's torso<br>
|
||||
8.Retract skin from specimen's torso again<br>
|
||||
9.Search through the specimen's torso with your hands to remove any organs<br>
|
||||
10.Insert replacement gland (Retrieve one from gland storage)<br>
|
||||
11.Consider dressing the specimen back to not disturb the habitat <br>
|
||||
12.Put the specimen in the experiment machinery<br>
|
||||
13.Choose one of the machine options and follow displayed instructions<br>
|
||||
<br>
|
||||
Congratulations! You are now trained for xenobiology research!"}
|
||||
|
||||
@@ -461,7 +463,7 @@ Congratulations! You are now trained for xenobiology research!"}
|
||||
if(do_mob(user, C, 30))
|
||||
if(!C.handcuffed)
|
||||
C.handcuffed = new /obj/item/weapon/restraints/handcuffs/energy/used(C)
|
||||
C.update_inv_handcuffed(0)
|
||||
C.update_inv_handcuffed()
|
||||
to_chat(user, "<span class='notice'>You handcuff [C].</span>")
|
||||
add_logs(user, C, "handcuffed")
|
||||
else
|
||||
@@ -566,6 +568,7 @@ Congratulations! You are now trained for xenobiology research!"}
|
||||
/obj/machinery/optable/abductor
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
icon_state = "bed"
|
||||
no_icon_updates = 1 //no icon updates for this; it's static.
|
||||
|
||||
/obj/structure/stool/bed/abductor
|
||||
name = "resting contraption"
|
||||
@@ -612,33 +615,6 @@ Congratulations! You are now trained for xenobiology research!"}
|
||||
name = "alien locker"
|
||||
desc = "Contains secrets of the universe."
|
||||
icon_state = "abductor"
|
||||
material_drop = /obj/item/stack/sheet/mineral/abductor
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_abductor
|
||||
name = "alien airlock assembly"
|
||||
icon = 'icons/obj/doors/abductor/abductor_airlock.dmi'
|
||||
base_name = "abductor"
|
||||
base_icon_state = "abductor"
|
||||
airlock_type = "/abductor"
|
||||
anchored = 1
|
||||
state = 1
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_abductor/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/weldingtool) && !anchored )
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(WT.remove_fuel(0,user))
|
||||
user.visible_message("<span class='warning'>[user] disassembles the airlock assembly.</span>", \
|
||||
"You start to disassemble the airlock assembly...")
|
||||
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
|
||||
if(do_after(user, 40, target = src))
|
||||
if( !WT.isOn() )
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You disassemble the airlock assembly.</span>")
|
||||
new /obj/item/stack/sheet/mineral/abductor(get_turf(src), 4)
|
||||
qdel(src)
|
||||
else
|
||||
return
|
||||
else if(istype(W, /obj/item/stack/sheet))
|
||||
return // no material modding
|
||||
else
|
||||
..()
|
||||
icon_closed = "abductor"
|
||||
icon_opened = "abductoropen"
|
||||
material_drop = /obj/item/stack/sheet/mineral/abductor
|
||||
@@ -49,8 +49,7 @@
|
||||
return H.get_species() == "Abductor"
|
||||
|
||||
/obj/machinery/computer/camera_advanced/abductor/proc/IsScientist(mob/living/carbon/human/H)
|
||||
var/datum/species/abductor/S = H.dna.species
|
||||
return S.scientist
|
||||
return H.mind.abductor.scientist
|
||||
|
||||
/obj/machinery/computer/camera_advanced/abductor/attack_hand(mob/user)
|
||||
if(!iscarbon(user) || !IsAbductor(user))
|
||||
|
||||
@@ -8,14 +8,12 @@
|
||||
|
||||
/obj/machinery/abductor/proc/IsAgent(mob/living/carbon/human/H)
|
||||
if(H.get_species() == "Abductor")
|
||||
var/datum/species/abductor/S = H.dna.species
|
||||
return S.agent
|
||||
return H.mind.abductor.agent
|
||||
return 0
|
||||
|
||||
/obj/machinery/abductor/proc/IsScientist(mob/living/carbon/human/H)
|
||||
if(H.get_species() == "Abductor")
|
||||
var/datum/species/abductor/S = H.dna.species
|
||||
return S.scientist
|
||||
return H.mind.abductor.scientist
|
||||
return 0
|
||||
|
||||
//Console
|
||||
@@ -34,6 +32,10 @@
|
||||
var/obj/machinery/computer/camera_advanced/abductor/camera
|
||||
var/list/datum/icon_snapshot/disguises = list()
|
||||
|
||||
/obj/machinery/abductor/console/initialize()
|
||||
..()
|
||||
Link_Abduction_Equipment()
|
||||
|
||||
/obj/machinery/abductor/console/attack_hand(mob/user)
|
||||
if(..())
|
||||
return
|
||||
@@ -153,7 +155,7 @@
|
||||
to_chat(user, "<span class='notice'>Location marked as test subject release point.</span>")
|
||||
|
||||
|
||||
/obj/machinery/abductor/console/proc/Initialize()
|
||||
/obj/machinery/abductor/console/proc/Link_Abduction_Equipment()
|
||||
|
||||
for(var/obj/machinery/abductor/pad/p in machines)
|
||||
if(p.team == team)
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
icon_state = "experiment-open"
|
||||
anchored = 1
|
||||
density = 1
|
||||
var/points = 0
|
||||
var/list/history = list()
|
||||
var/list/abductee_minds = list()
|
||||
@@ -71,7 +72,7 @@
|
||||
dat += "[flash]"
|
||||
dat += "<br>"
|
||||
dat += "<a href='?src=\ref[src];refresh=1'>Scan</a>"
|
||||
dat += "<a href='?src=\ref[src];[occupant ? "occupied=1'>Occupied</a>" : "eject=1'>Eject</a>"]"
|
||||
dat += "<a href='?src=\ref[src];[occupant ? "eject=1'>Eject Occupant</a>" : "unoccupied=1'>Unoccupied</a>"]"
|
||||
var/datum/browser/popup = new(user, "experiment", "Probing Console", 300, 300)
|
||||
popup.set_title_image(user.browse_rsc_icon(icon, icon_state))
|
||||
popup.set_content(dat)
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
|
||||
var/obj/machinery/computer/operating/computer = null
|
||||
buckle_lying = 90
|
||||
var/no_icon_updates = 0 //set this to 1 if you don't want the icons ever changing
|
||||
|
||||
/obj/machinery/optable/New()
|
||||
..()
|
||||
@@ -79,10 +80,12 @@
|
||||
var/mob/living/carbon/human/M = locate(/mob/living/carbon/human, src.loc)
|
||||
if(M.lying)
|
||||
src.victim = M
|
||||
icon_state = M.pulse ? "table2-active" : "table2-idle"
|
||||
if(!no_icon_updates)
|
||||
icon_state = M.pulse ? "table2-active" : "table2-idle"
|
||||
return 1
|
||||
src.victim = null
|
||||
icon_state = "table2-idle"
|
||||
if(!no_icon_updates)
|
||||
icon_state = "table2-idle"
|
||||
return 0
|
||||
|
||||
/obj/machinery/optable/process()
|
||||
@@ -106,9 +109,11 @@
|
||||
if(ishuman(C))
|
||||
var/mob/living/carbon/human/H = C
|
||||
src.victim = H
|
||||
icon_state = H.pulse ? "table2-active" : "table2-idle"
|
||||
if(!no_icon_updates)
|
||||
icon_state = H.pulse ? "table2-active" : "table2-idle"
|
||||
else
|
||||
icon_state = "table2-idle"
|
||||
if(!no_icon_updates)
|
||||
icon_state = "table2-idle"
|
||||
|
||||
/obj/machinery/optable/verb/climb_on()
|
||||
set name = "Climb On Table"
|
||||
|
||||
@@ -299,16 +299,6 @@
|
||||
icon = 'icons/obj/doors/doorshuttle.dmi'
|
||||
assembly_type = /obj/structure/door_assembly/door_assembly_shuttle
|
||||
|
||||
/obj/machinery/door/airlock/abductor
|
||||
name = "alien airlock"
|
||||
desc = "With humanity's current technological level, it could take years to hack this advanced airlock... or maybe we should give a screwdriver a try?"
|
||||
icon = 'icons/obj/doors/abductor/abductor_airlock.dmi'
|
||||
assembly_type = /obj/structure/door_assembly/door_assembly_abductor
|
||||
opacity = 1
|
||||
explosion_block = 3
|
||||
hackProof = 1
|
||||
aiControlDisabled = 1
|
||||
|
||||
/obj/machinery/door/airlock/alien
|
||||
name = "Alien Airlock"
|
||||
desc = "A mysterious alien airlock with a complicated opening mechanism."
|
||||
|
||||
@@ -214,7 +214,6 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \
|
||||
new/datum/stack_recipe("alien bed", /obj/structure/stool/bed/abductor, 2, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("alien locker", /obj/structure/closet/abductor, 1, time = 15, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("alien table frame", /obj/structure/abductor_tableframe, 1, time = 15, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("alien airlock assembly", /obj/structure/door_assembly/door_assembly_abductor, 4, time = 20, one_per_turf = 1, on_floor = 1), \
|
||||
null, \
|
||||
new/datum/stack_recipe("alien floor tile", /obj/item/stack/tile/mineral/abductor, 1, 4, 20), \
|
||||
)
|
||||
|
||||
@@ -85,6 +85,9 @@
|
||||
/obj/item/weapon/restraints/handcuffs/cable/white
|
||||
color = COLOR_WHITE
|
||||
|
||||
/obj/item/weapon/restraints/handcuffs/alien
|
||||
icon_state = "handcuffAlien"
|
||||
|
||||
/obj/item/weapon/restraints/handcuffs/pinkcuffs
|
||||
name = "fluffy pink handcuffs"
|
||||
desc = "Use this to keep prisoners in line. Or you know, your significant other."
|
||||
|
||||
@@ -512,6 +512,16 @@
|
||||
new /obj/item/weapon/restraints/handcuffs/cable/zipties(src)
|
||||
new /obj/item/weapon/restraints/handcuffs/cable/zipties(src)
|
||||
|
||||
/obj/item/weapon/storage/box/alienhandcuffs
|
||||
name = "box of spare handcuffs"
|
||||
desc = "A box full of handcuffs."
|
||||
icon_state = "alienboxCuffs"
|
||||
|
||||
New()
|
||||
..()
|
||||
for(var/i in 1 to 7)
|
||||
new /obj/item/weapon/restraints/handcuffs/alien(src)
|
||||
|
||||
/obj/item/weapon/storage/box/fakesyndiesuit
|
||||
name = "boxed space suit and helmet"
|
||||
desc = "A sleek, sturdy box used to hold replica spacesuits."
|
||||
|
||||
@@ -27,4 +27,12 @@
|
||||
/turf/unsimulated/floor/chasm/New()
|
||||
spawn(1)
|
||||
smooth_icon(src)
|
||||
smooth_icon_neighbors(src)
|
||||
smooth_icon_neighbors(src)
|
||||
|
||||
/turf/unsimulated/floor/abductor
|
||||
name = "alien floor"
|
||||
icon_state = "alienpod1"
|
||||
|
||||
/turf/unsimulated/floor/abductor/New()
|
||||
..()
|
||||
icon_state = "alienpod[rand(1,9)]"
|
||||
@@ -107,10 +107,10 @@
|
||||
to_chat(player, msg_dead)
|
||||
continue
|
||||
|
||||
else if(istype(player,/mob/dead) || ((src in player.languages) && check_special_condition(player)))
|
||||
else if(istype(player,/mob/dead) || ((src in player.languages) && check_special_condition(player, speaker)))
|
||||
to_chat(player, msg)
|
||||
|
||||
/datum/language/proc/check_special_condition(var/mob/other)
|
||||
/datum/language/proc/check_special_condition(var/mob/other, var/mob/living/speaker)
|
||||
return 1
|
||||
|
||||
/datum/language/proc/get_spoken_verb(var/msg_end)
|
||||
@@ -409,6 +409,7 @@
|
||||
key = "8"
|
||||
flags = RESTRICTED | HIVEMIND
|
||||
|
||||
|
||||
/datum/language/shadowling/broadcast(var/mob/living/speaker, var/message, var/speaker_mask)
|
||||
if(speaker.mind && speaker.mind.special_role)
|
||||
..(speaker, message, "([speaker.mind.special_role]) [speaker]")
|
||||
@@ -422,6 +423,22 @@
|
||||
else
|
||||
..(speaker,message)
|
||||
|
||||
/datum/language/abductor
|
||||
name = "Abductor Mindlink"
|
||||
desc = "Abductors are incapable of speech, but have a psychic link attuned to their own team."
|
||||
speech_verb = "gibbers"
|
||||
ask_verb = "gibbers"
|
||||
exclaim_verb = "gibbers"
|
||||
colour = "abductor"
|
||||
key = "zw" //doesn't matter, this is their default and only language
|
||||
flags = RESTRICTED | HIVEMIND
|
||||
|
||||
/datum/language/abductor/check_special_condition(var/mob/living/carbon/human/other, var/mob/living/carbon/human/speaker)
|
||||
if(other.mind && other.mind.abductor)
|
||||
if(other.mind.abductor.team == speaker.mind.abductor.team)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/datum/language/corticalborer
|
||||
name = "Cortical Link"
|
||||
desc = "Cortical borers possess a strange link between their tiny minds."
|
||||
|
||||
@@ -112,6 +112,9 @@
|
||||
/mob/living/carbon/human/grey/New(var/new_loc)
|
||||
..(new_loc, "Grey")
|
||||
|
||||
/mob/living/carbon/human/abductor/New(var/new_loc)
|
||||
..(new_loc, "Abductor")
|
||||
|
||||
/mob/living/carbon/human/human/New(var/new_loc)
|
||||
..(new_loc, "Human")
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
/datum/species/abductor
|
||||
name = "Abductor"
|
||||
name_plural = "Abductors"
|
||||
icobase = 'icons/mob/human_races/r_grey.dmi'
|
||||
deform = 'icons/mob/human_races/r_def_grey.dmi'
|
||||
path = /mob/living/carbon/human/abductor
|
||||
language = "Abductor Mindlink"
|
||||
default_language = "Abductor Mindlink"
|
||||
unarmed_type = /datum/unarmed_attack/punch
|
||||
darksight = 3
|
||||
eyes = "grey_eyes_s"
|
||||
|
||||
flags = HAS_LIPS | NO_BLOOD | NO_BREATHE
|
||||
virus_immune = 1
|
||||
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
|
||||
dietflags = DIET_OMNI
|
||||
reagent_tag = PROCESS_ORG
|
||||
blood_color = "#FF5AFF"
|
||||
|
||||
/datum/species/abductor/can_understand(var/mob/other) //Abductors can understand everyone, but they can only speak over their mindlink to another team-member
|
||||
return 1
|
||||
|
||||
/datum/species/abductor/handle_post_spawn(var/mob/living/carbon/human/H)
|
||||
H.gender = NEUTER
|
||||
if(H.mind)
|
||||
H.mind.abductor = new /datum/abductor
|
||||
return ..()
|
||||
Reference in New Issue
Block a user