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

Xeno Mutations/Personal Upgrades #16711

Closed
wants to merge 112 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
02afac8
screen alert sprites
Runian Oct 28, 2024
510f5a5
xeno building sprites
Runian Oct 28, 2024
76ff07b
map blips sprite (resized)
Runian Oct 28, 2024
3d8d759
buyable icons sprites
Runian Oct 28, 2024
fff3169
define signals
Runian Oct 28, 2024
442f12e
define movespeed modification
Runian Oct 28, 2024
efe366e
upgrade_chambers.dm initial
Runian Oct 28, 2024
4ed1135
hive datum initial
Runian Oct 28, 2024
7fc2297
grammar / comment changes
Runian Oct 28, 2024
ceebcd2
define biomass
Runian Oct 28, 2024
dac3515
carry over biomass over evo
Runian Oct 28, 2024
ead6f83
status effects
Runian Oct 28, 2024
76e59f2
define xeno upgrades
Runian Oct 28, 2024
da8450e
define status effects
Runian Oct 28, 2024
38e6fe0
drain/cocoon give biomass
Runian Oct 28, 2024
7f12b3b
hive upgrades
Runian Oct 28, 2024
dff2362
upgrade menu / topics
Runian Oct 28, 2024
d091ed5
missing status effect (upgrade_carapace)
Runian Oct 28, 2024
bfbce44
we dont have DEFILER_ACID
Runian Oct 28, 2024
86b0ee3
flags_upgrade -> gamemode_flags
Runian Oct 28, 2024
75a3300
untab
Runian Oct 28, 2024
ff86716
correct image path
Runian Oct 28, 2024
6243f17
build below
Runian Oct 28, 2024
aadd644
typo
Runian Oct 28, 2024
84e5796
regen phero does not increase plasma regen
Runian Oct 28, 2024
d063ba3
unused selectable
Runian Oct 28, 2024
af60348
reduce to 1-3 from 2-4
Runian Oct 28, 2024
bb17a75
typo
Runian Oct 28, 2024
32b70b3
Merge branch 'master' into xeno-scale-structures
Runian Oct 28, 2024
525fce6
chamber building costs increase by 100
Runian Oct 29, 2024
286fff2
up biomass cost by 5
Runian Oct 29, 2024
90f4db1
carapace: 5 -> 2.5
Runian Oct 29, 2024
33cad2c
regeneration rework -> less health, but on life cycle
Runian Oct 29, 2024
c27fe83
typo
Runian Oct 29, 2024
1c94a40
forgot to return true
Runian Oct 29, 2024
593069a
does not require any regen power
Runian Oct 29, 2024
65ec725
even less regen & more comments
Runian Oct 29, 2024
7b74ce0
adrenaline every plasma update / reduce
Runian Oct 29, 2024
d4ff466
unwanted tick_interval
Runian Oct 29, 2024
7e4ad41
typo that was stopping adrenaline from buying
Runian Oct 29, 2024
2b410da
reworked plasma regen pt. 2
Runian Oct 29, 2024
e41c556
crush changes
Runian Oct 29, 2024
ab20b36
more comments
Runian Oct 29, 2024
9a6ff07
crush and defiler fixes
Runian Oct 29, 2024
63c6902
fixes up pheromones and trail
Runian Oct 29, 2024
275ad77
decrease health regen a little and halve sunder
Runian Oct 29, 2024
1995997
take_damage fixes
Runian Oct 29, 2024
d110f44
tgui
Runian Oct 29, 2024
442ed41
finishing up tgui
Runian Oct 29, 2024
9ba5c50
more leftovers
Runian Oct 29, 2024
2b5ef8e
threw this into Prettier.io
Runian Oct 29, 2024
e010971
okay installed the Prettier for VSC instead
Runian Oct 29, 2024
20ebf1e
"click to change"... for all veil status effect descs
Runian Oct 29, 2024
4cd658c
use/gain_biomass()
Runian Oct 29, 2024
8d86c4f
address all tgui review issues
Runian Oct 29, 2024
bce0dbe
psydrain/cocoon is now socialism at range 7
Runian Oct 29, 2024
e9dfb32
unneeded checks
Runian Oct 29, 2024
6ecfacb
ignore this terrible mistake :)
Runian Oct 29, 2024
d1a8597
autodoc
Runian Oct 29, 2024
a0e5590
Merge branch 'master' into xeno-scale-structures
Runian Oct 30, 2024
2197116
unused defines & addresses latest comment/review
Runian Oct 30, 2024
c52be9c
typo comment
Runian Oct 30, 2024
69a768e
sorting
Runian Oct 30, 2024
236d1fc
unwanted TRUE
Runian Oct 30, 2024
f039fc6
Merge branch 'master' into xeno-scale-structures
Runian Oct 31, 2024
f75896e
halve regeneration & vamp
Runian Nov 2, 2024
692e092
nerf celerity in half for test merge
Runian Nov 2, 2024
81928b1
autodoc pt. 1 of 2
Runian Nov 2, 2024
3735d5f
autodoc pt. 2 of 2
Runian Nov 2, 2024
75b5696
autodoc pt. 3 of 2 :)
Runian Nov 2, 2024
63dba11
ui_static_data
Runian Nov 3, 2024
2d83b78
remove verb, add button to hive status
Runian Nov 3, 2024
c62e052
update desc
Runian Nov 3, 2024
c5736fc
updated tgui appearance
Runian Nov 3, 2024
7166d04
unneeded vars + theme
Runian Nov 3, 2024
15b3fc9
sectioned + smaller width height
Runian Nov 3, 2024
6a9bc3a
dropdown menus + enabled if already owned
Runian Nov 3, 2024
fe49518
section name -> collapsible name
Runian Nov 3, 2024
f166bfc
no phero if no chambers
Runian Nov 10, 2024
7d15379
cocoon: 10 initial shared, 6 overtime to all, 2.5 complete to all
Runian Nov 10, 2024
392eceb
comment
Runian Nov 10, 2024
73606d3
0 initial, 9 overtime to all, 3.5 completion
Runian Nov 10, 2024
4f45621
extra space
Runian Nov 10, 2024
2ea4964
100 biomass for Valhalla/Fallen xenos
Runian Nov 10, 2024
e8a7ad6
trail now buyable :)
Runian Nov 10, 2024
68bc531
nerfs(?) Toxin upgrade
Runian Nov 12, 2024
afef995
temporary sticky thin resin
Runian Nov 12, 2024
fc202da
caste_flag for no biomass gain instead of doing by ability ownership
Runian Nov 12, 2024
a756471
Biomass in status tab
Runian Nov 12, 2024
b70f272
forgot this for CASTE_NO_BIOMASS
Runian Nov 12, 2024
8cd05a2
6 overtime, 4 completion
Runian Nov 12, 2024
0c9156f
no trail if no chambers
Runian Nov 16, 2024
f246691
hivemind_manifestation CASTE_NO_BIOMASS
Runian Nov 16, 2024
d9bc417
swap around psypoint costs
Runian Nov 22, 2024
86fe23c
pheromones now boost pre-existing pheros, nerf scaling
Runian Nov 22, 2024
de6db0f
unneeded update_health()
Runian Nov 22, 2024
5944c93
Merge branch 'master' into xeno-scale-structures
Runian Nov 22, 2024
d546f19
manually handling merge conflicts
Runian Nov 24, 2024
15e846d
Merge branch 'master' into xeno-scale-structures
Runian Nov 30, 2024
35d5ad5
do not give plasma over adjusted
Runian Dec 3, 2024
a315cbd
trail nerf for 1/2 veil
Runian Dec 7, 2024
05e8950
queen main found the meta
Runian Dec 8, 2024
7d40ce5
ok lets start with mutation nerfs first
Runian Dec 8, 2024
b859270
replaces mutation Toxin with mutation Focus
Runian Dec 8, 2024
e8ff273
biomass is now a group resource instead of individual resource
Runian Dec 8, 2024
f80b11a
whoops
Runian Dec 8, 2024
c8cacf5
prevent bonus_area_strength holdover
Runian Dec 8, 2024
58be8c8
desc changes
Runian Dec 8, 2024
7e4ee0f
xeno_message for those who buy mutations
Runian Dec 9, 2024
9251c2e
eh this is probably fine to remove
Runian Dec 9, 2024
83b6aa5
todo stuff later
Runian Dec 9, 2024
9fbdb41
kills trail and replace it with camouflage
Runian Dec 9, 2024
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
5 changes: 5 additions & 0 deletions code/__DEFINES/dcs/signals/signals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -729,6 +729,11 @@

