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

Hivelord Strain: Designer #7703

Open
wants to merge 29 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
7ded7b5
It works but not fully.
Venuska1117 Oct 6, 2024
d11a7ea
Making some progress i guess?
Venuska1117 Oct 8, 2024
06d1761
Still trying to figure it out.
Venuska1117 Oct 12, 2024
48ee7c5
Merge branch 'cmss13-devs:master' into y|hivelord-designer-strain
Venuska1117 Nov 14, 2024
3ec925d
dujs
Venuska1117 Nov 14, 2024
cec66b8
Purge is comming, saving changes.
Venuska1117 Nov 17, 2024
5675ce6
Lack of code or creativity.
Nov 17, 2024
393545c
Finally made progress, 1/3 is done.
Nov 29, 2024
7f35a51
minor improvements
Nov 29, 2024
3876c0f
tiny fix for hivelord.dm
Nov 29, 2024
3382f9a
Greater Surge got upgrade
Dec 8, 2024
b747967
Code Cleaning, Renaming, sorting.
Dec 9, 2024
40edfde
Made Node Sprites work.
Dec 10, 2024
b116645
Merge branch 'master' of https://github.com/Venuska1117/cmss13 into h…
Dec 10, 2024
d9dc887
Fix merge screw up sprites.
Dec 10, 2024
b55f754
Final changes, before first review.
Dec 11, 2024
3a4c248
Merge branch 'master' of https://github.com/Venuska1117/cmss13 into h…
Dec 11, 2024
1ca8330
Forgot Xenoids Exist.
Dec 11, 2024
b7847fc
Some code changes:
Dec 22, 2024
a46c6d4
Merge branch 'master' of https://github.com/Venuska1117/cmss13 into h…
Dec 22, 2024
cd202e9
maybe this will fix issue.
Dec 23, 2024
8441061
less SPAACEES in code
Dec 24, 2024
0497dc9
made 3/4 changes.
Dec 27, 2024
a8eda33
Removed passive agressive comment.
Dec 27, 2024
c23ff96
Removed space. (added video to PR desc.)
Dec 27, 2024
1366e76
Moved lists in power.dm to xenomorph.dm
Jan 5, 2025
c9ee1f3
fixing powers.dm
Jan 5, 2025
3d52807
Merge branch 'master' into hivelord-designer-strain
Venuska1117 Jan 5, 2025
a8e15d3
Merge branch 'master' of https://github.com/Venuska1117/cmss13 into h…
Jan 11, 2025
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
2 changes: 2 additions & 0 deletions code/__DEFINES/xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@
#define WEED_LEVEL_WEAK 0
#define WEED_LEVEL_STANDARD 1.5
#define WEED_LEVEL_HARDY 1.6
#define WEED_LEVEL_CONSTRUCT 1.7
#define WEED_LEVEL_HIVE 4

#define WEED_RANGE_STANDARD 3
Expand Down Expand Up @@ -378,6 +379,7 @@

// Hivelord strain flags
#define HIVELORD_RESIN_WHISPERER "Resin Whisperer"
#define HIVELORD_DESIGNER "Designer"

// Carrier strain flags
#define CARRIER_EGGSAC "Eggsac"
Expand Down
5 changes: 5 additions & 0 deletions code/game/turfs/walls/wall_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1297,6 +1297,11 @@
damage_cap = HEALTH_WALL_XENO_WEAK
var/duration = 5 SECONDS

/turf/closed/wall/resin/weak/greater
name = "greater weak resin wall"
desc = "Weird slime solidified into a wall. It looks like it will collapse soon..."
damage_cap = HEALTH_WALL_XENO_WEAK
duration = 10 SECONDS

Venuska1117 marked this conversation as resolved.
Show resolved Hide resolved
/turf/closed/wall/resin/weak/Initialize(mapload, ...)
. = ..()
Expand Down
15 changes: 9 additions & 6 deletions code/modules/cm_aliens/weeds.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
desc = "Weird black weeds..."
icon = 'icons/mob/xenos/weeds.dmi'
icon_state = "base"
var/icon_state_weeds //Change icon_state for weeds/node subtype.
Copy link
Contributor

Choose a reason for hiding this comment

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

new var definition after overrides


