From f528101746d9f9b5f32828e26ea9e6851c84c995 Mon Sep 17 00:00:00 2001 From: Razgriz Date: Thu, 11 Apr 2019 21:33:55 -0700 Subject: [PATCH 01/26] Mochtroid icon code fix --- .../simple_animal/vore/metroidsSimple.dm | 130 ++++++++++++------ 1 file changed, 85 insertions(+), 45 deletions(-) diff --git a/code/modules/mob/living/simple_animal/vore/metroidsSimple.dm b/code/modules/mob/living/simple_animal/vore/metroidsSimple.dm index dc9a03bcb0..b24ebcff2a 100644 --- a/code/modules/mob/living/simple_animal/vore/metroidsSimple.dm +++ b/code/modules/mob/living/simple_animal/vore/metroidsSimple.dm @@ -2,10 +2,10 @@ name = "minetroid" desc = "Some sort of person eaty thing!" tt_desc = "Headamus Suckumus" - icon = 'icons/mob/vore.dmi' + icon = 'icons/mob/metroid/small.dmi' icon_dead = "metroid_dead" - icon_living = "mochtroid" - icon_state = "mochtroid" + icon_living = "metroid" + icon_state = "metroid" faction = "metroids" intelligence_level = SA_ANIMAL hovering = TRUE @@ -70,8 +70,8 @@ name = "Mochtroid" desc = "Some sort of person eaty thing! But weak compared to regular Metroids!" tt_desc = "Headamus Suckumus Weakamus" - icon = 'icons/mob/vore.dmi' - icon_dead = "mochtroid_dead" + icon = 'icons/mob/metroid/small.dmi' + icon_dead = "metroid_dead" icon_living = "mochtroid" icon_state = "mochtroid" @@ -230,7 +230,7 @@ melee_miss_chance = 5 gender = NEUTER faction = "metroids" - + //Alphas lose their vulnerability to cold. minbodytemp = 0 min_oxy = 0 @@ -277,8 +277,7 @@ -//------------------------------------------------------------------------------------------------------------ -/* +//------------------------------------------------------------------------------------------------------------ /mob/living/simple_animal/hostile/metroid/combat/gamma @@ -297,10 +296,15 @@ melee_miss_chance = 5 gender = NEUTER faction = "metroids" - ranged = 1 + + move_shoot = 1 //Move and shoot at the same time. + ranged_cooldown = 0 //What the starting cooldown is on ranged attacks + ranged_cooldown_time = 150 //How long, in deciseconds, the cooldown of ranged attacks is projectilesound = 'sound/weapons/taser2.ogg' projectiletype = /obj/item/projectile/beam/stun/weak firing_lines = 1 + cooperative = 1 + //Not affected by atmos. minbodytemp = 0 @@ -356,18 +360,25 @@ name = "zeta metroid" desc = "Some kind of feet stompy thing!" tt_desc = "Minimus Feetamus Walkamus" - icon = 'icons/mob/metroid/medium.dmi' + icon = 'icons/mob/metroid/small.dmi' icon_dead = "zeta_dead" icon_living = "zeta" icon_state = "zeta" intelligence_level = SA_ANIMAL - health = 375 - maxHealth = 375 + health = 350 + maxHealth = 350 melee_damage_lower = 15 melee_damage_upper = 25 melee_miss_chance = 5 gender = NEUTER faction = "metroids" + + move_shoot = 1 //Move and shoot at the same time. + ranged_cooldown = 0 //What the starting cooldown is on ranged attacks + ranged_cooldown_time = 15 //How long, in deciseconds, the cooldown of ranged attacks is + rapid = 1 // Three-round-burst fire mode + projectiletype = /obj/item/projectile/energy/piranhaspit // The projectiles I shoot + projectilesound = 'sound/weapons/thudswoosh.ogg' // The sound I make when I do it //Unaffected by atmos. minbodytemp = 0 @@ -395,7 +406,7 @@ cooperative = 1 evo_point = 1600 evo_limit = 1800 - next = "/mob/living/simple_animal/hostile/metroid/combat/omega" + next = "/mob/living/simple_animal/hostile/metroid/bosses/omega" /mob/living/simple_animal/hostile/metroid/combat/zeta/death() @@ -419,22 +430,29 @@ -/mob/living/simple_animal/hostile/metroid/combat/omega +/mob/living/simple_animal/hostile/metroid/bosses/omega name = "omega metroid" desc = "Some kind of head rammy thing!" tt_desc = "Maximus Feetamus Walkamus" - icon = 'icons/mob/metroid/large.dmi' + icon = 'icons/mob/metroid/small.dmi' icon_dead = "omega_dead" icon_living = "omega" icon_state = "omega" intelligence_level = SA_ANIMAL - health = 550 - maxHealth = 550 + health = 500 + maxHealth = 500 melee_damage_lower = 25 melee_damage_upper = 40 melee_miss_chance = 5 gender = NEUTER faction = "metroids" + + move_shoot = 1 //Move and shoot at the same time. + ranged_cooldown = 0 //What the starting cooldown is on ranged attacks + ranged_cooldown_time = 15 //How long, in deciseconds, the cooldown of ranged attacks is + rapid = 1 // Three-round-burst fire mode + projectiletype = /obj/item/projectile/energy/piranhaspit // The projectiles I shoot + projectilesound = 'sound/weapons/thudswoosh.ogg' // The sound I make when I do it //Unaffected by atmos. minbodytemp = 0 @@ -462,15 +480,15 @@ cooperative = 1 evo_point = 2600 evo_limit = 3000 - next = "/mob/living/simple_animal/hostile/metroid/combat/queen" + next = "/mob/living/simple_animal/hostile/metroid/bosses/queen" -/mob/living/simple_animal/hostile/metroid/combat/omega/death() +/mob/living/simple_animal/hostile/metroid/bosses/omega/death() playsound(src, 'sound/metroid/metroiddeath.ogg', 100, 1) ..() -/mob/living/simple_animal/hostile/metroid/combat/omega //active noms +/mob/living/simple_animal/hostile/metroid/bosses/omega //active noms vore_active = 1 vore_bump_chance = 0 vore_capacity = 2 @@ -486,23 +504,30 @@ -/mob/living/simple_animal/hostile/metroid/combat/queen +/mob/living/simple_animal/hostile/metroid/bosses/queen name = "queen metroid" desc = "The mother of all Metroids, allowed to have grown too far!" tt_desc = "Maximus Queenamus Deathamus" - icon = 'icons/mob/metroid/large.dmi' + icon = 'icons/mob/metroid/small.dmi' icon_dead = "queen_dead" icon_living = "queen" icon_state = "queen" intelligence_level = SA_ANIMAL - health = 1000 - maxHealth = 1000 + health = 575 + maxHealth = 575 melee_damage_lower = 30 melee_damage_upper = 60 melee_miss_chance = 5 gender = NEUTER faction = "metroids" - speed = 3 + speed = 5 + + move_shoot = 1 //Move and shoot at the same time. + ranged_cooldown = 0 //What the starting cooldown is on ranged attacks + ranged_cooldown_time = 15 //How long, in deciseconds, the cooldown of ranged attacks is + rapid = 1 // Three-round-burst fire mode + projectiletype = /obj/item/projectile/energy/piranhaspit // The projectiles I shoot + projectilesound = 'sound/weapons/thudswoosh.ogg' // The sound I make when I do it //Unaffected by atmos. minbodytemp = 0 @@ -533,16 +558,12 @@ next = "/mob/living/simple_animal/hostile/metroid/evolution/super" -var/list/queen_amount = list() //global queen list -/mob/living/simple_animal/hostile/metroid/combat/queen/New() - queen_amount += src - -/mob/living/simple_animal/hostile/metroid/combat/queen/death() +/mob/living/simple_animal/hostile/metroid/bosses/queen/death() playsound(src, 'sound/metroid/metroiddeath.ogg', 100, 1) ..() -/mob/living/simple_animal/hostile/metroid/combat/queen //active noms +/mob/living/simple_animal/hostile/metroid/bosses/queen //active noms vore_active = 1 vore_bump_chance = 0 vore_capacity = 4 @@ -552,7 +573,14 @@ var/list/queen_amount = list() //global queen list swallowTime = 3 SECONDS -*/ + + + + + + + + //LIFE STUFF, AND MECHANICS! //FOR THE BABY AND SUPER FORMS! @@ -572,7 +600,7 @@ var/list/queen_amount = list() //global queen list expand_troid() return -/mob/living/simple_animal/hostile/metroid/evolution/proc/expand_troid() +/mob/living/simple_animal/hostile/metroid/proc/expand_troid() visible_message("\The [src] suddenly evolves!") new next(get_turf(src)) qdel(src) @@ -859,25 +887,37 @@ var/list/queen_amount = list() //global queen list paralysis = 0 expand_troid() return -/* -/mob/living/simple_animal/hostile/metroid/combat/omega/Life() - if(prob(5) && canEvolve == 1 && nutrition >= evo_point && queen_amount >= 1) + + +/proc/metroid_queen_exists(var/ignore_self,var/mob/living/simple_animal/hostile/metroid/bosses/queen/self) + for(var/mob/living/simple_animal/hostile/metroid/bosses/queen in living_mob_list) + if(self && ignore_self && self == queen) + continue + if(!queen.key || !queen.client || queen.stat) + continue + return 1 + return 0 + +/mob/living/simple_animal/hostile/metroid/bosses/omega/Life() + if(metroid_queen_exists()) + src << "We already have an active queen." + return + + if(!metroid_queen_exists() && prob(5) && canEvolve == 1 && nutrition >= evo_point) playsound(src, 'sound/metroid/metroidgrow.ogg', 50, 1) expand_troid() - return -*/ -/mob/living/simple_animal/hostile/metroid/combat/queen/Life() + + + + +/mob/living/simple_animal/hostile/metroid/bosses/queen/Life() if(canEvolve == 1 && nutrition >= evo_point) playsound(src, 'sound/metroid/metroidgrow.ogg', 50, 1) birth_troid() return -/mob/living/simple_animal/hostile/metroid/combat/proc/expand_troid() - visible_message("\The [src] suddenly evolves!") - new next(get_turf(src)) - qdel(src) -/mob/living/simple_animal/hostile/metroid/combat/queen/proc/birth_troid() +/mob/living/simple_animal/hostile/metroid/proc/birth_troid() visible_message("\A nesting Metroid suddenly bursts out of of the [src]!") new next(get_turf(src)) @@ -939,4 +979,4 @@ var/list/queen_amount = list() //global queen list /mob/living/simple_animal/hostile/metroid/combat/ClosestDistance() if(target_mob.stat == DEAD) return 1 // Melee (eat) the target if dead, don't shoot it. //I don't think it actually eats the target. Maybe it does? - return ..() + return ..() \ No newline at end of file From 3b7630259c8ed678187e9b39cf6c5fca6a17c3a6 Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Fri, 12 Apr 2019 05:59:48 -0500 Subject: [PATCH 02/26] Introducing matcha! -Adds matcha, matcha powder, and matcha latte reagents -Adds recipe to microwave a steamed tea leaf to get tencha then use a knife to devein and obtain matcha -Adds matcha latte to the coffee dispenser, also makes the new cartridge available in the coffee dispenser refill crate -Fixes grammatical issues with tea -Removes teamush added when steaming tea leaves -Adds matcha ice cream -Adds icons for new objects --- code/game/machinery/kitchen/icecream.dm | 16 +++-- code/modules/food/recipes_microwave_vr.dm | 8 ++- .../Chemistry-Reagents-Food-Drinks.dm | 64 ++++++++++++++++-- code/modules/reagents/Chemistry-Recipes_ch.dm | 14 +++- .../reagents/dispenser/cartridge_presets.dm | 1 + .../reagents/dispenser/dispenser2_energy.dm | 2 +- .../reagents/dispenser/dispenser_presets.dm | 3 +- code/modules/reagents/dispenser/supply.dm | 3 +- .../reagent_containers/food/snacks_vr.dm | 29 +++++++- icons/obj/food.dmi | Bin 114747 -> 116549 bytes 10 files changed, 122 insertions(+), 18 deletions(-) diff --git a/code/game/machinery/kitchen/icecream.dm b/code/game/machinery/kitchen/icecream.dm index 09cb3289ed..35b41bafbd 100644 --- a/code/game/machinery/kitchen/icecream.dm +++ b/code/game/machinery/kitchen/icecream.dm @@ -2,8 +2,10 @@ #define ICECREAM_CHOCOLATE 2 #define ICECREAM_STRAWBERRY 3 #define ICECREAM_BLUE 4 -#define CONE_WAFFLE 5 -#define CONE_CHOC 6 +#define ICECREAM_MATCHA 5 +#define CONE_WAFFLE 6 +#define CONE_CHOC 7 + // Ported wholesale from Apollo Station. @@ -29,6 +31,8 @@ return list("milk", "ice", "berryjuice") if(ICECREAM_BLUE) return list("milk", "ice", "singulo") + if(ICECREAM_MATCHA) + return list("milk", "ice", "matcha") if(CONE_WAFFLE) return list("flour", "sugar") if(CONE_CHOC) @@ -44,6 +48,8 @@ return "strawberry" if(ICECREAM_BLUE) return "blue" + if(ICECREAM_MATCHA) + return "matcha" if(CONE_WAFFLE) return "waffle" if(CONE_CHOC) @@ -54,7 +60,7 @@ /obj/machinery/icecream_vat/initialize() . = ..() create_reagents(100) - while(product_types.len < 6) + while(product_types.len < 7) product_types.Add(5) reagents.add_reagent("milk", 5) reagents.add_reagent("flour", 5) @@ -72,7 +78,8 @@ dat += "Vanilla icecream: Select Make x5 [product_types[ICECREAM_VANILLA]] scoops left. (Ingredients: milk, ice)
" dat += "Strawberry icecream: Select Make x5 [product_types[ICECREAM_STRAWBERRY]] dollops left. (Ingredients: milk, ice, berry juice)
" dat += "Chocolate icecream: Select Make x5 [product_types[ICECREAM_CHOCOLATE]] dollops left. (Ingredients: milk, ice, coco powder)
" - dat += "Blue icecream: Select Make x5 [product_types[ICECREAM_BLUE]] dollops left. (Ingredients: milk, ice, singulo)
" + dat += "Blue icecream: Select Make x5 [product_types[ICECREAM_BLUE]] dollops left. (Ingredients: milk, ice, singulo)
" + dat += "Matcha icecream: Select Make x5 [product_types[ICECREAM_MATCHA]] dollops left. (Ingredients: milk, ice, matcha)
" dat += "
CONES
" dat += "Waffle cones: Dispense Make x5 [product_types[CONE_WAFFLE]] cones left. (Ingredients: flour, sugar)
" dat += "Chocolate cones: Dispense Make x5 [product_types[CONE_CHOC]] cones left. (Ingredients: flour, sugar, coco powder)
" @@ -191,5 +198,6 @@ #undef FLAVOUR_CHOCOLATE #undef FLAVOUR_STRAWBERRY #undef FLAVOUR_BLUE +#undef FLAVOUR_MATCHA #undef CONE_WAFFLE #undef CONE_CHOC \ No newline at end of file diff --git a/code/modules/food/recipes_microwave_vr.dm b/code/modules/food/recipes_microwave_vr.dm index 475a25674f..5bfdcd66af 100644 --- a/code/modules/food/recipes_microwave_vr.dm +++ b/code/modules/food/recipes_microwave_vr.dm @@ -218,4 +218,10 @@ items = list( /obj/item/weapon/reagent_containers/food/snacks/steamrolltealeaf ) - result = /obj/item/weapon/reagent_containers/food/snacks/greentealeaf \ No newline at end of file + result = /obj/item/weapon/reagent_containers/food/snacks/greentealeaf + +/datum/recipe/tencha //TODO: Figure out how to make this recipe with a drying rack. + items = list( + /obj/item/weapon/reagent_containers/food/snacks/steamtealeaf + ) + result = /obj/item/weapon/reagent_containers/food/snacks/tencha \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm index d0534ee42b..4d4de7b0ab 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -807,7 +807,7 @@ adj_sleepy = -3 adj_temp = 20 - glass_name = "cup of tea" + glass_name = "tea" glass_desc = "Tasty black tea, it has antioxidants, it's good for you!" cup_icon_state = "cup_tea" @@ -945,6 +945,22 @@ cup_name = "cup of watermelon tea" cup_desc = "A tasty mixture of watermelon and tea. It's apparently good for you!" +/datum/reagent/drink/tea/matcha_latte //Putting this as tea to inherit tea variables. Should not have the same toxloss as matcha so it can be placed in a dispenser without breaking balance. + name = "Matcha latte" + id = "matcha_latte" + description = "A nice and tasty beverage to enjoy while studying." + taste_description = "creamy, vegetal sweetness" + color = "#b1c48c" + adj_temp = 5 + + glass_name = "matcha latte" + glass_desc = "A nice and refreshing beverage while you are studying." + + cup_icon_state = "cup_latte" + cup_name = "cup of matcha latte" + cup_desc = "A nice and refreshing beverage while you are studying." + + /datum/reagent/drink/coffee name = "Coffee" id = "coffee" @@ -1030,7 +1046,6 @@ glass_desc = "A nice and refreshing beverage while you are reading." glass_name = "soy latte" - glass_desc = "A nice and refrshing beverage while you are reading." cup_icon_state = "cup_latte" cup_name = "cup of soy latte" @@ -1049,11 +1064,11 @@ adj_temp = 5 glass_name = "cafe latte" - glass_desc = "A nice, strong and refreshing beverage while you are reading." + glass_desc = "A nice, strong, and refreshing beverage while you are reading." cup_icon_state = "cup_latte" cup_name = "cup of cafe latte" - cup_desc = "A nice and refreshing beverage while you are reading." + cup_desc = "A nice, strong, and refreshing beverage while you are reading." /datum/reagent/drink/coffee/cafe_latte/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) ..() @@ -3295,7 +3310,7 @@ glass_name = "Sit on my face" glass_desc = "A drink made of irish coffee and nuts, mostly known for its vulgar name. Makes for a great pickup line though!" - + /datum/reagent/ethanol/hachi name = "Hachi" id = "hachi" @@ -3366,7 +3381,7 @@ name = "Instant green tea powder" id = "instantteapowdergreen" description = "Green tea powder missing all the goodness of green tea." //Heathen. - taste_description = "strongly bitter with a subtle chemical aftertaste" + taste_description = "strong bitterness with a subtle chemical aftertaste" color = "#56761d" glass_name = "tea powder" @@ -3376,7 +3391,7 @@ name = "Instant green tea" id = "instantteagreen" description = "Convenient green tea missing all the goodness of actual green tea." //It's not even hot. - taste_description = "bitter with a subtle chemical aftertaste" + taste_description = "bitterness with a subtle chemical aftertaste" color = "#cac162" glass_name = "green tea" @@ -3385,3 +3400,38 @@ cup_icon_state = "cup_tea" cup_name = "cup of tea" cup_desc = "Green tea. It smells a bit off." + +/datum/reagent/drink/matchapowder + name = "Matcha powder" + id = "matchapowder" + description = "Finely ground green tea. This is about the highest quality matcha you can prepare without traditional methods." + taste_description = "heavy bitterness" + color = "#86a443" + + glass_name = "matcha powder" + glass_desc = "Matcha powder, waiting for brewing." + +/datum/reagent/drink/matcha + name = "Matcha" + id = "matcha" + description = "A form of green tea where the leaf is ground and suspended in water rather than steeped. This is considered cooking grade." + taste_description = "floral, full-bodied bitterness with a subtle, earthy sweetness" + color = "#9bc265" + adj_dizzy = -4 + adj_drowsy = -1 + adj_sleepy = -3 + adj_temp = 20 + + glass_name = "matcha" + glass_desc = "Heavenly matcha. Good for body and spirit." + + cup_icon_state = "cup_tea" + cup_name = "cup of matcha" + cup_desc = "Heavenly matcha. Good for body and spirit." + +/datum/reagent/drink/matcha/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) + ..() + if(alien == IS_DIONA) + return + M.adjustToxLoss(-3 * removed) //Almost on par with dylovene despite being harder to obtain in bulk. Nerf if this causes problems. + diff --git a/code/modules/reagents/Chemistry-Recipes_ch.dm b/code/modules/reagents/Chemistry-Recipes_ch.dm index 6ff79e224c..e8c6bff15c 100644 --- a/code/modules/reagents/Chemistry-Recipes_ch.dm +++ b/code/modules/reagents/Chemistry-Recipes_ch.dm @@ -47,4 +47,16 @@ id = "instantteagreen" result = "instantteagreen" required_reagents = list ("instantteapowdergreen" = 1, "water" = 9) - result_amount = 10 \ No newline at end of file + result_amount = 10 + +/datum/chemical_reaction/matcha + id = "matcha" + result = "matcha" + required_reagents = list ("matchapowder" = 1, "hotwater" = 2) + result_amount = 2 + +/datum/chemical_reaction/tea/matcha_latte + id = "matcha_latte" + result = "matcha_latte" + required_reagents = list ("matchapowder" = 1, "milk" = 5) + result_amount = 5 \ No newline at end of file diff --git a/code/modules/reagents/dispenser/cartridge_presets.dm b/code/modules/reagents/dispenser/cartridge_presets.dm index a29d7ac9f8..925a2c2519 100644 --- a/code/modules/reagents/dispenser/cartridge_presets.dm +++ b/code/modules/reagents/dispenser/cartridge_presets.dm @@ -71,6 +71,7 @@ cream spawn_reagent = "cream" mint spawn_reagent = "mint" berry spawn_reagent = "berryjuice" + matcha_latte spawn_reagent = "matcha_latte" // ERT inaprov spawn_reagent = "inaprovaline" diff --git a/code/modules/reagents/dispenser/dispenser2_energy.dm b/code/modules/reagents/dispenser/dispenser2_energy.dm index 4465b0b769..1038a02325 100644 --- a/code/modules/reagents/dispenser/dispenser2_energy.dm +++ b/code/modules/reagents/dispenser/dispenser2_energy.dm @@ -58,5 +58,5 @@ /obj/machinery/chemical_dispenser/bar_coffee dispense_reagents = list( "coffee", "cafe_latte", "soy_latte", "hot_coco", "milk", "cream", "tea", "ice", - "orangejuice", "lemonjuice", "limejuice", "berryjuice", "mint" + "orangejuice", "lemonjuice", "limejuice", "berryjuice", "mint", "matcha_latte" ) \ No newline at end of file diff --git a/code/modules/reagents/dispenser/dispenser_presets.dm b/code/modules/reagents/dispenser/dispenser_presets.dm index 05477d9cdd..6505eb36ab 100644 --- a/code/modules/reagents/dispenser/dispenser_presets.dm +++ b/code/modules/reagents/dispenser/dispenser_presets.dm @@ -137,6 +137,5 @@ /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon, /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime, /obj/item/weapon/reagent_containers/chem_disp_cartridge/berry, - - + /obj/item/weapon/reagent_containers/chem_disp_cartridge/matcha_latte ) \ No newline at end of file diff --git a/code/modules/reagents/dispenser/supply.dm b/code/modules/reagents/dispenser/supply.dm index e183da7f79..8f7423dc31 100644 --- a/code/modules/reagents/dispenser/supply.dm +++ b/code/modules/reagents/dispenser/supply.dm @@ -120,7 +120,8 @@ /obj/item/weapon/reagent_containers/chem_disp_cartridge/milk, /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream, /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea, - /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice + /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice, + /obj/item/weapon/reagent_containers/chem_disp_cartridge/matcha_latte ) cost = 50 containertype = /obj/structure/closet/crate diff --git a/code/modules/reagents/reagent_containers/food/snacks_vr.dm b/code/modules/reagents/reagent_containers/food/snacks_vr.dm index db27c59feb..6560f2a78a 100644 --- a/code/modules/reagents/reagent_containers/food/snacks_vr.dm +++ b/code/modules/reagents/reagent_containers/food/snacks_vr.dm @@ -378,7 +378,6 @@ /obj/item/weapon/reagent_containers/food/snacks/steamtealeaf/New() ..() - reagents.add_reagent("teamush", 3) bitesize = 1 /obj/item/weapon/reagent_containers/food/snacks/steamtealeaf/attackby(obj/item/weapon/W as obj, mob/user as mob) @@ -412,6 +411,34 @@ reagents.add_reagent("tealeavesgreen", 6) bitesize = 1 +/obj/item/weapon/reagent_containers/food/snacks/tencha + name = "Tencha" + desc = "A dried, crumbly green tea leaf. Needs deveined." + icon = 'icons/obj/food.dmi' + icon_state = "tencha" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/matchaleaf + slices_num = 1 + nutriment_amt = 0 + nutriment_desc = list("nothing" = 1) + +/obj/item/weapon/reagent_containers/food/snacks/tencha/New() + ..() + bitesize = 1 + +/obj/item/weapon/reagent_containers/food/snacks/matchaleaf + name = "Matcha" + desc = "Low grade matcha. Ready for grinding." + icon = 'icons/obj/food.dmi' + icon_state = "matchaleaf" + nutriment_amt = 0 + nutriment_desc = list("nothing" = 0) + +/obj/item/weapon/reagent_containers/food/snacks/matchaleaf/New() + ..() + reagents.add_reagent("matchapowder", 5) + reagents.remove_reagent("teamush", 5) + bitesize = 1 + /obj/item/weapon/reagent_containers/food/snacks/monkeycube/sobakacube name = "sobaka cube" monkey_type = "Sobaka" diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index c19c0925b51a56965233a6ecbca4f6f944bfa0d2..2e995048237e45660e74ff23633e39647d0ab13a 100644 GIT binary patch delta 8598 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 Date: Fri, 12 Apr 2019 11:53:24 -0400 Subject: [PATCH 03/26] Borg/Drone Enabled to Fix Doors Electrified Door Events no longer a pain for silicons, they can repair doors left and right now! :3 --- code/game/machinery/doors/door.dm | 67 ++++++------ code/game/machinery/doors/door_vr.dm | 147 ++++++++++----------------- 2 files changed, 88 insertions(+), 126 deletions(-) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index d8252fe4a9..2706bf09a5 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -1,3 +1,5 @@ +//TFF: Port VoreStation fix for door repair/reinforcing for borgs/drones. + //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 #define DOOR_REPAIR_AMOUNT 50 //amount of health regained per stack amount used @@ -26,7 +28,7 @@ var/destroy_hits = 10 //How many strong hits it takes to destroy the door var/min_force = 10 //minimum amount of force needed to damage the door with a melee weapon var/hitsound = 'sound/weapons/smash.ogg' //sound door makes when hit with a weapon - var/obj/item/stack/material/steel/repairing + var/repairing var/block_air_zones = 1 //If set, air zones cannot merge across the door even when it is opened. var/close_door_at = 0 //When to automatically close the door, if possible @@ -205,17 +207,19 @@ /obj/machinery/door/attackby(obj/item/I as obj, mob/user as mob) src.add_fingerprint(user) - if (attempt_vr(src,"attackby_vr",list(I, user))) return + if(istype(I)) + if(attackby_vr(I, user)) //VOREStation begin: Fireproofing + return //VOREStation begin: Fireproofing if(istype(I, /obj/item/stack/material) && I.get_material_name() == src.get_material_name()) if(stat & BROKEN) - user << "It looks like \the [src] is pretty busted. It's going to need more than just patching up now." + to_chat(user,"It looks like \the [src] is pretty busted. It's going to need more than just patching up now.") return if(health >= maxhealth) - user << "Nothing to fix!" + to_chat(user,"Nothing to fix!") return if(!density) - user << "\The [src] must be closed before you can repair it." + to_chat(user,"\The [src] must be closed before you can repair it.") return //figure out how much metal we need @@ -223,44 +227,45 @@ amount_needed = (round(amount_needed) == amount_needed)? amount_needed : round(amount_needed) + 1 //Why does BYOND not have a ceiling proc? var/obj/item/stack/stack = I - var/transfer - if (repairing) - transfer = stack.transfer_to(repairing, amount_needed - repairing.amount) - if (!transfer) - user << "You must weld or remove \the [repairing] from \the [src] before you can add anything else." + var/amount_given = amount_needed - repairing + var/mats_given = stack.get_amount() + if(repairing && amount_given <= 0) + to_chat(user, "You must weld or remove \the [get_material_name()] from \the [src] before you can add anything else.") else - repairing = stack.split(amount_needed) - if (repairing) - repairing.loc = src - transfer = repairing.amount - - if (transfer) - user << "You fit [transfer] [stack.singular_name]\s to damaged and broken parts on \the [src]." + if(mats_given >= amount_given) + if(stack.use(amount_given)) + repairing += amount_given + else + if(stack.use(mats_given)) + repairing += mats_given + amount_given = mats_given + if(amount_given) + to_chat(user, "You fit [amount_given] [get_material_name()] sheets to damaged and broken parts on \the [src].") return if(repairing && istype(I, /obj/item/weapon/weldingtool)) if(!density) - user << "\The [src] must be closed before you can repair it." + to_chat(user,"\The [src] must be closed before you can repair it.") return var/obj/item/weapon/weldingtool/welder = I if(welder.remove_fuel(0,user)) - user << "You start to fix dents and weld \the [repairing] into place." + to_chat(user,"You start to fix dents and weld \the [get_material_name()] into place.") playsound(src, welder.usesound, 50, 1) - if(do_after(user, (5 * repairing.amount) * welder.toolspeed) && welder && welder.isOn()) - user << "You finish repairing the damage to \the [src]." - health = between(health, health + repairing.amount*DOOR_REPAIR_AMOUNT, maxhealth) + if(do_after(user, (5 * repairing) * welder.toolspeed) && welder && welder.isOn()) + to_chat(user,"You finish repairing the damage to \the [src].") + health = between(health, health + repairing*DOOR_REPAIR_AMOUNT, maxhealth) update_icon() - qdel(repairing) - repairing = null + repairing = 0 return if(repairing && istype(I, /obj/item/weapon/crowbar)) - user << "You remove \the [repairing]." + var/obj/item/stack/material/repairing_sheet = get_material().place_sheet(loc) + repairing_sheet.amount += repairing-1 + repairing = 0 + to_chat(user, "You remove \the [repairing_sheet].") playsound(src, I.usesound, 100, 1) - repairing.loc = user.loc - repairing = null return //psa to whoever coded this, there are plenty of objects that need to call attack() on doors without bludgeoning them. @@ -318,13 +323,13 @@ /obj/machinery/door/examine(mob/user) . = ..() if(src.health <= 0) - user << "\The [src] is broken!" + to_chat(user,"\The [src] is broken!") if(src.health < src.maxhealth / 4) - user << "\The [src] looks like it's about to break!" + to_chat(user,"\The [src] looks like it's about to break!") else if(src.health < src.maxhealth / 2) - user << "\The [src] looks seriously damaged!" + to_chat(user,"\The [src] looks seriously damaged!") else if(src.health < src.maxhealth * 3/4) - user << "\The [src] shows signs of damage!" + to_chat(user,"\The [src] shows signs of damage!") /obj/machinery/door/proc/set_broken() diff --git a/code/game/machinery/doors/door_vr.dm b/code/game/machinery/doors/door_vr.dm index 1e0dd1d470..ad5e6affd6 100644 --- a/code/game/machinery/doors/door_vr.dm +++ b/code/game/machinery/doors/door_vr.dm @@ -1,9 +1,11 @@ +//TFF: Port VoreStation fix for door repair/reinforcing for borgs/drones. + /turf/simulated/floor/proc/adjacent_fire_act_vr(turf/simulated/floor/adj_turf, datum/gas_mixture/adj_air, adj_temp, adj_volume) for(var/obj/machinery/door/D in src) //makes doors next to fire affected by fire D.fire_act(adj_air, adj_temp, adj_volume) /obj/machinery/door - var/obj/item/stack/material/plasteel/reinforcing //vorestation addition + var/reinforcing //vorestation addition /obj/machinery/door/firedoor heat_proof = 1 @@ -33,113 +35,68 @@ return ..() +// Returns true only if one of the actions unique to reinforcing is done, otherwise false and continuing normal attackby /obj/machinery/door/proc/attackby_vr(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/stack/material) && I.get_material_name() == "plasteel") // Add heat shielding if it isn't already. - if(!heat_proof) - var/obj/item/stack/stack = I - var/transfer - var/amount_needed = 2 - if(stat & BROKEN) - user << "It looks like \the [src] is pretty busted." - if (reinforcing) - transfer = stack.transfer_to(reinforcing, amount_needed - reinforcing.amount) - if (!transfer) - user << "You must weld or remove \the [reinforcing] from \the [src] before you can add anything else." - return 1 + if(istype(I, /obj/item/stack/material) && I.get_material_name() == "plasteel") + if(heat_proof) + to_chat(user, "\The [src] is already reinforced.") + return TRUE + if((stat & BROKEN) || (health < maxhealth)) + to_chat(user, "It looks like \the [src] broken. Repair it before reinforcing it.") + return TRUE + if(!density) + to_chat(user, "\The [src] must be closed before you can reinforce it.") + return TRUE + var/amount_needed = 2 + + var/obj/item/stack/stack = I + var/amount_given = amount_needed - reinforcing + var/mats_given = stack.get_amount() + if(reinforcing && amount_given <= 0) + to_chat(user, "You must weld or remove \the plasteel from \the [src] before you can add anything else.") + else + if(mats_given >= amount_given) + if(stack.use(amount_given)) + reinforcing += amount_given else - reinforcing = stack.split(amount_needed) - if (reinforcing) - reinforcing.loc = src - transfer = reinforcing.amount + if(stack.use(mats_given)) + reinforcing += mats_given + amount_given = mats_given + if(amount_given) + to_chat(user, "You fit [amount_given] [get_material_name()] sheets on \the [src].") - if (transfer) - user << "You fit [transfer] [stack.singular_name]\s to \the [src]." - return 1 - - if(istype(I, /obj/item/stack/material) && I.get_material_name() == src.get_material_name()) - if(stat & BROKEN) - if(health >= maxhealth && destroy_hits >= 10) - user << "The [src] is about as shored up as it's going to get." - return 1 - if(!density) - user << "\The [src] must be closed before you can repair it." - return 1 - - //figure out how much metal we need - var/amount_needed = (maxhealth - health) / DOOR_REPAIR_AMOUNT - if (destroy_hits < 10) - amount_needed += (20*(10 - destroy_hits) / DOOR_REPAIR_AMOUNT) - amount_needed = (round(amount_needed) == amount_needed)? amount_needed : round(amount_needed) + 1 //Why does BYOND not have a ceiling proc? - - var/obj/item/stack/stack = I - var/transfer - if (repairing) - transfer = stack.transfer_to(repairing, amount_needed - repairing.amount) - if (!transfer) - user << "You must weld or remove \the [repairing] from \the [src] before you can add anything else." - else - repairing = stack.split(amount_needed) - if (repairing) - repairing.loc = src - transfer = repairing.amount - - if (transfer) - user << "\The [src] is completely broken inside, but you manage to fit [transfer] [stack.singular_name]\s to shore it up." - - return 1 - - return 0 + return TRUE if(reinforcing && istype(I, /obj/item/weapon/weldingtool)) - var/amount_needed = 2 if(!density) - user << "\The [src] must be closed before you can repair it." - return 1 - if (reinforcing.amount < amount_needed) - user << "You need [amount_needed] [reinforcing.singular_name]\s to reinforce \the [src]." - return 1 + to_chat(user, "\The [src] must be closed before you can reinforce it.") + return TRUE + + if(reinforcing < 2) + to_chat(user, "You will need more plasteel to reinforce \the [src].") + return TRUE + var/obj/item/weapon/weldingtool/welder = I if(welder.remove_fuel(0,user)) - user << "You start to weld \the [reinforcing] into place." - playsound(src, 'sound/items/Welder.ogg', 100, 1) - if(do_after(user, 5 * reinforcing.amount) && welder && welder.isOn()) - user << "You finish reinforcing \the [src]." + to_chat(user, "You start to weld \the plasteel into place.") + playsound(src, welder.usesound, 50, 1) + if(do_after(user, 10 * welder.toolspeed) && welder && welder.isOn()) + to_chat(user, "You finish reinforcing \the [src].") heat_proof = 1 update_icon() - qdel(reinforcing) - reinforcing = null - return 1 - - if(repairing && istype(I, /obj/item/weapon/weldingtool) && (stat & BROKEN)) - if(!density) - user << "\The [src] must be closed before you can shore it up." - return 1 - - var/obj/item/weapon/weldingtool/welder = I - if(welder.remove_fuel(0,user)) - user << "You start to weld \the [repairing] into place." - playsound(src, 'sound/items/Welder.ogg', 100, 1) - if(do_after(user, 5 * repairing.amount) && welder && welder.isOn()) - user << "You finish shoring up \the [src]. It'll hold for at least a little while." - var/damagerepaired = repairing.amount*DOOR_REPAIR_AMOUNT - if (destroy_hits < 10) - var/severedamage = 10 - destroy_hits - destroy_hits = between(destroy_hits, destroy_hits + (damagerepaired)/20, 10) - damagerepaired -= 20 * severedamage - health = between(health, health + damagerepaired, maxhealth) - update_icon() - qdel(repairing) - repairing = null - return 1 + reinforcing = 0 + return TRUE if(reinforcing && istype(I, /obj/item/weapon/crowbar)) - user << "You remove \the [reinforcing]." - playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) - reinforcing.loc = user.loc - reinforcing = null - return 1 - return 0 + var/obj/item/stack/material/plasteel/reinforcing_sheet = new /obj/item/stack/material/plasteel(src.loc) + reinforcing_sheet.amount = reinforcing + reinforcing = 0 + to_chat(user, "You remove \the [reinforcing_sheet].") + playsound(src, I.usesound, 100, 1) + return TRUE + + return FALSE /obj/machinery/door/blast/regular/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) return // blast doors are immune to fire completely. From 1ecfdb012481aa00cf6c4917329ad1f764cfe85c Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Fri, 12 Apr 2019 12:35:37 -0400 Subject: [PATCH 04/26] Char Directory Upgrade Borgs/AI display on the Character Directory rather than a large list of meatbags. --- code/game/verbs/character_directory.dm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/code/game/verbs/character_directory.dm b/code/game/verbs/character_directory.dm index 6f5a6debc2..072c7b14c0 100644 --- a/code/game/verbs/character_directory.dm +++ b/code/game/verbs/character_directory.dm @@ -29,6 +29,32 @@ html += "OOC notes" html += "" html += "" + +//TFF: Ports VoreStation addition of Borg/AI listing to display on Char Directory. Yay! + if(isAI(C.mob)) + var/mob/living/silicon/ai/A = C.mob + curID++ + html += "
" + html += "

