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

adds colony self destruct mechanisms to big red, desert dam and lv #6540

Closed

Conversation

AndroBetel
Copy link
Contributor

@AndroBetel AndroBetel commented Jun 23, 2024

About the pull request

adds self-destruct mechanisms to big red ETA, desert dam lab and LV lab (LV one is a rare nightmare insert)
they are activated using nuclear disks, which are made unacidable
after two minutes, they explode with explosion power similar to HE OB

image

Explain why it's good for the game

this pr was inspired by battlefield levolution system, as it allows players to single-handedly change entire locations (not without some set-up, of course)
i find map interactivity in CM lacking, so this pr also adds said interactivity to some maps

Testing Photographs and Procedure

Screenshots & Videos

Put screenshots and videos here with an empty line between the screenshots and the <details> tags.

Changelog

🆑
add: Adds colony self-destruct mechanisms to Big Red, LV-624 and Desert Dam, activated via nuclear disks.
/:cl:

@AndroBetel AndroBetel requested a review from Nanu308 as a code owner June 23, 2024 16:14
@github-actions github-actions bot added Sprites Remove the soul from the game. Mapping did you remember to save in tgm format? Feature Feature coder badge labels Jun 23, 2024
Comment on lines +71 to +84
if(timeleft < initial(timeleft) && timeleft > stage_1)
icon_state = "selfdestruct1"

if(timeleft < stage_1 && timeleft > stage_2)
icon_state = "selfdestruct2"

if(timeleft < stage_2 && timeleft > stage_3)
icon_state = "selfdestruct3"

if(timeleft < stage_3 && timeleft > 0)
icon_state = "selfdestruct4"

if(timeleft <= 0)
icon_state = "selfdestructboom"
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
if(timeleft < initial(timeleft) && timeleft > stage_1)
icon_state = "selfdestruct1"
if(timeleft < stage_1 && timeleft > stage_2)
icon_state = "selfdestruct2"
if(timeleft < stage_2 && timeleft > stage_3)
icon_state = "selfdestruct3"
if(timeleft < stage_3 && timeleft > 0)
icon_state = "selfdestruct4"
if(timeleft <= 0)
icon_state = "selfdestructboom"
if(timeleft <= 0)
icon_state = "selfdestructboom"
return
if(timeleft < stage_3)
icon_state = "selfdestruct4"
return
if(timeleft < stage_2)
icon_state = "selfdestruct3"
return
if(timeleft < stage_1)
icon_state = "selfdestruct2"
return
if(timeleft < initial(timeleft))
icon_state = "selfdestruct1"

this looks generally less confusing, dont you think?

also could be else if spam

Comment on lines +9 to +12
var/obj/item/disk/nuclear/dat_disk
var/timeleft = 2 MINUTES
var/explosiontime
var/explosionpower = 1200
Copy link
Contributor

Choose a reason for hiding this comment

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

cod edoc

var/explosionpower = 1200

/obj/structure/machinery/colony_selfdestruct/attack_hand(mob/user)
if(user.is_mob_incapacitated() || get_dist(src, user) > 1 || isRemoteControlling(user))
Copy link
Contributor

Choose a reason for hiding this comment

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

i think we have an in_range proc

return
else
user.visible_message(SPAN_WARNING("[user] starts to pull the disk out of [src]..."), SPAN_WARNING("You start to pull the disk out of [src]... you hope it's not stuck."))
if(do_after(user, 150 * user.get_skill_duration_multiplier(SKILL_ENGINEER), INTERRUPT_NO_NEEDHAND, BUSY_ICON_HOSTILE))
Copy link
Contributor

Choose a reason for hiding this comment

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

SECONDS macro


/obj/structure/machinery/colony_selfdestruct/proc/enable()
playsound(loc, 'sound/items/Deconstruct.ogg', 100, 1)
explosiontime = world.time + timeleft
Copy link
Contributor

Choose a reason for hiding this comment

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

use a timer

unslashable = TRUE
unacidable = TRUE
use_power = USE_POWER_NONE
var/obj/item/disk/nuclear/dat_disk
Copy link
Contributor

Choose a reason for hiding this comment

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

null on destroy

/obj/structure/machinery/colony_selfdestruct/attackby(obj/item/weapon, mob/living/user)
if(istype(weapon, /obj/item/disk/nuclear) && !dat_disk)
user.visible_message(SPAN_WARNING("[user] begins to put [weapon] inside [src]..."), SPAN_WARNING("You begin to put [weapon] inside [src]. Ooh boy..."))
if(do_after(user, 150 * user.get_skill_duration_multiplier(SKILL_ENGINEER), INTERRUPT_NO_NEEDHAND, BUSY_ICON_HOSTILE))
Copy link
Contributor

Choose a reason for hiding this comment

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

seconds macro

/obj/structure/machinery/colony_selfdestruct/attackby(obj/item/weapon, mob/living/user)
if(istype(weapon, /obj/item/disk/nuclear) && !dat_disk)
user.visible_message(SPAN_WARNING("[user] begins to put [weapon] inside [src]..."), SPAN_WARNING("You begin to put [weapon] inside [src]. Ooh boy..."))
if(do_after(user, 150 * user.get_skill_duration_multiplier(SKILL_ENGINEER), INTERRUPT_NO_NEEDHAND, BUSY_ICON_HOSTILE))
Copy link
Contributor

Choose a reason for hiding this comment

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

early return

@Zonespace27 Zonespace27 marked this pull request as draft June 23, 2024 22:12
Copy link
Contributor

github-actions bot commented Jul 8, 2024

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions bot added the Stale beg a maintainer to review your PR label Jul 8, 2024
@cm13-github cm13-github added the Merge Conflict PR can't be merged because it touched too much code label Jul 10, 2024
@cm13-github
Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot removed the Stale beg a maintainer to review your PR label Jul 11, 2024
@Zonespace27 Zonespace27 added the Stale beg a maintainer to review your PR label Jul 16, 2024
@Nanu308
Copy link
Member

Nanu308 commented Jul 18, 2024

Fix up your PR and resolve prior reviews, and I'll map review it.

@github-actions github-actions bot removed the Stale beg a maintainer to review your PR label Jul 18, 2024
Copy link
Contributor

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions bot added the Stale beg a maintainer to review your PR label Jul 25, 2024
Copy link
Member

@Nanu308 Nanu308 left a comment

Choose a reason for hiding this comment

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

mapping lgtm

Copy link
Member

Choose a reason for hiding this comment

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

mapping lgtm

Copy link
Member

Choose a reason for hiding this comment

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

mapping lgtm

Copy link
Member

Choose a reason for hiding this comment

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

mapping lgtm

@Nanu308 Nanu308 added Mapping Approved adds 500 new dict keys Stale beg a maintainer to review your PR and removed Stale beg a maintainer to review your PR labels Jul 28, 2024
@AndroBetel AndroBetel closed this Aug 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Feature coder badge Mapping Approved adds 500 new dict keys Mapping did you remember to save in tgm format? Merge Conflict PR can't be merged because it touched too much code Sprites Remove the soul from the game. Stale beg a maintainer to review your PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants