Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New facehugger strain: Watcher #3726

Merged
merged 24 commits into from
Sep 19, 2023
Merged
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
3a262fe
New hugger strain: Watcher
Hopekz Jun 26, 2023
ba62ec4
Fuck it we set it to 3 for the TM
Hopekz Jun 26, 2023
44674a8
Update code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm
Hopekz Jun 26, 2023
cae6a67
Better to be too little then go up imo
Hopekz Jun 26, 2023
63d0e07
Morrow's word is law
Hopekz Jun 28, 2023
9d5a468
Start at the higher value then lower if needed
Hopekz Jun 30, 2023
9a49da5
Changes the activation to an icon
Hopekz Jul 13, 2023
4000ae3
Fixes hiding exploit for watcher
Hopekz Jul 13, 2023
e3c29a4
Watcher no longer takes damage over time
Hopekz Jul 13, 2023
2471da4
Adds my codesprite to the watcher
Hopekz Jul 17, 2023
6cab973
Merge remote-tracking branch 'upstream/master' into hugger_strain
Hopekz Jul 24, 2023
f2d6742
Merge remote-tracking branch 'upstream/master' into hugger_strain
Hopekz Jul 25, 2023
27e5a79
Merge conflict cleanup
Hopekz Jul 25, 2023
e3af212
cleaning up merge conflict part 2
Hopekz Jul 25, 2023
29eca54
Update Facehugger.dm
Hopekz Jul 25, 2023
e705960
Update Facehugger.dm
Hopekz Jul 25, 2023
cb77408
found it thanks harry
Hopekz Jul 25, 2023
6e22cda
wtf was that
Hopekz Jul 25, 2023
03b2cb5
part 2
Hopekz Jul 25, 2023
2c003c4
Harry said MOB_LAYER will work
Hopekz Jul 25, 2023
4338043
Makes the watcher animations less goofy
Hopekz Jul 25, 2023
aa83fa0
Update code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm
Hopekz Jul 31, 2023
554bc58
Update code/__DEFINES/mobs.dm
Hopekz Jul 31, 2023
f61c864
Removes Watcher sprite
Hopekz Sep 18, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,10 @@
// Queen strain flags
#define QUEEN_NORMAL "Normal"

// Queen strain flags
Hopekz marked this conversation as resolved.
Show resolved Hide resolved
#define FACEHUGGER_NORMAL "Normal"
#define FACEHUGGER_WATCHER "Watcher"

// Drone strain flags
#define DRONE_NORMAL "Normal"
#define DRONE_HEALER "Healer"
Expand Down
38 changes: 35 additions & 3 deletions code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm
Original file line number Diff line number Diff line change
Expand Up @@ -67,13 +67,13 @@
PF.flags_can_pass_all = PASS_ALL^PASS_OVER_THROW_ITEM

/mob/living/carbon/xenomorph/facehugger/Life(delta_time)
if(stat != DEAD && !lying && !(mutation_type == FACEHUGGER_WATCHER) && !(locate(/obj/effect/alien/weeds) in get_turf(src)))
adjustBruteLoss(1)
return
Hopekz marked this conversation as resolved.
Show resolved Hide resolved
Hopekz marked this conversation as resolved.
Show resolved Hide resolved
if(!client && !aghosted && away_timer > XENO_FACEHUGGER_LEAVE_TIMER)
// Become a npc once again
new /obj/item/clothing/mask/facehugger(loc, hivenumber)
qdel(src)
return
if(stat != DEAD && !lying && !(locate(/obj/effect/alien/weeds) in get_turf(src)))
adjustBruteLoss(1)
return ..()

/mob/living/carbon/xenomorph/facehugger/update_icons(is_pouncing)
Expand Down Expand Up @@ -217,3 +217,35 @@
. += "Lifetime Hugs: [total_facehugs] / [next_facehug_goal]"
else
. += "Lifetime Hugs: [total_facehugs]"


/datum/xeno_mutator/watcher
name = "STRAIN: Facehugger - Watcher"
description = "You lose your ability to hide in exchange to see further and the ability to no longer take damage outside of weeds. This enables you to stalk your host from a distance and wait for the perfect oppertunity to strike."
flavor_description = "No need to hide when you can see the danger."
individual_only = TRUE
caste_whitelist = list(XENO_CASTE_FACEHUGGER)
mutator_actions_to_remove = list(
/datum/action/xeno_action/onclick/xenohide,
)
mutator_actions_to_add = list(
/datum/action/xeno_action/onclick/toggle_long_range/runner,
)

cost = 1

keystone = TRUE

/datum/xeno_mutator/watcher/apply_mutator(datum/mutator_set/individual_mutators/mutator_set)
. = ..()
if(!.)
return

var/mob/living/carbon/xenomorph/facehugger/facehugger = mutator_set.xeno

facehugger.viewsize = 10
facehugger.layer = MOB_LAYER

facehugger.mutation_type = FACEHUGGER_WATCHER
mutator_update_actions(facehugger)
mutator_set.recalculate_actions(description, flavor_description)
Binary file modified icons/mob/xenos/facehugger.dmi
Binary file not shown.