modsuits part 1

This commit is contained in:
PeriodicChaos
2022-08-19 15:42:47 -04:00
committed by Jerry Wester
parent 792790216d
commit 183b554ed3
32 changed files with 421 additions and 50 deletions
+4
View File
@@ -1271,3 +1271,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
/obj/item/proc/update_action_buttons(status_only = FALSE, force = FALSE)
for(var/datum/action/current_action as anything in actions)
current_action.UpdateButtonIcon(status_only, force)
/// Special stuff you want to do when an outfit equips this item.
/obj/item/proc/on_outfit_equip(mob/living/carbon/human/outfit_wearer, visuals_only, item_slot)
return
+10 -6
View File
@@ -26,18 +26,22 @@
user.visible_message("<span class='suicide'>[user] is trying to upload [user.p_them()]self into [src]! That's not going to work out well!</span>")
return BRUTELOSS
/obj/item/aicard/afterattack(atom/target, mob/user, proximity)
. = ..()
if(!proximity || !target)
return
/obj/item/aicard/pre_attack(atom/target, mob/living/user, params)
if(AI) //AI is on the card, implies user wants to upload it.
log_combat(user, AI, "carded", src)
var/our_ai = AI
target.transfer_ai(AI_TRANS_FROM_CARD, user, AI, src)
else //No AI on the card, therefore the user wants to download one.
target.transfer_ai(AI_TRANS_TO_CARD, user, null, src)
if(AI)
log_combat(user, our_ai, "uploaded", src, "to [target].")
return TRUE
else //No AI on the card, therefore the user wants to download one.
target.transfer_ai(AI_TRANS_TO_CARD, user, null, src)
if(AI)
log_combat(user, AI, "carded", src)
update_icon() //Whatever happened, update the card's state (icon, name) to match.
return TRUE
update_appearance() //Whatever happened, update the card's state (icon, name) to match.
return ..()
/obj/item/aicard/update_icon()
cut_overlays()
+7 -1
View File
@@ -53,7 +53,13 @@
var/atom/movable/A = X
if(A == wielder)
continue
if(A && !A.anchored && !ishuman(X))
if(isliving(A))
var/mob/living/vortexed_mob = A
if(vortexed_mob.mob_negates_gravity())
continue
else
vortexed_mob.Paralyze(2 SECONDS)
if(!A.anchored && !isobserver(A))
step_towards(A,pull)
step_towards(A,pull)
step_towards(A,pull)
@@ -5,9 +5,6 @@
w_class = WEIGHT_CLASS_NORMAL
var/component_type = /datum/component/storage/concrete
/obj/item/storage/get_dumping_location(obj/item/storage/source,mob/user)
return src
/obj/item/storage/Initialize(mapload)
. = ..()
PopulateContents()
+27
View File
@@ -19,6 +19,25 @@
ion_trail = new
ion_trail.set_up(src)
/obj/item/tank/jetpack/Destroy()
QDEL_NULL(ion_trail)
return ..()
/obj/item/tank/jetpack/item_action_slot_check(slot)
if(slot == ITEM_SLOT_BACK)
return TRUE
/obj/item/tank/jetpack/equipped(mob/user, slot, initial)
. = ..()
if(on && slot != ITEM_SLOT_BACK)
turn_off(user)
/obj/item/tank/jetpack/dropped(mob/user, silent)
. = ..()
if(on)
turn_off(user)
/obj/item/tank/jetpack/populate_gas()
if(gas_type)
air_contents.set_moles(gas_type, ((6 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)))
@@ -53,6 +72,7 @@
icon_state = "[initial(icon_state)]-on"
ion_trail.start()
RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/move_react)
RegisterSignal(user, COMSIG_MOVABLE_SPACEMOVE, .proc/spacemove_react)
if(full_speed)
user.add_movespeed_modifier(/datum/movespeed_modifier/jetpack/fullspeed)
else
@@ -90,6 +110,13 @@
else
..()
/obj/item/tank/jetpack/proc/spacemove_react(mob/user, movement_dir)
SIGNAL_HANDLER
if(on && (movement_dir || stabilizers))
return COMSIG_MOVABLE_STOP_SPACEMOVE
/obj/item/tank/jetpack/improvised
name = "improvised jetpack"
desc = "A jetpack made from two air tanks, a fire extinguisher and some atmospherics equipment. It doesn't look like it can hold much."
+1 -1
View File
@@ -237,7 +237,7 @@
if(!anchored || current_size >= STAGE_FIVE)
step_towards(src,S)
/obj/get_dumping_location(datum/component/storage/source,mob/user)
/obj/get_dumping_location()
return get_turf(src)
/**
+1 -1
View File
@@ -133,7 +133,7 @@
new mineral(loc)
qdel(src)
/obj/structure/falsewall/get_dumping_location(obj/item/storage/source,mob/user)
/obj/structure/falsewall/get_dumping_location()
return null
/obj/structure/falsewall/examine_status(mob/user) //So you can't detect falsewalls by examine.
+1 -1
View File
@@ -273,7 +273,7 @@
C.add_delayedload(C.newavail() * 0.0375) // you can gain up to 3.5 via the 4x upgrades power is halved by the pole so thats 2x then 1X then .5X for 3.5x the 3 bounces shock.
return ..()
/obj/structure/grille/get_dumping_location(datum/component/storage/source,mob/user)
/obj/structure/grille/get_dumping_location()
return null
/obj/structure/grille/broken // Pre-broken grilles for map placement
+1 -1
View File
@@ -567,7 +567,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
take_damage(round(exposed_volume / 100), BURN, 0, 0)
..()
/obj/structure/window/get_dumping_location(obj/item/storage/source,mob/user)
/obj/structure/window/get_dumping_location()
return null
/obj/structure/window/CanAStarPass(obj/item/card/id/ID, to_dir, atom/movable/caller)