Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
06adae4
Update aliens.dm
Kocma-san Mar 4, 2025
f37122e
queen sсreech
Kocma-san Mar 7, 2025
e6b71cc
fix
Kocma-san Mar 8, 2025
ce640f8
remove NOVA one more time
Kocma-san Mar 8, 2025
28a8ea8
Я зачем-то вынес все способности и органы в отдельные файлы... Зачем?…
Kocma-san Mar 8, 2025
c4a49fa
Коментики + чуток новая структура модуля
Kocma-san Mar 8, 2025
ce6f794
И основа для увеличения урона по мехам
Kocma-san Mar 8, 2025
ec7c320
Oops, i forgor this
Kocma-san Mar 8, 2025
e35f031
Еще более глупый урон по мехам
Kocma-san Mar 8, 2025
ccb2422
silly me
Kocma-san Mar 8, 2025
4754766
acid and neurotox gland redo
Kocma-san Mar 9, 2025
0e74759
new multiplier for burn damage
Kocma-san Mar 9, 2025
101bdc4
small resin heal balance
Kocma-san Mar 9, 2025
913782b
charge redo
Kocma-san Mar 12, 2025
8f313f4
remove damage mult
Kocma-san Mar 12, 2025
da68742
Update alien_powers.dm
Kocma-san Mar 12, 2025
75759e3
restig balance + ravager charge balance
Kocma-san Mar 12, 2025
01e4293
hud change
Kocma-san Mar 12, 2025
925c9e4
Merge remote-tracking branch 'upstream/master' into xeno-rebalance
Kocma-san Mar 13, 2025
95baccc
code readability things
Kocma-san Mar 13, 2025
a44d593
comments change
Kocma-san Mar 13, 2025
e368bd3
xenos cant touch dead people now
Kocma-san Mar 13, 2025
b832932
Подготовка к грядущему мердж конфликту
Kocma-san Mar 13, 2025
a1acb08
remove unused thing
Kocma-san Mar 13, 2025
2b6ce17
tails can damage mecha
Kocma-san Mar 15, 2025
b884ec1
Merge remote-tracking branch 'upstream/master' into xeno-rebalance
Kocma-san Mar 15, 2025
464bdc1
some changes
Kocma-san Mar 20, 2025
88194da
Merge branch 'master' into pr/5489
Iajret Mar 21, 2025
14c6c70
Merge branch 'xeno-rebalance' of https://github.com/Kocma-san/FluffyS…
Kocma-san Mar 22, 2025
cfa25cb
more changes
Kocma-san Mar 23, 2025
77f39ad
Update _xeno_defines.dm
Kocma-san Mar 23, 2025
53af5bb
80mm mortar on the station???
Kocma-san Mar 24, 2025
b437606
Merge remote-tracking branch 'upstream/master' into xeno-rebalance
Kocma-san Mar 24, 2025
87d90b7
Update rangefinder.dm
Kocma-san Mar 24, 2025
37ea342
changes
Kocma-san Mar 25, 2025
db452c4
Update rangefinder.dm
Kocma-san Mar 25, 2025
e4c7cf8
Update tgstation.dme
Kocma-san Mar 25, 2025
acdeaf0
Update alien_powers.dm
Kocma-san Mar 26, 2025
9cde877
powers update
Kocma-san Mar 26, 2025
deb90c0
changes
Kocma-san Mar 26, 2025
bb0f4c6
midule rearrangment
Kocma-san Mar 26, 2025
c17cdbb
mortar things
Kocma-san Mar 26, 2025
51db7aa
mrt
Kocma-san Mar 26, 2025
e7dd8b5
Update mortars.dm
Kocma-san Mar 26, 2025
e7fce3f
warrior removal
Kocma-san Mar 27, 2025
30f561e
fixes
Kocma-san Mar 27, 2025
ed5575d
Update readme.md
Kocma-san Mar 27, 2025
d013aa8
triple charge removal
Kocma-san Mar 27, 2025
7e8a337
changes
Kocma-san Mar 27, 2025
d3f2ea0
mortar things
Kocma-san Mar 27, 2025
f700ddb
fix
Kocma-san Mar 27, 2025
bd1f666
changes
Kocma-san Mar 30, 2025
e3d8d7d
weh
Kocma-san Mar 30, 2025
deabc42
Merge remote-tracking branch 'upstream/master' into xeno-rebalance
Kocma-san Mar 30, 2025
67bae0a
changes
Kocma-san Mar 31, 2025
c3b168b
Update fire_spread.dm
Kocma-san Mar 31, 2025
225c3fb
mortar remove
Kocma-san Apr 12, 2025
bc8bfd5
comments
Kocma-san Apr 12, 2025
8876ef6
Merge remote-tracking branch 'upstream/master' into xeno-rebalance
Kocma-san Apr 12, 2025
7fb17d7
fixing my silly decisions
Kocma-san Apr 12, 2025
93f86fe
test for tests
Kocma-san Apr 12, 2025
222be09
silly me (again)
Kocma-san Apr 12, 2025
f7d19a7
Ура, мне разрешили использовать эту штуку
Kocma-san Apr 12, 2025
be2029e
еще вот это
Kocma-san Apr 12, 2025
2919469
some changes
Kocma-san Apr 12, 2025
61986cc
i do this but dont know why
Kocma-san Apr 13, 2025
bf6a4f5
juggling numbers & fixes & tackle for rav
Kocma-san Apr 13, 2025
220aea3
spit update
Kocma-san Apr 13, 2025
a752729
spit cooldown feedback
Kocma-san Apr 13, 2025
40f0ac4
want a hug?
Kocma-san Apr 13, 2025
05e94a4
Merge remote-tracking branch 'upstream/master' into xeno-rebalance
Kocma-san Apr 13, 2025
4438d62
temporary_thing
Kocma-san Apr 13, 2025
db4b520
Merge remote-tracking branch 'upstream/master' into xeno-rebalance
Kocma-san Apr 17, 2025
89229f7
bugfixes + qol + code things
Kocma-san Apr 17, 2025
bfd7be6
Почему это осталось...
Kocma-san Apr 17, 2025
566d79f
little changes
Kocma-san Apr 19, 2025
1973035
Delete Mortar.tsx
Kocma-san Apr 19, 2025
523ea31
code improvements
Kocma-san Apr 19, 2025
3c5eb88
Merge remote-tracking branch 'upstream/master' into xeno-rebalance
Kocma-san Apr 20, 2025
6155950
Merge remote-tracking branch 'upstream/master' into xeno-rebalance
Kocma-san Jun 18, 2025
4d14567
small
Kocma-san Jun 18, 2025
d778ef3
Update larva.dm
Kocma-san Jun 18, 2025
edb8822
Update base_alien.dm
Kocma-san Jun 18, 2025
f3c341b
meow
Kocma-san Jun 18, 2025
2be2b0f
Update larva.dm
Kocma-san Jun 18, 2025
3d3dc8a
bweh
Kocma-san Jun 18, 2025
dcf114e
Merge remote-tracking branch 'upstream/master' into xeno-rebalance
Kocma-san Sep 12, 2025
767afcf
one step closer to the end
Kocma-san Sep 13, 2025
17c21d6
minor changes
Kocma-san Sep 17, 2025
a0a4272
Merge remote-tracking branch 'upstream/master' into xeno-rebalance
Kocma-san Oct 7, 2025
5a16899
test
Kocma-san Oct 7, 2025
0d2664c
add armor, reduce hp
Kocma-san Oct 7, 2025
bb45329
things
Kocma-san Nov 16, 2025
724732f
Merge remote-tracking branch 'upstream/master' into xeno-rebalance
Kocma-san Nov 16, 2025
638f929
Merge remote-tracking branch 'upstream/master' into xeno-rebalance
Kocma-san Nov 16, 2025
f7ef022
things 2
Kocma-san Nov 16, 2025
73830bd
Update queen.dm
Kocma-san Nov 16, 2025
7b276d5
Update tgmc_alien_event.dm
Kocma-san Nov 16, 2025
10cdae9
things 3
Kocma-san Nov 16, 2025
5581328
q
Kocma-san Nov 17, 2025
5d80f74
again things
Kocma-san Nov 17, 2025
ab0a8a7
hud for xeno
Kocma-san Nov 17, 2025
e21600a
Update tgstation.dme
Kocma-san Nov 17, 2025
30a1b7b
remove unused thing
Kocma-san Nov 18, 2025
06947c3
Update base_alien.dm
Kocma-san Nov 18, 2025
a7e9a23
again things 2
Kocma-san Nov 18, 2025
24bc5b4
Revert "test"
Kocma-san Nov 18, 2025
0625a44
test version of modular huds
Kocma-san Nov 18, 2025
ee0f2b3
hud fixes
Kocma-san Nov 18, 2025
abec370
t
Kocma-san Nov 20, 2025
e7059ec
Update whiteship_xeno.dmm
Kocma-san Nov 20, 2025
03b21d3
Update xeno_shuttle.dm
Kocma-san Nov 20, 2025
ab30135
t
Kocma-san Nov 21, 2025
4e1b435
q
Kocma-san Nov 30, 2025
cff74eb
last thing
Kocma-san Dec 28, 2025
f8d8181
last (true)
Kocma-san Dec 28, 2025
62b5bf9
final movement
Kocma-san Dec 28, 2025
91414e3
xenohud fix
Kocma-san Dec 28, 2025
fd6c989
Update tgmc_alien_event.dm
Kocma-san Dec 28, 2025
da74d4f
hud
Kocma-san Dec 28, 2025
28b0af2
Update code.dm
Kocma-san Dec 28, 2025
e9731f8
q
Kocma-san Dec 29, 2025
9713c72
Merge remote-tracking branch 'upstream/master' into xeno-rebalance
Kocma-san Dec 29, 2025
4150a52
Update mob.dm
Kocma-san Dec 29, 2025
9f2eca1
Update code.dm
Kocma-san Dec 30, 2025
864c068
remove "modular" huds
Kocma-san Dec 30, 2025
8ecc105
Update hud.dm
Kocma-san Dec 30, 2025
72b01a7
Update xeno_hud.dm
Kocma-san Dec 30, 2025
f2738d4
t
Kocma-san Dec 30, 2025
eb28095
wehs
Kocma-san Dec 31, 2025
766e48c
Merge remote-tracking branch 'upstream/master' into xeno-rebalance
Kocma-san Jan 2, 2026
5a2217a
fix damage procs
Kocma-san Jan 2, 2026
c68a6fb
Merge remote-tracking branch 'upstream/master' into xeno-rebalance
Kocma-san Feb 7, 2026
3db6992
last
Kocma-san Feb 7, 2026
b0fd2fe
bleh
Kocma-san Feb 7, 2026
823cc99
blepweh
Kocma-san Feb 7, 2026
f917ca2
Update attack_prevent_element.dm
Kocma-san Feb 9, 2026
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
1,468 changes: 1,468 additions & 0 deletions _maps/shuttles/fluffy/whiteship_xeno.dmm

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions code/__DEFINES/atom_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@
/// If they have the DNR trait
#define DNR_HUD "27"
// NOVA EDIT ADDITION END
// FLUFFY FRONTIER ADDITION START
#define XENO_HUD "30"
#define XENOPLASMA_HUD "31"
// FLUFFY FRONTIER ADDITION END