gender = PLURAL
anchored = TRUE
Expand Down Expand Up @@ -476,12 +477,13 @@
name = "weed node"
desc = "A weird, pulsating node."
icon_state = "weednode"
icon_state_weeds = "weednode"
// Weed nodes start out with normal weed health and become stronger once they've stopped spreading
health = NODE_HEALTH_GROWING
flags_atom = OPENCONTAINER
layer = ABOVE_BLOOD_LAYER
plane = FLOOR_PLANE
var/static/staticnode
var/change_node_overlay
var/overlay_node = TRUE

// Which weeds are being kept alive by this node?
Expand All @@ -508,12 +510,12 @@
/obj/effect/alien/weeds/node/update_icon()
..()
if(overlay_node)
overlays += staticnode
overlays += change_node_overlay

/obj/effect/alien/weeds/node/proc/trap_destroyed()
SIGNAL_HANDLER
overlay_node = TRUE
overlays += staticnode
overlays += change_node_overlay

/obj/effect/alien/weeds/node/Initialize(mapload, obj/effect/alien/weeds/node/node, mob/living/carbon/xenomorph/xeno, datum/hive_status/hive)
if (istype(hive))
Expand All @@ -533,14 +535,15 @@

. = ..(mapload, src)

if(!staticnode)
staticnode = image('icons/mob/xenos/weeds.dmi', "weednode", ABOVE_OBJ_LAYER)
// Create the overlay with the determined icon_state
if(!change_node_overlay)
change_node_overlay = image('icons/mob/xenos/weeds.dmi', icon_state_weeds, ABOVE_OBJ_LAYER)

var/obj/effect/alien/resin/trap/trap = locate() in loc
if(trap)
RegisterSignal(trap, COMSIG_PARENT_PREQDELETED, PROC_REF(trap_destroyed))
overlay_node = FALSE
overlays -= staticnode
overlays -= change_node_overlay

if(xeno)
add_hiddenprint(xeno)
Expand Down
8 changes: 8 additions & 0 deletions code/modules/mob/living/carbon/xenomorph/Powers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,14 @@
if(!alien_weeds || alien_weeds.secreting)
return SECRETE_RESIN_FAIL

if(istype(target, /obj/effect/alien/weeds/node/designer/speed))
if(!(caste_type in blacklist_caste))
wait_time -= ((resin_construct.build_time * caste.build_time_mult) / 2)

if(istype(target, /obj/effect/alien/weeds/node/designer/cost))
if(locate(resin_construct.type) in whitelist_build)
total_resin_cost -= (total_resin_cost / 2)

var/obj/warning
var/succeeded = TRUE
if(resin_construct.build_overlay_icon)
Expand Down
17 changes: 17 additions & 0 deletions code/modules/mob/living/carbon/xenomorph/Xenomorph.dm
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,23 @@
var/obj/effect/alien/resin/fruit/selected_fruit = null
var/list/built_structures = list()

// Designer stuff
var/list/speed_node_list = list()
var/list/cost_node_list = list()
var/list/whitelist_build = list(
/datum/resin_construction/resin_turf/wall,
/datum/resin_construction/resin_turf/wall/thick,
/datum/resin_construction/resin_turf/wall/queen,
/datum/resin_construction/resin_turf/membrane,
/datum/resin_construction/resin_turf/membrane/thick,
/datum/resin_construction/resin_turf/membrane/queen,
/datum/resin_construction/resin_turf/wall/reflective,
/datum/resin_construction/resin_obj/door,
/datum/resin_construction/resin_obj/door/thick,
/datum/resin_construction/resin_obj/door/queen,
)
var/list/blacklist_caste = list(XENO_CASTE_HIVELORD)

var/icon_xeno
var/icon_xenonid

Expand Down
5 changes: 4 additions & 1 deletion code/modules/mob/living/carbon/xenomorph/castes/Hivelord.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@
evasion = XENO_EVASION_NONE
speed = XENO_SPEED_TIER_2

available_strains = list(/datum/xeno_strain/resin_whisperer)
available_strains = list(
/datum/xeno_strain/resin_whisperer,
/datum/xeno_strain/designer,
)

evolution_allowed = FALSE
caste_desc = "A builder of really big hives."
Expand Down
Loading
Loading