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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Head-on-a-stick #28201

Closed
wants to merge 4 commits into from
Closed

Head-on-a-stick #28201

wants to merge 4 commits into from

Conversation

MMMiracles
Copy link
Contributor

@MMMiracles MMMiracles commented Jun 7, 2017

馃啈 MMMiracles
add: You can now adorn spears with the heads of your fallen enemies to act as a deterrence to those who dare challenge you.
/:cl:
sike

Simple enough. You get a spear and a head, then you combine them in the tribal section of the crafting menu. Clicking on the head spike will take it down and give back the head and spear.

@tgstation-server tgstation-server added the Feature Exposes new bugs in interesting ways label Jun 7, 2017
@Kromgar
Copy link
Contributor

Kromgar commented Jun 7, 2017

Viva

@DoctoreMad
Copy link

To do: Just clicking a spear with a head will also attach it

@Nilons
Copy link

Nilons commented Jun 7, 2017

upvote

@FantasticFwoosh
Copy link
Contributor

Just glass spears or bone spears too?

@MMMiracles
Copy link
Contributor Author

Bone spears are their own separate thing instead of being a subtype of regular spears for whatever reason, so no.

@Tacolizard
Copy link
Contributor

make the heads sit atop the spears instead of being in the middle. The spear should just barely stick out of the head

@Kromgar
Copy link
Contributor

Kromgar commented Jun 7, 2017

Yeah it kinda makes no sense for them to be midway down the spear unless you tied their heads there

@Hatfish
Copy link
Contributor

Hatfish commented Jun 7, 2017

I've been waiting for this feature, now ashwalkers can finally line the tunnels to their nest with the heads of unrobust miners.

@Pascal125
Copy link

Pascal125 commented Jun 7, 2017

Make the spears wrenchable or something so we can keep them in place as a form of Decoration.
It'll be great for displaying how many tiders were present in the shift.

@MMMiracles
Copy link
Contributor Author

@Pascal125 Spears start anchored, having them wrenchable seems odd for what is a head on a stick. They place on the spot where you crafted them.

@FantasticFwoosh
Copy link
Contributor

Let crowbars remove them out of the ground or something or add rods/metal to make a basing. Some other little decorative spikes or something.

@Iamgoofball
Copy link
Contributor

Can you make the rod color different so it doesn't blend with the floor

@MMMiracles
Copy link
Contributor Author

@Tacolizard The heads are just an overlay added on to the spike, the heads themselves are technically inside the spike for storage purposes.

@Iamgoofball The rod uses the same exact color pallete as regular spears and having the spears magically shift their hue slightly might look off. Really only an issue on some station tiling, anyway.

icon = 'icons/obj/structures.dmi'
icon_state = "headpike"
density = 0
anchored = 1
Copy link
Member

Choose a reason for hiding this comment

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

FALSE, TRUE

..()
var/obj/item/bodypart/head/H = locate() in contents
if(H)
overlays = H.overlays //head
Copy link
Member

Choose a reason for hiding this comment

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

2 things.

  1. this line should be in update_icon()
  2. It won't work with overlay_queuing. You need copy_overlays(H, TRUE)

var/obj/item/bodypart/head/H = locate() in contents
var/obj/item/weapon/twohanded/spear/S = locate() in contents
if(H && S)
to_chat(user, "<span class='notice'>You take down the head spike.</span>")
Copy link
Member

Choose a reason for hiding this comment

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

You take down [src]

to_chat(user, "<span class='notice'>You take down the head spike.</span>")
H.forceMove(get_turf(src))
S.forceMove(get_turf(src))
qdel(src)
Copy link
Member

Choose a reason for hiding this comment

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

unindent this qdel

@Iamgoofball
Copy link
Contributor

That's the most common station tile by far though, and I think players can mind a slight hue shift or outlining to allow you to be able to actually see it while moving instead of just a head on a floor tile.

@Tacolizard
Copy link
Contributor

just change the color of the spear in it's icon. Don't make it change color when spiked

@Tacolizard
Copy link
Contributor

i withhold all my emojis until you make the heads be closer to the top of the spear

@WJohn
Copy link
Contributor

WJohn commented Jun 8, 2017

it'd also be better if it wasn't aligned with the floor tile. makes it hard to tell there's even a spear there at all.

@Kromgar
Copy link
Contributor

Kromgar commented Jun 8, 2017

Ashwalkers can now farm legions to get heads for their decorating

@Cyberboss
Copy link
Member

Easy fix for the station tiles, randomly pixel shift them 12px to the right or left

update_icon()
name = "[H.real_name]'s head on a spear"

/obj/structure/headpike/Initialize()
pixel_x = rand(-8, 8)
Copy link
Member

Choose a reason for hiding this comment

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

. = ..()

..()
var/obj/item/bodypart/head/H = locate() in contents
if(H)
copy_overlays(H, TRUE) //copy the head's visuals to put on the spear
Copy link
Contributor

Choose a reason for hiding this comment

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

var/mutable_appearance/MA = new()
MA.overlays = H.overlays.Copy()
MA.pixel_y = 12 //Or some value that lines it up on the spike bit better
add_overlay(MA)

This will fix the head being in the middle, and put it on the top.

@Steelpoint
Copy link
Contributor

Would be nice if you can keep a hat on a dismembered head.

Good addition otherwise.

@Bawhoppen
Copy link
Contributor

should be able to be deepfried too

..()
var/obj/item/bodypart/head/H = locate() in contents
if(H)
copy_overlays(H, TRUE) //copy the head's visuals to put on the spear
Copy link
Member

Choose a reason for hiding this comment

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

Move 馃憦 overlay 馃憦 calls 馃憦 to 馃憦 update 馃憦 icon

Copy link
Contributor

Choose a reason for hiding this comment

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

no.
do what I said.
(and then move it to update_icon())

var/obj/item/bodypart/head/H = locate() in contents
var/mutable_appearance/MA = new()
if(H)
MA.overlays = H.overlays.Copy()
Copy link
Member

Choose a reason for hiding this comment

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

It pains me to delay this PR, but you'll have to wait for #28233 to be merged so you can do this the right way

var/mutable_appearance/MA = new()
if(H)
MA.overlays = H.overlays.Copy()
MA.pixel_y = 12 //Or some value that lines it up on the spike bit better
Copy link
Contributor

Choose a reason for hiding this comment

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

really? the comment was meant for you, not the code ;_;

@Cyberboss
Copy link
Member

@MMMiracles pls do the needful

@Cyberboss Cyberboss added the Stale Even the uncaring universe rejects you, why even go on label Jun 17, 2017
@Cyberboss
Copy link
Member

Ping for reopen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Exposes new bugs in interesting ways Stale Even the uncaring universe rejects you, why even go on
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet