From 5d390ca67b7e8e6d01b1bbb7a288f453a051f380 Mon Sep 17 00:00:00 2001 From: Mechoid Date: Sun, 3 Sep 2017 01:39:43 -0700 Subject: [PATCH] Brings back the aliens as they were when removed, minus huggers (until we can get a suitable replacement), for admins to use. --- code/__defines/gamemode.dm | 1 + code/game/antagonist/alien/xenomorph.dm | 47 ++ code/game/machinery/portable_turret.dm | 2 +- code/game/objects/effects/alien/aliens.dm | 443 ++++++++++++++++++ .../stool_bed_chair_nest/alien_nests.dm | 85 ++++ code/modules/admin/admin.dm | 5 + .../trigger_xenomorph_infestation.dm | 7 + code/modules/admin/topic.dm | 10 + code/modules/admin/verbs/debug.dm | 18 + code/modules/admin/view_variables/helpers.dm | 1 + code/modules/hydroponics/seed_datums.dm | 20 + code/modules/materials/materials.dm | 16 + code/modules/mob/language/outsider.dm | 31 ++ .../mob/living/carbon/alien/larva/larva.dm | 14 + .../mob/living/carbon/alien/larva/life.dm | 13 + .../living/carbon/alien/larva/progression.dm | 12 + code/modules/mob/living/carbon/human/human.dm | 5 + .../human/species/xenomorphs/alien_embryo.dm | 161 +++++++ .../species/xenomorphs/alien_facehugger.dm | 222 +++++++++ .../human/species/xenomorphs/alien_powers.dm | 310 ++++++++++++ .../human/species/xenomorphs/alien_species.dm | 326 +++++++++++++ .../human/species/xenomorphs/xenomorphs.dm | 52 ++ code/modules/mob/mob_helpers.dm | 6 + code/modules/mob/transform_procs.dm | 24 + code/modules/organs/subtypes/xenos.dm | 51 ++ .../Chemistry-Reagents-Toxins.dm | 4 + code/modules/surgery/organs_internal.dm | 41 ++ icons/mob/human_races/xenos/r_xenos_drone.dmi | Bin 0 -> 1764 bytes .../mob/human_races/xenos/r_xenos_hunter.dmi | Bin 0 -> 1895 bytes icons/mob/human_races/xenos/r_xenos_queen.dmi | Bin 0 -> 1928 bytes .../human_races/xenos/r_xenos_sentinel.dmi | Bin 0 -> 1817 bytes icons/mob/screen1_alien.dmi | Bin 141060 -> 143084 bytes polaris.dme | 11 + 33 files changed, 1937 insertions(+), 1 deletion(-) create mode 100644 code/game/antagonist/alien/xenomorph.dm create mode 100644 code/game/objects/effects/alien/aliens.dm create mode 100644 code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm create mode 100644 code/modules/admin/secrets/random_events/trigger_xenomorph_infestation.dm create mode 100644 code/modules/mob/living/carbon/alien/larva/larva.dm create mode 100644 code/modules/mob/living/carbon/alien/larva/life.dm create mode 100644 code/modules/mob/living/carbon/alien/larva/progression.dm create mode 100644 code/modules/mob/living/carbon/human/species/xenomorphs/alien_embryo.dm create mode 100644 code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm create mode 100644 code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm create mode 100644 code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm create mode 100644 code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm create mode 100644 code/modules/organs/subtypes/xenos.dm create mode 100644 icons/mob/human_races/xenos/r_xenos_drone.dmi create mode 100644 icons/mob/human_races/xenos/r_xenos_hunter.dmi create mode 100644 icons/mob/human_races/xenos/r_xenos_queen.dmi create mode 100644 icons/mob/human_races/xenos/r_xenos_sentinel.dmi diff --git a/code/__defines/gamemode.dm b/code/__defines/gamemode.dm index 0be497843b1..896553e8098 100644 --- a/code/__defines/gamemode.dm +++ b/code/__defines/gamemode.dm @@ -63,6 +63,7 @@ var/list/be_special_flags = list( // Mode/antag template macros. #define MODE_BORER "borer" +#define MODE_XENOMORPH "xeno" #define MODE_LOYALIST "loyalist" #define MODE_MUTINEER "mutineer" #define MODE_COMMANDO "commando" diff --git a/code/game/antagonist/alien/xenomorph.dm b/code/game/antagonist/alien/xenomorph.dm new file mode 100644 index 00000000000..e69db8aee7c --- /dev/null +++ b/code/game/antagonist/alien/xenomorph.dm @@ -0,0 +1,47 @@ +var/datum/antagonist/xenos/xenomorphs + +/datum/antagonist/xenos + id = MODE_XENOMORPH + role_type = BE_ALIEN + role_text = "Xenomorph" + role_text_plural = "Xenomorphs" + mob_path = /mob/living/carbon/alien/larva + bantype = "Xenomorph" + flags = ANTAG_OVERRIDE_MOB | ANTAG_RANDSPAWN | ANTAG_OVERRIDE_JOB | ANTAG_VOTABLE + welcome_text = "Hiss! You are a larval alien. Hide and bide your time until you are ready to evolve." + antaghud_indicator = "hudalien" + + hard_cap = 5 + hard_cap_round = 8 + initial_spawn_req = 4 + initial_spawn_target = 6 + + spawn_announcement = "Unidentified lifesigns detected coming aboard the station. Secure any exterior access, including ducting and ventilation." + spawn_announcement_title = "Lifesign Alert" + spawn_announcement_sound = 'sound/AI/aliens.ogg' + spawn_announcement_delay = 5000 + +/datum/antagonist/xenos/New(var/no_reference) + ..() + if(!no_reference) + xenomorphs = src + +/datum/antagonist/xenos/attempt_random_spawn() + if(config.aliens_allowed) ..() + +/datum/antagonist/xenos/proc/get_vents() + var/list/vents = list() + for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in machines) + if(!temp_vent.welded && temp_vent.network && temp_vent.loc.z in using_map.station_levels) + if(temp_vent.network.normal_members.len > 50) + vents += temp_vent + return vents + +/datum/antagonist/xenos/create_objectives(var/datum/mind/player) + if(!..()) + return + player.objectives += new /datum/objective/survive() + player.objectives += new /datum/objective/escape() + +/datum/antagonist/xenos/place_mob(var/mob/living/player) + player.forceMove(get_turf(pick(get_vents()))) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 096bd090c1f..8eba407e72a 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -525,7 +525,7 @@ var/list/turret_icons if(isanimal(L) || issmall(L)) // Animals are not so dangerous return check_anomalies ? TURRET_SECONDARY_TARGET : TURRET_NOT_TARGET - if(isalien(L)) // Xenos are dangerous + if(isxenomorph(L) || isalien(L)) // Xenos are dangerous return check_anomalies ? TURRET_PRIORITY_TARGET : TURRET_NOT_TARGET if(ishuman(L)) //if the target is a human, analyze threat level diff --git a/code/game/objects/effects/alien/aliens.dm b/code/game/objects/effects/alien/aliens.dm new file mode 100644 index 00000000000..13cae4777ea --- /dev/null +++ b/code/game/objects/effects/alien/aliens.dm @@ -0,0 +1,443 @@ +/* Alien Effects! + * Contains: + * effect/alien + * Resin + * Weeds + * Acid + * Egg + */ + +/* + * effect/alien + */ +/obj/effect/alien + name = "alien thing" + desc = "theres something alien about this" + icon = 'icons/mob/alien.dmi' + +/* + * Resin + */ +/obj/effect/alien/resin + name = "resin" + desc = "Looks like some kind of slimy growth." + icon_state = "resin" + + density = 1 + opacity = 1 + anchored = 1 + var/health = 200 + //var/mob/living/affecting = null + +/obj/effect/alien/resin/wall + name = "resin wall" + desc = "Purple slime solidified into a wall." + icon_state = "resinwall" //same as resin, but consistency ho! + +/obj/effect/alien/resin/membrane + name = "resin membrane" + desc = "Purple slime just thin enough to let light pass through." + icon_state = "resinmembrane" + opacity = 0 + health = 120 + +/obj/effect/alien/resin/New() + ..() + var/turf/T = get_turf(src) + T.thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT + +/obj/effect/alien/resin/Destroy() + var/turf/T = get_turf(src) + T.thermal_conductivity = initial(T.thermal_conductivity) + ..() + +/obj/effect/alien/resin/proc/healthcheck() + if(health <=0) + density = 0 + qdel(src) + return + +/obj/effect/alien/resin/bullet_act(var/obj/item/projectile/Proj) + health -= Proj.damage + ..() + healthcheck() + return + +/obj/effect/alien/resin/ex_act(severity) + switch(severity) + if(1.0) + health-=50 + if(2.0) + health-=50 + if(3.0) + if (prob(50)) + health-=50 + else + health-=25 + healthcheck() + return + +/obj/effect/alien/resin/hitby(AM as mob|obj) + ..() + for(var/mob/O in viewers(src, null)) + O.show_message("[src] was hit by [AM].", 1) + var/tforce = 0 + if(ismob(AM)) + tforce = 10 + else + tforce = AM:throwforce + playsound(loc, 'sound/effects/attackblob.ogg', 100, 1) + health = max(0, health - tforce) + healthcheck() + ..() + return + +/obj/effect/alien/resin/attack_hand() + usr.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) + if (HULK in usr.mutations) + usr << "You easily destroy the [name]." + for(var/mob/O in oviewers(src)) + O.show_message("[usr] destroys the [name]!", 1) + health = 0 + else + + // Aliens can get straight through these. + if(istype(usr,/mob/living/carbon)) + var/mob/living/carbon/M = usr + if(locate(/obj/item/organ/internal/xenos/hivenode) in M.internal_organs) + for(var/mob/O in oviewers(src)) + O.show_message("[usr] strokes the [name] and it melts away!", 1) + health = 0 + healthcheck() + return + + usr << "You claw at the [name]." + for(var/mob/O in oviewers(src)) + O.show_message("[usr] claws at the [name]!", 1) + health -= rand(5,10) + healthcheck() + return + +/obj/effect/alien/resin/attackby(obj/item/weapon/W as obj, mob/user as mob) + + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) + var/aforce = W.force + health = max(0, health - aforce) + playsound(loc, 'sound/effects/attackblob.ogg', 100, 1) + healthcheck() + ..() + return + +/obj/effect/alien/resin/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) + if(air_group) return 0 + if(istype(mover) && mover.checkpass(PASSGLASS)) + return !opacity + return !density + + +/* + * Weeds + */ +#define NODERANGE 3 + +/obj/effect/alien/weeds + name = "weeds" + desc = "Weird purple weeds." + icon_state = "weeds" + + anchored = 1 + density = 0 + layer = 2 + var/health = 15 + var/obj/effect/alien/weeds/node/linked_node = null + +/obj/effect/alien/weeds/node + icon_state = "weednode" + name = "purple sac" + desc = "Weird purple octopus-like thing." + layer = 3 + light_range = NODERANGE + var/node_range = NODERANGE + +/obj/effect/alien/weeds/node/New() + ..(src.loc, src) + + +/obj/effect/alien/weeds/New(pos, node) + ..() + if(istype(loc, /turf/space)) + qdel(src) + return + linked_node = node + if(icon_state == "weeds")icon_state = pick("weeds", "weeds1", "weeds2") + spawn(rand(150, 200)) + if(src) + Life() + return + +/obj/effect/alien/weeds/proc/Life() + set background = 1 + var/turf/U = get_turf(src) +/* + if (locate(/obj/movable, U)) + U = locate(/obj/movable, U) + if(U.density == 1) + qdel(src) + return +Alien plants should do something if theres a lot of poison + if(U.poison> 200000) + health -= round(U.poison/200000) + update() + return +*/ + if (istype(U, /turf/space)) + qdel(src) + return + + if(!linked_node || (get_dist(linked_node, src) > linked_node.node_range) ) + return + + direction_loop: + for(var/dirn in cardinal) + var/turf/T = get_step(src, dirn) + + if (!istype(T) || T.density || locate(/obj/effect/alien/weeds) in T || istype(T.loc, /area/arrival) || istype(T, /turf/space)) + continue + + // if (locate(/obj/movable, T)) // don't propogate into movables + // continue + + for(var/obj/O in T) + if(O.density) + continue direction_loop + + new /obj/effect/alien/weeds(T, linked_node) + + +/obj/effect/alien/weeds/ex_act(severity) + switch(severity) + if(1.0) + qdel(src) + if(2.0) + if (prob(50)) + qdel(src) + if(3.0) + if (prob(5)) + qdel(src) + return + +/obj/effect/alien/weeds/attackby(var/obj/item/weapon/W, var/mob/user) + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) + if(W.attack_verb.len) + visible_message("\The [src] have been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]") + else + visible_message("\The [src] have been attacked with \the [W][(user ? " by [user]." : ".")]") + + var/damage = W.force / 4.0 + + if(istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + + if(WT.remove_fuel(0, user)) + damage = 15 + playsound(loc, 'sound/items/Welder.ogg', 100, 1) + + health -= damage + healthcheck() + +/obj/effect/alien/weeds/proc/healthcheck() + if(health <= 0) + qdel(src) + + +/obj/effect/alien/weeds/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) + if(exposed_temperature > 300 + T0C) + health -= 5 + healthcheck() + +#undef NODERANGE + + +/* + * Acid + */ +/obj/effect/alien/acid + name = "acid" + desc = "Burbling corrossive stuff. I wouldn't want to touch it." + icon_state = "acid" + + density = 0 + opacity = 0 + anchored = 1 + + var/atom/target + var/ticks = 0 + var/target_strength = 0 + +/obj/effect/alien/acid/New(loc, target) + ..(loc) + src.target = target + + if(isturf(target)) // Turf take twice as long to take down. + target_strength = 8 + else + target_strength = 4 + tick() + +/obj/effect/alien/acid/proc/tick() + if(!target) + qdel(src) + + ticks += 1 + + if(ticks >= target_strength) + + for(var/mob/O in hearers(src, null)) + O.show_message("[src.target] collapses under its own weight into a puddle of goop and undigested debris!", 1) + + if(istype(target, /turf/simulated/wall)) // I hate turf code. + var/turf/simulated/wall/W = target + W.dismantle_wall(1) + else + qdel(target) + qdel(src) + return + + switch(target_strength - ticks) + if(6) + visible_message("[src.target] is holding up against the acid!") + if(4) + visible_message("[src.target]\s structure is being melted by the acid!") + if(2) + visible_message("[src.target] is struggling to withstand the acid!") + if(0 to 1) + visible_message("[src.target] begins to crumble under the acid!") + spawn(rand(150, 200)) tick() + +/* + * Egg + */ +/var/const //for the status var + BURST = 0 + BURSTING = 1 + GROWING = 2 + GROWN = 3 + + MIN_GROWTH_TIME = 1800 //time it takes to grow a hugger + MAX_GROWTH_TIME = 3000 + +/obj/effect/alien/egg + desc = "It looks like a weird egg" + name = "egg" +// icon_state = "egg_growing" // So the egg looks 'grown', even though it's not. + icon_state = "egg" + density = 0 + anchored = 1 + + var/health = 100 + var/status = BURST //can be GROWING, GROWN or BURST; all mutually exclusive + flags = PROXMOVE + +/obj/effect/alien/egg/New() +/* + if(config.aliens_allowed) + ..() + spawn(rand(MIN_GROWTH_TIME,MAX_GROWTH_TIME)) + Grow() + else + qdel(src) +*/ +/obj/effect/alien/egg/attack_hand(user as mob) + + var/mob/living/carbon/M = user + if(!istype(M) || !(locate(/obj/item/organ/internal/xenos/hivenode) in M.internal_organs)) + return attack_hand(user) + + switch(status) + if(BURST) + user << "You clear the hatched egg." + qdel(src) + return +/* if(GROWING) + user << "The child is not developed yet." + return + if(GROWN) + user << "You retrieve the child." + Burst(0) + return + + /obj/effect/alien/egg/proc/GetFacehugger() // Commented out for future edit. + return locate(/obj/item/clothing/mask/facehugger) in contents + +/obj/effect/alien/egg/proc/Grow() + icon_state = "egg" +// status = GROWN + status = BURST +// new /obj/item/clothing/mask/facehugger(src) + return +*/ +/obj/effect/alien/egg/proc/Burst(var/kill = 1) //drops and kills the hugger if any is remaining + if(status == GROWN || status == GROWING) +// var/obj/item/clothing/mask/facehugger/child = GetFacehugger() + icon_state = "egg_hatched" +/* flick("egg_opening", src) + status = BURSTING + spawn(15) + status = BURST + child.loc = get_turf(src) + + if(kill && istype(child)) + child.Die() + else + for(var/mob/M in range(1,src)) + if(CanHug(M)) + child.Attach(M) + break +*/ +/obj/effect/alien/egg/bullet_act(var/obj/item/projectile/Proj) + health -= Proj.damage + ..() + healthcheck() + return + + +/obj/effect/alien/egg/attackby(var/obj/item/weapon/W, var/mob/user) + if(health <= 0) + return + if(W.attack_verb.len) + src.visible_message("\The [src] has been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]") + else + src.visible_message("\The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]") + var/damage = W.force / 4.0 + + if(istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + + if(WT.remove_fuel(0, user)) + damage = 15 + playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) + + src.health -= damage + src.healthcheck() + + +/obj/effect/alien/egg/proc/healthcheck() + if(health <= 0) + Burst() + +/obj/effect/alien/egg/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) + if(exposed_temperature > 500 + T0C) + health -= 5 + healthcheck() +/* +/obj/effect/alien/egg/HasProximity(atom/movable/AM as mob|obj) + if(status == GROWN) + if(!CanHug(AM)) + return + + var/mob/living/carbon/C = AM + if(C.stat == CONSCIOUS && C.status_flags & XENO_HOST) + return + + Burst(0) +*/ \ No newline at end of file diff --git a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm new file mode 100644 index 00000000000..9d79ad45a14 --- /dev/null +++ b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm @@ -0,0 +1,85 @@ +#define NEST_RESIST_TIME 1200 + +/obj/structure/bed/nest + name = "alien nest" + desc = "It's a gruesome pile of thick, sticky resin shaped like a nest." + icon = 'icons/mob/alien.dmi' + icon_state = "nest" + var/health = 100 + +/obj/structure/bed/nest/update_icon() + return + +/obj/structure/bed/nest/user_unbuckle_mob(mob/user as mob) + if(buckled_mob) + if(buckled_mob.buckled == src) + if(buckled_mob != user) + buckled_mob.visible_message(\ + "[user.name] pulls [buckled_mob.name] free from the sticky nest!",\ + "[user.name] pulls you free from the gelatinous resin.",\ + "You hear squelching...") + buckled_mob.pixel_y = 0 + buckled_mob.old_y = 0 + unbuckle_mob() + else + if(world.time <= buckled_mob.last_special+NEST_RESIST_TIME) + return + buckled_mob.last_special = world.time + buckled_mob.visible_message(\ + "[buckled_mob.name] struggles to break free of the gelatinous resin...",\ + "You struggle to break free from the gelatinous resin...",\ + "You hear squelching...") + spawn(NEST_RESIST_TIME) + if(user && buckled_mob && user.buckled == src) + buckled_mob.last_special = world.time + buckled_mob.pixel_y = 0 + buckled_mob.old_y = 0 + unbuckle_mob() + src.add_fingerprint(user) + return + +/obj/structure/bed/nest/user_buckle_mob(mob/M as mob, mob/user as mob) + if ( !ismob(M) || (get_dist(src, user) > 1) || (M.loc != src.loc) || user.restrained() || usr.stat || M.buckled || istype(user, /mob/living/silicon/pai) ) + return + + unbuckle_mob() + + var/mob/living/carbon/xenos = user + var/mob/living/carbon/victim = M + + if(istype(victim) && locate(/obj/item/organ/internal/xenos/hivenode) in victim.internal_organs) + return + + if(istype(xenos) && !(locate(/obj/item/organ/internal/xenos/hivenode) in xenos.internal_organs)) + return + + if(M == usr) + return + else + M.visible_message(\ + "[user.name] secretes a thick vile goo, securing [M.name] into [src]!",\ + "[user.name] drenches you in a foul-smelling resin, trapping you in the [src]!",\ + "You hear squelching...") + M.buckled = src + M.loc = src.loc + M.set_dir(src.dir) + M.update_canmove() + M.pixel_y = 6 + M.old_y = 6 + src.buckled_mob = M + src.add_fingerprint(user) + return + +/obj/structure/bed/nest/attackby(obj/item/weapon/W as obj, mob/user as mob) + var/aforce = W.force + health = max(0, health - aforce) + playsound(loc, 'sound/effects/attackblob.ogg', 100, 1) + for(var/mob/M in viewers(src, 7)) + M.show_message("[user] hits [src] with [W]!", 1) + healthcheck() + +/obj/structure/bed/nest/proc/healthcheck() + if(health <=0) + density = 0 + qdel(src) + return diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 6b3560a824f..2d5fcc3ee1d 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -146,6 +146,11 @@ proc/admin_notice(var/message, var/rights) body += {"

Rudimentary transformation:
These transformations only create a new mob type and copy stuff over. They do not take into account MMIs and similar mob-specific things. The buttons in 'Transformations' are preferred, when possible.

Observer | + \[ Xenos: Larva + Drone + Hunter + Sentinel + Queen \] | \[ Crew: Human Unathi Tajaran diff --git a/code/modules/admin/secrets/random_events/trigger_xenomorph_infestation.dm b/code/modules/admin/secrets/random_events/trigger_xenomorph_infestation.dm new file mode 100644 index 00000000000..a8af34137ad --- /dev/null +++ b/code/modules/admin/secrets/random_events/trigger_xenomorph_infestation.dm @@ -0,0 +1,7 @@ +/datum/admin_secret_item/random_event/trigger_xenomorph_infestation + name = "Trigger a Xenomorph Infestation" + +/datum/admin_secret_item/random_event/trigger_xenomorph_infestation/execute(var/mob/user) + . = ..() + if(.) + return xenomorphs.attempt_random_spawn() diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index fde36a734c6..d832d4c7d36 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1146,6 +1146,16 @@ log_admin("[key_name(usr)] AIized [key_name(H)]") H.AIize() + else if(href_list["makealien"]) + if(!check_rights(R_SPAWN)) return + + var/mob/living/carbon/human/H = locate(href_list["makealien"]) + if(!istype(H)) + usr << "This can only be used on instances of type /mob/living/carbon/human" + return + + usr.client.cmd_admin_alienize(H) + else if(href_list["makeslime"]) if(!check_rights(R_SPAWN)) return diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 80ed64458e2..bf04d11dfe4 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -100,6 +100,24 @@ paiController.pai_candidates.Remove(candidate) feedback_add_details("admin_verb","MPAI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/client/proc/cmd_admin_alienize(var/mob/M in mob_list) + set category = "Fun" + set name = "Make Alien" + + if(!ticker) + alert("Wait until the game starts") + return + if(ishuman(M)) + log_admin("[key_name(src)] has alienized [M.key].") + spawn(10) + M:Alienize() + feedback_add_details("admin_verb","MKAL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + log_admin("[key_name(usr)] made [key_name(M)] into an alien.") + message_admins("\blue [key_name_admin(usr)] made [key_name(M)] into an alien.", 1) + else + alert("Invalid mob") + + /client/proc/cmd_admin_slimeize(var/mob/M in mob_list) set category = "Fun" set name = "Make slime" diff --git a/code/modules/admin/view_variables/helpers.dm b/code/modules/admin/view_variables/helpers.dm index 95945f82e00..a0f8dad9b69 100644 --- a/code/modules/admin/view_variables/helpers.dm +++ b/code/modules/admin/view_variables/helpers.dm @@ -68,6 +68,7 @@ + "} diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index e4a1237f2b0..7ee8a7bcb4e 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -1170,3 +1170,23 @@ set_trait(TRAIT_PRODUCTION,7) set_trait(TRAIT_YIELD,3) set_trait(TRAIT_POTENCY,3) + +// Alien weeds. +/datum/seed/xenomorph + name = "xenomorph" + seed_name = "alien weed" + display_name = "alien weeds" + force_layer = 3 + chems = list("phoron" = list(1,3)) + +/datum/seed/xenomorph/New() + ..() + set_trait(TRAIT_PLANT_ICON,"vine2") + set_trait(TRAIT_IMMUTABLE,1) + set_trait(TRAIT_PRODUCT_COLOUR,"#3D1934") + set_trait(TRAIT_FLESH_COLOUR,"#3D1934") + set_trait(TRAIT_PLANT_COLOUR,"#3D1934") + set_trait(TRAIT_PRODUCTION,1) + set_trait(TRAIT_YIELD,-1) + set_trait(TRAIT_SPREAD,2) + set_trait(TRAIT_POTENCY,50) diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 12d78b366b2..1de0db081ef 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -642,6 +642,22 @@ var/list/name_to_material display_name = "elevator panelling" icon_colour = "#666666" +/material/resin + name = "resin" + icon_colour = "#E85DD8" + dooropen_noise = 'sound/effects/attackblob.ogg' + door_icon_base = "resin" + melting_point = T0C+300 + sheet_singular_name = "blob" + sheet_plural_name = "blobs" + +/material/resin/can_open_material_door(var/mob/living/user) + var/mob/living/carbon/M = user + if(istype(M) && locate(/obj/item/organ/internal/xenos/hivenode) in M.internal_organs) + return 1 + return 0 + + /material/wood name = "wood" stack_type = /obj/item/stack/material/wood diff --git a/code/modules/mob/language/outsider.dm b/code/modules/mob/language/outsider.dm index 3e85f4efece..0a721e6f561 100644 --- a/code/modules/mob/language/outsider.dm +++ b/code/modules/mob/language/outsider.dm @@ -84,3 +84,34 @@ key = "y" machine_understands = 0 flags = RESTRICTED | HIVEMIND + +/datum/language/xenocommon + name = "Xenomorph" + colour = "alien" + desc = "The common tongue of the xenomorphs." + speech_verb = "hisses" + ask_verb = "hisses" + exclaim_verb = "hisses" + key = "4" + flags = RESTRICTED + syllables = list("sss","sSs","SSS") + +/datum/language/xenos + name = "Hivemind" + desc = "Xenomorphs have the strange ability to commune over a psychic hivemind." + speech_verb = "hisses" + ask_verb = "hisses" + exclaim_verb = "hisses" + colour = "alien" + key = "a" + flags = RESTRICTED | HIVEMIND + +/datum/language/xenos/check_special_condition(var/mob/other) + + var/mob/living/carbon/M = other + if(!istype(M)) + return 1 + if(locate(/obj/item/organ/internal/xenos/hivenode) in M.internal_organs) + return 1 + + return 0 diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm new file mode 100644 index 00000000000..9b72fb658fb --- /dev/null +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -0,0 +1,14 @@ +/mob/living/carbon/alien/larva + name = "alien larva" + real_name = "alien larva" + adult_form = /mob/living/carbon/human + speak_emote = list("hisses") + icon_state = "larva" + language = "Hivemind" + maxHealth = 25 + health = 25 + +/mob/living/carbon/alien/larva/New() + ..() + add_language("Xenomorph") //Bonus language. + internal_organs |= new /obj/item/organ/internal/xenos/hivenode(src) diff --git a/code/modules/mob/living/carbon/alien/larva/life.dm b/code/modules/mob/living/carbon/alien/larva/life.dm new file mode 100644 index 00000000000..641e5725863 --- /dev/null +++ b/code/modules/mob/living/carbon/alien/larva/life.dm @@ -0,0 +1,13 @@ + +//Larvae regenerate health and nutrition from plasma and alien weeds. +/mob/living/carbon/alien/larva/handle_environment(var/datum/gas_mixture/environment) + + if(!environment) return + + var/turf/T = get_turf(src) + if(environment.gas["phoron"] > 0 || (T && locate(/obj/effect/alien/weeds) in T.contents)) + update_progression() + adjustBruteLoss(-1) + adjustFireLoss(-1) + adjustToxLoss(-1) + adjustOxyLoss(-1) diff --git a/code/modules/mob/living/carbon/alien/larva/progression.dm b/code/modules/mob/living/carbon/alien/larva/progression.dm new file mode 100644 index 00000000000..c41c94a36c6 --- /dev/null +++ b/code/modules/mob/living/carbon/alien/larva/progression.dm @@ -0,0 +1,12 @@ +/mob/living/carbon/alien/larva/confirm_evolution() + + src << "\blue You are growing into a beautiful alien! It is time to choose a caste." + src << "\blue There are three to choose from:" + src << "Hunters \blue are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves." + src << "Sentinels \blue are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters." + src << "Drones \blue are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen." + var/alien_caste = alert(src, "Please choose which alien caste you shall belong to.",,"Hunter","Sentinel","Drone") + return alien_caste ? "Xenomorph [alien_caste]" : null + +/mob/living/carbon/alien/larva/show_evolution_blurb() + return diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 6a42fc6b412..f586ecd56c5 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -78,6 +78,11 @@ stat("Tank Pressure", internal.air_contents.return_pressure()) stat("Distribution Pressure", internal.distribute_pressure) + var/obj/item/organ/internal/xenos/plasmavessel/P = internal_organs_by_name[O_PLASMA] //Xenomorphs. Mech. + if(P) + stat(null, "Phoron Stored: [P.stored_plasma]/[P.max_plasma]") + + if(back && istype(back,/obj/item/weapon/rig)) var/obj/item/weapon/rig/suit = back var/cell_status = "ERROR" diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_embryo.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_embryo.dm new file mode 100644 index 00000000000..9114e58352e --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_embryo.dm @@ -0,0 +1,161 @@ +// This is to replace the previous datum/disease/alien_embryo for slightly improved handling and maintainability +// It functions almost identically (see code/datums/diseases/alien_embryo.dm) + +/* +/obj/item/alien_embryo //Commented out as reference for future reproduction methods, or addition later. + name = "alien embryo" + desc = "All slimy and yuck." + icon = 'icons/mob/alien.dmi' + icon_state = "larva0_dead" + var/mob/living/affected_mob + var/stage = 0 + +/obj/item/alien_embryo/New() + if(istype(loc, /mob/living)) + affected_mob = loc + processing_objects.Add(src) + spawn(0) + AddInfectionImages(affected_mob) + else + qdel(src) + +/obj/item/alien_embryo/Destroy() + if(affected_mob) + affected_mob.status_flags &= ~(XENO_HOST) + spawn(0) + RemoveInfectionImages(affected_mob) + ..() + +/obj/item/alien_embryo/process() + if(!affected_mob) return + if(loc != affected_mob) + affected_mob.status_flags &= ~(XENO_HOST) + processing_objects.Remove(src) + spawn(0) + RemoveInfectionImages(affected_mob) + affected_mob = null + return + + if(stage < 5 && prob(3)) + stage++ + spawn(0) + RefreshInfectionImage(affected_mob) + + switch(stage) + if(2, 3) + if(prob(1)) + affected_mob.emote("sneeze") + if(prob(1)) + affected_mob.emote("cough") + if(prob(1)) + affected_mob << "\red Your throat feels sore." + if(prob(1)) + affected_mob << "\red Mucous runs down the back of your throat." + if(4) + if(prob(1)) + affected_mob.emote("sneeze") + if(prob(1)) + affected_mob.emote("cough") + if(prob(2)) + affected_mob << "\red Your muscles ache." + if(prob(20)) + affected_mob.take_organ_damage(1) + if(prob(2)) + affected_mob << "\red Your stomach hurts." + if(prob(20)) + affected_mob.adjustToxLoss(1) + affected_mob.updatehealth() + if(5) + affected_mob << "\red You feel something tearing its way out of your stomach..." + affected_mob.adjustToxLoss(10) + affected_mob.updatehealth() + if(prob(50)) + AttemptGrow() + +/obj/item/alien_embryo/proc/AttemptGrow(var/gib_on_success = 1) + var/list/candidates = get_alien_candidates() + var/picked = null + + // To stop clientless larva, we will check that our host has a client + // if we find no ghosts to become the alien. If the host has a client + // he will become the alien but if he doesn't then we will set the stage + // to 2, so we don't do a process heavy check everytime. + + if(candidates.len) + picked = pick(candidates) + else if(affected_mob.client) + picked = affected_mob.key + else + stage = 4 // Let's try again later. + return + + if(affected_mob.lying) + affected_mob.overlays += image('icons/mob/alien.dmi', loc = affected_mob, icon_state = "burst_lie") + else + affected_mob.overlays += image('icons/mob/alien.dmi', loc = affected_mob, icon_state = "burst_stand") + spawn(6) + var/mob/living/carbon/alien/larva/new_xeno = new(affected_mob.loc) + new_xeno.key = picked + new_xeno << sound('sound/voice/hiss5.ogg',0,0,0,100) //To get the player's attention + if(gib_on_success) + affected_mob.gib() + qdel(src) + +/*---------------------------------------- +Proc: RefreshInfectionImage() +Des: Removes all infection images from aliens and places an infection image on all infected mobs for aliens. +----------------------------------------*/ +/obj/item/alien_embryo/proc/RefreshInfectionImage() + + for(var/mob/living/carbon/alien in player_list) + + if(!locate(/obj/item/organ/internal/xenos/hivenode) in alien.internal_organs) + continue + + if(alien.client) + for(var/image/I in alien.client.images) + if(dd_hasprefix_case(I.icon_state, "infected")) + qdel(I) + for(var/mob/living/L in mob_list) + if(iscorgi(L) || iscarbon(L)) + if(L.status_flags & XENO_HOST) + var/I = image('icons/mob/alien.dmi', loc = L, icon_state = "infected[stage]") + alien.client.images += I + +/*---------------------------------------- +Proc: AddInfectionImages(C) +Des: Checks if the passed mob (C) is infected with the alien egg, then gives each alien client an infected image at C. +----------------------------------------*/ +/obj/item/alien_embryo/proc/AddInfectionImages(var/mob/living/C) + if(C) + + for(var/mob/living/carbon/alien in player_list) + + if(!locate(/obj/item/organ/internal/xenos/hivenode) in alien.internal_organs) + continue + + if(alien.client) + if(C.status_flags & XENO_HOST) + var/I = image('icons/mob/alien.dmi', loc = C, icon_state = "infected[stage]") + alien.client.images += I + +/*---------------------------------------- +Proc: RemoveInfectionImage(C) +Des: Removes the alien infection image from all aliens in the world located in passed mob (C). +----------------------------------------*/ + +/obj/item/alien_embryo/proc/RemoveInfectionImages(var/mob/living/C) + + if(C) + + for(var/mob/living/carbon/alien in player_list) + + if(!locate(/obj/item/organ/internal/xenos/hivenode) in alien.internal_organs) + continue + + if(alien.client) + for(var/image/I in alien.client.images) + if(I.loc == C) + if(dd_hasprefix_case(I.icon_state, "infected")) + qdel(I) +*/ diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm new file mode 100644 index 00000000000..817133a251e --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm @@ -0,0 +1,222 @@ +//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 + +//TODO: Make these simple_animals +/* //Commented out as reference for future reproduction methods, or addition later if needed. - Mech +var/const/MIN_IMPREGNATION_TIME = 100 //time it takes to impregnate someone +var/const/MAX_IMPREGNATION_TIME = 150 + +var/const/MIN_ACTIVE_TIME = 200 //time between being dropped and going idle +var/const/MAX_ACTIVE_TIME = 400 + +/obj/item/clothing/mask/facehugger + name = "alien" + desc = "It has some sort of a tube at the end of its tail." + icon = 'icons/mob/alien.dmi' + icon_state = "facehugger" + item_state = "facehugger" + w_class = 3 //note: can be picked up by aliens unlike most other items of w_class below 4 + flags = PROXMOVE + body_parts_covered = FACE|EYES + throw_range = 5 + + var/stat = CONSCIOUS //UNCONSCIOUS is the idle state in this case + var/sterile = 0 + var/strength = 5 + var/attached = 0 + +/obj/item/clothing/mask/facehugger/attack_hand(user as mob) + + if((stat == CONSCIOUS && !sterile)) + if(Attach(user)) + return + + ..() + +/obj/item/clothing/mask/facehugger/attack(mob/living/M as mob, mob/user as mob) + ..() + user.drop_from_inventory(src) + Attach(M) + +/obj/item/clothing/mask/facehugger/New() + if(config.aliens_allowed) + ..() + else + qdel(src) + +/obj/item/clothing/mask/facehugger/examine(mob/user) + ..(user) + switch(stat) + if(DEAD,UNCONSCIOUS) + user << "\red \b [src] is not moving." + if(CONSCIOUS) + user << "\red \b [src] seems to be active." + if (sterile) + user << "\red \b It looks like the proboscis has been removed." + return + +/obj/item/clothing/mask/facehugger/attackby(obj/item/I, mob/user) + if(I.force) + user.do_attack_animation(src) + Die() + return + +/obj/item/clothing/mask/facehugger/bullet_act() + Die() + return + +/obj/item/clothing/mask/facehugger/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) + if(exposed_temperature > T0C+80) + Die() + return + +/obj/item/clothing/mask/facehugger/equipped(mob/M) + ..() + Attach(M) + +/obj/item/clothing/mask/facehugger/Crossed(atom/target) + HasProximity(target) + return + +/obj/item/clothing/mask/facehugger/on_found(mob/finder as mob) + if(stat == CONSCIOUS) + HasProximity(finder) + return 1 + return + +/obj/item/clothing/mask/facehugger/HasProximity(atom/movable/AM as mob|obj) + if(CanHug(AM)) + Attach(AM) + +/obj/item/clothing/mask/facehugger/throw_at(atom/target, range, speed) + ..() + if(stat == CONSCIOUS) + icon_state = "[initial(icon_state)]_thrown" + spawn(15) + if(icon_state == "[initial(icon_state)]_thrown") + icon_state = "[initial(icon_state)]" + +/obj/item/clothing/mask/facehugger/throw_impact(atom/hit_atom) + ..() + if(stat == CONSCIOUS) + icon_state = "[initial(icon_state)]" + throwing = 0 + GoIdle(30,100) //stunned for a few seconds - allows throwing them to be useful for positioning but not as an offensive action (unless you're setting up a trap) + +/obj/item/clothing/mask/facehugger/proc/Attach(M as mob) + + if((!iscorgi(M) && !iscarbon(M))) + return + + if(attached) + return + + var/mob/living/carbon/C = M + if(istype(C) && locate(/obj/item/organ/internal/xenos/hivenode) in C.internal_organs) + return + + + attached++ + spawn(MAX_IMPREGNATION_TIME) + attached = 0 + + var/mob/living/L = M //just so I don't need to use : + + if(loc == L) return + if(stat != CONSCIOUS) return + if(!sterile) L.take_organ_damage(strength,0) //done here so that even borgs and humans in helmets take damage + + L.visible_message("\red \b [src] leaps at [L]'s face!") + + if(iscarbon(M)) + var/mob/living/carbon/target = L + + if(target.wear_mask) + if(prob(20)) return + var/obj/item/clothing/W = target.wear_mask + if(!W.canremove) return + target.drop_from_inventory(W) + + target.visible_message("\red \b [src] tears [W] off of [target]'s face!") + + target.equip_to_slot(src, slot_wear_mask) + target.contents += src // Monkey sanity check - Snapshot + + if(!sterile) L.Paralyse(MAX_IMPREGNATION_TIME/6) //something like 25 ticks = 20 seconds with the default settings + + GoIdle() //so it doesn't jump the people that tear it off + + spawn(rand(MIN_IMPREGNATION_TIME,MAX_IMPREGNATION_TIME)) + Impregnate(L) + + return + +/obj/item/clothing/mask/facehugger/proc/Impregnate(mob/living/target as mob) + if(!target || target.wear_mask != src || target.stat == DEAD) //was taken off or something + return + + if(!sterile) + new /obj/item/alien_embryo(target) + target.status_flags |= XENO_HOST + + target.visible_message("\red \b [src] falls limp after violating [target]'s face!") + + Die() + icon_state = "[initial(icon_state)]_impregnated" + + else + target.visible_message("\red \b [src] violates [target]'s face!") + return + +/obj/item/clothing/mask/facehugger/proc/GoActive() + if(stat == DEAD || stat == CONSCIOUS) + return + + stat = CONSCIOUS + icon_state = "[initial(icon_state)]" + + return + +/obj/item/clothing/mask/facehugger/proc/GoIdle(var/min_time=MIN_ACTIVE_TIME, var/max_time=MAX_ACTIVE_TIME) + if(stat == DEAD || stat == UNCONSCIOUS) + return + +/* RemoveActiveIndicators() */ + + stat = UNCONSCIOUS + icon_state = "[initial(icon_state)]_inactive" + + spawn(rand(min_time,max_time)) + GoActive() + return + +/obj/item/clothing/mask/facehugger/proc/Die() + if(stat == DEAD) + return + +/* RemoveActiveIndicators() */ + + icon_state = "[initial(icon_state)]_dead" + stat = DEAD + + src.visible_message("\red \b[src] curls up into a ball!") + + return + +/proc/CanHug(var/mob/M) + + if(iscorgi(M)) + return 1 + + if(!iscarbon(M)) + return 0 + + var/mob/living/carbon/C = M + if(istype(C) && locate(/obj/item/organ/internal/xenos/hivenode) in C.internal_organs) + return 0 + + if(ishuman(C)) + var/mob/living/carbon/human/H = C + if(H.head && (H.head.body_parts_covered & FACE) && !(H.head.item_flags & FLEXIBLEMATERIAL)) + return 0 + return 1 +*/ \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm new file mode 100644 index 00000000000..b615205a015 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm @@ -0,0 +1,310 @@ +/proc/alien_queen_exists(var/ignore_self,var/mob/living/carbon/human/self) + for(var/mob/living/carbon/human/Q in living_mob_list) + if(self && ignore_self && self == Q) + continue + if(Q.species.name != "Xenomorph Queen") + continue + if(!Q.key || !Q.client || Q.stat) + continue + return 1 + return 0 + +/mob/living/carbon/human/proc/gain_plasma(var/amount) + + var/obj/item/organ/internal/xenos/plasmavessel/I = internal_organs_by_name[O_PLASMA] + if(!istype(I)) return + + if(amount) + I.stored_plasma += amount + I.stored_plasma = max(0,min(I.stored_plasma,I.max_plasma)) + +/mob/living/carbon/human/proc/check_alien_ability(var/cost,var/needs_foundation,var/needs_organ) + + var/obj/item/organ/internal/xenos/plasmavessel/P = internal_organs_by_name[O_PLASMA] + if(!istype(P)) + src << "Your plasma vessel has been removed!" + return + + if(needs_organ) + var/obj/item/organ/internal/I = internal_organs_by_name[needs_organ] + if(!I) + src << "Your [needs_organ] has been removed!" + return + else if((I.status & ORGAN_CUT_AWAY) || I.is_broken()) + src << "Your [needs_organ] is too damaged to function!" + return + + if(P.stored_plasma < cost) + src << "\red You don't have enough phoron stored to do that." + return 0 + + if(needs_foundation) + var/turf/T = get_turf(src) + var/has_foundation + if(T) + //TODO: Work out the actual conditions this needs. + if(!(istype(T,/turf/space))) + has_foundation = 1 + if(!has_foundation) + src << "\red You need a solid foundation to do that on." + return 0 + + P.stored_plasma -= cost + return 1 + +// Free abilities. +/mob/living/carbon/human/proc/transfer_plasma(mob/living/carbon/human/M as mob in oview()) + set name = "Transfer Plasma" + set desc = "Transfer Plasma to another alien" + set category = "Abilities" + + if (get_dist(src,M) <= 1) + src << "You need to be closer." + return + + var/obj/item/organ/internal/xenos/plasmavessel/I = M.internal_organs_by_name[O_PLASMA] + if(!istype(I)) + src << "Their plasma vessel is missing." + return + + var/amount = input("Amount:", "Transfer Plasma to [M]") as num + if (amount) + amount = abs(round(amount)) + if(check_alien_ability(amount,0,O_PLASMA)) + M.gain_plasma(amount) + M << "[src] has transfered [amount] plasma to you." + src << "You have transferred [amount] plasma to [M]." + return + +// Queen verbs. +/mob/living/carbon/human/proc/lay_egg() + + set name = "Lay Egg (75)" + set desc = "Lay an egg to produce huggers to impregnate prey with." + set category = "Abilities" + + if(!config.aliens_allowed) + src << "You begin to lay an egg, but hesitate. You suspect it isn't allowed." + verbs -= /mob/living/carbon/human/proc/lay_egg + return + + if(locate(/obj/effect/alien/egg) in get_turf(src)) + src << "There's already an egg here." + return + + if(check_alien_ability(75,1,O_EGG)) + visible_message("[src] has laid an egg!") + new /obj/effect/alien/egg(loc) + + return + +// Drone verbs. +/mob/living/carbon/human/proc/evolve() + set name = "Evolve (500)" + set desc = "Produce an interal egg sac capable of spawning children. Only one queen can exist at a time." + set category = "Abilities" + + if(alien_queen_exists()) + src << "We already have an active queen." + return + + if(check_alien_ability(500)) + visible_message("[src] begins to twist and contort!", "You begin to evolve!") + src.set_species("Xenomorph Queen") + + return + +/mob/living/carbon/human/proc/plant() + set name = "Plant Weeds (50)" + set desc = "Plants some alien weeds" + set category = "Abilities" + + if(check_alien_ability(50,1,O_RESIN)) + visible_message("[src] has planted some alien weeds!") + new /obj/effect/alien/weeds/node(loc) + return + +/mob/living/carbon/human/proc/corrosive_acid(O as obj|turf in oview(1)) //If they right click to corrode, an error will flash if its an invalid target./N + set name = "Corrosive Acid (200)" + set desc = "Drench an object in acid, destroying it over time." + set category = "Abilities" + + if(!O in oview(1)) + src << "[O] is too far away." + return + + // OBJ CHECK + var/cannot_melt + if(isobj(O)) + var/obj/I = O + if(I.unacidable) + cannot_melt = 1 + else + if(istype(O, /turf/simulated/wall)) + var/turf/simulated/wall/W = O + if(W.material.flags & MATERIAL_UNMELTABLE) + cannot_melt = 1 + else if(istype(O, /turf/simulated/floor)) +/* var/turf/simulated/floor/F = O //Turfs are qdel'd to space (Even asteroid tiles), will need to be touched by someone smarter than myself. -Mech + if(F.flooring && (F.flooring.flags & TURF_ACID_IMMUNE)) +*/ + cannot_melt = 1 + + if(cannot_melt) + src << "You cannot dissolve this object." + return + + if(check_alien_ability(200,0,O_ACID)) + new /obj/effect/alien/acid(get_turf(O), O) + visible_message("[src] vomits globs of vile stuff all over [O]. It begins to sizzle and melt under the bubbling mess of acid!") + + return + +/mob/living/carbon/human/proc/neurotoxin(mob/target as mob in oview()) + set name = "Spit Neurotoxin (50)" + set desc = "Spits neurotoxin at someone, paralyzing them for a short time if they are not wearing protective gear." + set category = "Abilities" + + if(!check_alien_ability(50,0,O_ACID)) + return + + if(stat || paralysis || stunned || weakened || lying || restrained() || buckled) + src << "You cannot spit neurotoxin in your current state." + return + + visible_message("[src] spits neurotoxin at [target]!", "You spit neurotoxin at [target].") + + var/obj/item/projectile/energy/neurotoxin/A = new(get_turf(src)) + A.firer = src + A.launch(target) + return + +/mob/living/carbon/human/proc/resin() // -- TLE + set name = "Secrete Resin (75)" + set desc = "Secrete tough malleable resin." + set category = "Abilities" + + var/choice = input("Choose what you wish to shape.","Resin building") as null|anything in list("resin door","resin wall","resin membrane","resin nest") //would do it through typesof but then the player choice would have the type path and we don't want the internal workings to be exposed ICly - Urist + if(!choice) + return + + if(!check_alien_ability(75,1,O_RESIN)) + return + + visible_message("[src] vomits up a thick purple substance and begins to shape it!", "You shape a [choice].") + switch(choice) + if("resin door") + new /obj/structure/simple_door/resin(loc) + if("resin wall") + new /obj/effect/alien/resin/wall(loc) + if("resin membrane") + new /obj/effect/alien/resin/membrane(loc) + if("resin nest") + new /obj/structure/bed/nest(loc) + return + +/mob/living/carbon/human/proc/leap() + set category = "Abilities" + set name = "Leap" + set desc = "Leap at a target and grab them aggressively." + + if(last_special > world.time) + return + + if(stat || paralysis || stunned || weakened || lying || restrained() || buckled) + src << "You cannot leap in your current state." + return + + var/list/choices = list() + for(var/mob/living/M in view(6,src)) + if(!istype(M,/mob/living/silicon)) + choices += M + choices -= src + + var/mob/living/T = input(src,"Who do you wish to leap at?") as null|anything in choices + + if(!T || !src || src.stat) return + + if(get_dist(get_turf(T), get_turf(src)) > 4) return + + if(last_special > world.time) + return + + if(stat || paralysis || stunned || weakened || lying || restrained() || buckled) + src << "You cannot leap in your current state." + return + + last_special = world.time + 75 + status_flags |= LEAPING + + src.visible_message("\The [src] leaps at [T]!") + src.throw_at(get_step(get_turf(T),get_turf(src)), 4, 1, src) + playsound(src.loc, 'sound/voice/shriek1.ogg', 50, 1) + + sleep(5) + + if(status_flags & LEAPING) status_flags &= ~LEAPING + + if(!src.Adjacent(T)) + src << "You miss!" + return + + T.Weaken(3) + + var/use_hand = "left" + if(l_hand) + if(r_hand) + src << "You need to have one hand free to grab someone." + return + else + use_hand = "right" + + src.visible_message("\The [src] seizes [T] aggressively!") + + var/obj/item/weapon/grab/G = new(src,T) + if(use_hand == "left") + l_hand = G + else + r_hand = G + + G.state = GRAB_PASSIVE + G.icon_state = "grabbed1" + G.synch() + +/mob/living/carbon/human/proc/gut() + set category = "Abilities" + set name = "Gut" + set desc = "While grabbing someone aggressively, rip their guts out or tear them apart." + + if(last_special > world.time) + return + + if(stat || paralysis || stunned || weakened || lying) + src << "\red You cannot do that in your current state." + return + + var/obj/item/weapon/grab/G = locate() in src + if(!G || !istype(G)) + src << "\red You are not grabbing anyone." + return + + if(G.state < GRAB_AGGRESSIVE) + src << "\red You must have an aggressive grab to gut your prey!" + return + + last_special = world.time + 50 + + visible_message("\The [src] rips viciously at \the [G.affecting]'s body with its claws!") + + if(istype(G.affecting,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = G.affecting + H.apply_damage(50,BRUTE) + if(H.stat == 2) + H.gib() + + else + var/mob/living/M = G.affecting + if(!istype(M)) return //wut + M.apply_damage(50,BRUTE) + if(M.stat == 2) + M.gib() diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm new file mode 100644 index 00000000000..e9a1ec16730 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm @@ -0,0 +1,326 @@ +//Stand-in until this is made more lore-friendly. +/datum/species/xenos + name = "Xenomorph" + name_plural = "Xenomorphs" + + default_language = "Xenomorph" + language = "Hivemind" + unarmed_types = list(/datum/unarmed_attack/claws/strong, /datum/unarmed_attack/bite/strong) + hud_type = /datum/hud_data/alien + rarity_value = 3 + + has_fine_manipulation = 0 + siemens_coefficient = 0 + gluttonous = 3 + + brute_mod = 0.5 // Hardened carapace. + burn_mod = 2 // Weak to fire. + + warning_low_pressure = 50 + hazard_low_pressure = -1 + + cold_level_1 = 50 + cold_level_2 = -1 + cold_level_3 = -1 + + flags = NO_SCAN | NO_PAIN | NO_SLIP | NO_POISON | NO_MINOR_CUT + spawn_flags = SPECIES_IS_RESTRICTED + + reagent_tag = IS_XENOS + + blood_color = "#05EE05" + flesh_color = "#282846" + gibbed_anim = "gibbed-a" + dusted_anim = "dust-a" + death_message = "lets out a waning guttural screech, green blood bubbling from its maw." + death_sound = 'sound/voice/hiss6.ogg' + + speech_sounds = list('sound/voice/hiss1.ogg','sound/voice/hiss2.ogg','sound/voice/hiss3.ogg','sound/voice/hiss4.ogg') + speech_chance = 100 + + breath_type = null + poison_type = null + + vision_flags = SEE_SELF|SEE_MOBS + + has_organ = list( + O_HEART = /obj/item/organ/internal/heart, + O_BRAIN = /obj/item/organ/internal/brain/xeno, + O_PLASMA = /obj/item/organ/internal/xenos/plasmavessel, + O_HIVE = /obj/item/organ/internal/xenos/hivenode, + O_NUTRIENT = /obj/item/organ/internal/diona/nutrients + ) + + bump_flag = ALIEN + swap_flags = ~HEAVY + push_flags = (~HEAVY) ^ ROBOT + + var/alien_number = 0 + var/caste_name = "creature" // Used to update alien name. + var/weeds_heal_rate = 1 // Health regen on weeds. + var/weeds_plasma_rate = 5 // Plasma regen on weeds. + + has_limbs = list( + BP_TORSO = list("path" = /obj/item/organ/external/chest), + BP_GROIN = list("path" = /obj/item/organ/external/groin), + BP_HEAD = list("path" = /obj/item/organ/external/head/no_eyes), + BP_L_ARM = list("path" = /obj/item/organ/external/arm), + BP_R_ARM = list("path" = /obj/item/organ/external/arm/right), + BP_L_LEG = list("path" = /obj/item/organ/external/leg), + BP_R_LEG = list("path" = /obj/item/organ/external/leg/right), + BP_L_HAND = list("path" = /obj/item/organ/external/hand), + BP_R_HAND = list("path" = /obj/item/organ/external/hand/right), + BP_L_FOOT = list("path" = /obj/item/organ/external/foot), + BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right) + ) + +/datum/species/xenos/get_bodytype() + return "Xenomorph" + +/datum/species/xenos/get_random_name() + return "alien [caste_name] ([alien_number])" + +/datum/species/xenos/can_understand(var/mob/other) + + if(istype(other,/mob/living/carbon/alien/larva)) + return 1 + + return 0 + +/datum/species/xenos/hug(var/mob/living/carbon/human/H,var/mob/living/target) + H.visible_message("[H] caresses [target] with its scythe-like arm.", \ + "You caress [target] with your scythe-like arm.") + +/datum/species/xenos/handle_post_spawn(var/mob/living/carbon/human/H) + + if(H.mind) + H.mind.assigned_role = "Alien" + H.mind.special_role = "Alien" + + alien_number++ //Keep track of how many aliens we've had so far. + H.real_name = "alien [caste_name] ([alien_number])" + H.name = H.real_name + + ..() + +/datum/species/xenos/handle_environment_special(var/mob/living/carbon/human/H) + + var/turf/T = H.loc + if(!T) return + var/datum/gas_mixture/environment = T.return_air() + if(!environment) return + + if(environment.gas["phoron"] > 0 || locate(/obj/effect/alien/weeds) in T) + if(!regenerate(H)) + var/obj/item/organ/internal/xenos/plasmavessel/P = H.internal_organs_by_name[O_PLASMA] + P.stored_plasma += weeds_plasma_rate + P.stored_plasma = min(max(P.stored_plasma,0),P.max_plasma) + ..() + +/datum/species/xenos/proc/regenerate(var/mob/living/carbon/human/H) + var/heal_rate = weeds_heal_rate + var/mend_prob = 10 + if (!H.resting) + heal_rate = weeds_heal_rate / 3 + mend_prob = 1 + + //first heal damages + if (H.getBruteLoss() || H.getFireLoss() || H.getOxyLoss() || H.getToxLoss()) + H.adjustBruteLoss(-heal_rate) + H.adjustFireLoss(-heal_rate) + H.adjustOxyLoss(-heal_rate) + H.adjustToxLoss(-heal_rate) + if (prob(5)) + H << "You feel a soothing sensation come over you..." + return 1 + + //next internal organs + for(var/obj/item/organ/I in H.internal_organs) + if(I.damage > 0) + I.damage = max(I.damage - heal_rate, 0) + if (prob(5)) + H << "You feel a soothing sensation within your [I.parent_organ]..." + return 1 + + //next mend broken bones, approx 10 ticks each + for(var/obj/item/organ/external/E in H.bad_external_organs) + if (E.status & ORGAN_BROKEN) + if (prob(mend_prob)) + if (E.mend_fracture()) + H << "You feel something mend itself inside your [E.name]." + return 1 + + return 0 +/* +/datum/species/xenos/handle_login_special(var/mob/living/carbon/human/H) + H.AddInfectionImages() + ..() + +/datum/species/xenos/handle_logout_special(var/mob/living/carbon/human/H) + H.RemoveInfectionImages() + ..() +*/ +/datum/species/xenos/drone + name = "Xenomorph Drone" + caste_name = "drone" + weeds_plasma_rate = 15 + slowdown = 1 + tail = "xenos_drone_tail" + rarity_value = 5 + + icobase = 'icons/mob/human_races/xenos/r_xenos_drone.dmi' + deform = 'icons/mob/human_races/xenos/r_xenos_drone.dmi' + + has_organ = list( + O_HEART = /obj/item/organ/internal/heart, + O_BRAIN = /obj/item/organ/internal/brain/xeno, + O_PLASMA = /obj/item/organ/internal/xenos/plasmavessel/queen, + O_ACID = /obj/item/organ/internal/xenos/acidgland, + O_HIVE = /obj/item/organ/internal/xenos/hivenode, + O_RESIN = /obj/item/organ/internal/xenos/resinspinner, + O_NUTRIENT = /obj/item/organ/internal/diona/nutrients + ) + + inherent_verbs = list( + /mob/living/proc/ventcrawl, + /mob/living/carbon/human/proc/regurgitate, + /mob/living/carbon/human/proc/plant, + /mob/living/carbon/human/proc/transfer_plasma, + /mob/living/carbon/human/proc/evolve, + /mob/living/carbon/human/proc/resin, + /mob/living/carbon/human/proc/corrosive_acid + ) + +/datum/species/xenos/drone/handle_post_spawn(var/mob/living/carbon/human/H) + + var/mob/living/carbon/human/A = H + if(!istype(A)) + return ..() + ..() + +/datum/species/xenos/hunter + + name = "Xenomorph Hunter" + weeds_plasma_rate = 5 + caste_name = "hunter" + slowdown = -2 + total_health = 150 + tail = "xenos_hunter_tail" + + icobase = 'icons/mob/human_races/xenos/r_xenos_hunter.dmi' + deform = 'icons/mob/human_races/xenos/r_xenos_hunter.dmi' + + has_organ = list( + O_HEART = /obj/item/organ/internal/heart, + O_BRAIN = /obj/item/organ/internal/brain/xeno, + O_PLASMA = /obj/item/organ/internal/xenos/plasmavessel/hunter, + O_HIVE = /obj/item/organ/internal/xenos/hivenode, + O_NUTRIENT = /obj/item/organ/internal/diona/nutrients + ) + + inherent_verbs = list( + /mob/living/proc/ventcrawl, + /mob/living/carbon/human/proc/tackle, + /mob/living/carbon/human/proc/gut, + /mob/living/carbon/human/proc/leap, + /mob/living/carbon/human/proc/psychic_whisper, + /mob/living/carbon/human/proc/regurgitate + ) + +/datum/species/xenos/sentinel + name = "Xenomorph Sentinel" + weeds_plasma_rate = 10 + caste_name = "sentinel" + slowdown = 0 + total_health = 125 + tail = "xenos_sentinel_tail" + + icobase = 'icons/mob/human_races/xenos/r_xenos_sentinel.dmi' + deform = 'icons/mob/human_races/xenos/r_xenos_sentinel.dmi' + + has_organ = list( + O_HEART = /obj/item/organ/internal/heart, + O_BRAIN = /obj/item/organ/internal/brain/xeno, + O_PLASMA = /obj/item/organ/internal/xenos/plasmavessel/sentinel, + O_ACID = /obj/item/organ/internal/xenos/acidgland, + O_HIVE = /obj/item/organ/internal/xenos/hivenode, + O_NUTRIENT = /obj/item/organ/internal/diona/nutrients + ) + + inherent_verbs = list( + /mob/living/proc/ventcrawl, + /mob/living/carbon/human/proc/tackle, + /mob/living/carbon/human/proc/regurgitate, + /mob/living/carbon/human/proc/transfer_plasma, + /mob/living/carbon/human/proc/corrosive_acid, + /mob/living/carbon/human/proc/neurotoxin + ) + +/datum/species/xenos/queen + + name = "Xenomorph Queen" + total_health = 250 + weeds_heal_rate = 5 + weeds_plasma_rate = 20 + caste_name = "queen" + slowdown = 4 + tail = "xenos_queen_tail" + rarity_value = 10 + + icobase = 'icons/mob/human_races/xenos/r_xenos_queen.dmi' + deform = 'icons/mob/human_races/xenos/r_xenos_queen.dmi' + + has_organ = list( + O_HEART = /obj/item/organ/internal/heart, + O_BRAIN = /obj/item/organ/internal/brain/xeno, + O_EGG = /obj/item/organ/internal/xenos/eggsac, + O_PLASMA = /obj/item/organ/internal/xenos/plasmavessel/queen, + O_ACID = /obj/item/organ/internal/xenos/acidgland, + O_HIVE = /obj/item/organ/internal/xenos/hivenode, + O_RESIN = /obj/item/organ/internal/xenos/resinspinner, + O_NUTRIENT = /obj/item/organ/internal/diona/nutrients + ) + + inherent_verbs = list( + /mob/living/proc/ventcrawl, + /mob/living/carbon/human/proc/psychic_whisper, + /mob/living/carbon/human/proc/regurgitate, + /mob/living/carbon/human/proc/lay_egg, + /mob/living/carbon/human/proc/plant, + /mob/living/carbon/human/proc/transfer_plasma, + /mob/living/carbon/human/proc/corrosive_acid, + /mob/living/carbon/human/proc/neurotoxin, + /mob/living/carbon/human/proc/resin + ) + +/datum/species/xenos/queen/handle_login_special(var/mob/living/carbon/human/H) + ..() + // Make sure only one official queen exists at any point. + if(!alien_queen_exists(1,H)) + H.real_name = "alien queen ([alien_number])" + H.name = H.real_name + else + H.real_name = "alien princess ([alien_number])" + H.name = H.real_name + +/datum/hud_data/alien + + icon = 'icons/mob/screen1_alien.dmi' + has_a_intent = 1 + has_m_intent = 1 + has_warnings = 1 + has_hands = 1 + has_drop = 1 + has_throw = 1 + has_resist = 1 + has_pressure = 0 + has_nutrition = 0 + has_bodytemp = 0 + has_internals = 0 + + gear = list( + "o_clothing" = list("loc" = ui_belt, "name" = "Suit", "slot" = slot_wear_suit, "state" = "equip", "dir" = SOUTH), + "head" = list("loc" = ui_id, "name" = "Hat", "slot" = slot_head, "state" = "hair"), + "storage1" = list("loc" = ui_storage1, "name" = "Left Pocket", "slot" = slot_l_store, "state" = "pocket"), + "storage2" = list("loc" = ui_storage2, "name" = "Right Pocket", "slot" = slot_r_store, "state" = "pocket"), + ) diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm new file mode 100644 index 00000000000..3fb69584271 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm @@ -0,0 +1,52 @@ +proc/create_new_xenomorph(var/alien_caste,var/target) + + target = get_turf(target) + if(!target || !alien_caste) return + + var/mob/living/carbon/human/new_alien = new(target) + new_alien.set_species("Xenomorph [alien_caste]") + return new_alien + +/mob/living/carbon/human/xdrone/New(var/new_loc) + h_style = "Bald" + ..(new_loc, "Xenomorph Drone") + +/mob/living/carbon/human/xsentinel/New(var/new_loc) + h_style = "Bald" + ..(new_loc, "Xenomorph Sentinel") + +/mob/living/carbon/human/xhunter/New(var/new_loc) + h_style = "Bald" + ..(new_loc, "Xenomorph Hunter") + +/mob/living/carbon/human/xqueen/New(var/new_loc) + h_style = "Bald" + ..(new_loc, "Xenomorph Queen") + +// I feel like we should generalize/condense down all the various icon-rendering antag procs. +/*---------------------------------------- +Proc: AddInfectionImages() +Des: Gives the client of the alien an image on each infected mob. +----------------------------------------*/ +/* +/mob/living/carbon/human/proc/AddInfectionImages() + if (client) + for (var/mob/living/C in mob_list) + if(C.status_flags & XENO_HOST) + var/obj/item/alien_embryo/A = locate() in C + var/I = image('icons/mob/alien.dmi', loc = C, icon_state = "infected[A.stage]") + client.images += I + return +*/ +/*---------------------------------------- +Proc: RemoveInfectionImages() +Des: Removes all infected images from the alien. +----------------------------------------*/ +/* +/mob/living/carbon/human/proc/RemoveInfectionImages() + if (client) + for(var/image/I in client.images) + if(dd_hasprefix_case(I.icon_state, "infected")) + qdel(I) + return +*/ diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index ba5b24dbe70..e183b2796cc 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -1,4 +1,10 @@ // fun if you want to typecast humans/monkeys/etc without writing long path-filled lines. +/proc/isxenomorph(A) + if(istype(A, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = A + return istype(H.species, /datum/species/xenos) + return 0 + /proc/issmall(A) if(A && istype(A, /mob/living)) var/mob/living/L = A diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 085f601aefe..82c0a1e40f3 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -161,6 +161,30 @@ qdel(src) return O +//human -> alien +/mob/living/carbon/human/proc/Alienize() + if (transforming) + return + for(var/obj/item/W in src) + drop_from_inventory(W) + regenerate_icons() + transforming = 1 + canmove = 0 + icon = null + invisibility = 101 + for(var/t in organs) + qdel(t) + + var/alien_caste = pick("Hunter","Sentinel","Drone") + var/mob/living/carbon/human/new_xeno = create_new_xenomorph(alien_caste,loc) + + new_xeno.a_intent = I_HURT + new_xeno.key = key + + new_xeno << "You are now an alien." + qdel(src) + return + /mob/living/carbon/human/proc/slimeize(adult as num, reproduce as num) if (transforming) return diff --git a/code/modules/organs/subtypes/xenos.dm b/code/modules/organs/subtypes/xenos.dm new file mode 100644 index 00000000000..95024a63551 --- /dev/null +++ b/code/modules/organs/subtypes/xenos.dm @@ -0,0 +1,51 @@ +//XENOMORPH ORGANS +/obj/item/organ/internal/xenos + name = "xeno organ" + icon = 'icons/effects/blood.dmi' + desc = "It smells like an accident in a chemical factory." + +/obj/item/organ/internal/xenos/eggsac + name = "egg sac" + parent_organ = BP_GROIN + icon_state = "xgibmid1" + organ_tag = O_EGG + +/obj/item/organ/internal/xenos/plasmavessel + name = "plasma vessel" + parent_organ = BP_TORSO + icon_state = "xgibdown1" + organ_tag = O_PLASMA + var/stored_plasma = 0 + var/max_plasma = 500 + +/obj/item/organ/internal/xenos/plasmavessel/queen + name = "bloated plasma vessel" + stored_plasma = 200 + max_plasma = 500 + +/obj/item/organ/internal/xenos/plasmavessel/sentinel + stored_plasma = 100 + max_plasma = 250 + +/obj/item/organ/internal/xenos/plasmavessel/hunter + name = "tiny plasma vessel" + stored_plasma = 100 + max_plasma = 150 + +/obj/item/organ/internal/xenos/acidgland + name = "acid gland" + parent_organ = BP_HEAD + icon_state = "xgibtorso" + organ_tag = O_ACID + +/obj/item/organ/internal/xenos/hivenode + name = "hive node" + parent_organ = BP_TORSO + icon_state = "xgibmid2" + organ_tag = O_HIVE + +/obj/item/organ/internal/xenos/resinspinner + name = "resin spinner" + parent_organ = BP_HEAD + icon_state = "xgibmid2" + organ_tag = O_RESIN diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm index 25f6025b989..0bb6b223abc 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm @@ -258,6 +258,10 @@ /datum/reagent/toxin/plantbgone/touch_obj(var/obj/O, var/volume) if(istype(O, /obj/effect/plant)) qdel(O) + else if(istype(O, /obj/effect/alien/weeds/)) + var/obj/effect/alien/weeds/alien_weeds = O + alien_weeds.health -= rand(15, 35) + alien_weeds.healthcheck() /datum/reagent/toxin/plantbgone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) if(alien == IS_DIONA) diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 205089773d5..9dc0f658361 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -12,6 +12,47 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) return affected && affected.open == (affected.encased ? 3 : 2) + +////////////////////////////////////////////////////////////////// +// ALIEN EMBRYO SURGERY // +////////////////////////////////////////////////////////////////// // Here for future reference incase it's needed. See: Alien_embryo.dm and Alien_facehugger.dm +/* +/datum/surgery_step/internal/remove_embryo + allowed_tools = list( + /obj/item/weapon/surgical/hemostat = 100, \ + /obj/item/weapon/wirecutters = 75, \ + /obj/item/weapon/material/kitchen/utensil/fork = 20 + ) + blood_level = 2 + + min_duration = 80 + max_duration = 100 + + can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/embryo = 0 + for(var/obj/item/alien_embryo/A in target) + embryo = 1 + break + + if (!hasorgans(target)) + return + var/obj/item/organ/external/affected = target.get_organ(target_zone) + return ..() && affected && embryo && affected.open == 3 && target_zone == BP_TORSO + + begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/msg = "[user] starts to pull something out from [target]'s ribcage with \the [tool]." + var/self_msg = "You start to pull something out from [target]'s ribcage with \the [tool]." + user.visible_message(msg, self_msg) + target.custom_pain("Something hurts horribly in your chest!",1) + ..() + + end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + user.visible_message("[user] rips the larva out of [target]'s ribcage!", + "You rip the larva out of [target]'s ribcage!") + + for(var/obj/item/alien_embryo/A in target) + A.loc = A.loc.loc +*/ ////////////////////////////////////////////////////////////////// // CHEST INTERNAL ORGAN SURGERY // ////////////////////////////////////////////////////////////////// diff --git a/icons/mob/human_races/xenos/r_xenos_drone.dmi b/icons/mob/human_races/xenos/r_xenos_drone.dmi new file mode 100644 index 0000000000000000000000000000000000000000..19094d66ed9c1c3e3359308d3431e2ca4c92d6ba GIT binary patch literal 1764 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 WG4;X8WyT;g| literal 0 HcmV?d00001 diff --git a/icons/mob/human_races/xenos/r_xenos_queen.dmi b/icons/mob/human_races/xenos/r_xenos_queen.dmi new file mode 100644 index 0000000000000000000000000000000000000000..efb5558ac15feda55968ece058050ac6e573bfbb GIT binary patch literal 1928 zcmYjRc{J3E7yphi#y+Drwg@4S-B4M|nCyEEMG_@r8wSbxm>Em2w0dKUjYEn5d{I< z;3M!OJ2@Ny(%#y^q_eY=n@3#ZqAfxUX@$$cVzKM%>kI}1&MO81^N7nR9t{9kWa)by z2?>ez_I3j)0KAfa>xWp#6I*4Z{O4$pBH7$TDgX$VO!dge&C}K$-N{? zX}RE~{&()%m5}8jal;k|OY1WQk`i8d4;wyMN2SdOdx=c?HvG=$qMmsO$iYJrs`jy* z(%kLclhLUmXS_L{K3BUWYf@MbBokG!3b--FG5O{E>k}@`X03;DE~9pH-w!WZtu>Mu zuA@g6;xe@`HgX6rq!*<|&dBharU&WQ4%3-zJAHY59}hValqdLGv8&5-`QE+&`5q0T zgj(&vy~f!&#mll2n>B&voM+$25J8p$$p zBU8i}tPSH@O8C0-&+?z!)f>>GNPnsD=mwzz`n#DVhYfB=JPUD+{cO}fZlG(yq^xI^ z5aXOv^m05r%m&X&g=}4IfR!#dKOY^wwdbJ_*g$p7)!*pYh>K_I^EEJaHz^9|bwWEd znoZg?S<88TTSU9a9czT1;R8)ldo2n;}u6>4?6DdDJXDvA;*T5}mgJ#eTF+xvBR;Pw0 zZMR|6+;q+>!N{-Jp0VMcA_+RVm}W>Fs7cD6f3^CM3aJI9k}5&M7e-tNMlcm`F8k8* zoN_b18-3j2WVWBEqK_}GgaL0BD>;3plIzIXF;i7Xoxmnf z0oSdAQ}udng^H{1=?-zmZVkGOh<6KRE_ZY@P3MYHA zwKd%QzRnd3ajmtJ0JIZyIuwP!PBywI*SpJ0&oDsmg^=gH;>k3zsrZ{wYBiE$G+bjE zd>ppEHIUmVYCH3mTeA&KM;_CT$0cCyNSRC4xt_;WC7k@fxu5KDtl08Xe*+cT`Fixw z_P?Vbh%;h)kE3wNHwFyVla+CXDMpm^t;t~s2dkTyo`{xg+lJ4!SJhf99 z#5=wdg3+9t4T+kGxxr_96wB5Yo@5e#;|GF-5VarAdeiN;;CIrt1WS}E$lVd(?W#ah zTE+;%8tJ;JK!O19T*0tbyp8(v?g z5r&#nS2(AU-tQLixKp#YH(rkEDBh1p0|0pF%Qc(5*9L@D4y~1<0>dTsY6I%XaSaT_ zq_cJ6g%xf-ah=4m|5A-Iuw@s5iiW;9HuS1vl#%CI*ae0?h~a=bY;Ow;l`LFJ8+T_G zx3CtzcZ4Xn7n6Fg=D_Y|T88>)a#SksVx_iCsXE=Qe8D20%A2kSG_p3pxGmjqe*!Zo zjFO`9nK+9s(RX*|kk(I>>Oa_#o`Qu>xGf#>2q^GC}1xGnzpbU%lSFs#bp}qWV^e;5b_qSyRhX{vG8Hw$?|z-aT=k zRNt83A_ep{u%hHt&K(ZWbPE#O>a<>IvTsN+_?n+9oOJqQ>gJEYEKF>TYtZho{{b*I BaL@n% literal 0 HcmV?d00001 diff --git a/icons/mob/human_races/xenos/r_xenos_sentinel.dmi b/icons/mob/human_races/xenos/r_xenos_sentinel.dmi new file mode 100644 index 0000000000000000000000000000000000000000..5b250c7445e05ca6425a89bb5b9ebe3b514d6cb6 GIT binary patch literal 1817 zcmYjRc|6mP8~@D02piVdF~?BJt7wkO^$l|_<;$$-a6}BX93hI|Hpe$9M~+ZTj?m55 zT=lgrOoXU8_G@K2DEBdDYs-GTepl~*-tXslJLFH5TjP4cJeyLpP1aD>&a+r;tm*G2v0M z;gJ^sAfYrX&qlrz1#>z-4ewZR{0HGqVDOnPADC3~^||!Iyj+fJ_6z%=c=ILxvBoE@ z{7%d33kO$fU%~^G)uPAet*%O!B^%Wm;K#RpDjG(7|W>3)op11_O-zD&`ZgHrgjs(J$5C*3TO1mJDLHL`YD zv7dw_lz)73x#!k7VHIfaYZTxqojFVpCW!8+_)?s8K^7Uh zZ1LBlZz-y)uFx{%g$s60>_z2w@SUa%CbfCdSfDHz&*~Yh*ERldoE|6Iyw$IulkTdP z41ltBFOJhhF;hocuJvS!6Kofn1Z#Pte6{UrWz+`ZmzUieeY3NN)v{lWjTLbqRH}rD z?x5-0(e{}PRde_em5IT8#}7VD8|Ed9OUuYfuIY1omPLe|{1*!^i^u`mtE}bVqlR8X zGY<9TsLy^G)7yhGU2^|)!SDv=q4{^8N^1A7%WFmdmJL^la?wlQb<@-BOU3FH0)ZH% zRy^y+E))ARdpp@_eTlM_!_hj;&AMtCswZyISHF5B-8mj>j{vc90X{tXh>)gzhM2s_>Udw_G@M?YrC zZ)p#Q6OG%pW!|R|or`qjjdJFGatkm!GX9txS)Hy(Gvu3rCyMjmeSP6@g`5~I&0_B| z7)k{A0t!V6Vm}B98+bZl>ON$2u6@JW0Z4)A_Lr?GPiZZ$51T)aIc`!=ko5%b}Fs{;k3 zeH8d~8i^NFZ+x2x!|;H#U3=y_o`ZjwlvY&fot3NEd&Fb%1}ebSCPO8z^l8ez9b$OT z*w&N%A0}$^eI_Pk>6Kj}GNfbqNd0AFkDWT22MkL!A7t$g;>nIy#pwa>N(w=Ly;;CK zK3IuUwxTBwHp<>gj31nW)}ck_$XWKy0bS4ZQM~>5a*JheQ;==9!H_jj&;(&-HP8B4 z^5!U8@hQW=sZZ_fqwx2X&GsmTMv0F;vHaWRlVttKe({0?6T?N%Ftjuw@>BP-{F2tk znUHgW{fZ5hFMdA^OoF@4qqveIy!^4Zj@uRt1U;Q&bOG|#sBG&Z7-tWsr|7_xe*vvfOcekC literal 0 HcmV?d00001 diff --git a/icons/mob/screen1_alien.dmi b/icons/mob/screen1_alien.dmi index b21cd203dd59dd4e0bc8c244c29fbe7f091156a4..6e9b9eccf8bbede86d3edf4debf4843caac2a28e 100644 GIT binary patch literal 143084 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

-336Y?lwooO{212@TqYxF)8 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≻GGgk8<73}9eCTaJ11)+3Cz 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 literal 141060 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

B$fTvPMfZkv5=BG55(__~BdmIky4xG5 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