//by default everything in the hud_list of an atom is an image
//a value in hud_list with one of these will change that behavior
Expand All @@ -74,6 +78,7 @@
#define DATA_HUD_FAN 9
#define DATA_HUD_MALF_APC 10
#define DATA_HUD_PERMIT 11 //NOVA EDIT ADDITION
#define DATA_HUD_XENO (DATA_HUD_PERMIT + 1) // FLUFFY FRONTIER ADDITION

/// cooldown for being shown the images for any particular data hud
#define ADD_HUD_TO_COOLDOWN 20
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/~ff_defines/signals.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
// on call adjustPlasma() proc
#define COMSIG_XENO_PLASMA_ADJUSTED "plasma_adjusted"
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
// xeno traits
/// Trait source for xeno innate abilities
#define TRAIT_XENO_INNATE "xeno_innate"
/// Trait source for something added BY a xeno ability
#define TRAIT_XENO_ABILITY_GIVEN "xeno_ability_given"
/// Determines if something can receive healing from a xeno
#define TRAIT_XENO_HEAL_AURA "trait_xeno_heal_aura"
/// Trait source for traits added by fortify ability
#define TRAIT_XENO_FORTIFY "xeno_fortify"
#define TRAIT_XENO_HUD "xeno_hud"
11 changes: 11 additions & 0 deletions code/__HELPERS/~ff_helpers/is_helpers.dm
Original file line number Diff line number Diff line change
@@ -1 +1,12 @@
// Nubbers
#define isnabber(A) (is_species(A, /datum/species/nabber))

