From 5ebefe9fa1f4c8519b802a4d6a4ec850da6c57df Mon Sep 17 00:00:00 2001 From: GDN <96800819+GDNgit@users.noreply.github.com> Date: Sat, 24 Feb 2024 12:13:31 -0600 Subject: [PATCH] Reworks xenomorphs (#23054) * reworks xenomorphs * part 2 electric boogaloo * more tweaks * more tweaks * lints * Update code/modules/mob/living/carbon/alien/alien_death.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/modules/surgery/organs/subtypes/xenos.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/datums/spells/alien_spells/transfer_plasma.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * reviews * sprite fix * high priority fix * reverts most alien nerfs --------- Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> --- code/__DEFINES/is_helpers.dm | 2 + code/_onclick/hud/alien_hud.dm | 15 ++- code/datums/beam.dm | 12 +- .../alien_spells/basetype_alien_spell.dm | 3 +- .../alien_spells/build_resin_structure.dm | 67 ++++++++-- .../alien_spells/corrosive_acid_spit.dm | 43 +++++++ .../spells/alien_spells/lay_alien_eggs.dm | 32 +++++ .../spells/alien_spells/neurotoxin_spit.dm | 8 +- .../spells/alien_spells/plasma_weeds.dm | 8 +- .../spells/alien_spells/queen_evolve.dm | 5 +- .../datums/spells/alien_spells/regurgitate.dm | 3 + code/datums/spells/alien_spells/tail_lash.dm | 23 ++++ .../spells/alien_spells/transfer_plasma.dm | 69 +++++++---- code/game/mecha/combat/combat.dm | 2 +- code/game/mecha/combat/durand.dm | 2 +- code/game/mecha/combat/gygax.dm | 2 +- code/game/mecha/combat/marauder.dm | 3 +- code/game/mecha/combat/phazon.dm | 2 +- code/game/mecha/combat/reticence.dm | 2 +- code/game/mecha/mecha.dm | 4 +- code/game/mecha/working/ripley.dm | 4 +- code/game/objects/cleaning.dm | 1 + code/game/objects/effects/alien_acid.dm | 9 +- code/game/objects/obj_defense.dm | 5 + code/game/objects/structures/aliens.dm | 16 +-- .../stool_bed_chair_nest/alien_nests.dm | 115 ++++++++++++++++++ .../mob/living/carbon/alien/alien_base.dm | 86 +++++-------- .../mob/living/carbon/alien/alien_death.dm | 9 +- .../mob/living/carbon/alien/alien_defense.dm | 7 +- .../mob/living/carbon/alien/alien_login.dm | 1 - .../alien/humanoid/caste/alien_drone.dm | 14 +-- .../carbon/alien/humanoid/caste/hunter.dm | 114 ++++++++--------- .../carbon/alien/humanoid/caste/sentinel.dm | 14 +-- .../living/carbon/alien/humanoid/empress.dm | 12 +- .../living/carbon/alien/humanoid/humanoid.dm | 23 ++-- .../carbon/alien/humanoid/humanoid_defense.dm | 9 +- .../alien/humanoid/humanoid_update_icons.dm | 23 +--- .../mob/living/carbon/alien/humanoid/queen.dm | 25 +--- .../mob/living/carbon/alien/larva/larva.dm | 8 +- .../carbon/alien/larva/larva_inventory.dm | 2 +- .../living/carbon/alien/larva/larva_life.dm | 4 - .../carbon/alien/larva/larva_update_icons.dm | 1 - code/modules/mob/living/carbon/carbon.dm | 2 +- .../mob/living/carbon/human/human_defense.dm | 4 +- code/modules/mob/mob_movement.dm | 3 +- .../modules/projectiles/projectile/bullets.dm | 13 ++ code/modules/shuttle/supply.dm | 4 + code/modules/surgery/organs/brain.dm | 14 ++- code/modules/surgery/organs/subtypes/xenos.dm | 78 ++++++++---- icons/mob/alien.dmi | Bin 74965 -> 83211 bytes paradise.dme | 1 + 51 files changed, 608 insertions(+), 320 deletions(-) create mode 100644 code/datums/spells/alien_spells/tail_lash.dm diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index e73af05c7d6..cab2662a7ec 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -27,6 +27,8 @@ #define isaliensentinel(A) (istype(A, /mob/living/carbon/alien/humanoid/sentinel)) +#define isalienqueen(A) (istype(A, /mob/living/carbon/alien/humanoid/queen)) + // Simple animals #define issimple_animal(A) (istype(A, /mob/living/simple_animal)) diff --git a/code/_onclick/hud/alien_hud.dm b/code/_onclick/hud/alien_hud.dm index 1dd86fe5ce5..a541fca8b57 100644 --- a/code/_onclick/hud/alien_hud.dm +++ b/code/_onclick/hud/alien_hud.dm @@ -16,8 +16,21 @@ /obj/screen/alien/nightvision/Click() var/mob/living/carbon/alien/humanoid/A = usr - A.nightvisiontoggle() + A.night_vision_toggle() +/mob/living/carbon/alien/proc/night_vision_toggle() + if(!nightvision) + see_in_dark = 8 + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + nightvision = TRUE + hud_used.nightvisionicon.icon_state = "nightvision1" + else + see_in_dark = initial(see_in_dark) + lighting_alpha = initial(lighting_alpha) + nightvision = FALSE + hud_used.nightvisionicon.icon_state = "nightvision0" + + update_sight() /obj/screen/alien/plasma_display icon = 'icons/mob/screen_gen.dmi' diff --git a/code/datums/beam.dm b/code/datums/beam.dm index d4005122083..f67b5f2ed4c 100644 --- a/code/datums/beam.dm +++ b/code/datums/beam.dm @@ -14,8 +14,9 @@ var/origin_oldloc = null var/static_beam = FALSE var/beam_type = /obj/effect/ebeam //must be subtype + var/beamcolor -/datum/beam/New(beam_origin,beam_target,beam_icon='icons/effects/beam.dmi',beam_icon_state="b_beam",time=50,maxdistance=10,btype = /obj/effect/ebeam,beam_sleep_time=3) +/datum/beam/New(beam_origin, beam_target,beam_icon = 'icons/effects/beam.dmi', beam_icon_state = "b_beam", time = 50, maxdistance = 10, btype = /obj/effect/ebeam, beam_sleep_time = 3, beam_color) endtime = world.time+time origin = beam_origin origin_oldloc = get_turf(origin) @@ -29,6 +30,7 @@ icon = beam_icon icon_state = beam_icon_state beam_type = btype + beamcolor = beam_color /datum/beam/proc/Start() Draw() @@ -77,10 +79,12 @@ //cropped by a transparent box of length-N pixel size if(N+32>length) var/icon/II = new(icon, icon_state) - II.DrawBox(null,1,(length-N),32,32) + II.DrawBox(null, 1, (length-N), 32, 32) X.icon = II else X.icon = base_icon + if(beamcolor) + X.color = beamcolor X.transform = rot_matrix //Calculate pixel offsets (If necessary) @@ -163,7 +167,7 @@ var/armor = L.run_armor_check(limb_to_hit, LASER) L.apply_damage(damage, BURN, limb_to_hit, armor) -/atom/proc/Beam(atom/BeamTarget,icon_state="b_beam",icon='icons/effects/beam.dmi',time=50, maxdistance=10,beam_type=/obj/effect/ebeam,beam_sleep_time=3) - var/datum/beam/newbeam = new(src,BeamTarget,icon,icon_state,time,maxdistance,beam_type,beam_sleep_time) +/atom/proc/Beam(atom/BeamTarget, icon_state="b_beam", icon='icons/effects/beam.dmi', time = 5 SECONDS, maxdistance = 10, beam_type = /obj/effect/ebeam, beam_sleep_time = 3, beam_color) + var/datum/beam/newbeam = new(src, BeamTarget, icon, icon_state, time, maxdistance, beam_type, beam_sleep_time, beam_color) INVOKE_ASYNC(newbeam, TYPE_PROC_REF(/datum/beam, Start)) return newbeam diff --git a/code/datums/spells/alien_spells/basetype_alien_spell.dm b/code/datums/spells/alien_spells/basetype_alien_spell.dm index 3cacc2e8e02..c4413e45d90 100644 --- a/code/datums/spells/alien_spells/basetype_alien_spell.dm +++ b/code/datums/spells/alien_spells/basetype_alien_spell.dm @@ -20,8 +20,7 @@ Updates the spell's actions on use as well, so they know when they can or can't /obj/effect/proc_holder/spell/alien_spell action_background_icon_state = "bg_alien" clothes_req = FALSE - /// Extremely fast cooldown, only present so the cooldown system doesn't explode - base_cooldown = 1 + base_cooldown = 0 create_attack_logs = FALSE /// Every alien spell creates only logs, no attack messages on someone placing weeds, but you DO get attack messages on neurotoxin and corrosive acid create_custom_logs = TRUE diff --git a/code/datums/spells/alien_spells/build_resin_structure.dm b/code/datums/spells/alien_spells/build_resin_structure.dm index aadbcabcdea..9da55a22ebf 100644 --- a/code/datums/spells/alien_spells/build_resin_structure.dm +++ b/code/datums/spells/alien_spells/build_resin_structure.dm @@ -8,14 +8,18 @@ return new /datum/spell_targeting/self /obj/effect/proc_holder/spell/alien_spell/build_resin/cast(list/targets, mob/living/carbon/user) - var/static/list/resin_buildings = list("Resin Wall (55)" = image(icon = 'icons/obj/smooth_structures/alien/resin_wall.dmi', icon_state = "resin_wall-0"), - "Resin Nest (55)" = image(icon = 'icons/mob/alien.dmi', icon_state = "nest"), - "Resin door (80)" = image(icon = 'icons/obj/smooth_structures/alien/resin_door.dmi', icon_state = "resin")) + var/static/list/resin_buildings = list("Resin Wall" = image(icon = 'icons/obj/smooth_structures/alien/resin_wall.dmi', icon_state = "resin_wall-0"), + "Resin Nest" = image(icon = 'icons/mob/alien.dmi', icon_state = "nest"), + "Resin Door" = image(icon = 'icons/obj/smooth_structures/alien/resin_door.dmi', icon_state = "resin"), + "Revival Nest" = image(icon = 'icons/mob/alien.dmi', icon_state = "placeholder_rejuv_nest")) var/choice = show_radial_menu(user, user, resin_buildings, src, radius = 40) var/turf/turf_to_spawn_at = user.loc if(!choice) revert_cast(user) return + if(!do_mob(user, user, 3 SECONDS)) + revert_cast() + return if(isspaceturf(turf_to_spawn_at)) to_chat(user, "You cannot build the [choice] while in space!") revert_cast(user) @@ -27,15 +31,52 @@ return visible_message("[user] vomits up a thick purple substance and shapes it!") switch(choice) - if("Resin Wall (55)") + if("Resin Wall") new /obj/structure/alien/resin/wall(turf_to_spawn_at) - if("Resin Nest (55)") + if("Resin Nest") new /obj/structure/bed/nest(turf_to_spawn_at) - if("Resin door (80)") - var/plasma_current = user.get_plasma() - if(plasma_current >= 25) - new /obj/structure/alien/resin/door(turf_to_spawn_at) - user.add_plasma(-25) - return - to_chat(user, "You don't have enough plasma to place a door down.") - revert_cast(user) + if("Resin Door") + new /obj/structure/alien/resin/door(turf_to_spawn_at) + if("Revival Nest") + new /obj/structure/bed/revival_nest(turf_to_spawn_at) + +/obj/effect/proc_holder/spell/touch/alien_spell/consume_resin + name = "Consume resin structures" + desc = "Allows you to rip and tear straight through resin structures." + action_icon_state = "alien_resin" + hand_path = "/obj/item/melee/touch_attack/alien/consume_resin" + plasma_cost = 10 + base_cooldown = 5 SECONDS + +/obj/item/melee/touch_attack/alien/consume_resin + name = "Resin consumption" + desc = "The hunger..." + icon_state = "alien_acid" + +/obj/item/melee/touch_attack/alien/consume_resin/afterattack(atom/target, mob/living/carbon/user, proximity) + if(target == user) + to_chat(user, "You stop trying to consume resin.") + ..() + return + if(!proximity || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) + return + if(istype(target, /obj/structure/alien/weeds)) + qdel(target) + if(istype(target, /obj/structure/alien/weeds/node)) + user.add_plasma(50) + user.visible_message("[user] rips and tears into [target] with their teeth!", "You viciously rip apart and consume [target]!") + return + if(!plasma_check(10, user)) + to_chat(user, "You don't have enough plasma to perform this action!") + return + var/static/list/resin_objects = list(/obj/structure/alien/resin, /obj/structure/alien/egg, /obj/structure/bed/nest, /obj/structure/bed/revival_nest) + for(var/resin_type in resin_objects) + if(!istype(target, resin_type)) + continue + user.visible_message("[user] rips and tears into [target] with their teeth!") + if(!do_after(user, 3 SECONDS, target = target)) + return + to_chat(user, "You viciously rip apart and consume [target]!") + user.add_plasma(-10) + qdel(target) + ..() diff --git a/code/datums/spells/alien_spells/corrosive_acid_spit.dm b/code/datums/spells/alien_spells/corrosive_acid_spit.dm index 18a58b9494b..17e7756f7c7 100644 --- a/code/datums/spells/alien_spells/corrosive_acid_spit.dm +++ b/code/datums/spells/alien_spells/corrosive_acid_spit.dm @@ -4,6 +4,7 @@ hand_path = "/obj/item/melee/touch_attack/alien/corrosive_acid" action_icon_state = "alien_acid" plasma_cost = 200 + base_cooldown = 15 SECONDS /obj/item/melee/touch_attack/alien/corrosive_acid name = "Corrosive acid" @@ -30,3 +31,45 @@ else to_chat(user, "You cannot dissolve this object.") ..() + +/obj/effect/proc_holder/spell/touch/alien_spell/burning_touch + name = "Blazing touch" + desc = "Boil acid within your hand to burn through anything you touch with it, deals a lot of damage to aliens and destroys resin structures instantly." + hand_path = "/obj/item/melee/touch_attack/alien/burning_touch" + action_icon_state = "alien_acid" + plasma_cost = 100 + base_cooldown = 10 SECONDS + +/obj/item/melee/touch_attack/alien/burning_touch + name = "Blazing touch" + desc = "The air warps around your hand, somehow the heat doesn't hurt." + icon_state = "alien_acid" + +/obj/item/melee/touch_attack/alien/burning_touch/afterattack(atom/target, mob/living/carbon/user, proximity) + if(target == user) + to_chat(user, "You cool down your boiled aid.") + ..() + return + if(!proximity || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) + return + if(!plasma_check(100, user)) + to_chat(user, "You don't have enough plasma to perform this action!") + return + if(isliving(target)) + var/mob/living/guy_to_burn = target + add_attack_logs(user, target, "Applied blazing touch") // Want this logged + guy_to_burn.adjustFireLoss(60) + guy_to_burn.adjust_fire_stacks(3) + guy_to_burn.IgniteMob() + user.visible_message("[user] touches [target] and a fireball erupts on contact!") + user.add_plasma(-100) + ..() + else + var/static/list/resin_objects = list(/obj/structure/alien/resin, /obj/structure/alien/egg, /obj/structure/bed/nest, /obj/structure/bed/revival_nest) + for(var/resin_type in resin_objects) + if(!istype(target, resin_type)) + continue + user.visible_message("[user] touches [target] and burns right through it!") + user.add_plasma(-100) + qdel(target) + ..() diff --git a/code/datums/spells/alien_spells/lay_alien_eggs.dm b/code/datums/spells/alien_spells/lay_alien_eggs.dm index 7789420e1c3..f2bfc89011f 100644 --- a/code/datums/spells/alien_spells/lay_alien_eggs.dm +++ b/code/datums/spells/alien_spells/lay_alien_eggs.dm @@ -5,3 +5,35 @@ weed_type = /obj/structure/alien/egg weed_name = "alien egg" action_icon_state = "alien_egg" + requires_do_after = FALSE + +/obj/effect/proc_holder/spell/alien_spell/combust_facehuggers + name = "Combust facehuggers and eggs" + desc = "Take over the programming of facehuggers and eggs, sending out a shockwave which causes them to combust." + plasma_cost = 25 + action_icon_state = "alien_egg" + base_cooldown = 3 SECONDS + +/obj/effect/proc_holder/spell/alien_spell/combust_facehuggers/create_new_targeting() + return new /datum/spell_targeting/clicked_atom + +/obj/effect/proc_holder/spell/alien_spell/combust_facehuggers/cast(list/targets, mob/living/carbon/user) + var/obj/target = targets[1] + var/turf/T = user.loc + if(!istype(T) || !istype(target)) + revert_cast() + return FALSE + + if(!istype(target, /obj/item/clothing/mask/facehugger) && !istype(target, /obj/structure/alien/egg)) + revert_cast() + return FALSE + + target.color = "#c72623" + addtimer(CALLBACK(src, PROC_REF(blow_it_up), target, user), 3 SECONDS) + to_chat(user, "[target] will explode in 3 seconds!") + return TRUE + +/obj/effect/proc_holder/spell/alien_spell/combust_facehuggers/proc/blow_it_up(obj/target, mob/user) + add_attack_logs(user, target, "Caused it to explode") + explosion(get_turf(target), 0, 2, 3, 3, cause = user) + to_chat(user, "[target] has detonated!") diff --git a/code/datums/spells/alien_spells/neurotoxin_spit.dm b/code/datums/spells/alien_spells/neurotoxin_spit.dm index ca688886d13..ad4048f53a1 100644 --- a/code/datums/spells/alien_spells/neurotoxin_spit.dm +++ b/code/datums/spells/alien_spells/neurotoxin_spit.dm @@ -1,7 +1,7 @@ /obj/effect/proc_holder/spell/alien_spell/neurotoxin name = "Neurotoxin spit" desc = "This ability allows you to fire some neurotoxin. Knocks down anyone you hit, applies a small amount of stamina damage as well." - base_cooldown = 5 SECONDS + base_cooldown = 3 SECONDS plasma_cost = 50 selection_activated_message = "Your prepare some neurotoxin!" selection_deactivated_message = "You swallow your prepared neurotoxin." @@ -34,3 +34,9 @@ user.newtonian_move(get_dir(U, T)) return TRUE + +/obj/effect/proc_holder/spell/alien_spell/neurotoxin/death_to_xenos + name = "Neurotoxin spit" + desc = "This ability allows you to fire some neurotoxin. Knocks aliens down." + neurotoxin_type = /obj/item/projectile/bullet/anti_alien_toxin + base_cooldown = 2 SECONDS diff --git a/code/datums/spells/alien_spells/plasma_weeds.dm b/code/datums/spells/alien_spells/plasma_weeds.dm index c816475f7ea..b254403bc6e 100644 --- a/code/datums/spells/alien_spells/plasma_weeds.dm +++ b/code/datums/spells/alien_spells/plasma_weeds.dm @@ -2,9 +2,10 @@ name = "Plant weeds" desc = "Allows you to plant some alien weeds on the floor below you. Does not work while in space." plasma_cost = 50 - var/weed_type = /obj/structure/alien/weeds/node + var/atom/weed_type = /obj/structure/alien/weeds/node var/weed_name = "alien weed node" action_icon_state = "alien_plant" + var/requires_do_after = TRUE /obj/effect/proc_holder/spell/alien_spell/plant_weeds/create_new_targeting() return new /datum/spell_targeting/self @@ -26,5 +27,10 @@ revert_cast() return + user.visible_message("Vines burst from the back of [user], quickly scurring to the ground and swarm onto [user.loc].", "You begin infesting [user.loc] with [initial(weed_type.name)].") + if(requires_do_after && !do_mob(user, user, 2 SECONDS)) + revert_cast() + return + user.visible_message("[user] has planted \a [weed_name]!") new weed_type(T) diff --git a/code/datums/spells/alien_spells/queen_evolve.dm b/code/datums/spells/alien_spells/queen_evolve.dm index e8112f0506c..75502cfcd69 100644 --- a/code/datums/spells/alien_spells/queen_evolve.dm +++ b/code/datums/spells/alien_spells/queen_evolve.dm @@ -1,7 +1,7 @@ /obj/effect/proc_holder/spell/alien_spell/evolve_queen name = "Evolve into an alien queen" desc = "Evolve into an alien queen." - plasma_cost = 500 + plasma_cost = 300 action_icon_state = "alien_evolve_drone" /obj/effect/proc_holder/spell/alien_spell/evolve_queen/create_new_targeting() @@ -17,8 +17,7 @@ // If there is no queen, that means we can evolve to_chat(user, "You begin to evolve!") user.visible_message("[user] begins to twist and contort!") - var/turf/userloc = user.loc - var/mob/living/carbon/alien/humanoid/queen/new_xeno = new(userloc) + var/mob/living/carbon/alien/humanoid/queen/new_xeno = new(get_turf(user)) user.mind.transfer_to(new_xeno) new_xeno.mind.name = new_xeno.name SSblackbox.record_feedback("tally", "alien_growth", 1, "queen") diff --git a/code/datums/spells/alien_spells/regurgitate.dm b/code/datums/spells/alien_spells/regurgitate.dm index effd0a9629b..02960c88afb 100644 --- a/code/datums/spells/alien_spells/regurgitate.dm +++ b/code/datums/spells/alien_spells/regurgitate.dm @@ -9,6 +9,9 @@ /obj/effect/proc_holder/spell/alien_spell/regurgitate/cast(list/targets, mob/living/carbon/user) for(var/mob/M in user.stomach_contents) var/turf/output_loc = user.loc + if(!istype(output_loc)) + return + user.stomach_contents -= M M.forceMove(output_loc) visible_message("[user] hurls out the contents of [p_their()] stomach!") return diff --git a/code/datums/spells/alien_spells/tail_lash.dm b/code/datums/spells/alien_spells/tail_lash.dm new file mode 100644 index 00000000000..0daa1e8a6a0 --- /dev/null +++ b/code/datums/spells/alien_spells/tail_lash.dm @@ -0,0 +1,23 @@ +/obj/effect/proc_holder/spell/alien_spell/tail_lash + name = "Tail lash" + desc = "Knocks down anyone around you." + action_icon_state = "tailsweep" + base_cooldown = 10 SECONDS + +/obj/effect/proc_holder/spell/alien_spell/tail_lash/create_new_targeting() + return new /datum/spell_targeting/self + +/obj/effect/proc_holder/spell/alien_spell/tail_lash/cast(list/targets, mob/user) + var/turf/T = user.loc + var/cast_resolved = FALSE + if(!istype(T)) + revert_cast() + return + for(var/mob/living/to_knock_down in orange(1, user)) + if(to_knock_down.KnockDown(10 SECONDS)) + cast_resolved = TRUE + to_knock_down.visible_message("[user] sweeps [to_knock_down] off their feet!") + if(!cast_resolved) + revert_cast() + + return cast_resolved diff --git a/code/datums/spells/alien_spells/transfer_plasma.dm b/code/datums/spells/alien_spells/transfer_plasma.dm index 1edf34dfa67..3ab94da1daf 100644 --- a/code/datums/spells/alien_spells/transfer_plasma.dm +++ b/code/datums/spells/alien_spells/transfer_plasma.dm @@ -1,28 +1,55 @@ -/obj/effect/proc_holder/spell/touch/alien_spell/transfer_plasma +/obj/effect/proc_holder/spell/alien_spell/transfer_plasma name = "Transfer Plasma" desc = "Transfers 50 plasma to a nearby alien" - hand_path = "/obj/item/melee/touch_attack/alien/transfer_plasma" action_icon_state = "alien_transfer" plasma_cost = 50 -/obj/item/melee/touch_attack/alien/transfer_plasma - name = "plasma transfer" - desc = "Transfers 50 plasma to another alien." - icon_state = "alien_transfer" +/obj/effect/proc_holder/spell/alien_spell/transfer_plasma/create_new_targeting() + return new /datum/spell_targeting/clicked_atom -/obj/item/melee/touch_attack/alien/transfer_plasma/afterattack(atom/target, mob/living/carbon/user, proximity) - if(target == user) - to_chat(user, "You withdraw your readied plasma.") - ..() +/obj/effect/proc_holder/spell/alien_spell/transfer_plasma/cast(list/targets, mob/living/carbon/user) + var/mob/living/carbon/alien/target = targets[1] + var/turf/T = user.loc + if(!istype(T) || !istype(target)) + revert_cast() + return FALSE + + user.Beam(target, icon_state = "sendbeam", time = 2 SECONDS, beam_color = "#f180bd") + target.add_plasma(50) + to_chat(user, "You have transfered 50 plasma to [target].") + to_chat(target, "[user] has transfered 50 plasma to you!") + return TRUE + +/obj/effect/proc_holder/spell/alien_spell/syphon_plasma + name = "Syphon plasma" + desc = "Syphons 150 plasma from a nearby alien." + action_icon_state = "alien_transfer" + plasma_cost = 0 + base_cooldown = 10 SECONDS + +/obj/effect/proc_holder/spell/alien_spell/syphon_plasma/create_new_targeting() + return new /datum/spell_targeting/clicked_atom + +/obj/effect/proc_holder/spell/alien_spell/syphon_plasma/cast(list/targets, mob/living/carbon/user) + var/mob/living/carbon/alien/target = targets[1] + var/turf/T = user.loc + if(!istype(T) || !istype(target)) + revert_cast() + return FALSE + + user.Beam(target, icon_state = "drainbeam", time = 2 SECONDS, beam_color = "#f180bd") + var/obj/item/organ/internal/alien/plasmavessel/vessel = target.get_int_organ(/obj/item/organ/internal/alien/plasmavessel) + if(!vessel) return - if(!proximity || !isalien(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) - return - if(!plasma_check(50, user)) - to_chat(user, "You don't have enough plasma to perform this action!") - return - user.add_plasma(-50) - var/mob/living/carbon/transfering_to = target - transfering_to.add_plasma(50) - to_chat(user, "You have transfered 50 plasma to [transfering_to].") - to_chat(transfering_to, "[user] has transfered 50 plasma to you!") - ..() + var/plasma_syphoned + if(vessel.stored_plasma < 150) + user.add_plasma(vessel.stored_plasma) + plasma_syphoned = vessel.stored_plasma + vessel.stored_plasma = 0 + else + user.add_plasma(150) + plasma_syphoned = 50 + vessel.stored_plasma = vessel.stored_plasma - 150 + to_chat(user, "You have syphoned [plasma_syphoned] plasma from [target].") + to_chat(target, "[user] has syphoned [plasma_syphoned] from you!") + return TRUE diff --git a/code/game/mecha/combat/combat.dm b/code/game/mecha/combat/combat.dm index a15406306dc..17ea778639f 100644 --- a/code/game/mecha/combat/combat.dm +++ b/code/game/mecha/combat/combat.dm @@ -3,7 +3,7 @@ var/maxsize = 2 internal_damage_threshold = 50 maint_access = 0 - armor = list(melee = 30, bullet = 30, laser = 15, energy = 20, bomb = 20, rad = 0, fire = 100, acid = 100) + armor = list(melee = 30, bullet = 30, laser = 15, energy = 20, bomb = 20, rad = 0, fire = 100) destruction_sleep_duration = 4 SECONDS var/am = "d3c2fbcadca903a41161ccc9df9cf948" diff --git a/code/game/mecha/combat/durand.dm b/code/game/mecha/combat/durand.dm index 3694b525650..1ba971d347f 100644 --- a/code/game/mecha/combat/durand.dm +++ b/code/game/mecha/combat/durand.dm @@ -7,7 +7,7 @@ dir_in = 1 //Facing North. max_integrity = 400 deflect_chance = 20 - armor = list(melee = 40, bullet = 35, laser = 15, energy = 10, bomb = 20, rad = 50, fire = 100, acid = 100) + armor = list(melee = 40, bullet = 35, laser = 15, energy = 10, bomb = 20, rad = 50, fire = 100, acid = 75) max_temperature = 30000 infra_luminosity = 8 force = 40 diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index e32ec8e3236..f8f4c97d9d9 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -7,7 +7,7 @@ dir_in = 1 //Facing North. max_integrity = 250 deflect_chance = 5 - armor = list(melee = 25, bullet = 20, laser = 30, energy = 15, bomb = 0, rad = 0, fire = 100, acid = 100) + armor = list(melee = 25, bullet = 20, laser = 30, energy = 15, bomb = 0, rad = 0, fire = 100, acid = 75) max_temperature = 25000 infra_luminosity = 6 leg_overload_coeff = 2 diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm index 6559f69ad4d..f57aa643db7 100644 --- a/code/game/mecha/combat/marauder.dm +++ b/code/game/mecha/combat/marauder.dm @@ -52,7 +52,8 @@ initial_icon = "ares" operation_req_access = list(ACCESS_SECURITY) max_integrity = 450 - armor = list(melee = 50, bullet = 40, laser = 20, energy = 20, bomb = 20, rad = 60, fire = 100, acid = 100) + resistance_flags = LAVA_PROOF | FIRE_PROOF + armor = list(melee = 50, bullet = 40, laser = 20, energy = 20, bomb = 20, rad = 60, fire = 100, acid = 75) max_temperature = 40000 wreckage = /obj/structure/mecha_wreckage/ares max_equip = 5 diff --git a/code/game/mecha/combat/phazon.dm b/code/game/mecha/combat/phazon.dm index 1d7b748d344..4711eedb5fd 100644 --- a/code/game/mecha/combat/phazon.dm +++ b/code/game/mecha/combat/phazon.dm @@ -9,7 +9,7 @@ normal_step_energy_drain = 3 max_integrity = 200 deflect_chance = 30 - armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 30, RAD = 50, FIRE = 100, ACID = 100) + armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 30, RAD = 50, FIRE = 100, ACID = 75) max_temperature = 25000 infra_luminosity = 3 wreckage = /obj/structure/mecha_wreckage/phazon diff --git a/code/game/mecha/combat/reticence.dm b/code/game/mecha/combat/reticence.dm index 1e9beb7016e..e6970740a80 100644 --- a/code/game/mecha/combat/reticence.dm +++ b/code/game/mecha/combat/reticence.dm @@ -7,7 +7,7 @@ dir_in = 1 //Facing North. max_integrity = 150 deflect_chance = 30 - armor = list(MELEE = 25, BULLET = 20, LASER = 30, ENERGY = 15, BOMB = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 25, BULLET = 20, LASER = 30, ENERGY = 15, BOMB = 0, RAD = 0, FIRE = 100, ACID = 75) max_temperature = 15000 wreckage = /obj/structure/mecha_wreckage/reticence operation_req_access = list(ACCESS_MIME) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 8d41450c50b..3af23927e21 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -7,12 +7,12 @@ density = TRUE //Dense. To raise the heat. opacity = TRUE ///opaque. Menacing. anchored = TRUE //no pulling around. - resistance_flags = FIRE_PROOF | ACID_PROOF + resistance_flags = FIRE_PROOF layer = MOB_LAYER //icon draw layer infra_luminosity = 15 //byond implementation is bugged. force = 5 max_integrity = 300 //max_integrity is base health - armor = list(melee = 20, bullet = 10, laser = 0, energy = 0, bomb = 0, rad = 0, fire = 100, acid = 100) + armor = list(melee = 20, bullet = 10, laser = 0, energy = 0, bomb = 0, rad = 0, fire = 100, acid = 75) bubble_icon = "machine" var/list/facing_modifiers = list(MECHA_FRONT_ARMOUR = 1.5, MECHA_SIDE_ARMOUR = 1, MECHA_BACK_ARMOUR = 0.5) var/ruin_mecha = FALSE //if the mecha starts on a ruin, don't automatically give it a tracking beacon to prevent metagaming. diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index 7c2b0ff3f7c..66ad6d2f864 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -78,9 +78,9 @@ initial_icon = "firefighter" max_temperature = 65000 max_integrity = 250 - resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF lights_power = 7 - armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 60, RAD = 70, FIRE = 100, ACID = 100) + armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 60, RAD = 70, FIRE = 100) max_equip = 5 // More armor, less tools wreckage = /obj/structure/mecha_wreckage/ripley/firefighter diff --git a/code/game/objects/cleaning.dm b/code/game/objects/cleaning.dm index f1ba88a0441..b65980d1daa 100644 --- a/code/game/objects/cleaning.dm +++ b/code/game/objects/cleaning.dm @@ -46,6 +46,7 @@ var/obj/effect/decal/cleanable/C = locate() in src qdel(C) clean_blood() + SEND_SIGNAL(src, COMSIG_COMPONENT_CLEAN_ACT) return TRUE /atom/proc/can_clean() //For determining if a cleaning object can actually remove decals diff --git a/code/game/objects/effects/alien_acid.dm b/code/game/objects/effects/alien_acid.dm index 8d1eb45036e..86c1c0c2c73 100644 --- a/code/game/objects/effects/alien_acid.dm +++ b/code/game/objects/effects/alien_acid.dm @@ -24,7 +24,6 @@ START_PROCESSING(SSobj, src) - /obj/effect/acid/Destroy() STOP_PROCESSING(SSobj, src) target = null @@ -67,6 +66,14 @@ /obj/effect/acid/alien var/target_strength = 30 +/obj/effect/acid/alien/Initialize(mapload, acid_pwr, acid_amt) + . = ..() + var/turf/cleanable_turf = get_turf(src) + RegisterSignal(cleanable_turf, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(remove_acid)) + +/obj/effect/acid/alien/proc/remove_acid(datum/source) + SIGNAL_HANDLER + qdel(src) /obj/effect/acid/alien/process() . = ..() diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index fd263b11f9d..a21489172e8 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -192,6 +192,11 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e SSacid.processing -= src deconstruct(FALSE) +/obj/cleaning_act(mob/user, atom/cleaner, cleanspeed, text_verb, text_description, text_targetname) + . = ..() + if(acid_level) + acid_level = 0 + //// FIRE /obj/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE) diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm index c11b47c82cd..9beb67b5e35 100644 --- a/code/game/objects/structures/aliens.dm +++ b/code/game/objects/structures/aliens.dm @@ -111,7 +111,7 @@ icon = 'icons/obj/smooth_structures/alien/resin_door.dmi' icon_state = "resin" base_icon_state = "resin" - max_integrity = 100 + max_integrity = 60 armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 50) damage_deflection = 0 flags_2 = RAD_PROTECT_CONTENTS_2 | RAD_NO_CONTAMINATE_2 @@ -156,7 +156,7 @@ /obj/structure/alien/resin/door/CanAtmosPass(turf/T) return !density -/obj/structure/alien/resin/door/proc/try_to_operate(mob/user) +/obj/structure/alien/resin/door/proc/try_to_operate(mob/user, bumped_open = FALSE) if(is_operating) return if(!iscarbon(user)) @@ -164,7 +164,7 @@ var/mob/living/carbon/C = user if(C.get_int_organ(/obj/item/organ/internal/alien/hivenode)) if(!C.handcuffed) - operate() + operate(bumped_open) return to_chat(user, "Your lack of connection to the hive prevents the resin door from opening") /* @@ -178,7 +178,7 @@ return operate() -/obj/structure/alien/resin/door/proc/operate() +/obj/structure/alien/resin/door/proc/operate(bumped_open = FALSE) is_operating = TRUE if(!state_open) playsound(loc, open_sound, 50, TRUE) @@ -194,14 +194,14 @@ density = !density opacity = !opacity state_open = !state_open - addtimer(CALLBACK(src, PROC_REF(operate_update)), 1 SECONDS) + addtimer(CALLBACK(src, PROC_REF(operate_update), bumped_open), 1 SECONDS) -/obj/structure/alien/resin/door/proc/operate_update() +/obj/structure/alien/resin/door/proc/operate_update(bumped_open) air_update_turf(1) update_icon(UPDATE_ICON_STATE) is_operating = FALSE - if(state_open) + if(state_open && bumped_open) addtimer(CALLBACK(src, PROC_REF(mobless_try_to_operate)), close_delay) /obj/structure/alien/resin/door/update_icon_state() @@ -219,7 +219,7 @@ /obj/structure/alien/resin/door/Bumped(atom/user) ..() if(!state_open) - return try_to_operate(user) + return try_to_operate(user, TRUE) /* * Weeds 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 index 25b08b00413..3313812d833 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm @@ -110,3 +110,118 @@ /obj/structure/bed/nest/prevents_buckled_mobs_attacking() return TRUE + +/obj/structure/bed/revival_nest + name = "alien rejuvenation nest" + desc = "It's a gruesome pile of thick, sticky resin shaped like a flytrap. Heals damaged aliens and slowly revives the dead, breaks down non xenos and uses their genetic soup to make an alien egg." + icon = 'icons/mob/alien.dmi' + icon_state = "placeholder_rejuv_nest" + max_integrity = 30 + var/image/nest_overlay + comfort = 0 + flags = NODECONSTRUCT + var/processing_ticks = 0 + var/revive_or_decay_timer + +/obj/structure/bed/revival_nest/user_unbuckle_mob(mob/living/buckled_mob, mob/user) + for(var/mob/living/M in buckled_mobs) //breaking a nest releases all the buckled mobs, because the nest isn't holding them down anymore + if(HAS_TRAIT(user, TRAIT_XENO_IMMUNE)) + unbuckle_mob(M) + add_fingerprint(user) + return + + if(M != user) + M.visible_message("[user] tears [M] out of the rejuvination pod!",\ + "[user] pulls you free from the rejuvination pod!",\ + "You hear squelching...") + else + M.visible_message("[M] struggles to break free from the rejuvination pod!",\ + "You struggle to break free from the rejuvination pod... (Stay still for 15 seconds.)",\ + "You hear squelching...") + if(!do_after(M, 15 SECONDS, target = src)) + if(M && M.buckled) + to_chat(M, "You fail to escape \the [src]!") + return + if(!M.buckled) + return + M.visible_message("[M] breaks free from the rejuvination pod!",\ + "You break free from the rejuvination pod!",\ + "You hear squelching...") + unbuckle_mob(M) + add_fingerprint(user) + +/obj/structure/bed/revival_nest/post_unbuckle_mob(mob/living/M) + STOP_PROCESSING(SSobj, src) + deltimer(revive_or_decay_timer) + +/obj/structure/bed/revival_nest/process() + for(var/mob/living/buckled_mob in buckled_mobs) + processing_ticks++ + if(isalien(buckled_mob)) + buckled_mob.adjustBruteLoss(-5) + buckled_mob.adjustFireLoss(-5) + buckled_mob.adjustToxLoss(-5) + buckled_mob.adjustOxyLoss(-5) + buckled_mob.adjustCloneLoss(-5) + for(var/datum/disease/virus in buckled_mob.viruses) + if(virus.stage < 1 && processing_ticks >= 4) + virus.cure() + processing_ticks = 0 + if(virus.stage > 1 && processing_ticks >= 4) + virus.stage-- + processing_ticks = 0 + if(buckled_mob.stat == DEAD && !revive_or_decay_timer) + revive_or_decay_timer = addtimer(CALLBACK(src, PROC_REF(revive_dead_alien), buckled_mob), 40 SECONDS, TIMER_UNIQUE|TIMER_STOPPABLE) + else + buckled_mob.adjustBruteLoss(3) + buckled_mob.adjustFireLoss(3) + +/obj/structure/bed/revival_nest/proc/revive_dead_alien(mob/living/carbon/alien/dead_alien) + dead_alien.revive() + dead_alien.visible_message("Vines seep into the back of [dead_alien], and it awakes with a burning rage!") + if(dead_alien.ghost_can_reenter()) + var/mob/dead/observer/dead_bro = dead_alien.grab_ghost() + SEND_SOUND(dead_alien, sound('sound/voice/hiss5.ogg')) + if(isalienqueen(dead_alien)) + for(var/mob/living/carbon/alien/humanoid/queen/living_queen in GLOB.alive_mob_list) + if(living_queen.key || !living_queen.get_int_organ(/obj/item/organ/internal/brain)) + to_chat(dead_bro, "We already have an alive queen. We've been reverted to our drone form!") + qdel(dead_alien) + var/mob/living/carbon/alien/humanoid/drone/new_drone = new(get_turf(src)) + new_drone.key = dead_bro.key + else + var/list/candidates = SSghost_spawns.poll_candidates("Do you want to play as [dead_alien]?", ROLE_ALIEN, FALSE, source = dead_alien) + if(!length(candidates)) + return + var/mob/C = pick(candidates) + dead_alien.key = C.key + dust_if_respawnable(C) + dead_alien.mind.name = dead_alien.name + dead_alien.mind.assigned_role = SPECIAL_ROLE_XENOMORPH + dead_alien.mind.special_role = SPECIAL_ROLE_XENOMORPH + SEND_SOUND(dead_alien, sound('sound/voice/hiss5.ogg')) + +/obj/structure/bed/revival_nest/user_buckle_mob(mob/living/M, mob/living/user) + if(!istype(M) || (get_dist(src, user) > 1) || (M.loc != loc) || user.incapacitated() || M.buckled) + return + + if(!user.get_int_organ(/obj/item/organ/internal/alien/hivenode)) + to_chat(user, "Your lack of linkage to the hive prevents you from buckling [M] into [src].") + return + + if(has_buckled_mobs()) + unbuckle_all_mobs() + + if(buckle_mob(M)) + M.visible_message("[user] secretes a thick vile goo, securing [M] into [src]!",\ + "[user] drenches you in a foul-smelling resin, trapping you in [src]!",\ + "You hear squelching...") + START_PROCESSING(SSobj, src) + +/obj/structure/bed/revival_nest/attack_alien(mob/living/carbon/alien/user) + if(user.a_intent != INTENT_HARM) + return attack_hand(user) + if(!do_after(user, 4 SECONDS, target = src) || QDELETED(src)) + return + playsound(get_turf(user), pick('sound/effects/alien_resin_break2.ogg', 'sound/effects/alien_resin_break1.ogg'), 50, FALSE) + qdel(src) diff --git a/code/modules/mob/living/carbon/alien/alien_base.dm b/code/modules/mob/living/carbon/alien/alien_base.dm index 07722061279..8d2a727019e 100644 --- a/code/modules/mob/living/carbon/alien/alien_base.dm +++ b/code/modules/mob/living/carbon/alien/alien_base.dm @@ -5,18 +5,16 @@ bubble_icon = "alien" icon = 'icons/mob/alien.dmi' gender = NEUTER - dna = null var/nightvision = TRUE see_in_dark = 4 var/obj/item/card/id/wear_id = null // Fix for station bounced radios -- Skie var/has_fine_manipulation = FALSE - var/move_delay_add = FALSE // movement delay to add + var/move_delay_add = 0 // movement delay to add status_flags = CANPARALYSE|CANPUSH var/heal_rate = 5 - var/large = FALSE var/loudspeaker = FALSE var/heat_protection = 0.5 var/leaping = FALSE @@ -27,8 +25,6 @@ /mob/living/carbon/alien/Initialize(mapload) . = ..() create_reagents(1000) - verbs += /mob/living/verb/mob_sleep - verbs += /mob/living/verb/rest for(var/organ_path in get_caste_organs()) var/obj/item/organ/internal/organ = new organ_path() @@ -50,17 +46,17 @@ return GLOB.all_languages["Xenomorph"] /mob/living/carbon/alien/say_quote(message, datum/language/speaking = null) - var/verb = "hisses" + var/speech_verb = "hisses" var/ending = copytext(message, length(message)) if(speaking && (speaking.name != "Galactic Common")) //this is so adminbooze xenos speaking common have their custom verbs, - verb = speaking.get_spoken_verb(ending) //and use normal verbs for their own languages and non-common languages + speech_verb = speaking.get_spoken_verb(ending) //and use normal verbs for their own languages and non-common languages else - if(ending=="!") - verb = "roars" - else if(ending=="?") - verb = "hisses curiously" - return verb + if(ending == "!") + speech_verb = "roars" + else if(ending== "?") + speech_verb = "hisses curiously" + return speech_verb /mob/living/carbon/alien/adjustToxLoss(amount) @@ -68,7 +64,7 @@ /mob/living/carbon/alien/adjustFireLoss(amount) // Weak to Fire if(amount > 0) - return ..(amount * 2) + return ..(amount * 1.5) else return ..(amount) @@ -77,17 +73,11 @@ return 2 /mob/living/carbon/alien/handle_environment(datum/gas_mixture/environment) - if(!environment) return var/loc_temp = get_temperature(environment) -// to_chat(world, "Loc temp: [loc_temp] - Body temp: [bodytemperature] - Fireloss: [getFireLoss()] - Fire protection: [heat_protection] - Location: [loc] - src: [src]") - - // Aliens are now weak to fire. - - //After then, it reacts to the surrounding atmosphere based on your thermal protection if(!on_fire) // If you're on fire, ignore local air temperature if(loc_temp > bodytemperature) //Place is hotter than we are @@ -121,8 +111,8 @@ /mob/living/carbon/alien/Stat() ..() if(statpanel("Status")) - stat(null, "Intent: [a_intent]") - stat(null, "Move Mode: [m_intent]") + stat("Intent: [a_intent]") + stat("Move Mode: [m_intent]") show_stat_emergency_shuttle_eta() /mob/living/carbon/alien/SetStunned(amount, updating = TRUE, force = 0) @@ -141,24 +131,6 @@ /mob/living/carbon/alien/setDNA() return -/mob/living/carbon/alien/verb/nightvisiontoggle() - set name = "Toggle Night Vision" - set category = "Alien" - - if(!nightvision) - see_in_dark = 8 - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - nightvision = TRUE - usr.hud_used.nightvisionicon.icon_state = "nightvision1" - else if(nightvision) - see_in_dark = initial(see_in_dark) - lighting_alpha = initial(lighting_alpha) - nightvision = FALSE - usr.hud_used.nightvisionicon.icon_state = "nightvision0" - - update_sight() - - /mob/living/carbon/alien/assess_threat(mob/living/simple_animal/bot/secbot/judgebot, lasercolor) if(judgebot.emagged) return 10 //Everyone is a criminal! @@ -209,34 +181,31 @@ /mob/living/carbon/alien/proc/deathrattle_message() return "The hivemind echoes: [name] has been slain!" -/mob/living/carbon/alien/CanContractDisease(datum/disease/D) - return FALSE - /*---------------------------------------- Proc: AddInfectionImages() Des: Gives the client of the alien an image on each infected mob. ----------------------------------------*/ /mob/living/carbon/alien/proc/AddInfectionImages() - if(client) - for(var/mob/living/C in GLOB.mob_list) - if(HAS_TRAIT(C, TRAIT_XENO_HOST)) - var/obj/item/organ/internal/body_egg/alien_embryo/A = C.get_int_organ(/obj/item/organ/internal/body_egg/alien_embryo) - if(A) - var/I = image('icons/mob/alien.dmi', loc = C, icon_state = "infected[A.stage]") - client.images += I - return - + if(!client) + return + for(var/mob/living/C in GLOB.mob_list) + if(HAS_TRAIT(C, TRAIT_XENO_HOST)) + var/obj/item/organ/internal/body_egg/alien_embryo/A = C.get_int_organ(/obj/item/organ/internal/body_egg/alien_embryo) + if(!A) + continue + var/I = image('icons/mob/alien.dmi', loc = C, icon_state = "infected[A.stage]") + client.images += I /*---------------------------------------- Proc: RemoveInfectionImages() Des: Removes all infected images from the alien. ----------------------------------------*/ /mob/living/carbon/alien/proc/RemoveInfectionImages() - if(client) - for(var/image/I in client.images) - if(dd_hasprefix_case(I.icon_state, "infected")) - qdel(I) - return + if(!client) + return + for(var/image/I in client.images) + if(dd_hasprefix_case(I.icon_state, "infected")) + qdel(I) /mob/living/carbon/alien/canBeHandcuffed() return TRUE @@ -309,3 +278,8 @@ and carry the owner just to make sure*/ medicine.reagents.reaction(src, reagent_application, fraction) medicine.reagents.trans_to(src, how_many_reagents) return TRUE + +/mob/living/carbon/alien/update_stat(reason) + if(health <= HEALTH_THRESHOLD_CRIT && stat == CONSCIOUS) + KnockOut() + return ..() diff --git a/code/modules/mob/living/carbon/alien/alien_death.dm b/code/modules/mob/living/carbon/alien/alien_death.dm index 12757bd3a8b..fa5e5a1f12c 100644 --- a/code/modules/mob/living/carbon/alien/alien_death.dm +++ b/code/modules/mob/living/carbon/alien/alien_death.dm @@ -12,7 +12,7 @@ animation.icon = 'icons/mob/mob.dmi' animation.master = src - playsound(src.loc, 'sound/goonstation/effects/gib.ogg', 50, 1) + playsound(loc, 'sound/goonstation/effects/gib.ogg', 50, TRUE) for(var/mob/M in stomach_contents) //Release eaten mobs when Beno is gibbed LAZYREMOVE(stomach_contents, M) @@ -21,6 +21,13 @@ var/mob/living/carbon/human/H = M H.KnockDown(5 SECONDS) + for(var/obj/item/organ/internal/I in internal_organs) + if(isturf(loc)) + var/atom/movable/thing = I.remove(src) + if(thing) + thing.forceMove(get_turf(src)) + thing.throw_at(get_edge_target_turf(src, pick(GLOB.alldirs)), rand(1, 3), 5) + flick("gibbed-a", animation) xgibs(loc) GLOB.dead_mob_list -= src diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm index de23bdcd5bb..491d5612f72 100644 --- a/code/modules/mob/living/carbon/alien/alien_defense.dm +++ b/code/modules/mob/living/carbon/alien/alien_defense.dm @@ -10,9 +10,6 @@ In all, this is a lot like the monkey code. This code could certainly use with a touch of TLC, but it functions alright. Bit odd aliens attacking other aliens are like, full logged though */ /mob/living/carbon/alien/attack_alien(mob/living/carbon/alien/M) - if(isturf(loc) && istype(loc.loc, /area/start)) - to_chat(M, "No attacking people at spawn, you jackass.") - return switch(M.a_intent) if(INTENT_HELP) AdjustSleeping(-10 SECONDS) @@ -82,9 +79,9 @@ This code could certainly use with a touch of TLC, but it functions alright. Bit /mob/living/carbon/alien/attack_slime(mob/living/simple_animal/slime/M) // This is very RNG based, maybe come back to this later - GDN if(..()) //successful slime attack - var/damage = rand(5, 35) + var/damage = 10 if(M.is_adult) - damage = rand(10, 40) + damage = 15 adjustBruteLoss(damage) add_attack_logs(M, src, "Slime'd for [damage] damage") updatehealth("slime attack") diff --git a/code/modules/mob/living/carbon/alien/alien_login.dm b/code/modules/mob/living/carbon/alien/alien_login.dm index 589a9741627..fa043b3e8c8 100644 --- a/code/modules/mob/living/carbon/alien/alien_login.dm +++ b/code/modules/mob/living/carbon/alien/alien_login.dm @@ -2,4 +2,3 @@ ..() AddInfectionImages() update_plasma_display(src) - return diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/alien_drone.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/alien_drone.dm index 1195a46e735..35c75e4931a 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/alien_drone.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/alien_drone.dm @@ -1,15 +1,14 @@ /mob/living/carbon/alien/humanoid/drone name = "alien drone" caste = "d" - maxHealth = 100 - health = 100 + maxHealth = 150 + health = 150 icon_state = "aliend_s" /mob/living/carbon/alien/humanoid/drone/Initialize(mapload) . = ..() - if(src.name == "alien drone") - src.name = "alien drone ([rand(1, 1000)])" - src.real_name = src.name + name = "alien drone ([rand(1, 1000)])" + real_name = name AddSpell(new /obj/effect/proc_holder/spell/alien_spell/evolve_queen) /mob/living/carbon/alien/humanoid/drone/get_caste_organs() @@ -19,8 +18,3 @@ /obj/item/organ/internal/alien/acidgland, /obj/item/organ/internal/alien/resinspinner, ) - - -//Drones use the same base as generic humanoids. -//Drone verbs - diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm index a3084c4af42..0b8c0ab5441 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm @@ -1,38 +1,35 @@ /mob/living/carbon/alien/humanoid/hunter name = "alien hunter" caste = "h" - maxHealth = 125 - health = 125 + maxHealth = 150 + health = 150 icon_state = "alienh_s" - alien_movement_delay = -1 //hunters are faster than normal xenomorphs, and people + alien_movement_delay = -0.5 //hunters are faster than normal xenomorphs, and people + var/leap_on_click = FALSE + /// Are we on leap cooldown? + var/on_leap_cooldown = FALSE /mob/living/carbon/alien/humanoid/hunter/Initialize(mapload) . = ..() - if(name == "alien hunter") - name = "alien hunter ([rand(1, 1000)])" + name = "alien hunter ([rand(1, 1000)])" real_name = name /mob/living/carbon/alien/humanoid/hunter/get_caste_organs() . = ..() . += /obj/item/organ/internal/alien/plasmavessel/hunter - /mob/living/carbon/alien/humanoid/hunter/handle_environment() if(m_intent == MOVE_INTENT_RUN || IS_HORIZONTAL(src)) ..() else add_plasma(-heal_rate) - -//Hunter verbs - -/mob/living/carbon/alien/humanoid/hunter/proc/toggle_leap(message = 1) +/mob/living/carbon/alien/humanoid/hunter/proc/toggle_leap(message = TRUE) leap_on_click = !leap_on_click leap_icon.icon_state = "leap_[leap_on_click ? "on":"off"]" + update_icons() if(message) - to_chat(src, "You will now [leap_on_click ? "leap at":"slash at"] enemies!") - else - return + to_chat(src, "You will now [leap_on_click ? "leap at" : "slash at"] enemies!") /mob/living/carbon/alien/humanoid/hunter/ClickOn(atom/A, params) face_atom(A) @@ -44,64 +41,71 @@ #define MAX_ALIEN_LEAP_DIST 7 /mob/living/carbon/alien/humanoid/hunter/proc/leap_at(atom/A) - if(pounce_cooldown > world.time) - to_chat(src, "You are too fatigued to pounce right now!") + if(leaping || on_leap_cooldown) return - if(leaping) //Leap while you leap, so you can leap while you leap - return - - if(!has_gravity(src) || !has_gravity(A)) - to_chat(src, "It is unsafe to leap without gravity!") - //It's also extremely buggy visually, so it's balance+bugfix - return if(IS_HORIZONTAL(src)) return - else //Maybe uses plasma in the future, although that wouldn't make any sense... - leaping = 1 - update_icons() - throw_at(A, MAX_ALIEN_LEAP_DIST, 1, spin = 0, diagonals_first = 1, callback = CALLBACK(src, PROC_REF(leap_end))) + leaping = TRUE + on_leap_cooldown = TRUE + update_icons() + Immobilize(15 SECONDS, TRUE) + addtimer(VARSET_CALLBACK(src, on_leap_cooldown, FALSE), 3 SECONDS) + throw_at(A, MAX_ALIEN_LEAP_DIST, 1.5, spin = 0, diagonals_first = 1, callback = CALLBACK(src, PROC_REF(leap_end))) /mob/living/carbon/alien/humanoid/hunter/proc/leap_end() - leaping = 0 + leaping = FALSE + SetImmobilized(0, TRUE) update_icons() /mob/living/carbon/alien/humanoid/hunter/throw_impact(atom/A) if(!leaping) return ..() - if(A) - if(isliving(A)) - var/mob/living/L = A - var/blocked = 0 - if(ishuman(A)) - var/mob/living/carbon/human/H = A - if(H.check_shields(src, 0, "the [name]", attack_type = LEAP_ATTACK)) - blocked = 1 - if(!blocked) - L.visible_message("[src] pounces on [L]!", "[src] pounces on you!") - if(ishuman(L)) - var/mob/living/carbon/human/H = L - H.apply_effect(10 SECONDS, KNOCKDOWN, H.run_armor_check(null, MELEE)) - H.apply_damage(40, STAMINA) - else - L.Weaken(10 SECONDS) - sleep(2)//Runtime prevention (infinite bump() calls on hulks) - step_towards(src,L) + if(isliving(A)) + var/mob/living/L = A + var/blocked = FALSE + if(ishuman(A)) + var/mob/living/carbon/human/H = A + if(H.check_shields(src, 0, "the [name]", attack_type = LEAP_ATTACK)) + blocked = TRUE + if(!blocked) + L.visible_message("[src] pounces on [L]!", "[src] pounces on you!") + if(ishuman(L)) + var/mob/living/carbon/human/H = L + H.apply_effect(10 SECONDS, KNOCKDOWN, H.run_armor_check(null, MELEE)) + H.apply_damage(40, STAMINA) else - Weaken(4 SECONDS, TRUE) + L.Weaken(5 SECONDS) + sleep(2)//Runtime prevention (infinite bump() calls on hulks) + step_towards(src, L) + else + Weaken(2 SECONDS, TRUE) + ..() - toggle_leap(0) - pounce_cooldown = world.time + pounce_cooldown_time - else if(A.density && !A.CanPass(src)) - visible_message("[src] smashes into [A]!", "[src] smashes into [A]!") - Weaken(4 SECONDS, TRUE) - - if(leaping) - leaping = 0 - update_icons() + toggle_leap(FALSE) + else if(A.density && !A.CanPass(src)) + visible_message("[src] smashes into [A]!", "[src] smashes into [A]!") + Weaken(2 SECONDS, TRUE) + playsound(get_turf(src), 'sound/effects/bang.ogg', 50, 0, 0) // owwie + ..() + if(leaping) + leaping = FALSE + update_icons() +/mob/living/carbon/alien/humanoid/hunter/update_icons() + ..() + if(leap_on_click && !leaping) + icon_state = "alien[caste]_pounce" + if(leaping) + if(alt_icon == initial(alt_icon)) + var/old_icon = icon + icon = alt_icon + alt_icon = old_icon + icon_state = "alien[caste]_leap" + pixel_x = -32 + pixel_y = -32 /mob/living/carbon/alien/humanoid/float(on) if(leaping) diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm index bd3075eadf6..9b9ae103770 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm @@ -1,8 +1,8 @@ /mob/living/carbon/alien/humanoid/sentinel name = "alien sentinel" caste = "s" - maxHealth = 150 - health = 150 + maxHealth = 175 + health = 175 icon_state = "aliens_s" /mob/living/carbon/alien/humanoid/sentinel/large @@ -12,13 +12,6 @@ pixel_x = -16 maxHealth = 200 health = 200 - large = 1 - -/mob/living/carbon/alien/humanoid/sentinel/praetorian - name = "alien praetorian" - maxHealth = 200 - health = 200 - large = 1 /mob/living/carbon/alien/humanoid/sentinel/large/update_icons() overlays.Cut() @@ -34,8 +27,7 @@ /mob/living/carbon/alien/humanoid/sentinel/Initialize(mapload) . = ..() - if(name == "alien sentinel") - name = "alien sentinel ([rand(1, 1000)])" + name = "alien sentinel ([rand(1, 1000)])" real_name = name /mob/living/carbon/alien/humanoid/sentinel/get_caste_organs() diff --git a/code/modules/mob/living/carbon/alien/humanoid/empress.dm b/code/modules/mob/living/carbon/alien/humanoid/empress.dm index 2ab7d866323..9ea090b459e 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/empress.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/empress.dm @@ -8,7 +8,6 @@ loudspeaker = TRUE mob_size = MOB_SIZE_LARGE bubble_icon = "alienroyal" - large = 1 ventcrawler = VENTCRAWLER_NONE move_resist = MOVE_FORCE_STRONG //Yes, big benos is huge and heavy alien_disarm_damage = 60 //Empress do higher disarm stamina damage than normal aliens @@ -37,16 +36,7 @@ /mob/living/carbon/alien/humanoid/empress/Initialize(mapload) . = ..() //there should only be one queen - for(var/mob/living/carbon/alien/humanoid/empress/E in GLOB.alive_mob_list) - if(E == src) - continue - if(E.stat == DEAD) - continue - if(E.client) - name = "alien grand princess ([rand(1, 999)])" //if this is too cutesy feel free to change it/remove it. - break - - real_name = name + ADD_TRAIT(src, TRAIT_FORCE_DOORS, UNIQUE_TRAIT_SOURCE(src)) /mob/living/carbon/alien/humanoid/empress/get_caste_organs() . = ..() diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 004546a18f1..5b139d6652d 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -7,10 +7,6 @@ var/obj/item/l_store = null var/caste = "" var/alt_icon = 'icons/mob/alienleap.dmi' //used to switch between the two alien icon files. - var/next_attack = 0 - var/pounce_cooldown = 0 - var/pounce_cooldown_time = 30 - var/leap_on_click = 0 var/custom_pixel_x_offset = 0 //for admin fuckery. var/custom_pixel_y_offset = 0 var/alien_disarm_damage = 30 //Aliens deal a good amount of stamina damage on disarm intent @@ -32,13 +28,14 @@ /mob/living/carbon/alien/humanoid/Process_Spacemove(check_drift = 0) if(..()) - return 1 - - return 0 + return TRUE + return FALSE /mob/living/carbon/alien/humanoid/emp_act(severity) - if(r_store) r_store.emp_act(severity) - if(l_store) l_store.emp_act(severity) + if(r_store) + r_store.emp_act(severity) + if(l_store) + l_store.emp_act(severity) ..() /mob/living/carbon/alien/humanoid/ex_act(severity) @@ -70,9 +67,8 @@ /mob/living/carbon/alien/humanoid/restrained() if(handcuffed) - return 1 - return 0 - + return TRUE + return FALSE /mob/living/carbon/alien/humanoid/movement_delay() //Aliens have a varied movespeed . = ..() @@ -101,9 +97,6 @@ popup.set_content(dat) popup.open() -/mob/living/carbon/alien/humanoid/canBeHandcuffed() - return 1 - /mob/living/carbon/alien/humanoid/cuff_resist(obj/item/I) playsound(src, 'sound/voice/hiss5.ogg', 40, 1, 1) //Alien roars when starting to break free ..(I, cuff_break = 1) diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm index 5d0f1aff481..43c9bd95936 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm @@ -4,14 +4,11 @@ to_chat(user, "You don't want to hurt [src]!") return FALSE ..(user, TRUE) - adjustBruteLoss(15) + adjustBruteLoss(10) var/hitverb = "punched" if(mob_size < MOB_SIZE_LARGE) - Paralyse(2 SECONDS) - spawn(0) - step_away(src, user, 15) - sleep(1) - step_away(src, user, 15) + Stun(2 SECONDS) + throw_at(get_edge_target_turf(user, get_dir(user, src)), 3, 7) hitverb = "slammed" playsound(loc, "punch", 25, 1, -1) visible_message("[user] has [hitverb] [src]!", "[user] has [hitverb] [src]!") diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm index 9c168e564c4..70f37d83d21 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm @@ -28,8 +28,6 @@ else if(stat == UNCONSCIOUS || IsWeakened()) icon_state = "alien[caste]_unconscious" pixel_y = 0 - else if(leap_on_click) - icon_state = "alien[caste]_pounce" else if(IS_HORIZONTAL(src)) icon_state = "alien[caste]_sleep" @@ -38,21 +36,12 @@ else icon_state = "alien[caste]_s" - if(leaping) - if(alt_icon == initial(alt_icon)) - var/old_icon = icon - icon = alt_icon - alt_icon = old_icon - icon_state = "alien[caste]_leap" - pixel_x = -32 - pixel_y = -32 - else - if(alt_icon != initial(alt_icon)) - var/old_icon = icon - icon = alt_icon - alt_icon = old_icon - pixel_x = get_standard_pixel_x_offset() - pixel_y = get_standard_pixel_y_offset() + if(alt_icon != initial(alt_icon)) + var/old_icon = icon + icon = alt_icon + alt_icon = old_icon + pixel_x = get_standard_pixel_x_offset() + pixel_y = get_standard_pixel_y_offset() /mob/living/carbon/alien/humanoid/regenerate_icons() ..() diff --git a/code/modules/mob/living/carbon/alien/humanoid/queen.dm b/code/modules/mob/living/carbon/alien/humanoid/queen.dm index 2564f8ec7b8..1d0e6e931de 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/queen.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/queen.dm @@ -1,13 +1,11 @@ /mob/living/carbon/alien/humanoid/queen name = "alien queen" caste = "q" - maxHealth = 250 - health = 250 + maxHealth = 300 + health = 300 icon_state = "alienq_s" status_flags = CANPARALYSE loudspeaker = TRUE - heal_rate = 5 - large = 1 ventcrawler = VENTCRAWLER_NONE pressure_resistance = 200 //Because big, stompy xenos should not be blown around like paper. move_resist = MOVE_FORCE_STRONG //Yes, queenos is huge and heavy @@ -17,19 +15,8 @@ /mob/living/carbon/alien/humanoid/queen/Initialize(mapload) . = ..() - //there should only be one queen - for(var/mob/living/carbon/alien/humanoid/queen/Q in GLOB.alive_mob_list) - if(Q == src) - ADD_TRAIT(Q, TRAIT_FORCE_DOORS, VAMPIRE_TRAIT) - continue - if(Q.stat == DEAD) - ADD_TRAIT(Q, TRAIT_FORCE_DOORS, VAMPIRE_TRAIT) - continue - if(Q.client) - name = "alien princess ([rand(1, 999)])" //if this is too cutesy feel free to change it/remove it. - break - - real_name = src.name + ADD_TRAIT(src, TRAIT_FORCE_DOORS, UNIQUE_TRAIT_SOURCE(src)) + AddSpell(new /obj/effect/proc_holder/spell/alien_spell/tail_lash) /mob/living/carbon/alien/humanoid/queen/get_caste_organs() . = ..() @@ -38,8 +25,7 @@ /obj/item/organ/internal/alien/acidgland, /obj/item/organ/internal/alien/eggsac, /obj/item/organ/internal/alien/resinspinner, - /obj/item/organ/internal/alien/neurotoxin, - ) + /obj/item/organ/internal/alien/neurotoxin) /mob/living/carbon/alien/humanoid/queen/deathrattle_message() return "A shock reverberates through the hive; [name] has been slain!" @@ -51,7 +37,6 @@ icon = 'icons/mob/alienlarge.dmi' icon_state = "queen_s" pixel_x = -16 - large = 1 /mob/living/carbon/alien/humanoid/queen/large/update_icons() overlays.Cut() diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 20d6c23c669..c1e3b1d69cf 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -12,15 +12,14 @@ var/temperature_resistance = T0C+75 var/amount_grown = 0 var/max_grown = 200 - var/time_of_birth death_message = "lets out a waning high-pitched cry." death_sound = null //This is fine right now, if we're adding organ specific damage this needs to be updated /mob/living/carbon/alien/larva/Initialize(mapload) . = ..() - if(name == "alien larva") - name = "alien larva ([rand(1, 1000)])" + + name = "alien larva ([rand(1, 1000)])" real_name = name regenerate_icons() add_language("Xenomorph") @@ -42,7 +41,7 @@ /mob/living/carbon/alien/larva/Stat() ..() - stat(null, "Progress: [amount_grown]/[max_grown]") + stat("Progress: [amount_grown]/[max_grown]") /mob/living/carbon/alien/larva/add_plasma(amount) if(stat != DEAD && amount > 0) @@ -82,7 +81,6 @@ // new damage icon system // now constructs damage icon for each organ from mask * damage field - /mob/living/carbon/alien/larva/show_inv(mob/user as mob) return diff --git a/code/modules/mob/living/carbon/alien/larva/larva_inventory.dm b/code/modules/mob/living/carbon/alien/larva/larva_inventory.dm index fc5acb63fd0..0c5df6d99e9 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva_inventory.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva_inventory.dm @@ -1,3 +1,3 @@ -//can't unequip since it can't equip anything +//can't unequip since it can't equip anything // why the fuck is this it's own file /mob/living/carbon/alien/larva/unEquip(obj/item/I, force, silent = FALSE) return diff --git a/code/modules/mob/living/carbon/alien/larva/larva_life.dm b/code/modules/mob/living/carbon/alien/larva/larva_life.dm index ea964329fd4..141f5e8d950 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva_life.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva_life.dm @@ -1,7 +1,5 @@ /mob/living/carbon/alien/larva/Life(seconds, times_fired) set invisibility = 0 - if(notransform) - return if(..()) //not dead and not in stasis // GROW! if(amount_grown < max_grown) @@ -19,10 +17,8 @@ if(IsParalyzed() || IsSleeping() || getOxyLoss() > 50 || (health <= HEALTH_THRESHOLD_CRIT && check_death_method())) if(stat == CONSCIOUS) KnockOut() - create_debug_log("fell unconscious, trigger reason: [reason]") else if(stat == UNCONSCIOUS) WakeUp() - create_debug_log("woke up, trigger reason: [reason]") update_damage_hud() update_health_hud() diff --git a/code/modules/mob/living/carbon/alien/larva/larva_update_icons.dm b/code/modules/mob/living/carbon/alien/larva/larva_update_icons.dm index 60db90600d1..90e14393f5f 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva_update_icons.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva_update_icons.dm @@ -1,4 +1,3 @@ - /mob/living/carbon/alien/larva/regenerate_icons() overlays = list() update_icons() diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index ff85b6ec8e5..0bd858d98c5 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -1080,7 +1080,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven if(statpanel("Status")) var/obj/item/organ/internal/alien/plasmavessel/vessel = get_int_organ(/obj/item/organ/internal/alien/plasmavessel) if(vessel) - stat(null, "Plasma Stored: [vessel.stored_plasma]/[vessel.max_plasma]") + stat("Plasma Stored: [vessel.stored_plasma]/[vessel.max_plasma]") /mob/living/carbon/get_all_slots() return list(l_hand, diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 9af4de76228..f463a173a82 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -666,12 +666,10 @@ emp_act visible_message("[src] is not affected by [M]'s disarm attempt!") playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) return FALSE - var/obj/item/I = get_active_hand() - if(I) - unEquip(I) var/obj/item/organ/external/affecting = get_organ(ran_zone(M.zone_selected)) playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1) apply_effect(10 SECONDS, KNOCKDOWN, run_armor_check(affecting, MELEE)) + M.changeNext_move(1.6 SECONDS) apply_damage(M.alien_disarm_damage, STAMINA) add_attack_logs(M, src, "Alien tackled") visible_message("[M] has tackled down [src]!", "You hear aggressive shuffling!") diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 117d256420e..6de1b1b4d79 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -144,7 +144,8 @@ if(locate(/obj/item/grab, mob)) - delay += 7 + if(!isalienhunter(mob)) // i hate grab code + delay += 7 if(istype(living_mob)) var/newdir = NONE diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 01c719abfff..56935aae546 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -275,8 +275,21 @@ if(isalien(target)) knockdown = 0 nodamage = TRUE + if(isrobot(target)) + stun = 10 SECONDS . = ..() // Execute the rest of the code. +/obj/item/projectile/bullet/anti_alien_toxin + name = "neurotoxin spit" + icon_state = "neurotoxin" + damage = 15 // FRENDLY FIRE FRENDLY FIRE + damage_type = BURN + +/obj/item/projectile/bullet/anti_alien_toxin/on_hit(atom/target, blocked = 0) + if(isalien(target)) + stun = 10 SECONDS + . = ..() + /obj/item/projectile/bullet/cap name = "cap" damage = 0 diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index 6e081554cae..a211c2e69f0 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -206,6 +206,10 @@ msg += "[S.rarity]: New species discovered: \"[capitalize(S.species)]\". Excellent work.
" service_credits += S.rarity / 2 // That's right, no bonus for potency. Send a crappy sample first to "show improvement" later credits_to_deposit += S.rarity / 2 + + if(istype(thing, /obj/item/organ/internal/alien)) + var/obj/item/organ/internal/alien/organ = thing + credits_to_deposit += organ.cargo_profit qdel(MA) SSeconomy.sold_atoms += "." diff --git a/code/modules/surgery/organs/brain.dm b/code/modules/surgery/organs/brain.dm index f756a29f392..762fc793df6 100644 --- a/code/modules/surgery/organs/brain.dm +++ b/code/modules/surgery/organs/brain.dm @@ -38,16 +38,20 @@ if(isnull(dna)) // someone didn't set this right... stack_trace("[src] at [loc] did not contain a dna datum at time of removal.") dna = H.dna.Clone() - name = "\the [dna.real_name]'s [initial(src.name)]" + if(dna.real_name) + name = "\the [dna.real_name]'s [initial(name)]" + brainmob.name = dna.real_name + brainmob.real_name = dna.real_name + else + name = "\the [H.real_name]'s [initial(name)]" + brainmob.name = H.real_name + brainmob.real_name = H.real_name brainmob.dna = dna.Clone() // Silly baycode, what you do -// brainmob.dna = H.dna.Clone() Putting in and taking out a brain doesn't make it a carbon copy of the original brain of the body you put it in - brainmob.name = dna.real_name - brainmob.real_name = dna.real_name brainmob.timeofhostdeath = H.timeofdeath if(H.mind) H.mind.transfer_to(brainmob) - to_chat(brainmob, "You feel slightly disoriented. That's normal when you're just a [initial(src.name)].") + to_chat(brainmob, "You feel slightly disoriented. That's normal when you're just a [initial(name)].") /obj/item/organ/internal/brain/examine(mob/user) // -- TLE . = ..() diff --git a/code/modules/surgery/organs/subtypes/xenos.dm b/code/modules/surgery/organs/subtypes/xenos.dm index d69ef938b7e..98960fdd4b5 100644 --- a/code/modules/surgery/organs/subtypes/xenos.dm +++ b/code/modules/surgery/organs/subtypes/xenos.dm @@ -2,20 +2,51 @@ origin_tech = "biotech=5" icon_state = "xgibmid2" var/list/alien_powers = list() + var/list/human_powers = list() tough = TRUE sterile = TRUE + /// Amount of credits that will be received by selling this in the cargo shuttle + var/cargo_profit = 250 + /// Has this organ been hijacked? Can hijack via a hemostat + var/hijacked = FALSE /// This adds and removes alien spells upon addition, if a noncarbon tries to do this well... I blame adminbus /obj/item/organ/internal/alien/insert(mob/living/carbon/M, special = 0) ..() - for(var/powers_to_add in alien_powers) - M.AddSpell(new powers_to_add) + if(!hijacked) + for(var/powers_to_add in alien_powers) + M.AddSpell(new powers_to_add) + else + for(var/powers_to_add in human_powers) + M.AddSpell(new powers_to_add) /obj/item/organ/internal/alien/remove(mob/living/carbon/M, special = 0) - for(var/powers_to_remove in alien_powers) - M.RemoveSpell(new powers_to_remove) + if(!hijacked) + for(var/powers_to_remove in alien_powers) + M.RemoveSpell(new powers_to_remove) + else + for(var/powers_to_add in human_powers) + M.AddSpell(new powers_to_add) . = ..() +/obj/item/organ/internal/alien/examine(mob/user) + . = ..() + . += "Can be sold on the cargo shuttle for [cargo_profit] credits." + if(hijacked) + . += "This organ is hijacked, use a Hemostat on it to revert it to it's original function." + else + . += "You can hijack the latent functions of this organ by using a Hemostat on it." + +/obj/item/organ/internal/alien/attackby(obj/item/hemostat/item, mob/user, params) + if(istype(item)) + if(!hijacked) + to_chat(user, "You slice off the control node of this organ. This organ will now be effective against aliens.") + else + to_chat(user, "You reattach the control node of this organ. This organ will now be effective against those who attack the hive.") + hijacked = !hijacked + return + return ..() + /obj/item/organ/internal/alien/prepare_eat() var/obj/S = ..() S.reagents.add_reagent("sacid", 10) @@ -28,18 +59,18 @@ icon_state = "plasma" w_class = WEIGHT_CLASS_NORMAL origin_tech = "biotech=5;plasmatech=4" - parent_organ = "chest" slot = "plasmavessel" - alien_powers = list(/obj/effect/proc_holder/spell/alien_spell/plant_weeds, /obj/effect/proc_holder/spell/touch/alien_spell/transfer_plasma) + alien_powers = list(/obj/effect/proc_holder/spell/alien_spell/plant_weeds, /obj/effect/proc_holder/spell/alien_spell/transfer_plasma) + human_powers = list(/obj/effect/proc_holder/spell/alien_spell/syphon_plasma) - var/stored_plasma = 0 - var/max_plasma = 500 + var/stored_plasma = 100 + var/max_plasma = 300 var/heal_rate = 5 var/plasma_rate = 10 /obj/item/organ/internal/alien/plasmavessel/prepare_eat() var/obj/S = ..() - S.reagents.add_reagent("plasma", stored_plasma/10) + S.reagents.add_reagent("plasma", stored_plasma / 10) return S /obj/item/organ/internal/alien/plasmavessel/queen @@ -47,14 +78,12 @@ icon_state = "plasma_large" origin_tech = "biotech=6;plasmatech=4" stored_plasma = 200 - max_plasma = 500 plasma_rate = 25 /obj/item/organ/internal/alien/plasmavessel/drone name = "large xeno plasma vessel" icon_state = "plasma_large" stored_plasma = 200 - max_plasma = 500 /obj/item/organ/internal/alien/plasmavessel/sentinel stored_plasma = 100 @@ -63,16 +92,15 @@ /obj/item/organ/internal/alien/plasmavessel/hunter name = "small xeno plasma vessel" icon_state = "plasma_tiny" - stored_plasma = 100 - max_plasma = 150 - alien_powers = list(/obj/effect/proc_holder/spell/alien_spell/plant_weeds) + stored_plasma = 50 + max_plasma = 100 /obj/item/organ/internal/alien/plasmavessel/larva name = "tiny xeno plasma vessel" icon_state = "plasma_tiny" - max_plasma = 100 - alien_powers = list(/obj/effect/proc_holder/spell/alien_spell/plant_weeds) - + stored_plasma = 25 + max_plasma = 50 + cargo_profit = 150 /obj/item/organ/internal/alien/plasmavessel/on_life() //If there are alien weeds on the ground then heal if needed or give some plasma @@ -83,7 +111,7 @@ var/heal_amt = heal_rate if(!isalien(owner)) heal_amt *= 0.2 - owner.add_plasma((plasma_rate*0.5)) + owner.add_plasma((plasma_rate / 2)) owner.adjustBruteLoss(-heal_amt) owner.adjustFireLoss(-heal_amt) owner.adjustOxyLoss(-heal_amt) @@ -97,20 +125,17 @@ . =..() M.update_plasma_display(M) - /obj/item/organ/internal/alien/acidgland name = "xeno acid gland" icon_state = "acid" - parent_organ = "head" slot = "acid" origin_tech = "biotech=5;materials=2;combat=2" alien_powers = list(/obj/effect/proc_holder/spell/touch/alien_spell/corrosive_acid) - + human_powers = list(/obj/effect/proc_holder/spell/touch/alien_spell/burning_touch) /obj/item/organ/internal/alien/hivenode name = "xeno hive node" icon_state = "hivenode" - parent_organ = "head" slot = "hivenode" origin_tech = "biotech=5;magnets=4;bluespace=3" w_class = WEIGHT_CLASS_TINY @@ -133,24 +158,25 @@ /obj/item/organ/internal/alien/neurotoxin name = "xeno neurotoxin gland" icon_state = "neurotox" - parent_organ = "head" slot = "neurotox" origin_tech = "biotech=5;combat=5" alien_powers = list(/obj/effect/proc_holder/spell/alien_spell/neurotoxin) + human_powers = list(/obj/effect/proc_holder/spell/alien_spell/neurotoxin/death_to_xenos) /obj/item/organ/internal/alien/resinspinner - name = "xeno resin organ"//...there tiger.... - parent_organ = "mouth" + name = "xeno resin organ" icon_state = "liver-x" slot = "spinner" origin_tech = "biotech=5;materials=4" alien_powers = list(/obj/effect/proc_holder/spell/alien_spell/build_resin) + human_powers = list(/obj/effect/proc_holder/spell/touch/alien_spell/consume_resin) /obj/item/organ/internal/alien/eggsac name = "xeno egg sac" icon_state = "eggsac" - parent_organ = "groin" slot = "eggsac" w_class = WEIGHT_CLASS_BULKY origin_tech = "biotech=6" alien_powers = list(/obj/effect/proc_holder/spell/alien_spell/plant_weeds/eggs) + human_powers = list(/obj/effect/proc_holder/spell/alien_spell/combust_facehuggers) + cargo_profit = 1000 diff --git a/icons/mob/alien.dmi b/icons/mob/alien.dmi index 15631f719dbc4def003ec1d6aa2479d7f0fa4044..aa921ea13437af798e1a9e83ba463e9d64b6aa0b 100644 GIT binary patch literal 83211 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:?$TqfNXzKpd0>fTf~(}V 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 RG6?vRmsXZ4l`#DFe*oOl^A!L9 literal 74965 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⪼_ck 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 QFcsxOXy~aIsagd8534u*qyPW_ diff --git a/paradise.dme b/paradise.dme index ef10a3ef4d1..742bfa526f9 100644 --- a/paradise.dme +++ b/paradise.dme @@ -568,6 +568,7 @@ #include "code\datums\spells\alien_spells\plasma_weeds.dm" #include "code\datums\spells\alien_spells\queen_evolve.dm" #include "code\datums\spells\alien_spells\regurgitate.dm" +#include "code\datums\spells\alien_spells\tail_lash.dm" #include "code\datums\spells\alien_spells\transfer_plasma.dm" #include "code\datums\spells\alien_spells\whisper.dm" #include "code\datums\station_traits\_station_trait.dm"