#define COMSIG_XENOMORPH_LEAP_BUMP "xenomorph_leap_bump" //from /mob/living/carbon/xenomorph/bump

// Xeno upgrade chambers
#define COMSIG_UPGRADE_CHAMBER_SURVIVAL "upgrade_chamber_survival"
#define COMSIG_UPGRADE_CHAMBER_ATTACK "upgrade_chamber_attack"
#define COMSIG_UPGRADE_CHAMBER_UTILITY "upgrade_chamber_utility"

//human signals
#define COMSIG_CLICK_QUICKEQUIP "click_quickequip"

Expand Down
9 changes: 5 additions & 4 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -589,12 +589,13 @@ GLOBAL_LIST_INIT(layers_to_offset, list(
#define CASTE_STAGGER_RESISTANT (1<<15) //Resistant to some forms of stagger, such as projectiles
#define CASTE_HAS_WOUND_MASK (1<<16) //uses an alpha mask for wounded states
#define CASTE_EXCLUDE_STRAINS (1<<17) // denotes castes/basetypes that should be excluded from being evoable as a strain
#define CASTE_NO_MUTATION (1<<18) // Xenos are excluded from getting any mutations.

// Xeno defines that affect evolution, considering making a new var for these
#define CASTE_LEADER_TYPE (1<<16) //Whether we are a leader type caste, such as the queen, shrike or ?king?, and is affected by queen ban and playtime restrictions
#define CASTE_CANNOT_EVOLVE_IN_CAPTIVITY (1<<17) //Whether we cannot evolve in the research lab
#define CASTE_REQUIRES_FREE_TILE (1<<18) //Whether we require a free tile to evolve
#define CASTE_INSTANT_EVOLUTION (1<<19) //Whether we require no evolution progress to evolve to this caste
#define CASTE_LEADER_TYPE (1<<19) //Whether we are a leader type caste, such as the queen, shrike or ?king?, and is affected by queen ban and playtime restrictions
#define CASTE_CANNOT_EVOLVE_IN_CAPTIVITY (1<<20) //Whether we cannot evolve in the research lab
#define CASTE_REQUIRES_FREE_TILE (1<<21) //Whether we require a free tile to evolve
#define CASTE_INSTANT_EVOLUTION (1<<22) //Whether we require no evolution progress to evolve to this caste

#define CASTE_CAN_HOLD_FACEHUGGERS (1<<0)
#define CASTE_CAN_BE_QUEEN_HEALED (1<<1)
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
#define MODE_ALLOW_XENO_QUICKBUILD (1<<14)
#define MODE_DISALLOW_RAILGUN (1<<15)
#define MODE_FORCE_CUSTOMSQUAD_UI (1<<16)
#define MODE_BIOMASS_POINTS (1<<17)

#define MODE_INFESTATION_X_MAJOR "Xenomorph Major Victory"
#define MODE_INFESTATION_M_MAJOR "Marine Major Victory"
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/movespeed_modification.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
#define MOVESPEED_ID_WARLOCK_CHANNELING "WARLOCK_CHANNELING"
#define MOVESPEED_ID_XENO_DREAD "DREADXENO"
#define MOVESPEED_ID_BEHEMOTH_PRIMAL_WRATH "BEHEMOTH_PRIMAL_WRATH"
#define MOVESPEED_ID_CELERITY_BUFF "UPGRADE_CHAMBER_CELERITY_BUFF"
#define MOVESPEED_ID_PRAETORIAN_DANCER_DODGE_SPEED "PRAETORIAN_DANCER_DODGE_SPEED"

#define MOVESPEED_ID_SIMPLEMOB_VARSPEED "SIMPLEMOB_VARSPEED_MODIFIER"
Expand Down
18 changes: 18 additions & 0 deletions code/__DEFINES/status_effects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,24 @@

#define STATUS_EFFECT_DRAIN_SURGE /datum/status_effect/drain_surge

#define STATUS_EFFECT_UPGRADE_CARAPACE /datum/status_effect/mutation_upgrade/carapace

#define STATUS_EFFECT_UPGRADE_REGENERATION /datum/status_effect/mutation_upgrade/regeneration

#define STATUS_EFFECT_UPGRADE_VAMPIRISM /datum/status_effect/mutation_upgrade/vampirism

#define STATUS_EFFECT_UPGRADE_CELERITY /datum/status_effect/mutation_upgrade/celerity

#define STATUS_EFFECT_UPGRADE_ADRENALINE /datum/status_effect/mutation_upgrade/adrenaline

#define STATUS_EFFECT_UPGRADE_CRUSH /datum/status_effect/mutation_upgrade/crush

#define STATUS_EFFECT_UPGRADE_FOCUS /datum/status_effect/mutation_upgrade/focus

#define STATUS_EFFECT_UPGRADE_PHERO /datum/status_effect/mutation_upgrade/pheromones

#define STATUS_EFFECT_UPGRADE_CAMOUFLAGE /datum/status_effect/mutation_upgrade/camouflage

#define STATUS_EFFECT_MINDMEND /datum/status_effect/mindmeld

#define STATUS_EFFECT_REKNIT_FORM /datum/status_effect/reknit_form
Expand Down
4 changes: 3 additions & 1 deletion code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@
#define SPECIES_TRAIT "species" // /datum/species innate trait
#define CRYOPOD_TRAIT "cryopod"
#define XENO_TRAIT "xeno"
#define XENO_BUFF_TRAIT "xenobuff"
#define ARMOR_TRAIT "armor"
#define STAT_TRAIT "stat"
#define NECKGRAB_TRAIT "neckgrab"
Expand Down Expand Up @@ -187,7 +188,8 @@
#define TRAIT_TANK_DESANT "tank_desant"
///Builds things better
#define TRAIT_SUPERIOR_BUILDER "superior_builder"

/// Does not ping tactical sensor
#define TRAIT_TACTICAL_SENSOR_IMMUNE "tactical_sensor_immune"

/// Prevents usage of manipulation appendages (picking, holding or using items, manipulating storage).
#define TRAIT_HANDS_BLOCKED "handsblocked"
Expand Down
36 changes: 36 additions & 0 deletions code/__DEFINES/xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,14 @@ GLOBAL_LIST_INIT(defiler_toxin_type_list, list(
/datum/reagent/toxin/xeno_ozelomelyn,
))

//List of Defiler toxin images
GLOBAL_LIST_INIT(defiler_toxin_images_list, list(
DEFILER_OZELOMELYN = image('icons/Xeno/actions/defiler.dmi', icon_state = DEFILER_OZELOMELYN),
DEFILER_HEMODILE = image('icons/Xeno/actions/defiler.dmi', icon_state = DEFILER_HEMODILE),
DEFILER_TRANSVITOX = image('icons/Xeno/actions/defiler.dmi', icon_state = DEFILER_TRANSVITOX),
DEFILER_NEUROTOXIN = image('icons/Xeno/actions/defiler.dmi', icon_state = DEFILER_NEUROTOXIN)
))

//List of toxins improving defile's damage
GLOBAL_LIST_INIT(defiler_toxins_typecache_list, typecacheof(list(
/datum/reagent/toxin/xeno_ozelomelyn,
Expand Down Expand Up @@ -210,3 +218,31 @@ GLOBAL_LIST_INIT(xeno_ai_spawnable, list(

/// Life runs every 2 seconds, but we don't want to multiply all healing by 2 due to seconds_per_tick
#define XENO_PER_SECOND_LIFE_MOD 0.5

// Mutations
GLOBAL_DATUM_INIT(mutation_selector, /datum/mutation_datum, new)

GLOBAL_LIST_INIT(mutation_upgrades_buyable, list(
/datum/mutation_upgrade/survival/carapace,
/datum/mutation_upgrade/survival/regeneration,
/datum/mutation_upgrade/survival/vampirism,
/datum/mutation_upgrade/attack/celerity,
/datum/mutation_upgrade/attack/adrenaline,
/datum/mutation_upgrade/attack/crush,
/datum/mutation_upgrade/utility/focus,
/datum/mutation_upgrade/utility/pheromones,
/datum/mutation_upgrade/utility/camouflage
))

#define MUTATION_CATEGORY_SURVIVAL "Survival"
#define MUTATION_CATEGORY_ATTACK "Attack"
#define MUTATION_CATEGORY_UTILITY "Utility"

#define MUTATION_STRUCTURE_CHAMBER "shell"
#define MUTATION_STRUCTURE_SPUR "spur"
#define MUTATION_STRUCTURE_VEIL "veil"

#define XENO_UPGRADE_BIOMASS_COST_T1 15
#define XENO_UPGRADE_BIOMASS_COST_T2 20
#define XENO_UPGRADE_BIOMASS_COST_T3 25
#define XENO_UPGRADE_BIOMASS_COST_T4 30
9 changes: 9 additions & 0 deletions code/controllers/subsystem/points.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ SUBSYSTEM_DEF(points)
var/list/xeno_strategic_points_by_hive = list()
///Assoc list of xeno tactical points: xeno_tactical_points_by_hive["hivenum"]
var/list/xeno_tactical_points_by_hive = list()
///Assoc list of xeno biomass points: xeno_biomass_points_by_hive["hivenum"]
var/list/xeno_biomass_points_by_hive = list()

var/ordernum = 1 //order number given to next order

Expand Down Expand Up @@ -92,6 +94,13 @@ SUBSYSTEM_DEF(points)
return
xeno_tactical_points_by_hive[hivenumber] += amount


///Add amount of tactical psy points to the selected hive only if the gamemode support biomass
/datum/controller/subsystem/points/proc/add_biomass_points(hivenumber, amount)
if(!CHECK_BITFIELD(SSticker.mode.round_type_flags, MODE_BIOMASS_POINTS))
return
xeno_biomass_points_by_hive[hivenumber] = clamp(xeno_biomass_points_by_hive[hivenumber] + amount, 0, 500)

/datum/controller/subsystem/points/proc/approve_request(datum/supply_order/O, mob/living/user)
var/cost = 0
for(var/i in O.pack)
Expand Down
2 changes: 1 addition & 1 deletion code/datums/gamemodes/nuclear_war.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "Nuclear War"
config_tag = "Nuclear War"
silo_scaling = 2
round_type_flags = MODE_INFESTATION|MODE_LATE_OPENING_SHUTTER_TIMER|MODE_XENO_RULER|MODE_PSY_POINTS|MODE_PSY_POINTS_ADVANCED|MODE_DEAD_GRAB_FORBIDDEN|MODE_HIJACK_POSSIBLE|MODE_SILO_RESPAWN|MODE_SILOS_SPAWN_MINIONS|MODE_ALLOW_XENO_QUICKBUILD|MODE_FORCE_CUSTOMSQUAD_UI
round_type_flags = MODE_INFESTATION|MODE_LATE_OPENING_SHUTTER_TIMER|MODE_XENO_RULER|MODE_PSY_POINTS|MODE_PSY_POINTS_ADVANCED|MODE_DEAD_GRAB_FORBIDDEN|MODE_HIJACK_POSSIBLE|MODE_SILO_RESPAWN|MODE_SILOS_SPAWN_MINIONS|MODE_ALLOW_XENO_QUICKBUILD|MODE_FORCE_CUSTOMSQUAD_UI|MODE_BIOMASS_POINTS
xeno_abilities_flags = ABILITY_NUCLEARWAR
valid_job_types = list(
/datum/job/terragov/command/captain = 1,
Expand Down
Loading
Loading