Skip to content

Commit

Permalink
Names for nodes and traps. (#5831)
Browse files Browse the repository at this point in the history
# About the pull request

Selfevident.

# Explain why it's good for the game

In all honesty, this is a personal gripe. I have poor eyesight and a
laptop with small screen, so this annoys me more than it should.

Xeno traps, by design, look almost like regular weeded tiles, save for
small part of the actual trap in the middle of the weed square. If
properly hidden underneath big enough pile of items, the only way to
tell without rightclicking is to mouseover it and read the name in the
bottom left corner (which is not all that large). With the current
sprite for the weed node being a square of weeds with a small node in
the middle of it, nodes behave exactly the same. That is not a problem
per se: the challenge of telling a trap from a node is no different from
the challenge of telling a trap from regular weeds. The problem lies in
the fact that their supposedly telltale _names_ are the same save for
two letters, and h/n and l/d do not even look all that much different at
a glance.

To make things worse, these two things require exactly opposite
approach. Nodes are completely immune to bullets, and the correct course
of action is to come close and take them out with a bayonet. Traps will
stun you with acid if you come close with a bayonet, and the correct
course of action is to take them out from a distance with a single
bullet. Confusing one for another can be irritating at best and fatal
for your character at worst.

May this little change make life less painful for all the scout players
that ever tried to stab an acid trap.

# Changelog

:cl:
spellcheck: Changed names of "resin node" and "resin hole" to "weed
node" and "resin trap" respectfully.
/:cl:
  • Loading branch information
Segrain committed Feb 27, 2024
1 parent 197d438 commit 99fa431
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 24 deletions.
34 changes: 17 additions & 17 deletions code/modules/cm_aliens/structures/trap.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@

/obj/effect/alien/resin/trap
desc = "It looks like a hiding hole."
name = "resin hole"
name = "resin trap"
icon_state = "trap0"
density = FALSE
opacity = FALSE
anchored = TRUE
health = 5
layer = RESIN_STRUCTURE_LAYER
var/list/tripwires = list()
var/hivenumber = XENO_HIVE_NORMAL //Hivenumber of the xeno that planted it OR the last Facehugger that was placed (essentially taking over the hole)
var/hivenumber = XENO_HIVE_NORMAL //Hivenumber of the xeno that planted it OR the last Facehugger that was placed (essentially taking over the trap)
var/trap_type = RESIN_TRAP_EMPTY
var/armed = 0
var/created_by // ckey
Expand Down Expand Up @@ -247,7 +247,7 @@
to_chat(B, SPAN_XENOWARNING("You must produce more plasma before doing this."))
return XENO_NO_DELAY_ACTION

to_chat(X, SPAN_XENONOTICE("You begin charging the resin hole with acid gas."))
to_chat(X, SPAN_XENONOTICE("You begin charging the resin trap with acid gas."))
xeno_attack_delay(X)
if(!do_after(B, 30, INTERRUPT_NO_NEEDHAND, BUSY_ICON_HOSTILE, src))
return XENO_NO_DELAY_ACTION
Expand All @@ -268,8 +268,8 @@
playsound(loc, 'sound/effects/refill.ogg', 25, 1)
set_state(RESIN_TRAP_GAS)
cause_data = create_cause_data("resin gas trap", B)
B.visible_message(SPAN_XENOWARNING("\The [B] pressurises the resin hole with acid gas!"), \
SPAN_XENOWARNING("You pressurise the resin hole with acid gas!"), null, 5)
B.visible_message(SPAN_XENOWARNING("\The [B] pressurises the resin trap with acid gas!"), \
SPAN_XENOWARNING("You pressurise the resin trap with acid gas!"), null, 5)
else
//Non-boiler acid types
var/acid_cost = 70
Expand All @@ -282,7 +282,7 @@
to_chat(X, SPAN_XENOWARNING("You must produce more plasma before doing this."))
return XENO_NO_DELAY_ACTION

to_chat(X, SPAN_XENONOTICE("You begin charging the resin hole with acid."))
to_chat(X, SPAN_XENONOTICE("You begin charging the resin trap with acid."))
xeno_attack_delay(X)
if(!do_after(X, 3 SECONDS, INTERRUPT_NO_NEEDHAND, BUSY_ICON_HOSTILE, src))
return XENO_NO_DELAY_ACTION
Expand All @@ -300,8 +300,8 @@
else
set_state(RESIN_TRAP_ACID1 + X.acid_level - 1)

X.visible_message(SPAN_XENOWARNING("\The [X] pressurises the resin hole with acid!"), \
SPAN_XENOWARNING("You pressurise the resin hole with acid!"), null, 5)
X.visible_message(SPAN_XENOWARNING("\The [X] pressurises the resin trap with acid!"), \
SPAN_XENOWARNING("You pressurise the resin trap with acid!"), null, 5)
return XENO_NO_DELAY_ACTION


Expand All @@ -310,15 +310,15 @@
for(var/turf/T in orange(1,loc))
if(T.density)
continue
var/obj/effect/hole_tripwire/HT = new /obj/effect/hole_tripwire(T)
HT.linked_trap = src
tripwires += HT
var/obj/effect/trap_tripwire/new_tripwire = new /obj/effect/trap_tripwire(T)
new_tripwire.linked_trap = src
tripwires += new_tripwire

/obj/effect/alien/resin/trap/attackby(obj/item/W, mob/user)
if(!(istype(W, /obj/item/clothing/mask/facehugger) && isxeno(user)))
return ..()
if(trap_type != RESIN_TRAP_EMPTY)
to_chat(user, SPAN_XENOWARNING("You can't put a hugger in this hole!"))
to_chat(user, SPAN_XENOWARNING("You can't put a hugger in this trap!"))
return
var/obj/item/clothing/mask/facehugger/FH = W
if(FH.stat == DEAD)
Expand All @@ -329,7 +329,7 @@
return

if (X.hivenumber != hivenumber)
to_chat(user, SPAN_XENOWARNING("This resin hole doesn't belong to your hive!"))
to_chat(user, SPAN_XENOWARNING("This resin trap doesn't belong to your hive!"))
return

if (FH.hivenumber != hivenumber)
Expand All @@ -353,21 +353,21 @@
QDEL_NULL_LIST(tripwires)
. = ..()

/obj/effect/hole_tripwire
name = "hole tripwire"
/obj/effect/trap_tripwire
name = "trap tripwire"
anchored = TRUE
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
invisibility = 101
unacidable = TRUE //You never know
var/obj/effect/alien/resin/trap/linked_trap

/obj/effect/hole_tripwire/Destroy()
/obj/effect/trap_tripwire/Destroy()
if(linked_trap)
linked_trap.tripwires -= src
linked_trap = null
. = ..()

/obj/effect/hole_tripwire/Crossed(atom/A)
/obj/effect/trap_tripwire/Crossed(atom/A)
if(!linked_trap)
qdel(src)
return
Expand Down
4 changes: 2 additions & 2 deletions code/modules/cm_aliens/weeds.dm
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
update_icon()

/obj/effect/alien/weeds/node/weak
name = "weak resin node"
name = "weak weed node"
health = WEED_HEALTH_STANDARD
alpha = 127

Expand Down Expand Up @@ -469,7 +469,7 @@


/obj/effect/alien/weeds/node
name = "resin node"
name = "weed node"
desc = "A weird, pulsating node."
icon_state = "weednode"
// Weed nodes start out with normal weed health and become stronger once they've stopped spreading
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/datum/action/xeno_action/onclick/plant_weeds/lesser/use_ability(atom/A)
if(!(locate(/obj/effect/alien/weeds/node) in orange(4, owner)))
to_chat(owner, SPAN_XENONOTICE("We can only plant resin nodes near other resin nodes!"))
to_chat(owner, SPAN_XENONOTICE("We can only plant weed nodes near other weed nodes!"))
return

. = ..()
Original file line number Diff line number Diff line change
Expand Up @@ -341,11 +341,11 @@ GLOBAL_VAR_INIT(resin_lz_allowed, FALSE)
construction_name = "thick resin membrane"
build_path = /obj/structure/alien/movable_wall/membrane/thick

// Remote Resin Nodes for originally coded for Resin Whisperers
// Remote Weed Nodes for originally coded for Resin Whisperers
/datum/resin_construction/resin_obj/resin_node
name = "Resin Node"
name = "Weed Node"
desc = "Channel energy to spread our influence."
construction_name = "resin node"
construction_name = "weed node"
cost = (XENO_RESIN_MEMBRANE_THICK_COST * 2) // 3x the cost of a thick membrane. At the time of coding that is 95*2 = 190

build_path = /obj/effect/alien/weeds/node
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/datum/xeno_strain/resin_whisperer
name = HIVELORD_RESIN_WHISPERER
description = "You lose your corrosive acid, your ability to secrete thick resin, your ability to reinforce resin secretions, sacrifice your ability to plant resin nodes outside of weeds, and you sacrifice a fifth of your plasma reserves to enhance your vision and gain a stronger connection to the resin. You can now remotely place resin secretions including resin nodes up to a distance of twelve paces!"
description = "You lose your corrosive acid, your ability to secrete thick resin, your ability to reinforce resin secretions, sacrifice your ability to plant weed nodes outside of weeds, and you sacrifice a fifth of your plasma reserves to enhance your vision and gain a stronger connection to the resin. You can now remotely place resin secretions including weed nodes up to a distance of twelve paces!"
flavor_description = "Let the resin guide you. It whispers, so listen closely."
icon_state_prefix = "Resin Whisperer"

Expand Down
Binary file modified icons/mob/hud/actions_xeno.dmi
Binary file not shown.

0 comments on commit 99fa431

Please sign in to comment.