[A.name] (Artificial Intelligence)


" + if(A.ooc_notes) + html += "OOC notes" + html += "" + html += "
" + if(isrobot(C.mob)) + var/mob/living/silicon/robot/R = C.mob + if(R.scrambledcodes || (R.module && R.module.hide_on_manifest)) + continue + curID++ + html += "
" + html += "

[R.name] ([R.modtype] [R.braintype])


" + if(R.flavor_text) + html += "Flavor text" + html += "" + if(R.ooc_notes) + html += "OOC notes" + html += "" + html += "
" + if(!curID) html += "

404: Station not found

" From 1fb0152c1d89dba7af2fb75c540f60595ab82e5b Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Fri, 12 Apr 2019 13:05:05 -0400 Subject: [PATCH 05/26] Admin Kick Command Fix Ports https://github.com/PolarisSS13/Polaris/pull/6034 so that you don't accidentally kick someone off the server if you decide to change your mind. --- code/modules/admin/topic.dm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index c61ee1bb7f..3ecbcd4fb4 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -771,18 +771,19 @@ return 1 return 0 //we didn't do anything! +//TFF: Ports Polaris fix for kicking so you can cancel without it still executing the command. else if(href_list["boot2"]) var/mob/M = locate(href_list["boot2"]) if (ismob(M)) if(!check_if_greater_rights_than(M.client)) return - var/reason = sanitize(input("Please enter reason")) + var/reason = sanitize(input("Please enter reason.") as null|message) if(!reason) - M << "You have been kicked from the server" - else - M << "You have been kicked from the server: [reason]" - log_admin("[key_name(usr)] booted [key_name(M)].") - message_admins("[key_name_admin(usr)] booted [key_name_admin(M)].", 1) + return + + to_chat(M, span("critical", "You have been kicked from the server: [reason]")) + log_admin("[key_name(usr)] booted [key_name(M)] for reason: '[reason]'.") + message_admins("[key_name_admin(usr)] booted [key_name_admin(M)] for reason '[reason]'.", 1) //M.client = null qdel(M.client) From 6652ca569302b1d7b423c75d4ef1c597aeb1b721 Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Fri, 12 Apr 2019 13:51:29 -0400 Subject: [PATCH 06/26] Absorbed's Escape Act Commences! Ports https://github.com/VOREStation/VOREStation/pull/4997 and allow those absorbed to be able to use OOC Escape and **be** unabsorbed afterwards. --- code/modules/vore/eating/living_vr.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 4e845ccc33..a7bfc1af9c 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -329,6 +329,7 @@ if(!confirm == "Okay" || loc != B) return //Actual escaping + absorbed = 0 //Make sure we're not absorbed forceMove(get_turf(src)) //Just move me up to the turf, let's not cascade through bellies, there's been a problem, let's just leave. for(var/mob/living/simple_animal/SA in range(10)) SA.prey_excludes[src] = world.time From 46f3fae7bcadbb0eda55daf636fcb9edb337459d Mon Sep 17 00:00:00 2001 From: MrMacint0sh <39393053+MrMacint0sh@users.noreply.github.com> Date: Fri, 12 Apr 2019 23:18:37 -0400 Subject: [PATCH 07/26] Delete stock_parts.dmi --- icons/obj/stock_parts.dmi | Bin 67153 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 icons/obj/stock_parts.dmi diff --git a/icons/obj/stock_parts.dmi b/icons/obj/stock_parts.dmi deleted file mode 100644 index 2325f50fffff63e5a5b62c781d4ca61531e1829e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67153 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
+=qef*H-1a?Os{8!F# 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 From 6fb946944f2753cdae3546c08e42405c2b870ae0 Mon Sep 17 00:00:00 2001 From: MrMacint0sh <39393053+MrMacint0sh@users.noreply.github.com> Date: Fri, 12 Apr 2019 23:18:57 -0400 Subject: [PATCH 08/26] Add files via upload --- icons/obj/stock_parts.dmi | Bin 0 -> 69462 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 icons/obj/stock_parts.dmi diff --git a/icons/obj/stock_parts.dmi b/icons/obj/stock_parts.dmi new file mode 100644 index 0000000000000000000000000000000000000000..fda3b0633586363db74537f81df84d19b65765a4 GIT binary patch literal 69462 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

2b)h~H+U?Czz`f239wG3v&q?0Uu0^V# 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 literal 0 HcmV?d00001 From e4382c8da0faf36f2db4cec0b276e1d90d7299a1 Mon Sep 17 00:00:00 2001 From: MrMacint0sh <39393053+MrMacint0sh@users.noreply.github.com> Date: Fri, 12 Apr 2019 23:45:31 -0400 Subject: [PATCH 09/26] Adding Tier 4 machine parts --- code/defines/obj/weapon.dm | 46 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 67ee71ecd8..b0a082f462 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -414,7 +414,7 @@ src.pixel_y = rand(-5.0, 5) ..() -//Rank 1 +//Rating 1 /obj/item/weapon/stock_parts/console_screen name = "console screen" @@ -476,7 +476,7 @@ origin_tech = list(TECH_MATERIAL = 1) matter = list(DEFAULT_WALL_MATERIAL = 80) -//Rank 2 +//Rating 2 /obj/item/weapon/stock_parts/capacitor/adv name = "advanced capacitor" @@ -560,6 +560,48 @@ rating = 3 matter = list(DEFAULT_WALL_MATERIAL = 80) +//Rating 4 + +/obj/item/weapon/stock_parts/capacitor/quadratic + name = "quadratic capacitor" + desc = "A quadratic capacitor used in the construction of a variety of devices." + icon_state = "quadratic_capacitor" + origin_tech = list(TECH_POWER = 7, TECH_MATERIAL = 6) + rating = 4 + matter = list(DEFAULT_WALL_MATERIAL = 100,"glass" = 100) + +/obj/item/weapon/stock_parts/scanning_module/triphasic + name = "triphasic scanning module" + desc = "A compact, high resolution phasic scanning module used in the construction of certain devices." + icon_state = "triphasic_scan_module" + origin_tech = list(TECH_MAGNET = 8) + rating = 4 + matter = list(DEFAULT_WALL_MATERIAL = 100,"glass" = 50) + +/obj/item/weapon/stock_parts/manipulator/femto + name = "femto-manipulator" + desc = "A very little manipulator used in the construction of certain devices." + icon_state = "femto_mani" + origin_tech = list(TECH_MATERIAL = 7, TECH_DATA = 4) + rating = 4 + matter = list(DEFAULT_WALL_MATERIAL = 60,"diamond" = 50) + +/obj/item/weapon/stock_parts/micro_laser/quad + name = "quad-ultra micro-laser" + icon_state = "quadultra_micro_laser" + desc = "A small, very high-power laser used in certain devices." + origin_tech = list(TECH_MAGNET = 8) + rating = 4 + matter = list(DEFAULT_WALL_MATERIAL = 20,"glass" = 40,"uranium" = 30) + +/obj/item/weapon/stock_parts/matter_bin/bluespace + name = "bluespace matter bin" + desc = "A seemingly bottomless container for holding matter." + icon_state = "bluespace_matter_bin" + origin_tech = list(TECH_MATERIAL = 6, TECH_BLUESPACE = 5) + rating = 4 + matter = list(DEFAULT_WALL_MATERIAL = 80,"phoron" = 30) + // Subspace stock parts /obj/item/weapon/stock_parts/subspace/ansible From a0d98eeba8975e142ba26a107d176adaeb42671c Mon Sep 17 00:00:00 2001 From: MrMacint0sh <39393053+MrMacint0sh@users.noreply.github.com> Date: Fri, 12 Apr 2019 23:51:30 -0400 Subject: [PATCH 10/26] Adding Tier 4 to Modular Guns --- code/modules/projectiles/guns/modular_guns.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/guns/modular_guns.dm b/code/modules/projectiles/guns/modular_guns.dm index 8f81e971c4..c1a67cf984 100644 --- a/code/modules/projectiles/guns/modular_guns.dm +++ b/code/modules/projectiles/guns/modular_guns.dm @@ -18,12 +18,15 @@ /obj/item/weapon/stock_parts/capacitor/, /obj/item/weapon/stock_parts/capacitor/adv, /obj/item/weapon/stock_parts/capacitor/super, + /obj/item/weapon/stock_parts/capacitor/quadratic, /obj/item/weapon/stock_parts/micro_laser/, /obj/item/weapon/stock_parts/micro_laser/high, /obj/item/weapon/stock_parts/micro_laser/ultra, + /obj/item/weapon/stock_parts/micro_laser/quad, /obj/item/weapon/stock_parts/manipulator/, /obj/item/weapon/stock_parts/manipulator/nano, /obj/item/weapon/stock_parts/manipulator/pico, + /obj/item/weapon/stock_parts/manipulator/femto, ) //Excessively long because it won't accept subtypes for some reason! @@ -171,4 +174,4 @@ one_handed_penalty = 4 //dual wielding = no. cell_type = /obj/item/weapon/cell //We're bigger. We can use much larger power cells. origin_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 6, TECH_MATERIAL = 5, TECH_BLUESPACE = 4) //its a damn cannon capable of holding a huge amount of parts. - burst_delay = 4 //preventing extreme silliness. \ No newline at end of file + burst_delay = 4 //preventing extreme silliness. From 266932ec8b3de75a7ee369d8096d21ad9b74cc4d Mon Sep 17 00:00:00 2001 From: MrMacint0sh <39393053+MrMacint0sh@users.noreply.github.com> Date: Sat, 13 Apr 2019 12:50:59 -0400 Subject: [PATCH 11/26] Tier 4 Parts --- code/modules/research/designs.dm | 35 ++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 0d25cb909b..36e9fc16a0 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -113,6 +113,13 @@ other types of metals and chemistry for reagents). build_path = /obj/item/weapon/stock_parts/capacitor/super sort_string = "CAAAC" +/datum/design/item/stock_part/quadratic_capacitor + id = "quadratic_capacitor" + req_tech = list(TECH_POWER = 7, TECH_MATERIAL = 6) + materials = list(DEFAULT_WALL_MATERIAL = 100, "glass" = 100, "gold" = 20) + build_path = /obj/item/weapon/stock_parts/capacitor/quadratic + sort_string = "CAAAD" + /datum/design/item/stock_part/micro_mani id = "micro_mani" req_tech = list(TECH_MATERIAL = 1, TECH_DATA = 1) @@ -134,6 +141,13 @@ other types of metals and chemistry for reagents). build_path = /obj/item/weapon/stock_parts/manipulator/pico sort_string = "CAABC" +/datum/design/item/stock_part/femto_mani + id = "femto_mani" + req_tech = list(TECH_MATERIAL = 7, TECH_DATA = 4) + materials = list(DEFAULT_WALL_MATERIAL = 30, "diamond" = 50) + build_path = /obj/item/weapon/stock_parts/manipulator/femto + sort_string = "CAABD" + /datum/design/item/stock_part/basic_matter_bin id = "basic_matter_bin" req_tech = list(TECH_MATERIAL = 1) @@ -154,6 +168,13 @@ other types of metals and chemistry for reagents). materials = list(DEFAULT_WALL_MATERIAL = 80) build_path = /obj/item/weapon/stock_parts/matter_bin/super sort_string = "CAACC" + +/datum/design/item/stock_part/bluespace_matter_bin + id = "bluespace_matter_bin" + req_tech = list(TECH_MATERIAL = 6, TECH_BLUESPACE = 5) + materials = list(DEFAULT_WALL_MATERIAL = 80,"phoron" = 30) + build_path = /obj/item/weapon/stock_parts/matter_bin/bluespace + sort_string = "CAACD" /datum/design/item/stock_part/basic_micro_laser id = "basic_micro_laser" @@ -176,6 +197,13 @@ other types of metals and chemistry for reagents). build_path = /obj/item/weapon/stock_parts/micro_laser/ultra sort_string = "CAADC" +/datum/design/item/stock_part/quad_ultra_micro_laser + id = "quadultra_micro_laser" + req_tech = list(TECH_MAGNET = 8, TECH_MATERIAL = 7) + materials = list(DEFAULT_WALL_MATERIAL = 20, "glass" = 40, "uranium" = 30) + build_path = /obj/item/weapon/stock_parts/micro_laser/quad + sort_string = "CAADD" + /datum/design/item/stock_part/basic_sensor id = "basic_sensor" req_tech = list(TECH_MAGNET = 1) @@ -196,6 +224,13 @@ other types of metals and chemistry for reagents). materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 20, "silver" = 10) build_path = /obj/item/weapon/stock_parts/scanning_module/phasic sort_string = "CAAEC" + +/datum/design/item/stock_part/triphasic_sensor + id = "triphasic_sensor" + req_tech = list(TECH_MAGNET = 8, TECH_MATERIAL = 7) + materials = list(DEFAULT_WALL_MATERIAL = 100, "glass" = 50, "silver" = 10) + build_path = /obj/item/weapon/stock_parts/scanning_module/triphasic + sort_string = "CAAED" /datum/design/item/stock_part/RPED name = "Rapid Part Exchange Device" From 2149473804e14618362c1396ee5b65a2596bf38d Mon Sep 17 00:00:00 2001 From: Razgriz Date: Sat, 13 Apr 2019 19:38:43 -0700 Subject: [PATCH 12/26] Stun baton: Taking the harm out of disarm Apparently poking someone with a stun baton on disarm intent counted as harm intent. Removing that. It's called a HARM baton, hot a DISARM baton. --- code/game/objects/items/weapons/stunbaton.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index 268a8d5ad7..da995d9cf0 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -166,7 +166,7 @@ var/mob/living/carbon/human/H = target affecting = H.get_organ(hit_zone) - if(user.a_intent == I_HURT || user.a_intent == I_DISARM) + if(user.a_intent == I_HURT) . = ..() //whacking someone causes a much poorer electrical contact than deliberately prodding them. agony *= 0.5 From 618462fb631a20d7e7e266eb08bebb0c0c5cd4da Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Sun, 14 Apr 2019 16:35:26 -0400 Subject: [PATCH 13/26] TF Fix Ports VoreStation fixes for TF --- code/modules/mob/living/carbon/human/human.dm | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 597fb2b94a..e1a120643f 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1117,7 +1117,8 @@ else usr << "You failed to check the pulse. Try again." -/mob/living/carbon/human/proc/set_species(var/new_species, var/default_colour, var/regen_icons = TRUE) +//TFF 14/4/19: Port VoreStation TF fix +/mob/living/carbon/human/proc/set_species(var/new_species, var/default_colour, var/regen_icons = TRUE, var/mob/living/carbon/human/example = null) //VOREStation Edit - send an example if(!dna) if(!new_species) @@ -1152,7 +1153,16 @@ if(species.default_language) add_language(species.default_language) - if(species.base_color) //VOREStation Edit - Always give them a basse color +//TFF 14/4/19: Port VoreStation TF fix + //if(species.icon_scale != 1) //VOREStation Removal + // update_transform() //VOREStation Removal + + if(example) //VOREStation Edit begin + if(!(example == src)) + r_skin = example.r_skin + g_skin = example.g_skin + b_skin = example.b_skin + else if(species.base_color) //VOREStation Edit end //Apply colour. r_skin = hex2num(copytext(species.base_color,2,4)) g_skin = hex2num(copytext(species.base_color,4,6)) @@ -1169,10 +1179,13 @@ gender = species.genders[1] //icon_state = lowertext(species.name) //Necessary? +//TFF 14/4/19: Port VoreStation TF fix + //VOREStation Edit start: swap places of those two procs + species.handle_post_spawn(src) + species.create_organs(src) - species.handle_post_spawn(src) maxHealth = species.total_health From ff8cba55fd2016942c7eeab3e4b35e45a3112990 Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Sun, 14 Apr 2019 16:37:49 -0400 Subject: [PATCH 14/26] TF Fixes Ports VoreStation fix of Transformation. --- .../modules/reagents/Chemistry-Reagents_vr.dm | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/code/modules/reagents/Chemistry-Reagents_vr.dm b/code/modules/reagents/Chemistry-Reagents_vr.dm index 59ad74b118..c0259fba08 100644 --- a/code/modules/reagents/Chemistry-Reagents_vr.dm +++ b/code/modules/reagents/Chemistry-Reagents_vr.dm @@ -9,16 +9,27 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.species.name != "Promethean") - M << "Your flesh rapidly mutates!" + //TFF 14/4/19: Port VoreStation TF fix + to_chat(M, "Your flesh rapidly mutates!") + + var/list/backup_implants = list() + for(var/obj/item/organ/I in H.organs) + for(var/obj/item/weapon/implant/backup/BI in I.contents) + backup_implants += BI + if(backup_implants.len) + for(var/obj/item/weapon/implant/backup/BI in backup_implants) + BI.forceMove(src) + H.set_species("Promethean") - H.verbs += /mob/living/carbon/human/proc/shapeshifter_select_shape - H.verbs += /mob/living/carbon/human/proc/shapeshifter_select_colour - H.verbs += /mob/living/carbon/human/proc/shapeshifter_select_hair - H.verbs += /mob/living/carbon/human/proc/shapeshifter_select_gender - H.verbs += /mob/living/carbon/human/proc/regenerate - H.verbs += /mob/living/proc/set_size H.shapeshifter_set_colour("#05FF9B") //They can still change their color. + //TFF 14/4/19: Port VoreStation TF fix + if(backup_implants.len) + var/obj/item/organ/external/torso = H.get_organ(BP_TORSO) + for(var/obj/item/weapon/implant/backup/BI in backup_implants) + BI.forceMove(torso) + torso.implants += BI + /datum/chemical_reaction/slime/sapphire_mutation name = "Slime Mutation Toxins" id = "slime_mutation_tox" @@ -59,14 +70,14 @@ strength = 10//Don't drink it mrate_static = TRUE -/datum/reagent/purplesap +/datum/reagent/purplesap name = "Purple sap" id = "purplesap" description = "Purple liquid. It is very sticky and smells of ammonia." color = "#7a48a0" taste_description = "Ammonia" -/datum/reagent/orangesap +/datum/reagent/orangesap name = "Orange sap" id = "orangesap" description = "Orange liquid. It wobbles around a bit like jelly." From f361501c9edb5118292366ec5b22fee919228ca2 Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Sun, 14 Apr 2019 16:39:43 -0400 Subject: [PATCH 15/26] Transformation Fixes Allows Prommies to TF without the old bugs/glitches and stuff. --- code/modules/vore/eating/bellymodes_tf_vr.dm | 8 +-- code/modules/vore/eating/transforming_vr.dm | 52 ++++++++++---------- 2 files changed, 31 insertions(+), 29 deletions(-) diff --git a/code/modules/vore/eating/bellymodes_tf_vr.dm b/code/modules/vore/eating/bellymodes_tf_vr.dm index 1f638f4f98..fa23e95fa5 100644 --- a/code/modules/vore/eating/bellymodes_tf_vr.dm +++ b/code/modules/vore/eating/bellymodes_tf_vr.dm @@ -97,7 +97,7 @@ change_ears(P) change_tail_nocolor(P) change_wing_nocolor(P) - change_species(P,1) + change_species(P,1,1) //TFF 14/4/19: Port VoreStation TF fix ///////////////////////////// DM_TRANSFORM_REPLICA ///////////////////////////// else if(mode == DM_TRANSFORM_REPLICA) @@ -122,7 +122,7 @@ change_ears(P) change_tail(P) change_wing(P) - change_species(P,1) + change_species(P,1,2) //TFF 14/4/19: Port VoreStation TF fix ///////////////////////////// DM_TRANSFORM_CHANGE_SPECIES_AND_TAUR_EGG ///////////////////////////// else if(mode == DM_TRANSFORM_CHANGE_SPECIES_AND_TAUR_EGG) @@ -134,7 +134,7 @@ change_ears(P) change_tail_nocolor(P) change_wing_nocolor(P) - change_species(P,1) + change_species(P,1,1) //TFF 14/4/19: Port VoreStation TF fix continue if(!P.absorbed) @@ -177,7 +177,7 @@ change_ears(P) change_tail(P) change_wing(P) - change_species(P,1) + change_species(P,1,2) //TFF 14/4/19: Port VoreStation TF fix continue if(!P.absorbed) diff --git a/code/modules/vore/eating/transforming_vr.dm b/code/modules/vore/eating/transforming_vr.dm index b978bf8963..a0398350fb 100644 --- a/code/modules/vore/eating/transforming_vr.dm +++ b/code/modules/vore/eating/transforming_vr.dm @@ -210,42 +210,44 @@ return 1 return 0 -/obj/belly/proc/change_species(var/mob/living/carbon/human/M, message=0) +//TFF: Port VoreStation TF fix +/obj/belly/proc/change_species(var/mob/living/carbon/human/M, message=0, color_action = 0) //color_action: 0 for default species, 1 to preserve, 2 to transfer from pred var/mob/living/carbon/human/O = owner if(!istype(M) || !istype(O)) return - if (M.species == "Promethean" && O.species != "Promethean") //If the person was a promethean before TF, remove all their verbs! - M.verbs -= /mob/living/carbon/human/proc/shapeshifter_select_shape - M.verbs -= /mob/living/carbon/human/proc/shapeshifter_select_colour - M.verbs -= /mob/living/carbon/human/proc/shapeshifter_select_hair - M.verbs -= /mob/living/carbon/human/proc/shapeshifter_select_gender - M.verbs -= /mob/living/carbon/human/proc/regenerate - M.verbs -= /mob/living/proc/set_size +//TFF: Port VoreStation TF fix + M.verbs -= M.species.inherent_verbs //Take away their unique stuff - M.species = O.species + var/list/backup_implants = list() + for(var/obj/item/organ/I in M.organs) + for(var/obj/item/weapon/implant/backup/BI in I.contents) + backup_implants += BI + if(backup_implants.len) + for(var/obj/item/weapon/implant/backup/BI in backup_implants) + BI.forceMove(src) + if(color_action == 1) + M.set_species(O.species.name,0,1,M) + else if(color_action == 2) + M.set_species(O.species.name,0,1,O) + else + M.set_species(O.species.name) M.custom_species = O.custom_species - M.species.create_organs(M) //This is the only way to make it so Unathi TF doesn't result in people dying from organ rejection. - for(var/obj/item/organ/I in M.organs) //This prevents organ rejection - I.species = O.species - for(var/obj/item/organ/I in M.internal_organs) //This prevents organ rejection - I.species = O.species - for(var/obj/item/organ/external/Z in M.organs)//Just in case. - Z.sync_colour_to_human(M) - M.fixblood() + +//TFF: Port VoreStation TF fix M.update_icons_body() M.update_tail_showing() + +//TFF: Port VoreStation TF fix. + if(backup_implants.len) + var/obj/item/organ/external/torso = M.get_organ(BP_TORSO) + for(var/obj/item/weapon/implant/backup/BI in backup_implants) + BI.forceMove(torso) + torso.implants += BI + if(message) to_chat(M, "You lose sensation of your body, feeling only the warmth of everything around you... ") to_chat(O, "Your body shifts as you make dramatic changes to your captive's body.") - if (M.species == "Promethean") //Did they get TF'd into a promethean? - M.verbs += /mob/living/carbon/human/proc/shapeshifter_select_shape - M.verbs += /mob/living/carbon/human/proc/shapeshifter_select_colour - M.verbs += /mob/living/carbon/human/proc/shapeshifter_select_hair - M.verbs += /mob/living/carbon/human/proc/shapeshifter_select_gender - M.verbs += /mob/living/carbon/human/proc/regenerate - M.verbs += /mob/living/proc/set_size - M.shapeshifter_select_shape() /obj/belly/proc/put_in_egg(var/atom/movable/M, message=0) var/mob/living/carbon/human/O = owner From ac02425496e3279811df5aea125ffb45dba798a1 Mon Sep 17 00:00:00 2001 From: TheFurryFeline <38586851+TheFurryFeline@users.noreply.github.com> Date: Sun, 14 Apr 2019 17:40:15 -0400 Subject: [PATCH 16/26] Wallet/Micro Fun For Roboticists! Allow use of micros/wallets for unlocking borgs. Ported from https://github.com/VOREStation/VOREStation/pull/4990 --- code/modules/mob/living/silicon/robot/robot.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index c58e9cb834..a34d92169d 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -616,7 +616,8 @@ else user << "Unable to locate a radio." - else if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)||istype(W, /obj/item/weapon/card/robot)) // trying to unlock the interface with an ID card +//TFF 14/4/19: Port VoreStation edit - Wallet/Micro usage to unlock borgs. + else if (W.GetID()) // trying to unlock the interface with an ID card if(emagged)//still allow them to open the cover user << "The interface seems slightly damaged" if(opened) @@ -698,7 +699,7 @@ return 1 return 0 -//TFF: Ports VoreStation edit for fixing PDA usage +//TFF 14/4/19: Port VoreStation edit - wallet/micro usage to unlock borgs /mob/living/silicon/robot/proc/check_access(obj/item/I) if(!istype(req_access, /list)) //something's very wrong return 1 @@ -706,7 +707,7 @@ var/list/L = req_access if(!L.len) //no requirements return 1 - if(!I || !(istype(I, /obj/item/weapon/card/id) || istype(I, /obj/item/device/pda))) //not ID or PDA + if(!I) //nothing to check with..? return 0 var/access_found = I.GetAccess() for(var/req in req_access) From c48e18effdc338cdcf7aedb66a41c0956af36e00 Mon Sep 17 00:00:00 2001 From: Jon Date: Sun, 14 Apr 2019 22:40:59 +0100 Subject: [PATCH 17/26] Fixes the shuttle door problems --- maps/northern_star/northern_star_areas.dm | 12 +++++++++++- maps/northern_star/polaris-1.dmm | 16 ++++++++-------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/maps/northern_star/northern_star_areas.dm b/maps/northern_star/northern_star_areas.dm index 3e79fe7c9e..8eebffe636 100644 --- a/maps/northern_star/northern_star_areas.dm +++ b/maps/northern_star/northern_star_areas.dm @@ -19,4 +19,14 @@ name = "\improper Mime Office" /area/Clown - name = "\improper Clown Room" \ No newline at end of file + name = "\improper Clown Room" + + +// Adding this here so that arrival shuttle doors don't get STUCK - Jon +// +// DOOR STUCK +// + +/area/hallway/secondary/entry/D2/shuttleDoors + name = "\improper Arrival Shuttle Dock doors" + requires_power = 0 diff --git a/maps/northern_star/polaris-1.dmm b/maps/northern_star/polaris-1.dmm index bddcbe94b4..93b7c6a96b 100644 --- a/maps/northern_star/polaris-1.dmm +++ b/maps/northern_star/polaris-1.dmm @@ -9051,10 +9051,10 @@ "dsc" = (/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_snorth_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) "dsd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) "dse" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "arrivals_dock_north_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dsf" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_north_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dsg" = (/obj/machinery/light/small,/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "arrivals_dock_north_airlock"; master_tag = "arrivals_dock"; pixel_y = 30; req_one_access = list(13); tag_airlock_mech_sensor = "arrivals_dock_north_mech"; tag_airpump = "arrivals_dock_north_pump"; tag_chamber_sensor = "arrivals_dock_north_sensor"; tag_exterior_door = "arrivals_dock_north_outer"; tag_interior_door = "arrivals_dock_north_inner"; tag_shuttle_mech_sensor = "shuttle_dock_north_mech"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dsh" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "arrivals_dock_north_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "arrivals_dock_north_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dsi" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_north_outer"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "arrivals_dock_north_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = -26; req_one_access = list(13)},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "arrival_dock_north_mech"; pixel_y = -19},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dsf" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_north_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2/shuttleDoors) +"dsg" = (/obj/machinery/light/small,/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "arrivals_dock_north_airlock"; master_tag = "arrivals_dock"; pixel_y = 30; req_one_access = list(13); tag_airlock_mech_sensor = "arrivals_dock_north_mech"; tag_airpump = "arrivals_dock_north_pump"; tag_chamber_sensor = "arrivals_dock_north_sensor"; tag_exterior_door = "arrivals_dock_north_outer"; tag_interior_door = "arrivals_dock_north_inner"; tag_shuttle_mech_sensor = "shuttle_dock_north_mech"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2/shuttleDoors) +"dsh" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "arrivals_dock_north_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "arrivals_dock_north_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2/shuttleDoors) +"dsi" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_north_outer"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "arrivals_dock_north_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = -26; req_one_access = list(13)},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "arrival_dock_north_mech"; pixel_y = -19},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2/shuttleDoors) "dsj" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; locked = 1; name = "Arrival Airlock"},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) "dsk" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) "dsl" = (/obj/machinery/light/small,/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) @@ -9369,10 +9369,10 @@ "dyi" = (/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_starboard_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) "dyj" = (/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_ssouth_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) "dyk" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "arrivals_dock_south_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dyl" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_south_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dym" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "arrivals_dock_south_airlock"; master_tag = "arrivals_dock"; pixel_y = -30; req_one_access = list(13); tag_airlock_mech_sensor = "arrivals_dock_south_mech"; tag_airpump = "arrivals_dock_south_pump"; tag_chamber_sensor = "arrivals_dock_south_sensor"; tag_exterior_door = "arrivals_dock_south_outer"; tag_interior_door = "arrivals_dock_south_inner"; tag_shuttle_mech_sensor = "shuttle_dock_south_mech"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dyn" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "arrivals_dock_south_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "arrivals_dock_south_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dyo" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_south_outer"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "arrivals_dock_south_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = 26; req_one_access = list(13)},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "arrivals_dock_south_mech"; pixel_y = 19},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dyl" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_south_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2/shuttleDoors) +"dym" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "arrivals_dock_south_airlock"; master_tag = "arrivals_dock"; pixel_y = -30; req_one_access = list(13); tag_airlock_mech_sensor = "arrivals_dock_south_mech"; tag_airpump = "arrivals_dock_south_pump"; tag_chamber_sensor = "arrivals_dock_south_sensor"; tag_exterior_door = "arrivals_dock_south_outer"; tag_interior_door = "arrivals_dock_south_inner"; tag_shuttle_mech_sensor = "shuttle_dock_south_mech"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2/shuttleDoors) +"dyn" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "arrivals_dock_south_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "arrivals_dock_south_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2/shuttleDoors) +"dyo" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_south_outer"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "arrivals_dock_south_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = 26; req_one_access = list(13)},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "arrivals_dock_south_mech"; pixel_y = 19},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2/shuttleDoors) "dyp" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{icon_state = "door_locked"; locked = 1; name = "Arrival Airlock"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) "dyq" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) "dyr" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/item/tape/engineering,/obj/machinery/door/airlock/glass_external{icon_state = "door_locked"; locked = 1; name = "Arrival Airlock"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) From e4233a0dc4e61a9922b515108c6211cd93985b46 Mon Sep 17 00:00:00 2001 From: Jon Date: Sun, 14 Apr 2019 23:09:54 +0100 Subject: [PATCH 18/26] Exempts arrivals airlock --- code/unit_tests/map_tests.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/unit_tests/map_tests.dm b/code/unit_tests/map_tests.dm index 5950743cf6..5b7abf5aea 100644 --- a/code/unit_tests/map_tests.dm +++ b/code/unit_tests/map_tests.dm @@ -14,7 +14,9 @@ /area/mine, /area/vacant/vacant_shop, /area/turbolift, - /area/submap ) + /area/submap, + /area/hallway/secondary/entry/D2/shuttleDoors + ) var/list/exempt_from_atmos = typesof(/area/maintenance, /area/storage, From 4fa8e7bb2d28a571782871e9e58503e1e6f6ffd1 Mon Sep 17 00:00:00 2001 From: Jon Date: Sun, 14 Apr 2019 23:10:27 +0100 Subject: [PATCH 19/26] Allows you to adjust the sounds of bikehorns --- code/defines/obj/weapon.dm | 1 + code/game/objects/items/weapons/clown_items.dm | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 67ee71ecd8..83783abb02 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -65,6 +65,7 @@ throw_range = 15 attack_verb = list("HONKED") var/spam_flag = 0 + var/honkSound = 'sound/items/bikehorn.ogg' //Chompstation ADD: Adding an adjustable variable for bikehorns >:D - Jon /obj/item/weapon/c_tube diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm index 6da1b23deb..933c82f076 100644 --- a/code/game/objects/items/weapons/clown_items.dm +++ b/code/game/objects/items/weapons/clown_items.dm @@ -70,7 +70,7 @@ /obj/item/weapon/bikehorn/attack_self(mob/user as mob) if (spam_flag == 0) spam_flag = 1 - playsound(src.loc, 'sound/items/bikehorn.ogg', 50, 1) + playsound(src.loc, honkSound, 50, 1) src.add_fingerprint(user) spawn(20) spam_flag = 0 From 4f7995cfc6e0060557cc8ae57f205eb70c0c86a1 Mon Sep 17 00:00:00 2001 From: Jon Date: Sun, 14 Apr 2019 23:10:54 +0100 Subject: [PATCH 20/26] Tweaking Stools to unbuckle --- .../structures/stool_bed_chair_nest/stools.dm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm index 7263cc4c69..5b01ba6139 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm @@ -106,6 +106,10 @@ var/global/list/stool_cache = list() //haha stool material.place_sheet(get_turf(src)) if(padding_material) padding_material.place_sheet(get_turf(src)) + // Adding a safety net to prevent players from being perma-buckled to the stool..! - Jon + if(has_buckled_mobs()) + for(var/A in buckled_mobs) + user_unbuckle_mob(A, src) qdel(src) /obj/item/weapon/stool/attackby(obj/item/weapon/W as obj, mob/user as mob) @@ -148,3 +152,11 @@ var/global/list/stool_cache = list() //haha stool remove_padding() else ..() + +// Chompstation ADD: A new proc to allow mobs to be unbuckled when clicking on a stool. +/obj/item/weapon/stool/attack_hand(mob/living/user as mob) + if(has_buckled_mobs()) + for(var/A in buckled_mobs) + user_unbuckle_mob(A, user) + return + ..() \ No newline at end of file From 738ab0d1e878286567548e2c60537bd4fff95155 Mon Sep 17 00:00:00 2001 From: Jon Date: Sun, 14 Apr 2019 23:11:08 +0100 Subject: [PATCH 21/26] Fixes dragon's stupid warnings --- code/game/machinery/buttons.dm | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index dbbb442bba..1e9cf1efff 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -46,12 +46,12 @@ icon_state = "mobcap0" matter = list(DEFAULT_WALL_MATERIAL = 1000) - + throwforce = 00 throw_speed = 4 throw_range = 20 force = 0 - + var/colorindex = 0 var/mob/living/capsuleowner = null //taken from Capsule Code var/sizetouse = 0.25 @@ -66,7 +66,7 @@ sleep(10) capsuleowner.resize(sizetouse) sizetouse = rand(25,200)/100 //randmization occurs after press - + /obj/item/device/buttonofnormal/throw_impact(atom/A, speed, mob/user) ..() if(isliving(A)) @@ -75,8 +75,8 @@ sleep(5) var/mob/living/capsulehit = A capsulehit.resize(sizetouse) - sizetouse = rand(25,200)/100 //randmization occurs after press - + sizetouse = rand(25,200)/100 //randmization occurs after press + /obj/item/device/buttonofnormal/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/weapon/pen)) colorindex += 1 @@ -88,12 +88,14 @@ /obj/item/device/buttonofnormal/proc/nonrandom() //Secret ball randmoizer rig code if(colorindex==1) - sizetouse = RESIZE_HUGE + sizetouse = RESIZE_HUGE if(colorindex==2) - sizetouse = RESIZE_BIG + sizetouse = RESIZE_BIG if(colorindex==3) - sizetouse = RESIZE_NORMAL + sizetouse = RESIZE_NORMAL if(colorindex==4) - sizetouse = RESIZE_SMALL + sizetouse = RESIZE_SMALL if(colorindex==5) - sizetouse = RESIZE_TINY + sizetouse = RESIZE_TINY + + From 7badf426042b1465cece43d3b7dc8051fb464009 Mon Sep 17 00:00:00 2001 From: Jon Date: Sun, 14 Apr 2019 23:18:09 +0100 Subject: [PATCH 22/26] "DOOR STUCK" fix --- code/game/area/Space Station 13 areas.dm | 7 +++++++ maps/northern_star/northern_star_areas.dm | 10 ---------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 251f82d00b..4103bcd500 100755 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -1007,6 +1007,13 @@ area/space/atmosalert() icon_state = "entry_D2" base_turf = /turf/space +// Adding this here so that arrival shuttle doors don't get STUCK - Jon +// +// DOOR STUCK +/area/hallway/secondary/entry/D2/shuttleDoors + name = "\improper Arrival Shuttle Dock doors" + requires_power = 0 + /area/hallway/secondary/entry/D3 name = "\improper Shuttle Dock Hallway - Dock Three" icon_state = "entry_D3" diff --git a/maps/northern_star/northern_star_areas.dm b/maps/northern_star/northern_star_areas.dm index 8eebffe636..bd64a2db61 100644 --- a/maps/northern_star/northern_star_areas.dm +++ b/maps/northern_star/northern_star_areas.dm @@ -20,13 +20,3 @@ /area/Clown name = "\improper Clown Room" - - -// Adding this here so that arrival shuttle doors don't get STUCK - Jon -// -// DOOR STUCK -// - -/area/hallway/secondary/entry/D2/shuttleDoors - name = "\improper Arrival Shuttle Dock doors" - requires_power = 0 From 47c7547e613732b94d584b418a24af62314e420b Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 15 Apr 2019 20:53:33 +0100 Subject: [PATCH 23/26] Nose booping. --- code/modules/mob/living/carbon/human/species/species.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index b1557f3a28..52b91830bb 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -340,6 +340,10 @@ H.visible_message( \ "[H] shakes [target]'s hand.", \ "You shake [target]'s hand.", ) + else if(H.zone_sel.selecting == "mouth") // I ADDED BOOP-EH-DEH-NOSEH - Jon + H.visible_message( \ + "[H] boops [target]'s nose.", \ + "You boop [target] on the nose.", ) else H.visible_message("[H] hugs [target] to make [t_him] feel better!", \ "You hug [target] to make [t_him] feel better!") //End VOREStation Edit From 5430d856134441c4ecc1ece61f4df15bf9497c80 Mon Sep 17 00:00:00 2001 From: Mack <39393053+MrMacint0sh@users.noreply.github.com> Date: Mon, 15 Apr 2019 20:48:26 -0400 Subject: [PATCH 24/26] Levels Nerf --- code/modules/research/designs.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 36e9fc16a0..b0f78d7ce3 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -115,7 +115,7 @@ other types of metals and chemistry for reagents). /datum/design/item/stock_part/quadratic_capacitor id = "quadratic_capacitor" - req_tech = list(TECH_POWER = 7, TECH_MATERIAL = 6) + req_tech = list(TECH_POWER = 10, TECH_MATERIAL = 9) materials = list(DEFAULT_WALL_MATERIAL = 100, "glass" = 100, "gold" = 20) build_path = /obj/item/weapon/stock_parts/capacitor/quadratic sort_string = "CAAAD" @@ -143,7 +143,7 @@ other types of metals and chemistry for reagents). /datum/design/item/stock_part/femto_mani id = "femto_mani" - req_tech = list(TECH_MATERIAL = 7, TECH_DATA = 4) + req_tech = list(TECH_MATERIAL = 10, TECH_DATA = 9) materials = list(DEFAULT_WALL_MATERIAL = 30, "diamond" = 50) build_path = /obj/item/weapon/stock_parts/manipulator/femto sort_string = "CAABD" @@ -171,7 +171,7 @@ other types of metals and chemistry for reagents). /datum/design/item/stock_part/bluespace_matter_bin id = "bluespace_matter_bin" - req_tech = list(TECH_MATERIAL = 6, TECH_BLUESPACE = 5) + req_tech = list(TECH_MATERIAL = 10, TECH_BLUESPACE = 9) materials = list(DEFAULT_WALL_MATERIAL = 80,"phoron" = 30) build_path = /obj/item/weapon/stock_parts/matter_bin/bluespace sort_string = "CAACD" @@ -199,7 +199,7 @@ other types of metals and chemistry for reagents). /datum/design/item/stock_part/quad_ultra_micro_laser id = "quadultra_micro_laser" - req_tech = list(TECH_MAGNET = 8, TECH_MATERIAL = 7) + req_tech = list(TECH_MAGNET = 10, TECH_MATERIAL = 9) materials = list(DEFAULT_WALL_MATERIAL = 20, "glass" = 40, "uranium" = 30) build_path = /obj/item/weapon/stock_parts/micro_laser/quad sort_string = "CAADD" @@ -227,7 +227,7 @@ other types of metals and chemistry for reagents). /datum/design/item/stock_part/triphasic_sensor id = "triphasic_sensor" - req_tech = list(TECH_MAGNET = 8, TECH_MATERIAL = 7) + req_tech = list(TECH_MAGNET = 10, TECH_MATERIAL = 9) materials = list(DEFAULT_WALL_MATERIAL = 100, "glass" = 50, "silver" = 10) build_path = /obj/item/weapon/stock_parts/scanning_module/triphasic sort_string = "CAAED" From d2c80d0f8b3949d5db50c777b7228db52c683517 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 17 Apr 2019 22:40:23 +0100 Subject: [PATCH 25/26] Egg --- code/modules/admin/secrets/fun_secrets/break_all_lights.dm | 1 + code/modules/mob/mob_movement.dm | 6 ++++++ vorestation.dme | 1 + 3 files changed, 8 insertions(+) diff --git a/code/modules/admin/secrets/fun_secrets/break_all_lights.dm b/code/modules/admin/secrets/fun_secrets/break_all_lights.dm index ea54952a7e..b9671705a3 100644 --- a/code/modules/admin/secrets/fun_secrets/break_all_lights.dm +++ b/code/modules/admin/secrets/fun_secrets/break_all_lights.dm @@ -1,3 +1,4 @@ + /datum/admin_secret_item/fun_secret/break_all_lights name = "Break All Lights" diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 2c82a53c32..2cf73080f4 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -323,6 +323,12 @@ move_delay += 2 return mob.buckled.relaymove(mob,direct) + if(waddleToggle) + if(!mob.buckled) + animate(mob, pixel_z = 4, time = 0) + animate(pixel_z = 0, transform = turn(matrix(), pick(-12, 0, 12)), time=2) + animate(pixel_z = 0, transform = matrix(), time = 0) + //We are now going to move moving = 1 //Something with pulling things diff --git a/vorestation.dme b/vorestation.dme index da00d0c34c..7ed00d1b51 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1357,6 +1357,7 @@ #include "code\modules\admin\secrets\fun_secrets\triple_ai_mode.dm" #include "code\modules\admin\secrets\fun_secrets\turn_humans_into_corgies.dm" #include "code\modules\admin\secrets\fun_secrets\turn_humans_into_monkeys.dm" +#include "code\modules\admin\secrets\fun_secrets\waddle_mode.dm" #include "code\modules\admin\secrets\random_events\gravity.dm" #include "code\modules\admin\secrets\random_events\trigger_cordical_borer_infestation.dm" #include "code\modules\admin\secrets\random_events\trigger_xenomorph_infestation.dm" From 0017c41f6927bcaa99da8f3868a53466a503ccf6 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 17 Apr 2019 23:46:49 +0100 Subject: [PATCH 26/26] egg 2 --- .../admin/secrets/fun_secrets/waddle_mode.dm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 code/modules/admin/secrets/fun_secrets/waddle_mode.dm diff --git a/code/modules/admin/secrets/fun_secrets/waddle_mode.dm b/code/modules/admin/secrets/fun_secrets/waddle_mode.dm new file mode 100644 index 0000000000..20346f88a0 --- /dev/null +++ b/code/modules/admin/secrets/fun_secrets/waddle_mode.dm @@ -0,0 +1,14 @@ +var/global/waddleToggle = 0 + +/datum/admin_secret_item/fun_secret/waddle_mode + name = "South Park Mode" + +/datum/admin_secret_item/fun_secret/waddle_mode/execute(var/mob/user) + ..() + if(!waddleToggle) + log_and_message_admins("[user] enabled waddling!", user) + waddleToggle = TRUE + else + log_and_message_admins("[user] disabled waddling!", user) + waddleToggle = FALSE +