mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-06-20 12:53:53 +01:00
76a845d380
* biting off more than I can chew, but I feel like hurting myself * more shit * progress continues, moral stays sameish * bite of 2587 * mod_theme down, but probably broken * 385 errors, 16 warnings, zero tgui interactions * 292 19 * final strech to buggy mess, break time * it compiles. It almost fucking certainly doesnt work, but it compiles * fudhsciffubgsbgpgb actions not working as should for modules * fuck it we'll just open the pr as we work on it * icons work now * tgui stuff * more progress * JUDGEMENT * IT LIVES. TGUI LIVES. Special thanks to Sirryan and my brother. * jetpacks, gps, and go do what exo-suits yourself * almost ready * sorry to whoever has to review this * should work™️ * should be good now * pushing changes so I can do reviews next * Apply suggestions from code review Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * lore™️ Adds illegals level to modsuit parts from syndicate. * early returns * and these illegals * no uplink reference idiot * mod inhands are a good idea * this is needed for inhands nerd * Bomb detector working, modsutis cover ears. skin things * overslotting removal, cyborg charging, ert loadout for gamma * duplicated signal * modsuit themes, removes broken mister / bad base type module, 2 cores in robotics. * tether module, orb module, holster stuff * built in no slip, cheaper 87 * removes modules already installed, engineer ert get jetpack, equip into modsuit storage * comments spaces and duplicate flags * Some adjustments and thoughts on armor, heads get guns because they are cool like that / looting command members armor * Apply suggestions from code review Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> * Compile TGUI, slowdown adjustment, Modsuit to MODsuit * sonar, do after, more equipment, acid handling * overlay bugs / ERT / DS suits autodeploy * middle click action buttons * traders, sec modsuit energy nerf * surplus weighting * Kinesis module. * Pathfinder module, kinesis balance, blueprint for pathfinder and kinesis * more power / unused module removed * name, ds fix, pre equipped to cc suit * depot / grammer * ok should be good™️ * overslot, dupe gun, missing suit storage * stealth nerf, new kit * gun stuff / ds theme * bio armor is gone * let me push changes please thank you * makes shocks work right * copies over some changes TG made to module prices after porting * Merge remote-tracking branch 'upstream/master' into Because-I-hate-myself-and-someone-has-to-try-it- * sirryans changes Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> * Update code/modules/telesci/gps.dm Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> * Update code/modules/telesci/gps.dm Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> * Control define, ERT / DS have gloves / boots again. * Apply suggestions from code review Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> * More changes * god I hate tgui. Why do all the bundles live underground, instead of in my basement? * she updates my master till I testmerge * modsuits can recharge again * fixes a lot of shit * Ready for TM probably * sure fuck it whatever that makes sense I guess * the pinpointer works better™️ * Another storage module bug fix * hair and medical stuff * fuck fuck fuck * fixes sonar * Bag exploit fixes / plasma runtimes / ear nerf * dna lock improvement / cryostorage * whoops * Ball form second cooldown wasn't helping, no more infinite cores * she springs my lock till I ***SNAP*** * plasmaman no longer die * fixes modsuit emp issues * atmos no longer fucking dies * Fixes, module printing, and a restriction on newly constructed modsuits * Inventory code my hated * WOOO PREFERENCE CODE WOOOOO * icons my hated * fix for mods / spaceproof shit * holy shit whhhyyyyy * backpack first * Update mod_theme.dm * prevent infinite gun arms / infinite modsuit cores / syndicate modules * fixes tm error * scream loudly if species sprites break. They shouldn't, but, you know. * deconflicted with luck * converts to refit for species * fix pathfinder * fixes modsuits being funky power wise * lockboxes :gatto: , as well as DN-MP shield lock, and slight nerf to atmos modsuit * nerfs the atmos modsuit * magboots for ds / CC modsuit * downside of autosave: typing in wrong window saves bad stuff * Gamma ERT have internal cameras again. * spellcheck when * ah fuck * yes delete the null that works * whoops * fixes error / description * un vulps your cannon * fixes tails disapeering on base modsuits * space to underscore * tgui fix / tajaran * springlock buff, cryopod fix * u helps * WHO PUTS A GUN IN ITEMS * tgui moment * mining modsuit nerf / hidden holster module * PAIN * UNATHI TIDE STATION WIDE * I love special code * slightly dense * shark jumpscare * fixes ghost item, fixes springlock being bad * YIPPEEEE IT WORKED * she decons my flict * pain * ebbas days are numbered :^) * hidden * r-r-r-ebuild * fixes more bugs * qwerty, you are dense * fixes gps * fix mulebot crate * level fix * adds back icon * moving storage, fix bug, modules activate / deactivate message * yeah * yeah * yeah™️ * steels requests * windoors no longer make pathfinder module explode * chat spam * oil slicks + modsuits * whoops * bag check * ofc * Update code/modules/mod/mod_control.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/datums/uplink_items/uplink_nuclear.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/modules/mod/mod_control.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/modules/mod/modules/module_pathfinder.dm Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com> --------- Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com> Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
154 lines
6.1 KiB
Plaintext
154 lines
6.1 KiB
Plaintext
//Engineering modules for MODsuits
|
|
|
|
///Welding Protection - Makes the helmet protect from flashes and welding.
|
|
/obj/item/mod/module/welding
|
|
name = "MOD welding protection module"
|
|
desc = "A module installed into the visor of the suit, this projects a \
|
|
polarized, holographic overlay in front of the user's eyes. It's rated high enough for \
|
|
immunity against extremities such as spot and arc welding, solar eclipses, and handheld flashlights."
|
|
icon_state = "welding"
|
|
complexity = 1
|
|
incompatible_modules = list(/obj/item/mod/module/welding, /obj/item/mod/module/armor_booster)
|
|
overlay_state_inactive = "module_welding"
|
|
|
|
/obj/item/mod/module/welding/on_suit_activation()
|
|
mod.helmet.flash_protect = FLASH_PROTECTION_WELDER
|
|
|
|
/obj/item/mod/module/welding/on_suit_deactivation(deleting = FALSE)
|
|
if(deleting)
|
|
return
|
|
mod.helmet.flash_protect = initial(mod.helmet.flash_protect)
|
|
|
|
///T-Ray Scan - Scans the terrain for undertile objects.
|
|
/obj/item/mod/module/t_ray
|
|
name = "MOD t-ray scan module"
|
|
desc = "A module installed into the visor of the suit, allowing the user to use a pulse of terahertz radiation \
|
|
to essentially echolocate things beneath the floor, mostly cables and pipes. \
|
|
A staple of atmospherics work, and counter-smuggling work."
|
|
icon_state = "tray"
|
|
module_type = MODULE_TOGGLE
|
|
complexity = 1
|
|
active_power_cost = DEFAULT_CHARGE_DRAIN * 0.5
|
|
incompatible_modules = list(/obj/item/mod/module/t_ray)
|
|
cooldown_time = 0.5 SECONDS
|
|
/// T-ray scan range.
|
|
var/range = 4
|
|
|
|
/obj/item/mod/module/t_ray/on_active_process()
|
|
t_ray_scan(mod.wearer, 0.8 SECONDS, range)
|
|
|
|
///Magnetic Stability - Gives the user a slowdown but makes them negate gravity and be immune to slips.
|
|
/obj/item/mod/module/magboot
|
|
name = "MOD magnetic stability module"
|
|
desc = "These are powerful electromagnets fitted into the suit's boots, allowing users both \
|
|
excellent traction no matter the condition indoors, and to essentially hitch a ride on the exterior of a hull. \
|
|
However, these basic models do not feature computerized systems to automatically toggle them on and off, \
|
|
so numerous users report a certain stickiness to their steps."
|
|
icon_state = "magnet"
|
|
module_type = MODULE_TOGGLE
|
|
complexity = 2
|
|
active_power_cost = DEFAULT_CHARGE_DRAIN * 0.5
|
|
incompatible_modules = list(/obj/item/mod/module/magboot)
|
|
cooldown_time = 0.5 SECONDS
|
|
/// Slowdown added onto the suit.
|
|
var/slowdown_active = 0.5
|
|
|
|
/obj/item/mod/module/magboot/on_activation()
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
mod.boots.flags |= NOSLIP
|
|
mod.slowdown += slowdown_active
|
|
mod.boots.magbooted = TRUE
|
|
|
|
/obj/item/mod/module/magboot/on_deactivation(display_message = TRUE, deleting = FALSE)
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
mod.boots.flags ^= NOSLIP
|
|
mod.slowdown -= slowdown_active
|
|
mod.boots.magbooted = FALSE
|
|
|
|
/obj/item/mod/module/magboot/advanced
|
|
name = "MOD advanced magnetic stability module"
|
|
removable = FALSE
|
|
complexity = 0
|
|
slowdown_active = 0
|
|
|
|
///Radiation Protection - Gives the user rad info in the ui, currently
|
|
/obj/item/mod/module/rad_protection
|
|
name = "MOD radiation detector module"
|
|
desc = "A protoype module that improves the sensors on the modsuit to detect radiation on the user. \
|
|
Currently due to time restraints and a lack of lead on lavaland, it does not have a built in geiger counter or radiation protection."
|
|
icon_state = "radshield"
|
|
complexity = 0 //I'm setting this to zero for now due to it not currently increasing radiaiton armor. If we add giger counter / additional rad protecion to this, it should be 2. We denied radiation potions before, so this should NOT give full rad immunity on a engi modsuit
|
|
idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.1 //Lowered from 0.3 due to no protection.
|
|
incompatible_modules = list(/obj/item/mod/module/rad_protection)
|
|
tgui_id = "rad_counter"
|
|
|
|
/obj/item/mod/module/rad_protection/add_ui_data()
|
|
. = ..()
|
|
.["userradiated"] = mod.wearer?.radiation || 0
|
|
.["usertoxins"] = mod.wearer?.getToxLoss() || 0
|
|
.["usermaxtoxins"] = mod.wearer?.getMaxHealth() || 0
|
|
|
|
|
|
///Emergency Tether - Shoots a grappling hook projectile in 0g that throws the user towards it.
|
|
/obj/item/mod/module/tether
|
|
name = "MOD emergency tether module"
|
|
desc = "A custom-built grappling-hook powered by a winch capable of hauling the user. \
|
|
While some older models of cargo-oriented grapples have capacities of a few tons, \
|
|
these are only capable of working in zero-gravity environments, a blessing to some Engineers."
|
|
icon_state = "tether"
|
|
module_type = MODULE_ACTIVE
|
|
complexity = 1
|
|
use_power_cost = DEFAULT_CHARGE_DRAIN
|
|
incompatible_modules = list(/obj/item/mod/module/tether)
|
|
cooldown_time = 4 SECONDS
|
|
|
|
/obj/item/mod/module/tether/on_use()
|
|
if(has_gravity(get_turf(src)))
|
|
to_chat(mod.wearer, "<span class='warning'>Too much gravity to use the tether!</span>")
|
|
playsound(src, 'sound/weapons/gun_interactions/dry_fire.ogg', 25, TRUE)
|
|
return FALSE
|
|
return ..()
|
|
|
|
/obj/item/mod/module/tether/on_select_use(atom/target)
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
var/obj/item/projectile/tether = new /obj/item/projectile/tether(get_turf(mod.wearer))
|
|
tether.original = target
|
|
tether.firer = mod.wearer
|
|
tether.preparePixelProjectile(target, get_turf(target), mod.wearer)
|
|
tether.fire()
|
|
playsound(src, 'sound/weapons/batonextend.ogg', 25, TRUE)
|
|
INVOKE_ASYNC(tether, TYPE_PROC_REF(/obj/item/projectile/tether, make_chain))
|
|
drain_power(use_power_cost)
|
|
|
|
/obj/item/projectile/tether
|
|
name = "tether"
|
|
icon_state = "tether_projectile"
|
|
icon = 'icons/obj/clothing/modsuit/mod_modules.dmi'
|
|
speed = 2
|
|
damage = 5
|
|
range = 15
|
|
hitsound = 'sound/weapons/batonextend.ogg'
|
|
hitsound_wall = 'sound/weapons/batonextend.ogg'
|
|
|
|
/obj/item/projectile/tether/proc/make_chain()
|
|
if(firer)
|
|
chain = Beam(firer, icon_state = "line", icon = 'icons/obj/clothing/modsuit/mod_modules.dmi', time = 10 SECONDS, maxdistance = 15)
|
|
|
|
/obj/item/projectile/tether/on_hit(atom/target)
|
|
. = ..()
|
|
if(firer && isliving(firer))
|
|
var/mob/living/L = firer
|
|
L.apply_status_effect(STATUS_EFFECT_IMPACT_IMMUNE)
|
|
L.throw_at(target, 15, 1, L, FALSE, FALSE, callback = CALLBACK(L, TYPE_PROC_REF(/mob/living, remove_status_effect), STATUS_EFFECT_IMPACT_IMMUNE))
|
|
|
|
/obj/item/projectile/tether/Destroy()
|
|
QDEL_NULL(chain)
|
|
return ..()
|
|
|