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

[EVENT PR]SS13 construct #103

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
65,380 changes: 65,380 additions & 0 deletions _maps/map_files/debug/ss13_construct.dmm

Large diffs are not rendered by default.

14 changes: 14 additions & 0 deletions _maps/ss13_construct.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"version": 1,
"map_name": "SS13 Construct",
"map_path": "map_files/debug",
"map_file": "ss13_construct.dmm",
"space_ruin_levels": 0,
"space_empty_levels": 0,
"planetary": 1,
"minetype": "none",
"ignored_unit_tests": [
"/datum/unit_test/job_roundstart_spawnpoints",
"/datum/unit_test/required_map_items"
]
}
3 changes: 3 additions & 0 deletions config/maps.txt
Original file line number Diff line number Diff line change
Expand Up @@ -75,3 +75,6 @@ map nssjourney
maxplayers 100
votable
endmap

map ss13_construct
endmap
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/obj/machinery/vending/tool/super
name = "You (best) tool"
desc = "A architector tool for free!"
max_integrity = 99999
products = list(
/obj/item/crowbar/freeman/ultimate = 999,
/obj/item/clothing/suit/space/hev_suit = 999,
/obj/item/clothing/head/helmet/space/hev_suit = 999,
/obj/item/gun/ballistic/automatic/pistol/g17/mesa = 999,
/obj/item/gun/ballistic/shotgun/automatic/combat/compact = 999,
/obj/item/gun/ballistic/revolver = 999,
)
premium = list(
/obj/item/clothing/glasses/debug/architector_glasses = 999,
/obj/item/physic_manipulation_tool/advanced = 999,
/obj/item/phystool = 999,
)
extra_price = PAYCHECK_ZERO
default_price = PAYCHECK_ZERO
resistance_flags = INDESTRUCTIBLE

/obj/machinery/vending/tool/super/screwdriver_act(mob/living/user, obj/item/attack_item)
return FALSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/datum/action/cooldown/fly
name = "Toggle fly"
desc = "Grand you ability to free move, cross the space."

button_icon = 'icons/effects/effects.dmi'
button_icon_state = "lintel"
var/enabled = FALSE


/datum/action/cooldown/fly/IsAvailable(feedback)
. = ..()

if(owner.stat & DEAD)
return

/datum/action/cooldown/fly/Activate(atom/target)
. = ..()
if(enabled)
disable_fly()
return TRUE
enable_fly()
return TRUE

/datum/action/cooldown/fly/proc/enable_fly()
owner.movement_type = FLYING
owner.plane += 2
enabled = TRUE
playsound(owner, 'sound/effects/gravhit.ogg', 25)
ADD_TRAIT(owner, TRAIT_FORCED_GRAVITY, REF(src))
animate(owner, 5 SECONDS, alpha = 100)
RegisterSignal(owner, COMSIG_LIVING_DEATH, PROC_REF(owner_dead), TRUE)
DO_FLOATING_ANIM(owner)

/datum/action/cooldown/fly/proc/disable_fly()
owner.movement_type = initial(owner.movement_type)
owner.plane = initial(owner.plane)
enabled = FALSE
playsound(owner, 'sound/effects/gravhit.ogg', 25)
REMOVE_TRAIT(owner, TRAIT_FORCED_GRAVITY, REF(src))
owner.alpha = initial(owner.alpha)
UnregisterSignal(owner, COMSIG_LIVING_DEATH)
STOP_FLOATING_ANIM(owner)

/datum/action/cooldown/fly/proc/owner_dead()
SIGNAL_HANDLER

if(enabled)
disable_fly()
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/datum/action/cooldown/noclip
name = "Toggle noclip"
desc = "Grand you ability move though the solid objects. Like walls, doors, mobs e.t.c"
cooldown_time = 1 SECONDS

button_icon = 'icons/effects/effects.dmi'
button_icon_state = "the_freezer"
var/enabled = FALSE

/datum/action/cooldown/noclip/IsAvailable(feedback)
. = ..()

if(owner.stat & DEAD)
return
if(owner.incapacitated(IGNORE_GRAB))
return

/datum/action/cooldown/noclip/Activate(atom/target)
. = ..()
if(enabled)
disable_noclip()
return TRUE
enable_noclip()
return TRUE

/datum/action/cooldown/noclip/proc/enable_noclip()
owner.pass_flags |= PASSCLOSEDTURF | PASSTABLE | PASSDOORS | PASSBLOB | PASSGLASS | PASSGRILLE | PASSMOB | PASSSTRUCTURE | PASSVEHICLE
owner.mouse_opacity = MOUSE_OPACITY_TRANSPARENT
owner.density = FALSE
owner.add_movespeed_modifier(/datum/movespeed_modifier/noclip)
RegisterSignal(owner, COMSIG_LIVING_DEATH, PROC_REF(owner_dead), TRUE)
enabled = TRUE

/datum/action/cooldown/noclip/proc/disable_noclip()
owner.pass_flags = initial(owner.pass_flags)
owner.mouse_opacity = initial(owner.mouse_opacity)
owner.density = initial(owner.density)
owner.remove_movespeed_modifier(/datum/movespeed_modifier/noclip)
UnregisterSignal(owner, COMSIG_LIVING_DEATH)
enabled = FALSE

/datum/action/cooldown/noclip/proc/owner_dead()
SIGNAL_HANDLER

if(enabled)
disable_noclip()
StartCooldown()

/datum/movespeed_modifier/noclip
id = "noclip"
movetypes = GROUND | FLYING
multiplicative_slowdown = -2
12 changes: 12 additions & 0 deletions tff_modular/modules/dm_construct13/code/tools/architector_items.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/obj/item/clothing/glasses/debug/architector_glasses
name = "Architector glasses"
desc = "Hight-tech glasses with manys of special abilites."
icon_state = "sun"
inhand_icon_state = "sunglasses"
resistance_flags = INDESTRUCTIBLE

actions_types = list(
/datum/action/cooldown/fly,
/datum/action/cooldown/noclip,
/datum/action/item_action/chameleon/change/glasses/no_preset
)
Loading
Loading