// TGMC Xenomorph
#define istgmcalien(A) (istype(A, /mob/living/carbon/alien/adult/tgmc))
#define istgmcalienqueen(A) (istype(A, /mob/living/carbon/alien/adult/tgmc/queen))
#define istgmcalienpraetorian(A) (istype(A, /mob/living/carbon/alien/adult/tgmc/praetorian))
#define istgmcalienravager(A) (istype(A, /mob/living/carbon/alien/adult/tgmc/ravager))
#define istgmcaliencrusher(A) (istype(A, /mob/living/carbon/alien/adult/tgmc/crusher))
#define istgmcalienspitter(A) (istype(A, /mob/living/carbon/alien/adult/tgmc/spitter))

#define istgmcalientier2(A) (istgmcalienpraetorian(A) || istgmcalienravager(A) || istgmcaliencrusher(A) || istgmcalienspitter(A))
1 change: 1 addition & 0 deletions code/_globalvars/traits/_traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -919,6 +919,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_XENO_ABILITY_GIVEN" = TRAIT_XENO_ABILITY_GIVEN,
"TRAIT_XENO_HEAL_AURA" = TRAIT_XENO_HEAL_AURA,
"TRAIT_XENO_INNATE" = TRAIT_XENO_INNATE,
"TRAIT_XENO_HUD" = TRAIT_XENO_HUD,
),
// FLUFFY FRONTIER ADDITION END
))
Expand Down
1 change: 1 addition & 0 deletions code/_globalvars/traits/admin_tooling.dm
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list(
"TRAIT_XENO_ABILITY_GIVEN" = TRAIT_XENO_ABILITY_GIVEN,
"TRAIT_XENO_HEAL_AURA" = TRAIT_XENO_HEAL_AURA,
"TRAIT_XENO_INNATE" = TRAIT_XENO_INNATE,
"TRAIT_XENO_HUD" = TRAIT_XENO_HUD,
),
// FLUFFY FRONTIER ADDITION END
))
Expand Down
2 changes: 2 additions & 0 deletions code/datums/hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ GLOBAL_ALIST_INIT(huds, alist(
DATA_HUD_FAN = new /datum/atom_hud/data/human/fan_hud(),
DATA_HUD_MALF_APC = new /datum/atom_hud/data/malf_apc(),
DATA_HUD_PERMIT = new/datum/atom_hud/data/human/permit(), // NOVA EDIT ADDITION
DATA_HUD_XENO = new /datum/atom_hud/data/xeno(), // FLUFFY FRONTIER ADDITION
))

