From cbc506fd511f2b4a9fdc1b7c0e7109dd4c1e2f3e Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 20 Feb 2016 11:50:18 +1030 Subject: [PATCH] Removed xenomorphs. --- code/__defines/gamemode.dm | 1 - code/game/antagonist/alien/borer.dm | 32 +- code/game/antagonist/alien/xenomorph.dm | 47 -- code/game/gamemodes/game_mode.dm | 2 +- code/game/gamemodes/mixed/bughunt.dm | 14 - code/game/gamemodes/mixed/infestation.dm | 4 +- code/game/machinery/portable_turret.dm | 2 +- code/game/objects/effects/aliens.dm | 440 ------------------ code/game/objects/structures/lamarr_cage.dm | 87 ---- .../stool_bed_chair_nest/alien_nests.dm | 86 ---- code/modules/admin/admin.dm | 5 - .../trigger_xenomorph_infestation.dm | 7 - code/modules/admin/topic.dm | 10 - code/modules/admin/verbs/debug.dm | 17 - code/modules/admin/view_variables/helpers.dm | 1 - .../modules/clothing/spacesuits/spacesuits.dm | 4 +- code/modules/hydroponics/seed_datums.dm | 20 - code/modules/materials/materials.dm | 15 - code/modules/mining/abandonedcrates.dm | 6 +- code/modules/mob/language/outsider.dm | 31 -- .../mob/living/carbon/alien/larva/larva.dm | 14 - .../mob/living/carbon/alien/larva/life.dm | 12 - .../living/carbon/alien/larva/progression.dm | 12 - code/modules/mob/living/carbon/human/human.dm | 4 - .../human/species/xenomorphs/alien_embryo.dm | 159 ------- .../species/xenomorphs/alien_facehugger.dm | 231 --------- .../human/species/xenomorphs/alien_powers.dm | 222 --------- .../human/species/xenomorphs/alien_species.dm | 324 ------------- .../human/species/xenomorphs/xenomorphs.dm | 49 -- .../living/simple_animal/friendly/corgi.dm | 7 - .../living/simple_animal/friendly/slime.dm | 15 +- code/modules/mob/mob_helpers.dm | 6 - code/modules/mob/transform_procs.dm | 24 - code/modules/organs/subtypes/xenos.dm | 52 --- code/modules/projectiles/projectile/change.dm | 2 - .../Chemistry-Reagents-Toxins.dm | 7 +- code/modules/surgery/organs_internal.dm | 40 -- icons/mob/human_races/r_armalis.dmi | Bin 4073 -> 0 bytes icons/mob/human_races/xenos/r_xenos_drone.dmi | Bin 1764 -> 0 bytes .../mob/human_races/xenos/r_xenos_hunter.dmi | Bin 1895 -> 0 bytes icons/mob/human_races/xenos/r_xenos_queen.dmi | Bin 1928 -> 0 bytes .../human_races/xenos/r_xenos_sentinel.dmi | Bin 1817 -> 0 bytes icons/mob/slimes.dmi | Bin 86597 -> 86616 bytes maps/polaris-1.dmm | 4 +- maps/polaris-2.dmm | 66 ++- polaris.dme | 15 - 46 files changed, 83 insertions(+), 2013 deletions(-) delete mode 100644 code/game/antagonist/alien/xenomorph.dm delete mode 100644 code/game/gamemodes/mixed/bughunt.dm delete mode 100644 code/game/objects/effects/aliens.dm delete mode 100644 code/game/objects/structures/lamarr_cage.dm delete mode 100644 code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm delete mode 100644 code/modules/admin/secrets/random_events/trigger_xenomorph_infestation.dm delete mode 100644 code/modules/mob/living/carbon/alien/larva/larva.dm delete mode 100644 code/modules/mob/living/carbon/alien/larva/life.dm delete mode 100644 code/modules/mob/living/carbon/alien/larva/progression.dm delete mode 100644 code/modules/mob/living/carbon/human/species/xenomorphs/alien_embryo.dm delete mode 100644 code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm delete mode 100644 code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm delete mode 100644 code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm delete mode 100644 code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm delete mode 100644 code/modules/organs/subtypes/xenos.dm delete mode 100644 icons/mob/human_races/r_armalis.dmi delete mode 100644 icons/mob/human_races/xenos/r_xenos_drone.dmi delete mode 100644 icons/mob/human_races/xenos/r_xenos_hunter.dmi delete mode 100644 icons/mob/human_races/xenos/r_xenos_queen.dmi delete mode 100644 icons/mob/human_races/xenos/r_xenos_sentinel.dmi diff --git a/code/__defines/gamemode.dm b/code/__defines/gamemode.dm index 827737cf92..675b01563a 100644 --- a/code/__defines/gamemode.dm +++ b/code/__defines/gamemode.dm @@ -63,7 +63,6 @@ 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/borer.dm b/code/game/antagonist/alien/borer.dm index d0d1183a0d..783055381c 100644 --- a/code/game/antagonist/alien/borer.dm +++ b/code/game/antagonist/alien/borer.dm @@ -1,7 +1,8 @@ -var/datum/antagonist/xenos/borer/borers +var/datum/antagonist/borer/borers -/datum/antagonist/xenos/borer +/datum/antagonist/borer id = MODE_BORER + role_type = BE_ALIEN role_text = "Cortical Borer" role_text_plural = "Cortical Borers" mob_path = /mob/living/simple_animal/borer @@ -10,6 +11,8 @@ var/datum/antagonist/xenos/borer/borers antag_indicator = "brainworm" antaghud_indicator = "hudborer" + flags = ANTAG_OVERRIDE_MOB | ANTAG_RANDSPAWN | ANTAG_OVERRIDE_JOB | ANTAG_VOTABLE + faction_role_text = "Borer Thrall" faction_descriptor = "Unity" faction_welcome = "You are now a thrall to a cortical borer. Please listen to what they have to say; they're in your head." @@ -17,21 +20,26 @@ var/datum/antagonist/xenos/borer/borers initial_spawn_req = 3 initial_spawn_target = 5 -/datum/antagonist/xenos/borer/New() + 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/borer/New() ..(1) borers = src /datum/antagonist/xenos/borer/get_extra_panel_options(var/datum/mind/player) return "\[put in host\]" -/datum/antagonist/xenos/borer/create_objectives(var/datum/mind/player) +/datum/antagonist/borer/create_objectives(var/datum/mind/player) if(!..()) return player.objectives += new /datum/objective/borer_survive() player.objectives += new /datum/objective/borer_reproduce() player.objectives += new /datum/objective/escape() -/datum/antagonist/xenos/borer/place_mob(var/mob/living/mob) +/datum/antagonist/borer/place_mob(var/mob/living/mob) var/mob/living/simple_animal/borer/borer = mob if(istype(borer)) var/mob/living/carbon/human/host @@ -51,4 +59,16 @@ var/datum/antagonist/xenos/borer/borers borer.host_brain.name = host.name borer.host_brain.real_name = host.real_name return - ..() // Place them at a vent if they can't get a host. + // Place them at a vent if they can't get a host. + borer.forceMove(get_turf(pick(get_vents()))) + +/datum/antagonist/borer/attempt_random_spawn() + if(config.aliens_allowed) ..() + +/datum/antagonist/borer/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 config.station_levels) + if(temp_vent.network.normal_members.len > 50) + vents += temp_vent + return vents \ No newline at end of file diff --git a/code/game/antagonist/alien/xenomorph.dm b/code/game/antagonist/alien/xenomorph.dm deleted file mode 100644 index 08cbeebca9..0000000000 --- a/code/game/antagonist/alien/xenomorph.dm +++ /dev/null @@ -1,47 +0,0 @@ -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 config.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/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index c6330e6a20..073383ac20 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -260,7 +260,7 @@ var/global/list/additional_antag_types = list() "artifacts of eldritch horror", "a brain slug infestation", "killer bugs that lay eggs in the husks of the living", - "a deserted transport carrying xenomorph specimens", + "a deserted transport carrying alien specimens", "an emissary for the gestalt requesting a security detail", "a Tajaran slave rebellion", "radical Skrellian transevolutionaries", diff --git a/code/game/gamemodes/mixed/bughunt.dm b/code/game/gamemodes/mixed/bughunt.dm deleted file mode 100644 index 2accc6a966..0000000000 --- a/code/game/gamemodes/mixed/bughunt.dm +++ /dev/null @@ -1,14 +0,0 @@ -/datum/game_mode/bughunt - name = "Bughunt" - round_description = "A mercenary strike force is approaching the station to eradicate a xenomorph infestation!" - extended_round_description = "Mercenaries and xenomorphs spawn in this game mode." - config_tag = "bughunt" - required_players = 15 - required_players_secret = 25 - required_enemies = 1 - end_on_antag_death = 1 - antag_tags = list(MODE_XENOMORPH, MODE_DEATHSQUAD) - auto_recall_shuttle = 1 - ert_disabled = 1 - require_all_templates = 1 - votable = 0 \ No newline at end of file diff --git a/code/game/gamemodes/mixed/infestation.dm b/code/game/gamemodes/mixed/infestation.dm index 71e9ebe180..346f51967c 100644 --- a/code/game/gamemodes/mixed/infestation.dm +++ b/code/game/gamemodes/mixed/infestation.dm @@ -1,12 +1,12 @@ /datum/game_mode/infestation name = "infestation" round_description = "There's something in the walls!" - extended_round_description = "Two alien antagonists (Xenomorphs, Cortical Borers or Changelings) may spawn during this round." + extended_round_description = "Two alien antagonists (Cortical Borers or Changelings) spawn during this round." config_tag = "infestation" required_players = 15 required_enemies = 5 end_on_antag_death = 1 - antag_tags = list(MODE_BORER, MODE_XENOMORPH, MODE_CHANGELING) + antag_tags = list(MODE_BORER, MODE_CHANGELING) require_all_templates = 1 votable = 0 diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 355ee4b02d..6e20801680 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -502,7 +502,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(isxenomorph(L) || isalien(L)) // Xenos are dangerous + if(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/aliens.dm b/code/game/objects/effects/aliens.dm deleted file mode 100644 index 598b8ad5d3..0000000000 --- a/code/game/objects/effects/aliens.dm +++ /dev/null @@ -1,440 +0,0 @@ -/* 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 - - PoolOrNew(/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" - density = 0 - anchored = 1 - - var/health = 100 - var/status = GROWING //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() - return locate(/obj/item/clothing/mask/facehugger) in contents - -/obj/effect/alien/egg/proc/Grow() - icon_state = "egg" - status = GROWN - 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) diff --git a/code/game/objects/structures/lamarr_cage.dm b/code/game/objects/structures/lamarr_cage.dm deleted file mode 100644 index 7d0bc76b18..0000000000 --- a/code/game/objects/structures/lamarr_cage.dm +++ /dev/null @@ -1,87 +0,0 @@ -/obj/structure/lamarr - name = "lab cage" - icon = 'icons/obj/stationobjs.dmi' - icon_state = "labcage1" - desc = "A glass lab container for storing interesting creatures." - density = 1 - anchored = 1 - unacidable = 1//Dissolving the case would also delete Lamarr - var/health = 30 - var/occupied = 1 - var/destroyed = 0 - -/obj/structure/lamarr/ex_act(severity) - switch(severity) - if (1) - new /obj/item/weapon/material/shard( src.loc ) - Break() - qdel(src) - if (2) - if (prob(50)) - src.health -= 15 - src.healthcheck() - if (3) - if (prob(50)) - src.health -= 5 - src.healthcheck() - - -/obj/structure/lamarr/bullet_act(var/obj/item/projectile/Proj) - health -= Proj.damage - ..() - src.healthcheck() - return - -/obj/structure/lamarr/proc/healthcheck() - if (src.health <= 0) - if (!( src.destroyed )) - src.density = 0 - src.destroyed = 1 - new /obj/item/weapon/material/shard( src.loc ) - playsound(src, "shatter", 70, 1) - Break() - else - playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1) - return - -/obj/structure/lamarr/update_icon() - if(src.destroyed) - src.icon_state = "labcageb[src.occupied]" - else - src.icon_state = "labcage[src.occupied]" - return - - -/obj/structure/lamarr/attackby(obj/item/weapon/W as obj, mob/user as mob) - src.health -= W.force - src.healthcheck() - ..() - return - -/obj/structure/lamarr/attack_hand(mob/user as mob) - if (src.destroyed) - return - else - usr << "You kick the lab cage." - for(var/mob/O in oviewers()) - if ((O.client && !( O.blinded ))) - O << "[usr] kicks the lab cage." - src.health -= 2 - healthcheck() - return - -/obj/structure/lamarr/proc/Break() - if(occupied) - new /obj/item/clothing/mask/facehugger/lamarr(src.loc) - occupied = 0 - update_icon() - return - -/obj/item/clothing/mask/facehugger/lamarr - name = "Lamarr" - desc = "The worst she might do is attempt to... couple with your head."//hope we don't get sued over a harmless reference, rite? - sterile = 1 - gender = FEMALE - -/obj/item/clothing/mask/facehugger/lamarr/New()//to prevent deleting it if aliums are disabled - return 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 deleted file mode 100644 index cbe89ec86f..0000000000 --- a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm +++ /dev/null @@ -1,86 +0,0 @@ -//Alium nests. Essentially beds with an unbuckle delay that only aliums can buckle mobs to. -#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 9e20b547d5..33099f2345 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -145,11 +145,6 @@ 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 deleted file mode 100644 index 11dad2e84c..0000000000 --- a/code/modules/admin/secrets/random_events/trigger_xenomorph_infestation.dm +++ /dev/null @@ -1,7 +0,0 @@ -/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 40f10e3f44..4bc8298193 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1119,16 +1119,6 @@ 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 3db3cfbca6..6522c5e1a4 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -100,23 +100,6 @@ 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 44d524e06d..67eefc018d 100644 --- a/code/modules/admin/view_variables/helpers.dm +++ b/code/modules/admin/view_variables/helpers.dm @@ -75,7 +75,6 @@ - "} diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index 0e4d122bd2..7014e9cf41 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -18,7 +18,7 @@ cold_protection = HEAD min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 - species_restricted = list("exclude","Diona", "Xenomorph") + species_restricted = list("exclude","Diona") var/obj/machinery/camera/camera var/list/camera_networks @@ -63,7 +63,7 @@ cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 - species_restricted = list("exclude","Diona", "Xenomorph") + species_restricted = list("exclude","Diona") var/list/supporting_limbs //If not-null, automatically splints breaks. Checked when removing the suit. diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index 79a1f25bca..157d4acbd3 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -1151,23 +1151,3 @@ 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) \ No newline at end of file diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 125d792ecf..760303ac23 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -640,21 +640,6 @@ var/list/name_to_material /material/cult/reinf/place_dismantled_product(var/turf/target) new /obj/effect/decal/remains/human(target) -/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 - //TODO PLACEHOLDERS: /material/leather name = "leather" diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm index 1f6a663620..9585a4965b 100644 --- a/code/modules/mining/abandonedcrates.dm +++ b/code/modules/mining/abandonedcrates.dm @@ -21,7 +21,7 @@ generate_loot() /obj/structure/closet/crate/secure/loot/proc/generate_loot() - var/loot = rand(1, 100) + var/loot = rand(1, 99) switch(loot) if(1 to 5) // Common things go, 5% new/obj/item/weapon/reagent_containers/food/drinks/bottle/rum(src) @@ -104,7 +104,7 @@ if(88) new/obj/item/xenos_claw(src) if(89) - new/obj/item/organ/internal/xenos/plasmavessel(src) + new/obj/item/clothing/head/bearpelt(src) if(90) new/obj/item/organ/internal/heart(src) if(91) @@ -142,8 +142,6 @@ if(99) new/obj/item/weapon/storage/belt/champion(src) new/obj/item/clothing/mask/luchador(src) - if(100) - new/obj/item/clothing/head/bearpelt(src) /obj/structure/closet/crate/secure/loot/togglelock(mob/user as mob) if(!locked) diff --git a/code/modules/mob/language/outsider.dm b/code/modules/mob/language/outsider.dm index b8c795ea8f..562c578986 100644 --- a/code/modules/mob/language/outsider.dm +++ b/code/modules/mob/language/outsider.dm @@ -1,34 +1,3 @@ -/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 - /datum/language/ling name = "Changeling" desc = "Although they are normally wary and suspicious of each other, changelings can commune over a distance." diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm deleted file mode 100644 index 4ebf7986b6..0000000000 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ /dev/null @@ -1,14 +0,0 @@ -/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) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/alien/larva/life.dm b/code/modules/mob/living/carbon/alien/larva/life.dm deleted file mode 100644 index 8d40ef9d5a..0000000000 --- a/code/modules/mob/living/carbon/alien/larva/life.dm +++ /dev/null @@ -1,12 +0,0 @@ -//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) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/alien/larva/progression.dm b/code/modules/mob/living/carbon/alien/larva/progression.dm deleted file mode 100644 index 05bab1bfde..0000000000 --- a/code/modules/mob/living/carbon/alien/larva/progression.dm +++ /dev/null @@ -1,12 +0,0 @@ -/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 \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 94ee52c822..ea7ddaef0f 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -71,10 +71,6 @@ 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] - 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 deleted file mode 100644 index de601b2592..0000000000 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_embryo.dm +++ /dev/null @@ -1,159 +0,0 @@ -// 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 - 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) \ No newline at end of file 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 deleted file mode 100644 index 774075f7ad..0000000000 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm +++ /dev/null @@ -1,231 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 - -//TODO: Make these simple_animals - -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 - else if (iscorgi(M)) - var/mob/living/simple_animal/corgi/corgi = M - src.loc = corgi - corgi.facehugger = src - corgi.wear_mask = src - //C.regenerate_icons() - - 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" - - if(iscorgi(target)) - var/mob/living/simple_animal/corgi/C = target - src.loc = get_turf(C) - C.facehugger = null - 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 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 deleted file mode 100644 index c046c0d857..0000000000 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm +++ /dev/null @@ -1,222 +0,0 @@ -/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 - 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].") - - //I'm not motivated enough to revise this. Prjectile code in general needs update. - // Maybe change this to use throw_at? ~ Z - var/turf/T = loc - var/turf/U = (istype(target, /atom/movable) ? target.loc : target) - - if(!U || !T) - return - while(U && !istype(U,/turf)) - U = U.loc - if(!istype(T, /turf)) - return - if (U == T) - usr.bullet_act(new /obj/item/projectile/energy/neurotoxin(usr.loc), get_organ_target()) - return - if(!istype(U, /turf)) - return - - var/obj/item/projectile/energy/neurotoxin/A = new /obj/item/projectile/energy/neurotoxin(usr.loc) - A.current = U - A.yo = U.y - T.y - A.xo = U.x - T.x - A.process() - 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 \ No newline at end of file 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 deleted file mode 100644 index da641a4f6d..0000000000 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm +++ /dev/null @@ -1,324 +0,0 @@ -//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 = 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/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"), - ) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm deleted file mode 100644 index 6cb8a46475..0000000000 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm +++ /dev/null @@ -1,49 +0,0 @@ -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/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 322d08dc9f..ae172d7b71 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -22,7 +22,6 @@ var/obj/item/inventory_head var/obj/item/inventory_back - var/facehugger //IAN! SQUEEEEEEEEE~ /mob/living/simple_animal/corgi/Ian @@ -124,12 +123,6 @@ if(back_icon) overlays += back_icon - if(facehugger) - if(istype(src, /mob/living/simple_animal/corgi/puppy)) - overlays += image('icons/mob/mask.dmi',"facehugger_corgipuppy") - else - overlays += image('icons/mob/mask.dmi',"facehugger_corgi") - return diff --git a/code/modules/mob/living/simple_animal/friendly/slime.dm b/code/modules/mob/living/simple_animal/friendly/slime.dm index d0a8e09207..77d52741ae 100644 --- a/code/modules/mob/living/simple_animal/friendly/slime.dm +++ b/code/modules/mob/living/simple_animal/friendly/slime.dm @@ -14,6 +14,18 @@ emote_see = list("jiggles", "bounces in place") var/colour = "grey" +/mob/living/simple_animal/slime/science + name = "Kendrick" + colour = "rainbow" + icon_state = "rainbow baby slime" + icon_living = "rainbow baby slime" + icon_dead = "rainbow baby slime dead" + +/mob/living/simple_animal/slime/science/initialize() + ..() + overlays.Cut() + overlays += "aslime-:33" + /mob/living/simple_animal/adultslime name = "pet slime" desc = "A lovable, domesticated slime." @@ -33,8 +45,7 @@ ..() overlays += "aslime-:33" - -/mob/living/simple_animal/slime/adult/death() +/mob/living/simple_animal/adultslime/death() var/mob/living/simple_animal/slime/S1 = new /mob/living/simple_animal/slime (src.loc) S1.icon_state = "[src.colour] baby slime" S1.icon_living = "[src.colour] baby slime" diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index bc5b609b89..77847317e7 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -1,10 +1,4 @@ // 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 b0bc02f685..ca8d1bffe1 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -161,30 +161,6 @@ 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 deleted file mode 100644 index e734d745f7..0000000000 --- a/code/modules/organs/subtypes/xenos.dm +++ /dev/null @@ -1,52 +0,0 @@ -//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/projectiles/projectile/change.dm b/code/modules/projectiles/projectile/change.dm index 45e8910b38..9fcc709ba0 100644 --- a/code/modules/projectiles/projectile/change.dm +++ b/code/modules/projectiles/projectile/change.dm @@ -32,8 +32,6 @@ var/options = list("robot", "slime") for(var/t in all_species) options += t - options -= "Xenomorph Queen" - options -= "Xenomorph" if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.species) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm index 112887fa5d..8a6d50ab29 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm @@ -178,11 +178,8 @@ W.visible_message("The fungi are completely dissolved by the solution!") /datum/reagent/toxin/plantbgone/touch_obj(var/obj/O, var/volume) - if(istype(O, /obj/effect/alien/weeds/)) - var/obj/effect/alien/weeds/alien_weeds = O - alien_weeds.health -= rand(15, 35) - alien_weeds.healthcheck() - else if(istype(O, /obj/effect/plant)) + ..() + if(istype(O, /obj/effect/plant)) qdel(O) /datum/reagent/toxin/plantbgone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 4b1b83b215..9b7b006759 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -12,46 +12,6 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) return affected && affected.open == (affected.encased ? 3 : 2) -////////////////////////////////////////////////////////////////// -// ALIEN EMBRYO SURGERY // -////////////////////////////////////////////////////////////////// -/datum/surgery_step/internal/remove_embryo - allowed_tools = list( - /obj/item/weapon/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/r_armalis.dmi b/icons/mob/human_races/r_armalis.dmi deleted file mode 100644 index b7609d942759dc5c44177a41064a9455bb2a10e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4073 zcmZ`+XHXLi(ncvlkPw;_4GCSE(gUGHnuxT}YX}I^A=IFBLQ_OQKsq7>1f&H76p&s; z5veAiMyf~$=`Ek%JNM&mZf<7F?6Whw^X$(4*vCji9VP$|fQpKWN%xMH2^G}^=wIcc zr~Zq444m=*>pmg%&9pl^JF!MGR&XIb83a?bKE_YnuxlQgqFFur?q9GuVA#f zu9_?e>%glf$}PvwVXVO`FL33S(RF@t4oSspFfD#DIiA}VH=)>CSp{m{4{-8#_YHK%_)t+j$bULk2keG| zqGq{Y;2K)pCnx(F+~Gt^D3=?b$qgms{LIX>dcnJOdh*%$^SN)>Gia{f2!swF12vp` zSE(2ZFId}ATvK|}Z=g_(;7HLGdXq#e!D!!B(l%h*m4oH7>>@q#P*}B#tdqa{@mc?p zgkBU2ee>{QC>xG3_Q%qWY6jrXP&)hFN}O=-oy(;#Hon`&*L9+_9z7#YR&E98>=lY> zE6Wv%hf`->?h%G@Y1&ay0jYJh)Xg5`uNORxoK|2P@OGBcHBG>->JxcKrdkLhqxLI4 zSPjj&JqiVn72)Dj{{0 zz@kum*Wg|SU|)y&U}2X@?X(MvApD|6Uo|wclLI@4%@(#XeU5qS+Izxx6hfo3!~zls zmdW|a)s09WPY>QC7uHJr+9Y=WvILS2?#3w&@Q(eRFhkl!8Yuxh~Nh=ds8!|D3!tsF;I_-ELF?A7y2&d?l-$pPvkn zBh0h1&X>*X2WI;u9+z^VxD&ppo$oUm%_H2WZ?p#pCq#xFua84CAG$O>;R_t)6mYDc zr;qpJs?15n817w1+vAiEW4_1CBEkjw^wrb9sNh^b!`sId&fjD;%_F>L#M%X7c4g%b z^XbOCD6(<BZX=yl*A-%jaFWDJnFJAzrF@B3in|@y5EB0;Hu2vAQ0>|ZQ9O5tQ zN=v6ecT*!|Z+9KKJn=LH&6a70RRqSX6hL|sCa|iw+pS#hS)?viR0t}3d7ggD(D4fE z9FsJTWBJg9vA=fxm3G+asm#chp8ylL6)EV_Q|#>AwQ4(Q@ej=Jau_&e12vvHCQ`A|(|tehO0c5Cbcfh7!dN2eL6(x@kACz*Bd8Gu z^NczzW6ic2@e}Jih6pyJb-;QE&1lVw>Ah>vvO4jhKQY{_J}S=_t|3Q9(g3+~eiMrA zTiY>dQ-IEcF@C@tBNcUJc%3P<&W|+Qnhce3Yb=jT=}U+>+}?`^L_WcnbPuIqT;0sgU2-pS$f3bO3Uz@=GiloVsJ+Q zt6NrU0P;{u??Wwr6OTrO3$x=4VCMtCW2wR~>;lA_mv+U1cGM0bONv8m#gR7VbUkdI z^XnTWid1`xyWO%t${I?&r~02NH6T0pUs6ivjnmpoAxGAO`$*7NmM~?rSLn(||+=f5UN5E)7z>8bH6F zPo40WhAFPxYp*xnVO^6bvdr3u}J4I6Z9v& zH?=I2p;)Y(LZejQd35P*{may?umRx14-Tv&TUAa28-oc_qugWt;5T?Q4Wz~R5b5`B z_oC>}fF548f$(rBBVIMZTVK2RLqzrY)C^aIlgpjL{hxzDF9h=-H^3I~fbKxPVV#ERsw8n;$!Q9X&4U zn>ru1T#qg|2vqIM?vS;eWY#w^RfLwqg&syb&<;BSb4@uiyv44|ny2Qf-3fpBSXYX! z^Ndp=mDw~Xild~1x$WcT;7x;|_zWe4)TLqGpX}&($6JC{DYroJthuV6fWAQg2^FRV z4Z7cUELh@`E=``b5XN*s3I$3%aZPZW3z{$bFncEZSBmLozg`7;Qx&~LlKEKLm269F z>vdZ6FhT!-EGaC7%F?b=_=VS{S<7Y&jtI3`##9l*c>Ss4px^ zJz02l+!d~p@A*{^l%EP&e(~dKkBUtu^enVL;H2?KOx)`DsK;)FSNVbSrA+=2a5t~l zvI)1$w9uy!51u*hY%bK~AhLy(J9d`+vvT>-srE%vP?-Hdkucv-^2z=rMM{%HB%1&G zBPrh$%*-!JTDPqMLW<>~He)MZ+qb=t_4c~JUie+AgE7&>qIu32^BnE65{dm-rbNM~ zWjme_L*t6xaMEtIrrLw!DLx21d^MH1pgm|X!H^7J_b z+pQ8pFVA!Un;Dw|iAGGe@U;kj<+IgPuxm|+QEs|wcJ0g7chx-+Q%90ug>~|c2r}IH zQU~Va)>T+Nv%9(bZV_!Ox8xPqrXnfw;0L{A8{1|h+Adq&3Kj7rGUrXb>s zG-c8;UEcX>M=;pGfw$`sJ)~MEwZ1koCm(dl#wMZd7?rkz;UxdIO~_vi0S?N}p~|6c z#to=d!eesAlw@ZT+-t1EJgf`@t{+p4wFhBrEfw8^kqHK;uNpMy7*+_nl+5juDLzaf zvA5N^#({>zJ>j(1?>SI8`NL&WfAHUN{FB<5S-bt+xg)Ao1F26ZWQq^5LKv3V zyQWLpOmE@H_{Mf#Jtq)4!3UxHPXicG+5*?Zz&k|*7+9u9>hizKA2Cuo@W_Ff2Rs51 zD}hH;guew;GvN#P0gHsNUE)e=3a>4AXWOYlQ!T_RXiz7m8hAvk`@3D`efWaFfPKQJ zj6V+$9z*t6?ZWm_I)!K20M0br*+N!zKc4K!W3psJ%#5jF_ zhvhxJ80MSM{N!2r0S7sG@2p&JjYWn2q~id8gL!-NACxs5v0@T>d&cqrUjwLXf$W{n z*`{UfkNDw|S{4o!=Vbqb$v><0KKJtStrE>f6il}mz;?0Bo%UIEtL|tGXwR=6W$MRj#qHDzpNcov&A^ zGyF$?bkj#cW3jqg*7-G5IR%bbWGb;)*p+|6q*GqpxW4c3|ERo)M2wp*I^FV7v2nxB zRNQ?WHq>dguKuHyx^;tKb=-$^=1sx57A27rqPF7ich3mk1sQ3Jj6%bOw}k5&KBw+uWXk;u{8gcd2M8~{ zo24{j{1z`5%=2l+_FWc_(yXrPzJ}KGp8AT#2sYjLBa;-G@=2HrLiT`%-Gpd{hcs<;Ff2H9^3&Y;2+mK zDePma`9!HsEicK}ZCcs>Ys#LWHLV5G#jun5?qlkYaXjpKjg_ zxBFGicW*)+HxwIX|D$iO>9-q(VWk*nW{s=5*{rp1t!}x`EjG&ibxhPU&3?Ta7Z|@5 zW15ac75IzZD?Ez!_F6b`cl;GQ#{G3tG|RX|EzmFJNg|-r-(BRctDR+;9bF((sM{i5 bltT5wizBRWBQ53cTT7*@ZKzeF;eh);X>zs; diff --git a/icons/mob/human_races/xenos/r_xenos_drone.dmi b/icons/mob/human_races/xenos/r_xenos_drone.dmi deleted file mode 100644 index 19094d66ed9c1c3e3359308d3431e2ca4c92d6ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1764 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 WG4;X8WyT;g| diff --git a/icons/mob/human_races/xenos/r_xenos_queen.dmi b/icons/mob/human_races/xenos/r_xenos_queen.dmi deleted file mode 100644 index efb5558ac15feda55968ece058050ac6e573bfbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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% diff --git a/icons/mob/human_races/xenos/r_xenos_sentinel.dmi b/icons/mob/human_races/xenos/r_xenos_sentinel.dmi deleted file mode 100644 index 5b250c7445e05ca6425a89bb5b9ebe3b514d6cb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/icons/mob/slimes.dmi b/icons/mob/slimes.dmi index 3e6b915efa86488cdeadfa24148e0887e6aacf8e..f2da09ad8f7b773ff41ad83b7c1267ea79ddfa59 100644 GIT binary patch delta 67945 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 TO39w1fe$$;Wl5O0(dYjK3^>|b delta 67858 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
ptsV)3oW{ZRiL2Yw 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