-
Notifications
You must be signed in to change notification settings - Fork 64
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[MIRROR] The Voidwalker | New Midround Antagonist [MDB IGNORE] (#4546)
* The Voidwalker | New Midround Antagonist * Update role_preferences.dm * Update sql_ban_system.dm * Update _bodyparts.dm * Update role_preferences.dm * Update lazy_templates.dm * Update _bodyparts.dm * Update _bodyparts.dm * Grep --------- Co-authored-by: NovaBot <[email protected]> Co-authored-by: Time-Green <[email protected]> Co-authored-by: SomeRandomOwl <[email protected]> Co-authored-by: Bloop <[email protected]> Co-authored-by: Iajret <[email protected]>
- Loading branch information
1 parent
ad3f252
commit 1417993
Showing
63 changed files
with
2,591 additions
and
25 deletions.
There are no files selected for viewing
1,101 changes: 1,101 additions & 0 deletions
1,101
_maps/templates/lazy_templates/voidwalker_void.dmm
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
/// Bodypart overlays focused on texturing limbs | ||
/datum/bodypart_overlay/texture | ||
/// icon file for the texture | ||
var/texture_icon | ||
/// icon state for the texture | ||
var/texture_icon_state | ||
/// Cache the icon so we dont have to make a new one each time | ||
var/cached_texture_icon | ||
|
||
/datum/bodypart_overlay/texture/New() | ||
. = ..() | ||
|
||
cached_texture_icon = icon(texture_icon, texture_icon_state) | ||
|
||
/datum/bodypart_overlay/texture/modify_bodypart_appearance(datum/appearance) | ||
appearance.add_filter("bodypart_texture_[texture_icon_state]", 1, layering_filter(icon = cached_texture_icon,blend_mode = BLEND_INSET_OVERLAY)) | ||
|
||
/datum/bodypart_overlay/texture/generate_icon_cache() | ||
return "[type]" | ||
|
||
/datum/bodypart_overlay/texture/spacey | ||
texture_icon_state = "spacey" | ||
texture_icon = 'icons/mob/human/textures.dmi' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
/// Following recent tomfoolery, we've decided to ban you from space. | ||
/datum/component/banned_from_space | ||
/// List of recent tiles we walked on that aren't space | ||
var/list/tiles = list() | ||
/// The max amount of tiles we store | ||
var/max_tile_list_size = 4 | ||
|
||
/datum/component/banned_from_space/Initialize(...) | ||
if(!ismovable(parent)) | ||
return COMPONENT_INCOMPATIBLE | ||
|
||
RegisterSignal(parent, COMSIG_ATOM_ENTERING, PROC_REF(check_if_space)) | ||
|
||
/datum/component/banned_from_space/proc/check_if_space(atom/source, atom/new_location) | ||
SIGNAL_HANDLER | ||
|
||
if(!isturf(new_location)) | ||
return | ||
|
||
if(isspaceturf(new_location)) | ||
send_back(parent) | ||
|
||
else | ||
tiles.Add(new_location) | ||
if(tiles.len > max_tile_list_size) | ||
tiles.Cut(1, 2) | ||
|
||
/datum/component/banned_from_space/proc/send_back(atom/movable/parent) | ||
var/new_turf | ||
|
||
if(tiles.len) | ||
new_turf = tiles[1] | ||
new /obj/effect/temp_visual/portal_animation(parent.loc, new_turf, parent) | ||
else | ||
new_turf = get_random_station_turf() | ||
|
||
parent.forceMove(new_turf) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
/// Allows us to move through glass but not electrified glass. Can also do a little slowdown before passing through | ||
/datum/component/glass_passer | ||
/// How long does it take us to move into glass? | ||
var/pass_time = 0 SECONDS | ||
|
||
/datum/component/glass_passer/Initialize(pass_time) | ||
if(!ismob(parent)) //if its not a mob then just directly use passwindow | ||
return COMPONENT_INCOMPATIBLE | ||
|
||
src.pass_time = pass_time | ||
|
||
if(!pass_time) | ||
passwindow_on(parent, type) | ||
else | ||
RegisterSignal(parent, COMSIG_MOVABLE_BUMP, PROC_REF(bumped)) | ||
|
||
var/mob/mobbers = parent | ||
mobbers.generic_canpass = FALSE | ||
RegisterSignal(parent, COMSIG_MOVABLE_CROSS_OVER, PROC_REF(cross_over)) | ||
|
||
/datum/component/glass_passer/Destroy() | ||
. = ..() | ||
if(parent) | ||
passwindow_off(parent, type) | ||
|
||
/datum/component/glass_passer/proc/cross_over(mob/passer, atom/crosser) | ||
SIGNAL_HANDLER | ||
|
||
if(istype(crosser, /obj/structure/grille)) | ||
var/obj/structure/grille/grillefriend = crosser | ||
if(grillefriend.is_shocked()) //prevent passage of shocked | ||
crosser.balloon_alert(passer, "is shocked!") | ||
return COMPONENT_BLOCK_CROSS | ||
|
||
return null | ||
|
||
/datum/component/glass_passer/proc/bumped(mob/living/owner, atom/bumpee) | ||
SIGNAL_HANDLER | ||
|
||
if(!istype(bumpee, /obj/structure/window)) | ||
return | ||
|
||
INVOKE_ASYNC(src, PROC_REF(phase_through_glass), owner, bumpee) | ||
|
||
/datum/component/glass_passer/proc/phase_through_glass(mob/living/owner, atom/bumpee) | ||
if(!do_after(owner, pass_time, bumpee)) | ||
return | ||
passwindow_on(owner, type) | ||
try_move_adjacent(owner, get_dir(owner, bumpee)) | ||
passwindow_off(owner, type) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
/// Slowly kill the thing when iuts on a planet | ||
/datum/component/planet_allergy/Initialize(...) | ||
if(!isliving(parent)) | ||
return COMPONENT_INCOMPATIBLE | ||
|
||
RegisterSignal(parent, COMSIG_ENTER_AREA, PROC_REF(entered_area)) | ||
|
||
/datum/component/planet_allergy/proc/entered_area(mob/living/parent, area/new_area) | ||
SIGNAL_HANDLER | ||
|
||
if(is_on_a_planet(parent) && parent.has_gravity()) | ||
parent.apply_status_effect(/datum/status_effect/planet_allergy) //your gamer body cant stand real gravity | ||
else | ||
parent.remove_status_effect(/datum/status_effect/planet_allergy) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
/// Camouflage us when we enter space by increasing alpha and or changing color | ||
/datum/component/space_camo | ||
/// Alpha we have in space | ||
var/space_alpha | ||
/// Alpha we have elsewhere | ||
var/non_space_alpha | ||
/// How long we can't enter camo after hitting or being hit | ||
var/reveal_after_combat | ||
/// The world time after we can camo again | ||
VAR_PRIVATE/next_camo | ||
|
||
/datum/component/space_camo/Initialize(space_alpha, non_space_alpha, reveal_after_combat) | ||
if(!ismovable(parent)) | ||
return COMPONENT_INCOMPATIBLE | ||
|
||
src.space_alpha = space_alpha | ||
src.non_space_alpha = non_space_alpha | ||
src.reveal_after_combat = reveal_after_combat | ||
|
||
RegisterSignal(parent, COMSIG_ATOM_ENTERING, PROC_REF(on_atom_entering)) | ||
|
||
if(isliving(parent)) | ||
RegisterSignals(parent, list(COMSIG_ATOM_WAS_ATTACKED, COMSIG_MOB_ITEM_ATTACK, COMSIG_LIVING_UNARMED_ATTACK, COMSIG_ATOM_BULLET_ACT, COMSIG_ATOM_REVEAL), PROC_REF(force_exit_camo)) | ||
|
||
/datum/component/space_camo/proc/on_atom_entering(atom/movable/entering, atom/entered) | ||
SIGNAL_HANDLER | ||
|
||
if(!attempt_enter_camo()) | ||
exit_camo(parent) | ||
|
||
/datum/component/space_camo/proc/attempt_enter_camo() | ||
if(!isspaceturf(get_turf(parent)) || next_camo > world.time) | ||
return FALSE | ||
|
||
enter_camo(parent) | ||
return TRUE | ||
|
||
/datum/component/space_camo/proc/force_exit_camo() | ||
SIGNAL_HANDLER | ||
|
||
exit_camo(parent) | ||
next_camo = world.time + reveal_after_combat | ||
addtimer(CALLBACK(src, PROC_REF(attempt_enter_camo)), reveal_after_combat, TIMER_OVERRIDE | TIMER_UNIQUE) | ||
|
||
/datum/component/space_camo/proc/enter_camo(atom/movable/parent) | ||
if(parent.alpha != space_alpha) | ||
animate(parent, alpha = space_alpha, time = 0.5 SECONDS) | ||
parent.remove_from_all_data_huds() | ||
parent.add_atom_colour(SSparallax.get_parallax_color(), TEMPORARY_COLOUR_PRIORITY) | ||
|
||
/datum/component/space_camo/proc/exit_camo(atom/movable/parent) | ||
animate(parent, alpha = non_space_alpha, time = 0.5 SECONDS) | ||
parent.add_to_all_human_data_huds() | ||
parent.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY) |
Oops, something went wrong.