/// Assoc list of traits to the huds they give.
Expand All @@ -33,6 +34,7 @@ GLOBAL_LIST_INIT(trait_to_hud, list(
TRAIT_SECURITY_HUD = DATA_HUD_SECURITY_ADVANCED,
TRAIT_SECURITY_HUD_ID_ONLY = DATA_HUD_SECURITY_BASIC,
TRAIT_PERMIT_HUD = DATA_HUD_PERMIT, // NOVA EDIT ADDITION
TRAIT_XENO_HUD = DATA_HUD_XENO, // FLUFFY FRONTIER ADDITION
))

/// Assoc list of traits that block other traits' huds to list of hud (traits) that they block
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
owner.add_overlay(overlay)

var/atom/xeno_loc = get_turf(owner)
var/mob/living/carbon/alien/larva/new_xeno = new larva_path(xeno_loc) // FLUFFY FRONTIER EDIT - TGMC XENOS. ORIGINAL: var/mob/living/carbon/alien/larva/new_xeno = new(xeno_loc)
var/mob/living/carbon/alien/larva/new_xeno = new larva_path(xeno_loc) // FLUFFY FRONTIER EDIT - TGMC_XENOS. ORIGINAL: var/mob/living/carbon/alien/larva/new_xeno = new(xeno_loc)
new_xeno.PossessByPlayer(ghost.key)
SEND_SOUND(new_xeno, sound('sound/mobs/non-humanoids/hiss/hiss5.ogg',0,0,0,100)) //To get the player's attention
new_xeno.add_traits(list(TRAIT_HANDS_BLOCKED, TRAIT_IMMOBILIZED, TRAIT_NO_TRANSFORM), type) //so we don't move during the bursting animation
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/human/human_defense.dm
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@
apply_damage(damage, BRUTE, affecting, run_armor_check(affecting, MELEE))
return TRUE

// FLUFFY FRONTIER EDIT BEGIN: TGMC_XENOS - moved to: tff_modular\modules\tgmc_xenos\code\human_defense.dm
// FLUFFY FRONTIER EDIT BEGIN: TGMC_XENOS - moved to: tff_modular\modules\tgmc_xenos\code\defense\human_defense.dm
/*
/mob/living/carbon/human/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers)
. = ..()
Expand Down
9 changes: 9 additions & 0 deletions code/modules/vehicles/mecha/_mecha.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1024,6 +1024,15 @@

/obj/vehicle/sealed/mecha/proc/melee_attack_effect(mob/living/victim, heavy)
if(heavy)
// FLUFFY FRONTIER ADDITION START - TGMC_XENOS - Это нужно реворкнуть на апстриме
if(istgmcalien(victim))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Что насчет того, чтобы сделать так. Добавить в /mob/proc/after_mech_attack(), после чего вызывать этот прок от сюда. При этом ты можешь завернуть - это модульно.

var/mob/living/carbon/alien/adult/tgmc/tgmc_alien = victim
if(tgmc_alien.resist_heavy_hits)
if(health_percentage(tgmc_alien) >= 35)
return
if(!prob(50)) // 50% что при ударе по ослабленному ксеносу - он упадет в бессознательное состояние
return
// FLUFFY FRONTIER ADDITION END
victim.Unconscious(2 SECONDS)
else
victim.Knockdown(4 SECONDS)
12 changes: 8 additions & 4 deletions tff_modular/modules/custom_huds/code/huds.dm
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
GLOBAL_VAR_INIT(merged_huds, merge_huds())

/proc/merge_huds()
var/icon/huds = new('modular_nova/master_files/icons/mob/huds/hud.dmi')
var/icon/ff_huds = new('tff_modular/modules/custom_huds/icons/hud.dmi')
var/icon/huds = icon('modular_nova/master_files/icons/mob/huds/hud.dmi')
var/list/icon/additional_huds = list(
icon('tff_modular/modules/custom_huds/icons/hud.dmi'),
icon('tff_modular/modules/tgmc_xenos/icons/xeno_hud.dmi'),
)

for(var/state in icon_states(ff_huds))
huds.Insert(icon(ff_huds, state), state)
for(var/icon/hud in additional_huds)
for(var/state in icon_states(hud))
huds.Insert(icon(hud, state), state)
return huds
27 changes: 27 additions & 0 deletions tff_modular/modules/custom_huds/code/huds_for_ghosts.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
GLOBAL_LIST_INIT(additional_observer_huds, list(
TRAIT_XENO_HUD,
))
GLOBAL_LIST_INIT(additional_combo_huds, list(
TRAIT_XENO_HUD,
))

/client/enable_combo_hud()
if(combo_hud_enabled)
return
mob.add_traits(GLOB.additional_combo_huds, ADMIN_TRAIT)
return ..()

/client/disable_combo_hud()
if(!combo_hud_enabled)
return
mob.remove_traits(GLOB.additional_combo_huds, ADMIN_TRAIT)
return ..()

/mob/dead/observer/show_data_huds()
. = ..()
add_traits(GLOB.additional_observer_huds, REF(src))

/mob/dead/observer/remove_data_huds()
. = ..()
remove_traits(GLOB.additional_observer_huds, REF(src))

14 changes: 0 additions & 14 deletions tff_modular/modules/tgmc_xenos/code/alien_egg.dm

This file was deleted.

172 changes: 172 additions & 0 deletions tff_modular/modules/tgmc_xenos/code/base_alien.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
/// TGMC_XENOS (old nova sector xenos)

/mob/living/carbon/alien/adult/tgmc
name = "rare bugged alien"
icon = 'tff_modular/modules/tgmc_xenos/icons/big_xenos.dmi'
hud_possible = list(ANTAG_HUD, XENO_HUD, XENOPLASMA_HUD)
rotate_on_lying = FALSE
base_pixel_w = -16
layer = LARGE_MOB_LAYER //above most mobs, but below speechbubbles
maptext_height = 64
maptext_width = 64
pressure_resistance = 200

armor_type = /datum/armor/tgmc_xeno

bodyparts = list(
/obj/item/bodypart/chest/alien/tgmc,
/obj/item/bodypart/head/alien/tgmc,
/obj/item/bodypart/arm/left/alien/tgmc,
/obj/item/bodypart/arm/right/alien/tgmc,
/obj/item/bodypart/leg/right/alien/tgmc,
/obj/item/bodypart/leg/left/alien/tgmc,
)

default_organ_types_by_slot = list(
ORGAN_SLOT_BRAIN = /obj/item/organ/brain/alien,
ORGAN_SLOT_XENO_HIVENODE = /obj/item/organ/alien/hivenode,
ORGAN_SLOT_TONGUE = /obj/item/organ/tongue/alien,
ORGAN_SLOT_EYES = /obj/item/organ/eyes/alien/tgmc,
ORGAN_SLOT_LIVER = /obj/item/organ/liver/alien,
ORGAN_SLOT_EARS = /obj/item/organ/ears,
ORGAN_SLOT_STOMACH = /obj/item/organ/stomach/alien,
)

/// What icon file update_held_items will look for when making inhands for xenos
var/alt_inhands_file = 'tff_modular/modules/tgmc_xenos/icons/big_xenos.dmi'
/// Setting this will give a xeno generic_evolve set to evolve them into this type
var/next_evolution
/// Keeps track of if a xeno has evolved recently, if so then we prevent them from evolving until that time is up
var/has_evolved_recently = FALSE
/// How long xenos should be unable to evolve after recently evolving
var/evolution_cooldown_time = 90 SECONDS
/// Determines if a xeno is unable to use abilities
var/unable_to_use_abilities = FALSE
/// Все дополнительные органы, что должны находиться в телах ксеносов
var/list/additional_organ_types_by_slot

// Оффсет для огня
var/fire_offset_x = 16
var/fire_offset_y = 0

// АП при атаке по мехам
var/mecha_armor_penetration = 10
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я бы поднял до 30 как базовом уровне, ксенов и так бьют мехи

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я бы поднял до 30 как базовом уровне, ксенов и так бьют мехи

30 АП? Это немало...
Мехи все еще должны оставаться главной контрмерой для ксенов

// Способность выдержать тяжелые удары мехов и не потерять сознание
var/resist_heavy_hits = FALSE

// Включен ли в данный момент фортифай
var/fortify = FALSE

// Может ли переносить хагов
var/can_hold_facehuggers = FALSE

/mob/living/carbon/alien/adult/tgmc/Initialize(mapload)
. = ..()
real_name = "alien [caste]"

update_offsets() // Необходимо, чтобы base_pixel_w применился
set_armor(armor_type)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Советую добавить сюда же,
AddElement(/datum/element/prevent_attacking_of_types, GLOB.typecache_general_bad_hostile_attack_targets, "this tastes awful!")

Это уберет атаку по АПЦ, Алярмам.. и т.п.

var/datum/atom_hud/data/xeno/xeno_hud = GLOB.huds[DATA_HUD_XENO]
xeno_hud.add_atom_to_hud(src)

if(next_evolution)
GRANT_ACTION(/datum/action/cooldown/alien/tgmc/generic_evolve)

add_traits(list(TRAIT_XENO_HEAL_AURA, TRAIT_PIERCEIMMUNE, TRAIT_XENO_HUD), TRAIT_XENO_INNATE)
AddElement(/datum/element/resin_walker, /datum/movespeed_modifier/resin_speedup)
AddElement(/datum/element/prevent_xeno_attacking_of_types, GLOB.typecache_general_bad_hostile_attack_targets, "this tastes awful!")
AddComponent(/datum/component/seethrough_mob)

/mob/living/carbon/alien/adult/tgmc/create_internal_organs()
if(additional_organ_types_by_slot)
for(var/slot in additional_organ_types_by_slot)
default_organ_types_by_slot[slot] = additional_organ_types_by_slot[slot]
return ..()

/mob/living/carbon/alien/adult/tgmc/UnarmedAttack(atom/attack_target, proximity_flag, list/modifiers)
if(body_position == LYING_DOWN) // Лежим - значит отдыхаем. Никакой войны во время отдыха
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Почему? А что ты прикажешь делать ксеносам под огнем на подавление? Все тактика атаки лежа, весьма сильная.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Почему? А что ты прикажешь делать ксеносам под огнем на подавление? Все тактика атаки лежа, весьма сильная.

Потому что хил большой при лежании. Да и у них даже текстурка не выглядит так, будто они могут из такого положения кого-то бить

to_chat(src, span_warning("You can't do that in this position!"))
return FALSE
if(fortify)
to_chat(src, span_warning("You can't do that in this position!"))
return FALSE
if(ishuman(attack_target))
var/mob/living/carbon/human/target = attack_target
if(target.stat == DEAD)
to_chat(src, span_warning("[target] is dead, why would you want to touch it?"))
return FALSE
return ..()

/mob/living/carbon/alien/adult/tgmc/death(gibbed)
. = ..()
xeno_hud_set_plasma()

/mob/living/carbon/alien/adult/tgmc/set_resting(new_resting, silent = TRUE, instant = FALSE)
if(fortify)
balloon_alert(src, "Cannot while fortified")
return FALSE
return ..()

/mob/living/carbon/alien/adult/tgmc/on_lying_down(new_lying_angle)
. = ..()
add_movespeed_modifier(/datum/movespeed_modifier/tgmc_alien_sleeping)

/mob/living/carbon/alien/adult/tgmc/on_standing_up()
. = ..()
remove_movespeed_modifier(/datum/movespeed_modifier/tgmc_alien_sleeping)

/datum/movespeed_modifier/tgmc_alien_sleeping
multiplicative_slowdown = 8

/mob/living/carbon/alien/adult/tgmc/getarmor(def_zone, type)
return get_armor_rating(type)

/datum/armor/tgmc_xeno
acid = 100
bio = 100
bomb = 0
bullet = 0
consume = 0
energy = 0
laser = 0
fire = 0
melee = 0
wound = 100

/mob/living/carbon/alien/adult/tgmc/get_fire_overlay(stacks, on_fire)
var/fire_icon = "generic_fire"

if(!GLOB.fire_appearances[fire_icon])
var/mutable_appearance/new_fire_overlay = mutable_appearance(
'icons/mob/effects/onfire.dmi',
fire_icon,
-HIGHEST_LAYER,
appearance_flags = RESET_COLOR,
)
var/matrix/M = matrix(fire_offset_x, fire_offset_y, MATRIX_TRANSLATE)
new_fire_overlay.transform = M
GLOB.fire_appearances[fire_icon] = new_fire_overlay

return GLOB.fire_appearances[fire_icon]

/mob/living/carbon/alien/adult/tgmc/add_shared_particles(particle_type, custom_key, particle_flags, pool_size)
. = ..()
var/obj/particle_holder = .
particle_holder.pixel_x = fire_offset_x
particle_holder.pixel_y = fire_offset_y

/mob/living/carbon/alien/adult/tgmc/prepare_data_huds()
. = ..()
xeno_hud_set_plasma()

/mob/living/carbon/proc/get_max_plasma()
var/obj/item/organ/alien/plasmavessel/vessel = get_organ_by_type(/obj/item/organ/alien/plasmavessel)
if(isnull(vessel))
return 0
return vessel.max_plasma

/mob/living/carbon/alien/adult/tgmc/adjustPlasma(amount)
. = ..()
if(.)
SEND_SIGNAL(src, COMSIG_XENO_PLASMA_ADJUSTED, amount)
Loading
Loading