{"action":"created","comment":{"url":"https://api.github.com/repos/HippieStation/HippieStation/pulls/comments/183381491","pull_request_review_id":114362453,"id":183381491,"diff_hunk":"@@ -0,0 +1,934 @@\n+//Crytek Nanosuit\n+/obj/item/clothing/under/syndicate/combat/nano\n+\tname = \"nanosuit lining\"\n+\tdesc = \"Foreign body resistant lining built below the nanosuit. Provides internal protection. Property of CryNet Systems.\"\n+\tresistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | FREEZE_PROOF\n+\tarmor = list(\"melee\" = 20, \"bullet\" = 10, \"laser\" = 0,\"energy\" = 5, \"bomb\" = 10, \"bio\" = 10, \"rad\" = 10, \"fire\" = 80, \"acid\" = 50)\n+\n+/obj/item/clothing/under/syndicate/combat/nano/ComponentInitialize()\n+\t. = ..()\n+\tAddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION, TRUE, FALSE)\n+\n+/obj/item/clothing/under/syndicate/combat/nano/equipped(mob/user, slot)\n+\t.=..()\n+\tif(slot == slot_w_uniform)\n+\t\tflags_1 |= NODROP_1\n+\n+/obj/item/clothing/under/syndicate/combat/nano/dropped(mob/user)\n+\t..()\n+\tqdel(src)\n+\n+/obj/item/clothing/mask/gas/nano_mask\n+\tname = \"nanosuit gas mask\"\n+\tdesc = \"Operator mask. Property of CryNet Systems.\" //More accurate\n+\ticon_state = \"syndicate\"\n+\tresistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | FREEZE_PROOF\n+\n+/obj/item/clothing/mask/gas/nano_gas/ComponentInitialize()\n+\t. = ..()\n+\tAddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION, TRUE, FALSE)\n+\n+/obj/item/clothing/mask/gas/nano_mask/equipped(mob/user, slot)\n+\t.=..()\n+\tif(slot == slot_wear_mask)\n+\t\tflags_1 |= NODROP_1\n+\n+/obj/item/clothing/mask/gas/nano_mask/dropped(mob/user)\n+\t..()\n+\tqdel(src)\n+\n+/datum/action/item_action/nanojump\n+\tname = \"Activate Strength Jump\"\n+\tdesc = \"Activates the Nanosuit's super jumping ability to allows the user to cross 2 wide gaps.\"\n+\ticon_icon = 'icons/mob/actions/actions_items.dmi'\n+\tbutton_icon_state = \"jetboot\"\n+\n+/obj/item/clothing/shoes/combat/coldres/nanojump\n+\tname = \"nanosuit boots\"\n+\tdesc = \"Boots part of a nanosuit. Slip resistant. Property of CryNet Systems.\"\n+\tflags_1 = NOSLIP_1\n+\tgas_transfer_coefficient = 0.01\n+\tpermeability_coefficient = 0.01\n+\tresistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | FREEZE_PROOF\n+\tvar/jumpdistance = 2 //-1 from to see the actual distance, e.g 3 goes over 2 tiles\n+\tvar/jumpspeed = 1\n+\tactions_types = list(/datum/action/item_action/nanojump)\n+\n+/obj/item/clothing/shoes/combat/nano/ComponentInitialize()\n+\t. = ..()\n+\tAddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION, TRUE, FALSE)\n+\n+\n+/obj/item/clothing/shoes/combat/coldres/nanojump/ui_action_click(mob/user, action)\n+\tif(!isliving(user))\n+\t\treturn\n+\n+\tvar/turf/open/floor/T = get_turf(src)\n+\tvar/obj/structure/S = locate() in get_turf(user.loc)\n+\tif(ishuman(user))\n+\t\tvar/mob/living/carbon/human/H = user\n+\t\tif(istype(H.wear_suit, /obj/item/clothing/suit/space/hardsuit/nano))\n+\t\t\tvar/obj/item/clothing/suit/space/hardsuit/nano/NS = H.wear_suit\n+\t\t\tif(NS.mode == \"strength\")\n+\t\t\t\tif(istype(T) || istype(S))\n+\t\t\t\t\tif(NS.cell.charge >= 30)\n+\t\t\t\t\t\tNS.cell.use(30)\n+\t\t\t\t\telse\n+\t\t\t\t\t\tto_chat(user, \"<span class='warning'>Not enough charge.</span>\")\n+\t\t\t\t\t\treturn\n+\t\t\t\telse\n+\t\t\t\t\tto_chat(user, \"<span class='warning'>You must be on a proper floor or stable structure.</span>\")\n+\t\t\t\t\treturn\n+\t\t\telse\n+\t\t\t\tto_chat(user, \"<span class='warning'>Only available in strength mode.</span>\")\n+\t\t\t\treturn\n+\t\telse\n+\t\t\tto_chat(user, \"<span class='warning'>You must be wearing a nanosuit.</span>\")\n+\t\t\treturn\n+\n+\tvar/atom/target = get_edge_target_turf(user, user.dir) //gets the user's direction\n+\n+\tif(user.throw_at(target, jumpdistance, jumpspeed, spin = FALSE, diagonals_first = TRUE))\n+\t\tplaysound(src, 'sound/effects/stealthoff.ogg', 50, 0.75, 1)\n+\t\tuser.visible_message(\"<span class='warning'>[usr] jumps forward into the air!</span>\")\n+\telse\n+\t\tto_chat(user, \"<span class='warning'>Something prevents you from dashing forward!</span>\")\n+\n+\n+/obj/item/clothing/shoes/combat/coldres/nanojump/equipped(mob/user, slot)\n+\t.=..()\n+\tif(slot == slot_shoes)\n+\t\tflags_1 |= NODROP_1\n+\n+/obj/item/clothing/shoes/combat/coldres/nanojump/dropped(mob/user)\n+\t..()\n+\tqdel(src)\n+\n+/obj/item/clothing/gloves/combat/nano\n+\tname = \"nano gloves\"\n+\tdesc = \"These tactical gloves are built into a nanosuit and are fireproof and shock resistant. Property of CryNet Systems.\"\n+\tresistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | FREEZE_PROOF\n+\tgas_transfer_coefficient = 0.01\n+\tpermeability_coefficient = 0.01\n+\n+/obj/item/clothing/gloves/combat/nano/ComponentInitialize()\n+\t. = ..()\n+\tAddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION, TRUE, FALSE)\n+\n+/obj/item/device/radio/headset/syndicate/alt/nano\n+\n+/obj/item/clothing/gloves/combat/nano/equipped(mob/user, slot)\n+\t.=..()\n+\tif(slot == slot_gloves)\n+\t\tflags_1 |= NODROP_1\n+\n+/obj/item/clothing/gloves/combat/nano/dropped(mob/user)\n+\t..()\n+\tqdel(src)\n+\n+/obj/item/device/radio/headset/syndicate/alt/nano\n+\tname = \"\\proper the nanosuit's bowman headset\"\n+\tdesc = \"Operator communication headset. Property of CryNet Systems.\"\n+\ticon_state = \"syndie_headset\"\n+\titem_state = \"syndie_headset\"\n+\tsubspace_transmission = FALSE\n+\tkeyslot = new /obj/item/device/encryptionkey/binary\n+\tresistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | FREEZE_PROOF\n+\n+/obj/item/device/radio/headset/syndicate/alt/nano/ComponentInitialize()\n+\t. = ..()\n+\tAddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION, TRUE, FALSE)\n+\n+/obj/item/device/radio/headset/syndicate/alt/nano/equipped(mob/user, slot)\n+\t.=..()\n+\tif(slot == slot_ears)\n+\t\tflags_1 |= NODROP_1\n+\n+/obj/item/device/radio/headset/syndicate/alt/nano/dropped(mob/user)\n+\t..()\n+\tqdel(src)\n+\n+/obj/item/device/radio/headset/syndicate/alt/nano/emp_act()\n+\treturn\n+\n+/obj/item/clothing/glasses/nano_goggles\n+\tname = \"nanosuit goggles\"\n+\tdesc = \"Goggles built for a nanosuit. Property of CryNet Systems.\"\n+\talternate_worn_icon = 'hippiestation/icons/mob/nanosuit.dmi'\n+\ticon = 'hippiestation/icons/obj/nanosuit.dmi'\n+\ticon_state = \"nvgmesonnano\"\n+\titem_state = \"nvgmesonnano\"\n+\tresistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | FREEZE_PROOF\n+\tglass_colour_type = /datum/client_colour/glass_colour/nightvision\n+\tactions_types = list(/datum/action/item_action/nanogoggles/toggle)\n+\tvision_correction = 1 //We must let our wearer have good eyesight\n+\tvar/on = 0\n+\n+/obj/item/clothing/glasses/nano_goggles/ComponentInitialize()\n+\t. = ..()\n+\tAddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION, TRUE, FALSE)\n+\n+/datum/client_colour/glass_colour/nightvision\n+\tcolour = \"#45723f\"\n+\n+/obj/item/clothing/glasses/nano_goggles/equipped(mob/user, slot)\n+\t.=..()\n+\tif(slot == slot_glasses)\n+\t\tflags_1 |= NODROP_1\n+\n+/obj/item/clothing/glasses/nano_goggles/dropped(mob/user)\n+\t..()\n+\tqdel(src)\n+\n+/obj/item/clothing/glasses/nano_goggles/ui_action_click(mob/user, action)\n+\tif(istype(action, /datum/action/item_action/nanogoggles/toggle))\n+\t\tnvgmode(user)\n+\t\treturn TRUE\n+\treturn FALSE\n+\n+/obj/item/clothing/glasses/nano_goggles/AltClick(mob/user)\n+\treturn\n+\n+/obj/item/clothing/glasses/nano_goggles/proc/nvgmode(mob/user, var/forced = FALSE)\n+\ton = !on\n+\tto_chat(user, \"<span class='[forced ? \"warning\":\"notice\"]'>[forced ? \"The goggles turn\":\"You turn the goggles\"] [on ? \"on\":\"off\"][forced ? \"!\":\".\"]</span>\")\n+\tif(ishuman(user))\n+\t\tvar/mob/living/carbon/human/H = user\n+\t\tif(H.glasses == src)\n+\t\t\tswitch(on)\n+\t\t\t\tif(1)\n+\t\t\t\t\tdarkness_view = 8\n+\t\t\t\t\tvision_flags = SEE_BLACKNESS\n+\t\t\t\t\tlighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE\n+\t\t\t\t\tH.add_client_colour(glass_colour_type)\n+\t\t\t\tif(0)\n+\t\t\t\t\tvision_flags = NONE\n+\t\t\t\t\tdarkness_view = 2\n+\t\t\t\t\tlighting_alpha = null\n+\t\t\t\t\tH.remove_client_colour(glass_colour_type)\n+\t\t\tH.update_client_colour()\n+\t\t\tH.update_sight()\n+\n+\tfor(var/X in actions)\n+\t\tvar/datum/action/A = X\n+\t\tA.UpdateButtonIcon()\n+\n+/obj/item/clothing/glasses/nano_goggles/emp_act(severity)\n+\t..()\n+\tif(prob(33/severity))\n+\t\tnvgmode(loc,TRUE)\n+\n+/obj/item/clothing/suit/space/hardsuit/nano\n+\talternate_worn_icon = 'hippiestation/icons/mob/nanosuit.dmi'\n+\ticon = 'hippiestation/icons/obj/nanosuit.dmi'\n+\ticon_state = \"nanosuit\"\n+\titem_state = \"nanosuit\"\n+\tname = \"nanosuit\"\n+\tdesc = \"Some sort of alien future suit. It looks very robust. Property of CryNet Systems.\"\n+\tvar/armor_mode = list(\"melee\" = 60, \"bullet\" = 60, \"laser\" = 60, \"energy\" = 65, \"bomb\" = 100, \"bio\" = 100, \"rad\" = 100, \"fire\" = 100, \"acid\" = 100)\n+\tarmor = list(\"melee\" = 40, \"bullet\" = 40, \"laser\" = 40, \"energy\" = 45, \"bomb\" = 70, \"bio\" = 100, \"rad\" = 70, \"fire\" = 100, \"acid\" = 100)\n+\tallowed = list(/obj/item/tank/internals)\n+\theat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS\t\t\t\t\t//Uncomment to enable firesuit protection\n+\tmax_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT\n+\thelmettype = /obj/item/clothing/head/helmet/space/hardsuit/nano\n+\tslowdown = 0.5\n+\tresistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | FREEZE_PROOF\n+\tactions_types = list(/datum/action/item_action/nanosuit/armor, /datum/action/item_action/nanosuit/cloak, /datum/action/item_action/nanosuit/speed, /datum/action/item_action/nanosuit/strength)\n+\tpermeability_coefficient = 0.01\n+\tvar/mob/living/carbon/human/U = null\n+\tvar/obj/item/stock_parts/cell/cell //What type of power cell this uses\n+\tvar/cell_type = /obj/item/stock_parts/cell{charge = 100; maxcharge = 100}\n+\tvar/charge_rate = 15\n+\tvar/move_use = 1\n+\tvar/hit_use = 5\n+\tvar/criticalpower = FALSE\n+\tvar/mode = \"none\"\n+\tvar/recharge_delay = 30\n+\tvar/datum/martial_art/nano/style = new\n+\tvar/shutdown = FALSE\n+\tvar/current_charges = 3\n+\tvar/max_charges = 3 //How many charges total the shielding has\n+\tvar/medical_delay = 200 //How long after we've been shot before we can start recharging. 20 seconds here\n+\tvar/medical_cooldown = 0 //Time since we've last been shot\n+\tvar/temp_cooldown = 0\n+\tvar/restore_delay = 80\n+\tvar/defrosted = FALSE\n+\tvar/detecting = FALSE\n+\tjetpack = /obj/item/tank/jetpack/suit\n+\n+/obj/item/clothing/suit/space/hardsuit/nano/ComponentInitialize()\n+\t. = ..()\n+\tAddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION, TRUE, FALSE)\n+\n+/obj/item/clothing/suit/space/hardsuit/nano/emp_act(severity)\n+\t..()\n+\tcell.use(round(cell.charge / severity))\n+\tif(prob(10/severity*1.5) && !shutdown)\n+\t\temp_assault()\n+\tupdate_icon()\n+\n+\n+/obj/item/clothing/suit/space/hardsuit/nano/proc/emp_assault()\n+\tif(!U.mind)\n+\t\treturn //Not sure how this could happen.\n+\tshutdown = TRUE\n+\ttoggle_mode(\"none\", TRUE)\n+\tU.Knockdown(300)\n+\tU.AdjustStun(300)\n+\tU.Jitter(120)\n+\thelmet.display_visor_message(\"EMP Assault! Systems impaired.\")\n+\taddtimer(CALLBACK(src, .proc/emp_assaulttwo), 25)\n+\n+\n+/obj/item/clothing/suit/space/hardsuit/nano/proc/emp_assaulttwo()\n+\tsleep(45)\n+\thelmet.display_visor_message(\"Warning. EMP shutdown, all systems impaired.\")\n+\tsleep(25)\n+\thelmet.display_visor_message(\"Switching to core function mode.\")\n+\tsleep(25)\n+\thelmet.display_visor_message(\"Life support priority. Warning!\")\n+\taddtimer(CALLBACK(src, .proc/emp_assaultthree), 35)\n+\n+\n+/obj/item/clothing/suit/space/hardsuit/nano/proc/emp_assaultthree()\n+\thelmet.display_visor_message(\"4672482//-82544111.0//WRXT _YWD\")\n+\tsleep(5)\n+\thelmet.display_visor_message(\"KPO- -86801780.768//1228.\")\n+\tsleep(5)\n+\thelmet.display_visor_message(\"LMU/894411.-//0113122\")\n+\tsleep(5)\n+\thelmet.display_visor_message(\"QRE 8667152...\")\n+\tsleep(5)\n+\thelmet.display_visor_message(\"XAS -123455\")\n+\tsleep(5)\n+\thelmet.display_visor_message(\"WF // .897\")\n+\tsleep(20)\n+\thelmet.display_visor_message(\"DIAG//123\")\n+\tsleep(10)\n+\thelmet.display_visor_message(\"MED//8189\")\n+\tsleep(10)\n+\thelmet.display_visor_message(\"LOADING//...\")\n+\tsleep(70)\n+\tU.AdjustStun(-100)\n+\tU.AdjustKnockdown(-100)\n+\tU.adjustStaminaLoss(-55)\n+\tU.adjustOxyLoss(-55)\n+\thelmet.display_visor_message(\"Cleared to proceed.\")\n+\tshutdown = FALSE\n+\tntick()\n+\n+/obj/item/clothing/suit/space/hardsuit/nano/Initialize()\n+\t. = ..()\n+\tif(cell_type)\n+\t\tcell = new cell_type(src)\n+\telse\n+\t\tcell = new(src)\n+\tcell.give(cell.maxcharge)\n+\tupdate_icon()\n+\tSTART_PROCESSING(SSobj, src)\n+\n+/obj/item/clothing/suit/space/hardsuit/nano/Destroy()\n+\tSTOP_PROCESSING(SSobj, src)\n+\tQDEL_NULL(cell)\n+\tif(U)\n+\t\tU = null\n+\t. = ..()\n+\n+/obj/item/clothing/suit/space/hardsuit/nano/examine(mob/user)\n+\t..()\n+\tif(mode != \"none\")\n+\t\tto_chat(user, \"The suit appears to be in [mode] mode.\")\n+\telse\n+\t\tto_chat(user, \"The suit appears to be offline.\")\n+\n+/obj/item/clothing/suit/space/hardsuit/nano/process()\n+\tif(cell.charge >= 20)\n+\t\tcriticalpower = FALSE\n+\telse\n+\t\tif(!criticalpower)\n+\t\t\thelmet.display_visor_message(\"Energy Critical!\")\n+\t\t\tcriticalpower = !criticalpower\n+\tif(cell.charge < 1)\n+\t\tcell.charge = 0\n+\t\tif(mode != \"armor\" && mode != \"strength\")\n+\t\t\ttoggle_mode(\"armor\", TRUE)\n+\tif(mode == \"cloak\")\n+\t\tcell.use(1)\n+\tif(world.time > medical_cooldown && current_charges < max_charges)\n+\t\tcurrent_charges = CLAMP((current_charges + 1), 0, max_charges)\n+\tif(U.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT)\n+\t\tif(!detecting)\n+\t\t\ttemp_cooldown = world.time + restore_delay\n+\t\t\tdetecting = TRUE\n+\t\tif(world.time > temp_cooldown)\n+\t\t\tif(!defrosted)\n+\t\t\t\thelmet.display_visor_message(\"Activating suit defrosting protocols.\")\n+\t\t\t\tU.reagents.add_reagent(\"leporazine\", 2)\n+\t\t\t\tdefrosted = TRUE\n+\t\t\t\ttemp_cooldown += 100\n+\telse\n+\t\tdefrosted = FALSE\n+\t\tdetecting = FALSE\n+\n+\n+/obj/item/clothing/suit/space/hardsuit/nano/proc/ntick()\n+\tspawn while(!shutdown)\n+\t\tif(cell && cell.charge < cell.maxcharge && mode != \"cloak\" && !U.Move())\n+\t\t\tif(cell.charge > 0)\n+\t\t\t\tcell.give(charge_rate) //this will get called after the bottom\n+\t\t\telse\n+\t\t\t\tsleep(40) //if we lose energy wait 5 seconds then recharge us\n+\t\t\t\tcell.give(charge_rate)\n+\n+\t\tsleep(recharge_delay)//recharges us at variable rate\n+\n+\n+/obj/item/clothing/suit/space/hardsuit/nano/hit_reaction(mob/living/carbon/human/user, atom/movable/hitby, attack_text = \"the attack\", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)\n+\tvar/obj/item/projectile/P = hitby\n+\tif(mode == \"armor\")\n+\t\tif(cell.charge > 0)\n+\t\t\tcell.use(CLAMP(hit_use + damage,1,cell.charge))\n+\t\t\tuser.visible_message(\"<span class='danger'>[user]'s shields deflect [attack_text]!</span>\")\n+\t\t\treturn 1\n+\t\telse\n+\t\t\treturn 0\n+\t\tif(cell <= 20) //we instantly go out of armor if we get hit at critical energy\n+\t\t\tcell.charge = 0\n+\t\t\t//DisableModes()\n+\t\tif(damage && attack_type == PROJECTILE_ATTACK && P.damage_type != STAMINA && prob(50))\n+\t\t\tvar/datum/effect_system/spark_spread/s = new\n+\t\t\ts.set_up(1, 1, src)\n+\t\t\ts.start()\n+\tkill_cloak(user)\n+\tif(prob(damage*2.5) && user.health < 50 && current_charges > 0)\n+\t\tmedical_cooldown = world.time + medical_delay\n+\t\tcurrent_charges--\n+\t\theal_nano(user)\n+\n+\treturn 0\n+\n+/obj/item/clothing/suit/space/hardsuit/nano/proc/heal_nano(mob/living/carbon/human/user)\n+\thelmet.display_visor_message(\"Engaging emergency medical protocols\")\n+\tuser.reagents.add_reagent(\"syndicate_nanites\", 2)\n+\n+/obj/item/clothing/suit/space/hardsuit/nano/ui_action_click(mob/user, action)\n+\tif(istype(action, /datum/action/item_action/nanosuit/armor))\n+\t\ttoggle_mode(\"armor\")\n+\t\treturn TRUE\n+\tif(istype(action, /datum/action/item_action/nanosuit/cloak))\n+\t\ttoggle_mode(\"cloak\")\n+\t\treturn TRUE\n+\tif(istype(action, /datum/action/item_action/nanosuit/speed))\n+\t\ttoggle_mode(\"speed\")\n+\t\treturn TRUE\n+\tif(istype(action, /datum/action/item_action/nanosuit/strength))\n+\t\ttoggle_mode(\"strength\")\n+\t\treturn TRUE\n+\treturn FALSE\n+\n+/obj/item/clothing/suit/space/hardsuit/nano/proc/toggle_mode(var/suitmode, var/forced = FALSE)\n+\tif(forced || (cell.charge > 0 && mode != suitmode))\n+\t\tmode = suitmode\n+\t\tswitch(suitmode)\n+\t\t\tif(\"armor\")\n+\t\t\t\thelmet.display_visor_message(\"Maximum Armor!\")\n+\t\t\t\tslowdown = 1.0\n+\t\t\t\tarmor = armor_mode\n+\t\t\t\thelmet.armor = armor_mode\n+\t\t\t\tU.filters = null\n+\t\t\t\tanimate(U, alpha = 255, time = 5)\n+\t\t\t\tU.remove_trait(TRAIT_GOTTAGOFAST, \"Speed Mode\")\n+\t\t\t\tU.remove_trait(TRAIT_IGNORESLOWDOWN, \"Speed Mode\")\n+\t\t\t\tU.remove_trait(TRAIT_PUSHIMMUNE, \"Strength Mode\")\n+\t\t\t\tstyle.remove(U)\n+\t\t\t\tjetpack.full_speed = FALSE\n+\n+\t\t\tif(\"cloak\")\n+\t\t\t\thelmet.display_visor_message(\"Cloak Engaged!\")\n+\t\t\t\tslowdown = 0.4 //cloaking makes us go sliightly faster\n+\t\t\t\tarmor = initial(armor)\n+\t\t\t\thelmet.armor = initial(helmet.armor)\n+\t\t\t\tU.filters = filter(type=\"blur\",size=1)\n+\t\t\t\tanimate(U, alpha = 40, time = 2)\n+\t\t\t\tU.remove_trait(TRAIT_GOTTAGOFAST, \"Speed Mode\")\n+\t\t\t\tU.remove_trait(TRAIT_IGNORESLOWDOWN, \"Speed Mode\")\n+\t\t\t\tU.remove_trait(TRAIT_PUSHIMMUNE, \"Strength Mode\")\n+\t\t\t\tstyle.remove(U)\n+\t\t\t\tjetpack.full_speed = FALSE\n+\n+\t\t\tif(\"speed\")\n+\t\t\t\thelmet.display_visor_message(\"Maximum Speed!\")\n+\t\t\t\tslowdown = initial(slowdown)\n+\t\t\t\tarmor = initial(armor)\n+\t\t\t\thelmet.armor = initial(helmet.armor)\n+\t\t\t\tU.add_trait(TRAIT_GOTTAGOFAST, \"Speed Mode\")\n+\t\t\t\tU.add_trait(TRAIT_IGNORESLOWDOWN, \"Speed Mode\")\n+\t\t\t\tU.adjustOxyLoss(-5, 0)\n+\t\t\t\tU.adjustStaminaLoss(-20)\n+\t\t\t\tU.filters = filter(type=\"outline\", size=0.1, color=rgb(255,255,224))\n+\t\t\t\tanimate(U, alpha = 255, time = 5)\n+\t\t\t\tU.remove_trait(TRAIT_PUSHIMMUNE, \"Strength Mode\")\n+\t\t\t\tstyle.remove(U)\n+\t\t\t\tjetpack.full_speed = TRUE\n+\n+\t\t\tif(\"strength\")\n+\t\t\t\thelmet.display_visor_message(\"Maximum Strength!\")\n+\t\t\t\tU.add_trait(TRAIT_PUSHIMMUNE, \"Strength Mode\")\n+\t\t\t\tstyle.teach(U,1)\n+\t\t\t\tslowdown = initial(slowdown)\n+\t\t\t\tarmor = initial(armor)\n+\t\t\t\thelmet.armor = initial(helmet.armor)\n+\t\t\t\tU.filters = filter(type=\"outline\", size=0.1, color=rgb(255,0,0))\n+\t\t\t\tanimate(U, alpha = 255, time = 5)\n+\t\t\t\tU.remove_trait(TRAIT_GOTTAGOFAST, \"Speed Mode\")\n+\t\t\t\tU.remove_trait(TRAIT_IGNORESLOWDOWN, \"Speed Mode\")\n+\t\t\t\tjetpack.full_speed = FALSE\n+\n+\t\t\tif(\"none\")\n+\t\t\t\tU.remove_trait(TRAIT_PUSHIMMUNE, \"Strength Mode\")\n+\t\t\t\tstyle.remove(U)\n+\t\t\t\tslowdown = initial(slowdown)\n+\t\t\t\tarmor = initial(armor)\n+\t\t\t\thelmet.armor = initial(helmet.armor)\n+\t\t\t\tU.filters = null\n+\t\t\t\tanimate(U, alpha = 255, time = 5)\n+\t\t\t\tU.remove_trait(TRAIT_GOTTAGOFAST, \"Speed Mode\")\n+\t\t\t\tU.remove_trait(TRAIT_IGNORESLOWDOWN, \"Speed Mode\")\n+\t\t\t\tjetpack.full_speed = FALSE\n+\n+\tU.update_inv_wear_suit()\n+\tupdate_icon()\n+\tfor(var/X in actions)\n+\t\tvar/datum/action/A = X\n+\t\tA.UpdateButtonIcon()\n+\n+/datum/action/item_action/nanogoggles/toggle\n+\tcheck_flags = AB_CHECK_STUN|AB_CHECK_CONSCIOUS\n+\tname = \"Night Vision\"\n+\ticon_icon = 'icons/mob/actions.dmi'\n+\tbackground_icon_state = \"bg_tech_blue\"\n+\ticon_icon = 'hippiestation/icons/mob/actions/actions_nanosuit.dmi'\n+\tbutton_icon_state = \"toggle_goggle\"\n+\n+/datum/action/item_action/nanosuit/armor\n+\tcheck_flags = AB_CHECK_STUN|AB_CHECK_CONSCIOUS\n+\tname = \"Armor Mode\"\n+\ticon_icon = 'icons/mob/actions.dmi'\n+\tbackground_icon_state = \"bg_tech_blue\"\n+\ticon_icon = 'hippiestation/icons/mob/actions/actions_nanosuit.dmi'\n+\tbutton_icon_state = \"armor_mode\"\n+\n+/datum/action/item_action/nanosuit/cloak\n+\tcheck_flags = AB_CHECK_STUN|AB_CHECK_CONSCIOUS\n+\tname = \"Cloak Mode\"\n+\ticon_icon = 'icons/mob/actions.dmi'\n+\tbackground_icon_state = \"bg_tech_blue\"\n+\ticon_icon = 'hippiestation/icons/mob/actions/actions_nanosuit.dmi'\n+\tbutton_icon_state = \"cloak_mode\"\n+\n+/datum/action/item_action/nanosuit/speed\n+\tcheck_flags = AB_CHECK_STUN|AB_CHECK_CONSCIOUS\n+\tname = \"Speed Mode\"\n+\ticon_icon = 'icons/mob/actions.dmi'\n+\tbackground_icon_state = \"bg_tech_blue\"\n+\ticon_icon = 'hippiestation/icons/mob/actions/actions_nanosuit.dmi'\n+\tbutton_icon_state = \"speed_mode\"\n+\n+/datum/action/item_action/nanosuit/strength\n+\tcheck_flags = AB_CHECK_STUN|AB_CHECK_CONSCIOUS\n+\tname = \"Strength Mode\"\n+\ticon_icon = 'icons/mob/actions.dmi'\n+\tbackground_icon_state = \"bg_tech_blue\"\n+\ticon_icon = 'hippiestation/icons/mob/actions/actions_nanosuit.dmi'\n+\tbutton_icon_state = \"strength_mode\"\n+\n+\n+/obj/item/clothing/head/helmet/space/hardsuit/nano\n+\tname = \"nanosuit helmet\"\n+\tdesc = \"The cherry on top. Property of CryNet Systems.\"\n+\talternate_worn_icon = 'hippiestation/icons/mob/nanosuit.dmi'\n+\ticon = 'hippiestation/icons/obj/nanosuit.dmi'\n+\ticon_state = \"nanohelmet\"\n+\titem_state = \"nanohelmet\"\n+\titem_color = \"nano\"\n+\tsiemens_coefficient = 0\n+\tgas_transfer_coefficient = 0.01\n+\tpermeability_coefficient = 0.01\n+\tresistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | FREEZE_PROOF //No longer shall our kind be foiled by lone chemists with spray bottles!\n+\tarmor = list(\"melee\" = 40, \"bullet\" = 40, \"laser\" = 40, \"energy\" = 45, \"bomb\" = 70, \"bio\" = 100, \"rad\" = 70, \"fire\" = 100, \"acid\" = 100)\n+\theat_protection = HEAD\n+\tmax_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT\n+\tvar/list/datahuds = list(DATA_HUD_SECURITY_ADVANCED, DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC_BASIC)\n+\tvar/zoom_range = 12\n+\tvar/zoom = FALSE\n+\tactions_types = list(/datum/action/item_action/nanosuit/zoom)\n+\n+/obj/item/clothing/head/helmet/space/hardsuit/nano/ui_action_click()\n+\treturn FALSE\n+\n+/obj/item/clothing/head/helmet/space/hardsuit/nano/equipped(mob/living/carbon/human/wearer, slot)\n+\t..()\n+\tif(slot == slot_head)\n+\t\tflags_1 |= NODROP_1\n+\tfor(var/hudtype in datahuds)\n+\t\tvar/datum/atom_hud/H = GLOB.huds[hudtype]\n+\t\tH.add_hud_to(wearer)\n+\n+/obj/item/clothing/head/helmet/space/hardsuit/nano/dropped(mob/living/carbon/human/wearer)\n+\t..()\n+\tif(wearer)\n+\t\tfor(var/hudtype in datahuds)\n+\t\t\tvar/datum/atom_hud/H = GLOB.huds[hudtype]\n+\t\t\tH.remove_hud_from(wearer)\n+\t\tif(zoom)\n+\t\t\ttoggle_zoom(wearer, TRUE)\n+\n+/obj/item/clothing/head/helmet/space/hardsuit/nano/proc/toggle_zoom(mob/living/user, force_off = FALSE)\n+\tif(zoom || force_off)\n+\t\tuser.client.change_view(CONFIG_GET(string/default_view))\n+\t\tto_chat(user, \"<span class='boldnotice'>Disabled helmet zoom...</span>\")\n+\t\tzoom = FALSE\n+\t\treturn FALSE\n+\telse\n+\t\tuser.client.change_view(zoom_range)\n+\t\tto_chat(user, \"<span class='boldnotice'>Toggled helmet zoom!</span>\")\n+\t\tzoom = TRUE\n+\t\treturn TRUE\n+\n+\n+/datum/action/item_action/nanosuit/zoom\n+\tname = \"Helmet Zoom\"\n+\ticon_icon = 'icons/mob/actions.dmi'\n+\tbackground_icon_state = \"bg_tech_blue\"\n+\ticon_icon = 'icons/mob/actions/actions_items.dmi'\n+\tbutton_icon_state = \"sniper_zoom\"\n+\n+/datum/action/item_action/nanosuit/zoom/Trigger()\n+\tvar/obj/item/clothing/head/helmet/space/hardsuit/nano/NS = target\n+\tif(istype(NS))\n+\t\tNS.toggle_zoom(owner)\n+\treturn ..()\n+\n+\n+/obj/item/clothing/head/helmet/space/hardsuit/nano/ComponentInitialize()\n+\t. = ..()\n+\tAddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION, TRUE, FALSE)\n+\n+/obj/item/clothing/suit/space/hardsuit/nano/equipped(mob/user, slot)\n+\tif(ishuman(user))\n+\t\tU = user\n+\tif(slot == slot_wear_suit)\n+\t\tflags_1 |= NODROP_1\n+\t\tU.unequip_everything()\n+\t\tequip_nanosuit(user)\n+\t\tvar/area/A = get_area(src)\n+\t\tpriority_announce(\"[user] has engaged [src] at [A.map_name]!\",\"Message from The Syndicate!\", 'sound/misc/notice1.ogg')\n+\t\tU.add_trait(TRAIT_NODISMEMBER, \"Nanosuit\")\n+\t\tntick()\n+\t..()\n+\n+/obj/item/clothing/suit/space/hardsuit/nano/proc/equip_nanosuit(mob/living/carbon/human/user)\n+\treturn user.equipOutfit(/datum/outfit/nanosuit)\n+\n+/datum/outfit/nanosuit\n+\tname = \"Nanosuit\"\n+\tuniform = /obj/item/clothing/under/syndicate/combat/nano\n+\tglasses = /obj/item/clothing/glasses/nano_goggles\n+\tmask = /obj/item/clothing/mask/gas/nano_mask\n+\tears = /obj/item/device/radio/headset/syndicate/alt/nano\n+\tshoes = /obj/item/clothing/shoes/combat/coldres/nanojump\n+\tgloves = /obj/item/clothing/gloves/combat/nano\n+\timplants = list(/obj/item/implant/explosive/disintegrate)\n+\tsuit_store = /obj/item/tank/internals/emergency_oxygen/recharge\n+\tinternals_slot = slot_s_store\n+\n+\n+obj/item/clothing/suit/space/hardsuit/nano/dropped()\n+\ttoggle_mode(\"none\", TRUE)\n+\tSTOP_PROCESSING(SSobj, src)\n+\tif(U)\n+\t\tU = null\n+\tqdel(src)\n+\t..()\n+\n+/mob/living/carbon/human/Stat()\n+\t..()\n+\t//NANOSUITCODE\n+\tif(istype(wear_suit, /obj/item/clothing/suit/space/hardsuit/nano)) //Only display if actually wearing the suit.\n+\t\tvar/obj/item/clothing/suit/space/hardsuit/nano/NS = wear_suit\n+\t\tif(statpanel(\"Crynet Nanosuit\"))\n+\t\t\tstat(\"Crynet Protocols : Engaged\")\n+\t\t\tstat(\"Energy Charge:\", \"[NS.cell.charge]%\")\n+\t\t\tstat(\"Mode:\", \"[NS.mode]\")\n+\t\t\tstat(\"Overall Status:\", \"[health]% healthy\")\n+\t\t\tstat(\"Nutrition Status:\", \"[nutrition]\")\n+\t\t\tstat(\"Oxygen Loss:\", \"[getOxyLoss()]\")\n+\t\t\tstat(\"Toxin Levels:\", \"[getToxLoss()]\")\n+\t\t\tstat(\"Burn Severity:\", \"[getFireLoss()]\")\n+\t\t\tstat(\"Brute Trauma:\", \"[getBruteLoss()]\")\n+\t\t\tstat(\"Radiation Levels:\",\"[radiation] rad\")\n+\t\t\tstat(\"Body Temperature:\",\"[bodytemperature-T0C] degrees C ([bodytemperature*1.8-459.67] degrees F)\")\n+\n+/mob/living/carbon/human/Move(NewLoc, direct)\n+\t. = ..()\n+\tif(. && mob_has_gravity()) //floating is easy\n+\t\tif(istype(wear_suit, /obj/item/clothing/suit/space/hardsuit/nano))\n+\t\t\tvar/obj/item/clothing/suit/space/hardsuit/nano/NS = wear_suit\n+\t\t\tif(stat != DEAD && m_intent == MOVE_INTENT_RUN)\n+\t\t\t\tif(NS.cell.charge > 0)\n+\t\t\t\t\tif(NS.mode == \"speed\" || NS.mode == \"cloak\")\n+\t\t\t\t\t\tNS.cell.use(NS.move_use)\n+\t\t\t\telse\n+\t\t\t\t\tif(NS.mode != \"armor\")//no more infinite loops\n+\t\t\t\t\t\tNS.toggle_mode(\"armor\", TRUE)\n+\n+/datum/martial_art/nano\n+\tname = \"Strength Mode\"\n+\tblock_chance = 75\n+\tdeflection_chance = 25\n+\n+/datum/martial_art/nano/grab_act(mob/living/carbon/human/A, mob/living/carbon/D)\n+\tif(A.grab_state >= GRAB_AGGRESSIVE)\n+\t\tD.grabbedby(A, 1)\n+\telse\n+\t\tA.start_pulling(D, 1)\n+\t\tif(A.pulling)\n+\t\t\tD.stop_pulling()\n+\t\t\tadd_logs(A, D, \"grabbed\", addition=\"aggressively\")\n+\t\t\tA.grab_state = GRAB_AGGRESSIVE //Instant aggressive grab\n+\n+\treturn 1\n+\n+/datum/martial_art/nano/harm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/D)\n+\tadd_logs(A, D, \"punched\")\n+\tvar/picked_hit_type = pick(\"punches\", \"kicks\")\n+\tvar/bonus_damage = 10\n+\n+\tif(D.IsKnockdown() || D.resting || D.lying)//we can hit ourselves\n+\t\tbonus_damage += 5","path":"hippiestation/code/modules/clothing/spacesuits/nanosuit.dm","position":708,"original_position":708,"commit_id":"de494cc19c408218856240d52c73d057adffdf40","original_commit_id":"de494cc19c408218856240d52c73d057adffdf40","user":{"login":"GuyonBroadway","id":22083966,"avatar_url":"https://avatars3.githubusercontent.com/u/22083966?v=4","gravatar_id":"","url":"https://api.github.com/users/GuyonBroadway","html_url":"https://github.com/GuyonBroadway","followers_url":"https://api.github.com/users/GuyonBroadway/followers","following_url":"https://api.github.com/users/GuyonBroadway/following{/other_user}","gists_url":"https://api.github.com/users/GuyonBroadway/gists{/gist_id}","starred_url":"https://api.github.com/users/GuyonBroadway/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GuyonBroadway/subscriptions","organizations_url":"https://api.github.com/users/GuyonBroadway/orgs","repos_url":"https://api.github.com/users/GuyonBroadway/repos","events_url":"https://api.github.com/users/GuyonBroadway/events{/privacy}","received_events_url":"https://api.github.com/users/GuyonBroadway/received_events","type":"User","site_admin":false},"body":"Correct me if I am wrong here but won't this make the bonus damage grow by 5 every time? like so the bonus would go 5, 10, 15 etc?","created_at":"2018-04-23T12:48:34Z","updated_at":"2018-04-23T12:48:39Z","html_url":"https://github.com/HippieStation/HippieStation/pull/7540#discussion_r183381491","pull_request_url":"https://api.github.com/repos/HippieStation/HippieStation/pulls/7540","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/HippieStation/HippieStation/pulls/comments/183381491"},"html":{"href":"https://github.com/HippieStation/HippieStation/pull/7540#discussion_r183381491"},"pull_request":{"href":"https://api.github.com/repos/HippieStation/HippieStation/pulls/7540"}}},"pull_request":{"url":"https://api.github.com/repos/HippieStation/HippieStation/pulls/7540","id":180486807,"html_url":"https://github.com/HippieStation/HippieStation/pull/7540","diff_url":"https://github.com/HippieStation/HippieStation/pull/7540.diff","patch_url":"https://github.com/HippieStation/HippieStation/pull/7540.patch","issue_url":"https://api.github.com/repos/HippieStation/HippieStation/issues/7540","number":7540,"state":"open","locked":false,"title":"Crysis Nanosuit","user":{"login":"yoyobatty","id":32651551,"avatar_url":"https://avatars3.githubusercontent.com/u/32651551?v=4","gravatar_id":"","url":"https://api.github.com/users/yoyobatty","html_url":"https://github.com/yoyobatty","followers_url":"https://api.github.com/users/yoyobatty/followers","following_url":"https://api.github.com/users/yoyobatty/following{/other_user}","gists_url":"https://api.github.com/users/yoyobatty/gists{/gist_id}","starred_url":"https://api.github.com/users/yoyobatty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yoyobatty/subscriptions","organizations_url":"https://api.github.com/users/yoyobatty/orgs","repos_url":"https://api.github.com/users/yoyobatty/repos","events_url":"https://api.github.com/users/yoyobatty/events{/privacy}","received_events_url":"https://api.github.com/users/yoyobatty/received_events","type":"User","site_admin":false},"body":"[Changelogs]: # (Your PR should contain a detailed changelog of notable changes, titled and categorized appropriately. This includes, new features, sprites, sounds, balance changes, admin tools, map edits, removals, big refactors, config changes, hosting changes and important fixes. An example changelog has been provided below for you to edit. If you need additional help, read https://github.com/tgstation/tgstation/wiki/Changelogs)\r\n\r\n:cl: YoYoBatty\r\nadd: Adds the Crysis Nanosuit \r\n/:cl:\r\n\r\n[why]: # (Please add a short description [two lines down] of why you think these changes would benefit the game. If you can't justify it in words, it might not be worth adding.)\r\n\r\nHey guys, I've been working for the past couple of months on this. I will update this and include more screenshots and information later on. \r\n\r\nSo, what is it? \r\nWell it's the nanosuit from crysis.\r\nWhat it do?\r\nSuper powerful armor/hardsuit that has 4 modes: Armor, cloak, speed and strength. Passive modes include toggleable night vision and zooming. Comes with a built-in disintegration implant that activates upon user death or request. \r\nArmor does exactly what it says it does and gives you a major buff to your helmet and suit armor + a shield which makes you immune from most attacks at the cost of suit energy. \r\nCloak is very similar to the genetic mutation or ninja cloak mode.\r\nSpeed lets the user run faster than full speed while also ignoring any slowdowns.\r\nStrength makes you a strong man and lets you over/onto tables but costs around 30 energy per use.\r\nIs it OP?\r\nSorta. But not. It has a charge which self charges when not in use but is quickly depleted using certain modes. Armor drains energy at a rate of 5 + damage per hit. Cloak drains passively at once per process and on movement. Speed is just like cloak but only drains when you move. Strength gives you a slighter more robust krav maga that lets you deal increased damage with your fist to objects, doors and players and also increases the power of items in your hand. In addition to increasing your physical strength it gives you the ability to jump over objects (similar to jump boots but less overpowered and better code). \r\nUpon equipping the suit all your items are dropped below you are equipped with a non-droppable outfit which includes a syndie bowman headset that can't be emped, shock and fireproof gloves, slip proof boots, night vision goggles and mask. Everything has radiation proofing and completely seals the user from the outside world to prevent the operator from being infected by diseases. \r\n\r\nThe suit also comes equipped with a series of sensors which constantly monitor user vitals.\r\nThere is also a built-in very minor medical injector which will activate when the user gets hit below 50 health, the chance being random and increases depending on how much damage was taken. The injector has 3 and regenerates every 20 seconds. \r\n\r\nEdit: This is up for testing and very possible merging.\r\n\r\nhttps://www.youtube.com/watch?v=VIWBVZprdL8 short demo ","created_at":"2018-04-10T04:27:24Z","updated_at":"2018-04-23T12:48:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"dbb428861666d1433db9859fb9d9e550f7631fa7","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":583740830,"url":"https://api.github.com/repos/HippieStation/HippieStation/labels/Feature","name":"Feature","color":"1d76db","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/HippieStation/HippieStation/pulls/7540/commits","review_comments_url":"https://api.github.com/repos/HippieStation/HippieStation/pulls/7540/comments","review_comment_url":"https://api.github.com/repos/HippieStation/HippieStation/pulls/comments{/number}","comments_url":"https://api.github.com/repos/HippieStation/HippieStation/issues/7540/comments","statuses_url":"https://api.github.com/repos/HippieStation/HippieStation/statuses/de494cc19c408218856240d52c73d057adffdf40","head":{"label":"yoyobatty:nanosuit","ref":"nanosuit","sha":"de494cc19c408218856240d52c73d057adffdf40","user":{"login":"yoyobatty","id":32651551,"avatar_url":"https://avatars3.githubusercontent.com/u/32651551?v=4","gravatar_id":"","url":"https://api.github.com/users/yoyobatty","html_url":"https://github.com/yoyobatty","followers_url":"https://api.github.com/users/yoyobatty/followers","following_url":"https://api.github.com/users/yoyobatty/following{/other_user}","gists_url":"https://api.github.com/users/yoyobatty/gists{/gist_id}","starred_url":"https://api.github.com/users/yoyobatty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yoyobatty/subscriptions","organizations_url":"https://api.github.com/users/yoyobatty/orgs","repos_url":"https://api.github.com/users/yoyobatty/repos","events_url":"https://api.github.com/users/yoyobatty/events{/privacy}","received_events_url":"https://api.github.com/users/yoyobatty/received_events","type":"User","site_admin":false},"repo":{"id":112780624,"name":"HippieStation","full_name":"yoyobatty/HippieStation","owner":{"login":"yoyobatty","id":32651551,"avatar_url":"https://avatars3.githubusercontent.com/u/32651551?v=4","gravatar_id":"","url":"https://api.github.com/users/yoyobatty","html_url":"https://github.com/yoyobatty","followers_url":"https://api.github.com/users/yoyobatty/followers","following_url":"https://api.github.com/users/yoyobatty/following{/other_user}","gists_url":"https://api.github.com/users/yoyobatty/gists{/gist_id}","starred_url":"https://api.github.com/users/yoyobatty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yoyobatty/subscriptions","organizations_url":"https://api.github.com/users/yoyobatty/orgs","repos_url":"https://api.github.com/users/yoyobatty/repos","events_url":"https://api.github.com/users/yoyobatty/events{/privacy}","received_events_url":"https://api.github.com/users/yoyobatty/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/yoyobatty/HippieStation","description":"The Hippie Station branch of SS13","fork":true,"url":"https://api.github.com/repos/yoyobatty/HippieStation","forks_url":"https://api.github.com/repos/yoyobatty/HippieStation/forks","keys_url":"https://api.github.com/repos/yoyobatty/HippieStation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/yoyobatty/HippieStation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/yoyobatty/HippieStation/teams","hooks_url":"https://api.github.com/repos/yoyobatty/HippieStation/hooks","issue_events_url":"https://api.github.com/repos/yoyobatty/HippieStation/issues/events{/number}","events_url":"https://api.github.com/repos/yoyobatty/HippieStation/events","assignees_url":"https://api.github.com/repos/yoyobatty/HippieStation/assignees{/user}","branches_url":"https://api.github.com/repos/yoyobatty/HippieStation/branches{/branch}","tags_url":"https://api.github.com/repos/yoyobatty/HippieStation/tags","blobs_url":"https://api.github.com/repos/yoyobatty/HippieStation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/yoyobatty/HippieStation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/yoyobatty/HippieStation/git/refs{/sha}","trees_url":"https://api.github.com/repos/yoyobatty/HippieStation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/yoyobatty/HippieStation/statuses/{sha}","languages_url":"https://api.github.com/repos/yoyobatty/HippieStation/languages","stargazers_url":"https://api.github.com/repos/yoyobatty/HippieStation/stargazers","contributors_url":"https://api.github.com/repos/yoyobatty/HippieStation/contributors","subscribers_url":"https://api.github.com/repos/yoyobatty/HippieStation/subscribers","subscription_url":"https://api.github.com/repos/yoyobatty/HippieStation/subscription","commits_url":"https://api.github.com/repos/yoyobatty/HippieStation/commits{/sha}","git_commits_url":"https://api.github.com/repos/yoyobatty/HippieStation/git/commits{/sha}","comments_url":"https://api.github.com/repos/yoyobatty/HippieStation/comments{/number}","issue_comment_url":"https://api.github.com/repos/yoyobatty/HippieStation/issues/comments{/number}","contents_url":"https://api.github.com/repos/yoyobatty/HippieStation/contents/{+path}","compare_url":"https://api.github.com/repos/yoyobatty/HippieStation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/yoyobatty/HippieStation/merges","archive_url":"https://api.github.com/repos/yoyobatty/HippieStation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/yoyobatty/HippieStation/downloads","issues_url":"https://api.github.com/repos/yoyobatty/HippieStation/issues{/number}","pulls_url":"https://api.github.com/repos/yoyobatty/HippieStation/pulls{/number}","milestones_url":"https://api.github.com/repos/yoyobatty/HippieStation/milestones{/number}","notifications_url":"https://api.github.com/repos/yoyobatty/HippieStation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/yoyobatty/HippieStation/labels{/name}","releases_url":"https://api.github.com/repos/yoyobatty/HippieStation/releases{/id}","deployments_url":"https://api.github.com/repos/yoyobatty/HippieStation/deployments","created_at":"2017-12-01T19:51:37Z","updated_at":"2018-04-09T20:02:54Z","pushed_at":"2018-04-21T18:26:11Z","git_url":"git://github.com/yoyobatty/HippieStation.git","ssh_url":"git@github.com:yoyobatty/HippieStation.git","clone_url":"https://github.com/yoyobatty/HippieStation.git","svn_url":"https://github.com/yoyobatty/HippieStation","homepage":"https://hippiestation.com/","size":2113513,"stargazers_count":0,"watchers_count":0,"language":"DM","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"HippieStation:master","ref":"master","sha":"9375c8f62881ec213d5324605a718c5925e7c07f","user":{"login":"HippieStation","id":25507626,"avatar_url":"https://avatars1.githubusercontent.com/u/25507626?v=4","gravatar_id":"","url":"https://api.github.com/users/HippieStation","html_url":"https://github.com/HippieStation","followers_url":"https://api.github.com/users/HippieStation/followers","following_url":"https://api.github.com/users/HippieStation/following{/other_user}","gists_url":"https://api.github.com/users/HippieStation/gists{/gist_id}","starred_url":"https://api.github.com/users/HippieStation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HippieStation/subscriptions","organizations_url":"https://api.github.com/users/HippieStation/orgs","repos_url":"https://api.github.com/users/HippieStation/repos","events_url":"https://api.github.com/users/HippieStation/events{/privacy}","received_events_url":"https://api.github.com/users/HippieStation/received_events","type":"Organization","site_admin":false},"repo":{"id":84665083,"name":"HippieStation","full_name":"HippieStation/HippieStation","owner":{"login":"HippieStation","id":25507626,"avatar_url":"https://avatars1.githubusercontent.com/u/25507626?v=4","gravatar_id":"","url":"https://api.github.com/users/HippieStation","html_url":"https://github.com/HippieStation","followers_url":"https://api.github.com/users/HippieStation/followers","following_url":"https://api.github.com/users/HippieStation/following{/other_user}","gists_url":"https://api.github.com/users/HippieStation/gists{/gist_id}","starred_url":"https://api.github.com/users/HippieStation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HippieStation/subscriptions","organizations_url":"https://api.github.com/users/HippieStation/orgs","repos_url":"https://api.github.com/users/HippieStation/repos","events_url":"https://api.github.com/users/HippieStation/events{/privacy}","received_events_url":"https://api.github.com/users/HippieStation/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/HippieStation/HippieStation","description":"The Hippie Station branch of SS13","fork":true,"url":"https://api.github.com/repos/HippieStation/HippieStation","forks_url":"https://api.github.com/repos/HippieStation/HippieStation/forks","keys_url":"https://api.github.com/repos/HippieStation/HippieStation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/HippieStation/HippieStation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/HippieStation/HippieStation/teams","hooks_url":"https://api.github.com/repos/HippieStation/HippieStation/hooks","issue_events_url":"https://api.github.com/repos/HippieStation/HippieStation/issues/events{/number}","events_url":"https://api.github.com/repos/HippieStation/HippieStation/events","assignees_url":"https://api.github.com/repos/HippieStation/HippieStation/assignees{/user}","branches_url":"https://api.github.com/repos/HippieStation/HippieStation/branches{/branch}","tags_url":"https://api.github.com/repos/HippieStation/HippieStation/tags","blobs_url":"https://api.github.com/repos/HippieStation/HippieStation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/HippieStation/HippieStation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/HippieStation/HippieStation/git/refs{/sha}","trees_url":"https://api.github.com/repos/HippieStation/HippieStation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/HippieStation/HippieStation/statuses/{sha}","languages_url":"https://api.github.com/repos/HippieStation/HippieStation/languages","stargazers_url":"https://api.github.com/repos/HippieStation/HippieStation/stargazers","contributors_url":"https://api.github.com/repos/HippieStation/HippieStation/contributors","subscribers_url":"https://api.github.com/repos/HippieStation/HippieStation/subscribers","subscription_url":"https://api.github.com/repos/HippieStation/HippieStation/subscription","commits_url":"https://api.github.com/repos/HippieStation/HippieStation/commits{/sha}","git_commits_url":"https://api.github.com/repos/HippieStation/HippieStation/git/commits{/sha}","comments_url":"https://api.github.com/repos/HippieStation/HippieStation/comments{/number}","issue_comment_url":"https://api.github.com/repos/HippieStation/HippieStation/issues/comments{/number}","contents_url":"https://api.github.com/repos/HippieStation/HippieStation/contents/{+path}","compare_url":"https://api.github.com/repos/HippieStation/HippieStation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/HippieStation/HippieStation/merges","archive_url":"https://api.github.com/repos/HippieStation/HippieStation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/HippieStation/HippieStation/downloads","issues_url":"https://api.github.com/repos/HippieStation/HippieStation/issues{/number}","pulls_url":"https://api.github.com/repos/HippieStation/HippieStation/pulls{/number}","milestones_url":"https://api.github.com/repos/HippieStation/HippieStation/milestones{/number}","notifications_url":"https://api.github.com/repos/HippieStation/HippieStation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/HippieStation/HippieStation/labels{/name}","releases_url":"https://api.github.com/repos/HippieStation/HippieStation/releases{/id}","deployments_url":"https://api.github.com/repos/HippieStation/HippieStation/deployments","created_at":"2017-03-11T16:47:28Z","updated_at":"2018-04-19T11:00:35Z","pushed_at":"2018-04-22T19:14:01Z","git_url":"git://github.com/HippieStation/HippieStation.git","ssh_url":"git@github.com:HippieStation/HippieStation.git","clone_url":"https://github.com/HippieStation/HippieStation.git","svn_url":"https://github.com/HippieStation/HippieStation","homepage":"https://hippiestation.com/","size":2099976,"stargazers_count":14,"watchers_count":14,"language":"DM","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":54,"mirror_url":null,"archived":false,"open_issues_count":115,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"},"forks":54,"open_issues":115,"watchers":14,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/HippieStation/HippieStation/pulls/7540"},"html":{"href":"https://github.com/HippieStation/HippieStation/pull/7540"},"issue":{"href":"https://api.github.com/repos/HippieStation/HippieStation/issues/7540"},"comments":{"href":"https://api.github.com/repos/HippieStation/HippieStation/issues/7540/comments"},"review_comments":{"href":"https://api.github.com/repos/HippieStation/HippieStation/pulls/7540/comments"},"review_comment":{"href":"https://api.github.com/repos/HippieStation/HippieStation/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/HippieStation/HippieStation/pulls/7540/commits"},"statuses":{"href":"https://api.github.com/repos/HippieStation/HippieStation/statuses/de494cc19c408218856240d52c73d057adffdf40"}},"author_association":"NONE"}}
{"actor":{"display_login":"GuyonBroadway"}}