diff --git a/code/game/objects/items/storage/misc.dm b/code/game/objects/items/storage/misc.dm index 2512eb99043..9ead1113f33 100644 --- a/code/game/objects/items/storage/misc.dm +++ b/code/game/objects/items/storage/misc.dm @@ -91,6 +91,9 @@ ) starts_with = list(/obj/item/pen/crayon/chalk, /obj/item/reagent_containers/pill/nutriment, /obj/item/gps/survival) +/obj/item/storage/box/survival_knife/attack_self(mob/user) + return + /obj/item/storage/box/papersack name = "paper sack" desc = "A sack neatly crafted out of paper." diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm index 3ca43f4c30d..a95731c3213 100644 --- a/code/game/objects/items/weapons/swords_axes_etc.dm +++ b/code/game/objects/items/weapons/swords_axes_etc.dm @@ -46,6 +46,7 @@ desc = "A compact yet rebalanced personal defense weapon. Can be concealed when folded." icon = 'icons/obj/weapons.dmi' icon_state = "telebaton" + item_state = "telebaton" slot_flags = SLOT_BELT w_class = ITEMSIZE_SMALL damage_force = 3 diff --git a/code/modules/donatorreskins/donatoruniform.dm b/code/modules/donatorreskins/donatoruniform.dm index 26dde512c16..714b4b2319e 100644 --- a/code/modules/donatorreskins/donatoruniform.dm +++ b/code/modules/donatorreskins/donatoruniform.dm @@ -1,8 +1,13 @@ /obj/item/clothing/under/donator/chayse name = "Navy Junior Officer's uniform" desc = "It's a long sleeved Nanotrasen Navy uniform, worn by junior officers." + icon = 'icons/clothing/donator/uniform/chayse.dmi' icon_state = "Chayse_blue" - item_state = "Chayse_blue" + worn_render_flags = WORN_RENDER_SLOT_ONE_FOR_ALL + //worn_rolled_down = TRUE + worn_rolldown_state = "Chayse_blue_d" + //worn_rolled_sleeves = TRUE + worn_rollsleeve_state = "Chayse_blue_r" /obj/item/clothing/under/donator/crystalnole name = "keyhole sweater" diff --git a/code/modules/jobs/job_types/station/engineering/station_engineer.dm b/code/modules/jobs/job_types/station/engineering/station_engineer.dm index f1097840ce7..0d4cf9dbdad 100644 --- a/code/modules/jobs/job_types/station/engineering/station_engineer.dm +++ b/code/modules/jobs/job_types/station/engineering/station_engineer.dm @@ -1,6 +1,6 @@ /datum/role/job/station/engineer id = JOB_ID_STATION_ENGINEER - title = "Engineer" + title = "Station Engineer" flag = ENGINEER departments = list(DEPARTMENT_ENGINEERING) department_flag = ENGSEC @@ -38,7 +38,7 @@ minimal_player_age = 3 outfit_type = /datum/outfit/job/station/station_engineer - desc = "An Engineer keeps the facility running. They repair damages, keep the atmosphere stable, and ensure that power is being \ + desc = "A Station Engineer keeps the facility running. They repair damages, keep the atmosphere stable, and ensure that power is being \ generated and distributed. On quiet shifts, they may be called upon to make cosmetic alterations to the facility." /datum/prototype/struct/alt_title/maint_tech title = "Maintenance Technician" diff --git a/code/modules/loadout/loadout_role_restricted.dm b/code/modules/loadout/loadout_role_restricted.dm index fcd274805ef..b2b164feb42 100644 --- a/code/modules/loadout/loadout_role_restricted.dm +++ b/code/modules/loadout/loadout_role_restricted.dm @@ -89,7 +89,7 @@ //Command /datum/loadout_entry/restricted/command subcategory = "Command" - allowed_roles = list("Facility Director", "Head of Personnel", "Chief Medical Officer", "Head of Security", "Research Director", "Chief Engineer", "Command Secretary", "Blueshield") + allowed_roles = list("Facility Director", "Head of Personnel", "Chief Medical Officer", "Head of Security", "Research Director", "Chief Engineer", "Bridge Officer", "Blueshield") /datum/loadout_entry/restricted/command/eyes slot = SLOT_ID_GLASSES diff --git a/code/modules/mining/ore_redemption_machine/equipment_vendor.dm b/code/modules/mining/ore_redemption_machine/equipment_vendor.dm index 1c0778736ca..9bbc246f5dc 100644 --- a/code/modules/mining/ore_redemption_machine/equipment_vendor.dm +++ b/code/modules/mining/ore_redemption_machine/equipment_vendor.dm @@ -65,14 +65,13 @@ new /datum/data/mining_equipment("Super Resonator", /obj/item/resonator/upgraded, 2500), new /datum/data/mining_equipment("Jump Boots", /obj/item/clothing/shoes/bhop, 2500), new /datum/data/mining_equipment("Luxury Shelter Capsule", /obj/item/survivalcapsule/luxury, 3100), - new /datum/data/mining_equipment("KA White Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer, 125), - new /datum/data/mining_equipment("KA Adjustable Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer/adjustable, 175), - new /datum/data/mining_equipment("KA Super Chassis", /obj/item/borg/upgrade/modkit/chassis_mod, 250), - new /datum/data/mining_equipment("KA Hyper Chassis", /obj/item/borg/upgrade/modkit/chassis_mod/orange, 300), - new /datum/data/mining_equipment("KA Range Increase", /obj/item/borg/upgrade/modkit/range, 1000), - new /datum/data/mining_equipment("KA Damage Increase", /obj/item/borg/upgrade/modkit/damage, 1000), - new /datum/data/mining_equipment("KA Cooldown Decrease", /obj/item/borg/upgrade/modkit/cooldown, 1200), - new /datum/data/mining_equipment("KA AoE Damage", /obj/item/borg/upgrade/modkit/aoe/mobs, 2000), + new /datum/data/mining_equipment("KA White Tracer Rounds", /obj/item/ka_modkit/tracer, 125), + new /datum/data/mining_equipment("KA Adjustable Tracer Rounds", /obj/item/ka_modkit/tracer/adjustable, 175), + new /datum/data/mining_equipment("KA Super Chassis", /obj/item/ka_modkit/chassis_mod, 250), + new /datum/data/mining_equipment("KA Hyper Chassis", /obj/item/ka_modkit/chassis_mod/orange, 300), + new /datum/data/mining_equipment("KA Range Increase", /obj/item/ka_modkit/range, 1000), + new /datum/data/mining_equipment("KA Damage Increase", /obj/item/ka_modkit/damage, 1000), + new /datum/data/mining_equipment("KA Cooldown Decrease", /obj/item/ka_modkit/cooldown, 1200), new /datum/data/mining_equipment("KA Holster", /obj/item/clothing/accessory/holster/waist/kinetic_accelerator, 350), new /datum/data/mining_equipment("Fine Excavation Kit - Chisels",/obj/item/storage/excavation, 500), new /datum/data/mining_equipment("Fine Excavation Kit - Measuring Tape",/obj/item/measuring_tape, 125), diff --git a/code/modules/mob/living/silicon/emote.dm b/code/modules/mob/living/silicon/emote.dm index 6fc95585ebe..02ea58741c8 100644 --- a/code/modules/mob/living/silicon/emote.dm +++ b/code/modules/mob/living/silicon/emote.dm @@ -243,6 +243,66 @@ playsound(src.loc, 'sound/machines/gonk.ogg', 50, 0) m_type = 1 + if("nya") + var/mob/living/silicon/robot/R = src + if (istype(R) && R.module.is_cat()) + message = "lets out a nya." + + playsound(loc, 'sound/voice/nya.ogg', 50, 1, -1) + m_type = 2 + else + to_chat(src, "You're not a cat!") + + if("mrrp") + var/mob/living/silicon/robot/R = src + if (istype(R) && R.module.is_cat()) + message = "mrrps." + + playsound(loc, 'sound/voice/mrrp.ogg', 50, 1, -1) + m_type = 2 + else + to_chat(src, "You're not a cat!") + + if("prbt") + var/mob/living/silicon/robot/R = src + if (istype(R) && R.module.is_cat()) + message = "prbts." + + playsound(loc, 'sound/misc/prbt.ogg', 50, 1, -1) + m_type = 2 + else + to_chat(src, "You're not a cat!") + + if("meow", "meows") + var/mob/living/silicon/robot/R = src + if (istype(R) && R.module.is_cat()) + message = "prbts." + + playsound(loc, 'sound/voice/meow1.ogg', 50, 1, -1) + m_type = 2 + else + to_chat(src, "You're not a cat!") + + if("hiss") + var/mob/living/silicon/robot/R = src + if (istype(R) && R.module.is_cat()) + message = "lets out a hiss." + + playsound(loc, 'sound/voice/hiss.ogg', 50, 1, -1) + m_type = 2 + else + to_chat(src, "You're not a cat!") + + if("purr") + var/mob/living/silicon/robot/R = src + if (istype(R) && R.module.is_cat()) + message = "purrs softly." + + playsound(loc, 'sound/voice/purr.ogg', 50, 1, -1) + m_type = 2 + else + to_chat(src, "You're not a cat!") + if ("help") to_chat(src, "salute, bow-(none)/mob, clap, flap, aflap, twitch, twitch_s, nod, deathgasp, glare-(none)/mob, stare-(none)/mob, look, beep, ping, \nbuzz, law, halt, yes, no") else diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 740c7c9122a..1fd799bac8d 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -755,6 +755,18 @@ else to_chat(usr, "Upgrade error!") + else if(istype(W, /obj/item/ka_modkit/)) + var/obj/item/ka_modkit/M = W + if(!opened) + to_chat(usr, "You must access the borgs internals!") + else if(!src.module && M.require_module) + to_chat(usr, "The borg must choose a module before it can be upgraded!") + else + if(M.install(src)) + user.transfer_item_to_loc(M, src, INV_OP_FORCE) + to_chat(usr, "You apply the modkit to [src]!") + else + to_chat(usr, "Upgrade error!") else if( !(istype(W, /obj/item/robotanalyzer) || istype(W, /obj/item/healthanalyzer)) ) diff --git a/code/modules/mob/living/silicon/robot/robot_modules/station.dm b/code/modules/mob/living/silicon/robot/robot_modules/station.dm index e0bcc284396..cae28822824 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/station.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/station.dm @@ -221,6 +221,9 @@ GLOBAL_LIST_INIT(robot_modules, list( /obj/item/robot_module/proc/is_dog() return FALSE +/obj/item/robot_module/proc/is_cat() + return FALSE + /obj/item/robot_module/robot/get_modules() . = ..() // Common items that all modules have. @@ -293,6 +296,12 @@ GLOBAL_LIST_INIT(robot_modules, list( // This is the only non-canid dogborg type right now. return R.icontype != "F3-LINE" +/obj/item/robot_module/robot/quad/is_cat() + var/mob/living/silicon/robot/R = loc + ASSERT(istype(R)) + // This is the only non-canid dogborg type right now. + return R.icontype == "F3-LINE" + // Custom sprite stuff. There's a dedicated system for this, not sure why this is done separately. /obj/item/robot_module/robot/quad/engi/handle_custom_item(mob/living/silicon/robot/R) diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 669cbbf30bb..9f0a4594449 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -74,13 +74,13 @@ if(max_mod_capacity) . += "[get_remaining_mod_capacity()]% mod capacity remaining." for(var/A in get_modkits()) - var/obj/item/borg/upgrade/modkit/M = A + var/obj/item/ka_modkit/M = A . += "There is \a [M] installed, using [M.cost]% capacity." /obj/item/gun/energy/kinetic_accelerator/Exited(atom/movable/AM) . = ..() - if((AM in modkits) && istype(AM, /obj/item/borg/upgrade/modkit)) - var/obj/item/borg/upgrade/modkit/M = AM + if((AM in modkits) && istype(AM, /obj/item/ka_modkit)) + var/obj/item/ka_modkit/M = AM M.uninstall(src, FALSE) /obj/item/gun/energy/kinetic_accelerator/attackby(obj/item/I, mob/user) @@ -88,12 +88,12 @@ if(modkits.len) to_chat(user, "You pry the modifications out.") playsound(loc, I.tool_sound, 100, 1) - for(var/obj/item/borg/upgrade/modkit/M in modkits) + for(var/obj/item/ka_modkit/M in modkits) M.uninstall(src) else to_chat(user, "There are no modifications currently installed.") - if(istype(I, /obj/item/borg/upgrade/modkit)) - var/obj/item/borg/upgrade/modkit/MK = I + if(istype(I, /obj/item/ka_modkit)) + var/obj/item/ka_modkit/MK = I MK.install(src, user) else ..() @@ -101,7 +101,7 @@ /obj/item/gun/energy/kinetic_accelerator/proc/get_remaining_mod_capacity() var/current_capacity_used = 0 for(var/A in get_modkits()) - var/obj/item/borg/upgrade/modkit/M = A + var/obj/item/ka_modkit/M = A current_capacity_used += M.cost return max_mod_capacity - current_capacity_used @@ -113,7 +113,7 @@ /obj/item/gun/energy/kinetic_accelerator/proc/modify_projectile(obj/projectile/kinetic/K) K.kinetic_gun = src //do something special on-hit, easy! for(var/A in get_modkits()) - var/obj/item/borg/upgrade/modkit/M = A + var/obj/item/ka_modkit/M = A M.modify_projectile(K) /obj/item/gun/energy/kinetic_accelerator/cyborg @@ -121,7 +121,7 @@ unique_frequency = TRUE /obj/item/gun/energy/kinetic_accelerator/cyborg/Destroy() - for(var/obj/item/borg/upgrade/modkit/M in modkits) + for(var/obj/item/ka_modkit/M in modkits) M.uninstall(src) return ..() @@ -130,7 +130,7 @@ unique_frequency = TRUE /obj/item/gun/energy/kinetic_accelerator/premiumka/cyborg/Destroy() - for(var/obj/item/borg/upgrade/modkit/M in modkits) + for(var/obj/item/ka_modkit/M in modkits) M.uninstall(src) return ..() @@ -226,7 +226,7 @@ /obj/projectile/kinetic/Bump(atom/target) if(kinetic_gun) var/list/mods = kinetic_gun.get_modkits() - for(var/obj/item/borg/upgrade/modkit/M in mods) + for(var/obj/item/ka_modkit/M in mods) M.projectile_prehit(src, target, kinetic_gun) if(!pressure_decrease_active && !lavaland_environment_check(get_turf(src))) name = "weakened [name]" @@ -259,9 +259,9 @@ target_turf = get_turf(src) if(kinetic_gun) //hopefully whoever shot this was not very, very unfortunate. var/list/mods = kinetic_gun.get_modkits() - for(var/obj/item/borg/upgrade/modkit/M in mods) + for(var/obj/item/ka_modkit/M in mods) M.projectile_strike_predamage(src, target_turf, target, kinetic_gun) - for(var/obj/item/borg/upgrade/modkit/M in mods) + for(var/obj/item/ka_modkit/M in mods) M.projectile_strike(src, target_turf, target, kinetic_gun) if(ismineralturf(target_turf)) var/turf/simulated/mineral/M = target_turf @@ -271,13 +271,13 @@ //Modkits -/obj/item/borg/upgrade/modkit +/obj/item/ka_modkit name = "kinetic accelerator modification kit" desc = "An upgrade for kinetic accelerators." icon = 'icons/obj/objects.dmi' icon_state = "modkit" w_class = WEIGHT_CLASS_SMALL - require_module = 1 + var/require_module = 1 // module_type = list(/obj/item/robot_module/miner) var/denied_type = null var/maximum_of_type = 1 @@ -286,25 +286,25 @@ var/minebot_upgrade = TRUE var/minebot_exclusive = FALSE -/obj/item/borg/upgrade/modkit/examine(mob/user, dist) +/obj/item/ka_modkit/examine(mob/user, dist) . = ..() . += "Occupies [cost]% of mod capacity." -/obj/item/borg/upgrade/modkit/attackby(obj/item/A, mob/user) +/obj/item/ka_modkit/attackby(obj/item/A, mob/user) if(istype(A, /obj/item/gun/energy/kinetic_accelerator)) install(A, user) else ..() /* -/obj/item/borg/upgrade/modkit/afterInstall(mob/living/silicon/robot/R) +/obj/item/ka_modkit/afterInstall(mob/living/silicon/robot/R) for(var/obj/item/gun/energy/kinetic_accelerator/H in R.module.modules) if(install(H, R)) //It worked return to_chat(R, "Upgrade error - Aborting Kinetic Accelerator linking.") //No applicable KA found, insufficient capacity, or some other problem. */ -/obj/item/borg/upgrade/modkit/proc/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) +/obj/item/ka_modkit/proc/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) . = TRUE if(src in KA.modkits) // Sanity check to prevent installing the same modkit twice thanks to occasional click/lag delays. return FALSE @@ -318,7 +318,7 @@ if(denied_type) var/number_of_denied = 0 for(var/A in KA.get_modkits()) - var/obj/item/borg/upgrade/modkit/M = A + var/obj/item/ka_modkit/M = A if(istype(M, denied_type)) number_of_denied++ if(number_of_denied >= maximum_of_type) @@ -340,50 +340,50 @@ to_chat(user, "You don't have room([KA.get_remaining_mod_capacity()]% remaining, [cost]% needed) to install this modkit. Use a crowbar to remove existing modkits.") . = FALSE -/obj/item/borg/upgrade/modkit/proc/uninstall(obj/item/gun/energy/kinetic_accelerator/KA, forcemove = TRUE) +/obj/item/ka_modkit/proc/uninstall(obj/item/gun/energy/kinetic_accelerator/KA, forcemove = TRUE) KA.modkits -= src if(forcemove) forceMove(get_turf(KA)) -/obj/item/borg/upgrade/modkit/proc/modify_projectile(obj/projectile/kinetic/K) +/obj/item/ka_modkit/proc/modify_projectile(obj/projectile/kinetic/K) //use this one for effects you want to trigger before any damage is done at all and before damage is decreased by pressure -/obj/item/borg/upgrade/modkit/proc/projectile_prehit(obj/projectile/kinetic/K, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) +/obj/item/ka_modkit/proc/projectile_prehit(obj/projectile/kinetic/K, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) //use this one for effects you want to trigger before mods that do damage -/obj/item/borg/upgrade/modkit/proc/projectile_strike_predamage(obj/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) +/obj/item/ka_modkit/proc/projectile_strike_predamage(obj/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) //and this one for things that don't need to trigger before other damage-dealing mods -/obj/item/borg/upgrade/modkit/proc/projectile_strike(obj/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) +/obj/item/ka_modkit/proc/projectile_strike(obj/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) //Range -/obj/item/borg/upgrade/modkit/range +/obj/item/ka_modkit/range name = "range increase" desc = "Increases the range of a kinetic accelerator when installed." modifier = 1 cost = 25 -/obj/item/borg/upgrade/modkit/range/modify_projectile(obj/projectile/kinetic/K) +/obj/item/ka_modkit/range/modify_projectile(obj/projectile/kinetic/K) K.range += modifier //Damage -/obj/item/borg/upgrade/modkit/damage +/obj/item/ka_modkit/damage name = "damage increase" desc = "Increases the damage of kinetic accelerator when installed." modifier = 10 -/obj/item/borg/upgrade/modkit/damage/modify_projectile(obj/projectile/kinetic/K) +/obj/item/ka_modkit/damage/modify_projectile(obj/projectile/kinetic/K) K.damage += modifier //Cooldown -/obj/item/borg/upgrade/modkit/cooldown +/obj/item/ka_modkit/cooldown name = "cooldown decrease" desc = "Decreases the cooldown of a kinetic accelerator. Not rated for minebot use." modifier = 2.5 minebot_upgrade = FALSE var/decreased -/obj/item/borg/upgrade/modkit/cooldown/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) +/obj/item/ka_modkit/cooldown/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) . = ..() if(.) var/old = KA.overheat_time @@ -391,16 +391,16 @@ decreased = old - KA.overheat_time -/obj/item/borg/upgrade/modkit/cooldown/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) +/obj/item/ka_modkit/cooldown/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) KA.overheat_time += decreased ..() -/obj/item/borg/upgrade/modkit/cooldown/minebot +/obj/item/ka_modkit/cooldown/minebot name = "minebot cooldown decrease" desc = "Decreases the cooldown of a kinetic accelerator. Only rated for minebot use." icon_state = "door_electronics" icon = 'icons/obj/module.dmi' - denied_type = /obj/item/borg/upgrade/modkit/cooldown/minebot + denied_type = /obj/item/ka_modkit/cooldown/minebot modifier = 10 cost = 0 minebot_upgrade = TRUE @@ -408,15 +408,15 @@ //AoE blasts -/obj/item/borg/upgrade/modkit/aoe +/obj/item/ka_modkit/aoe modifier = 0 var/turf_aoe = FALSE var/stats_stolen = FALSE -/obj/item/borg/upgrade/modkit/aoe/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) +/obj/item/ka_modkit/aoe/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) . = ..() if(.) - for(var/obj/item/borg/upgrade/modkit/aoe/AOE in KA.modkits) //make sure only one of the aoe modules has values if somebody has multiple + for(var/obj/item/ka_modkit/aoe/AOE in KA.modkits) //make sure only one of the aoe modules has values if somebody has multiple if(AOE.stats_stolen || AOE == src) continue modifier += AOE.modifier //take its modifiers @@ -425,16 +425,16 @@ AOE.turf_aoe = FALSE AOE.stats_stolen = TRUE -/obj/item/borg/upgrade/modkit/aoe/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) +/obj/item/ka_modkit/aoe/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) ..() modifier = initial(modifier) //get our modifiers back turf_aoe = initial(turf_aoe) stats_stolen = FALSE -/obj/item/borg/upgrade/modkit/aoe/modify_projectile(obj/projectile/kinetic/K) +/obj/item/ka_modkit/aoe/modify_projectile(obj/projectile/kinetic/K) K.name = "kinetic explosion" -/obj/item/borg/upgrade/modkit/aoe/projectile_strike(obj/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) +/obj/item/ka_modkit/aoe/projectile_strike(obj/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) if(stats_stolen) return new /obj/effect/temp_visual/explosion/fast(target_turf) @@ -451,38 +451,38 @@ // L.apply_damage(K.damage*modifier, K.damage_type, K.def_zone, armor) to_chat(L, "You're struck by a [K.name]!") -/obj/item/borg/upgrade/modkit/aoe/turfs +/obj/item/ka_modkit/aoe/turfs name = "mining explosion" desc = "Causes the kinetic accelerator to destroy rock in an AoE." - denied_type = /obj/item/borg/upgrade/modkit/aoe/turfs + denied_type = /obj/item/ka_modkit/aoe/turfs turf_aoe = TRUE -/obj/item/borg/upgrade/modkit/aoe/turfs/andmobs +/obj/item/ka_modkit/aoe/turfs/andmobs name = "offensive mining explosion" desc = "Causes the kinetic accelerator to destroy rock and damage mobs in an AoE." maximum_of_type = 3 modifier = 0.25 -/obj/item/borg/upgrade/modkit/aoe/mobs +/obj/item/ka_modkit/aoe/mobs name = "offensive explosion" desc = "Causes the kinetic accelerator to damage mobs in an AoE." modifier = 0.2 //Minebot passthrough -/obj/item/borg/upgrade/modkit/minebot_passthrough +/obj/item/ka_modkit/minebot_passthrough name = "minebot passthrough" desc = "Causes kinetic accelerator shots to pass through minebots." cost = 0 //Tendril-unique modules -/obj/item/borg/upgrade/modkit/cooldown/repeater +/obj/item/ka_modkit/cooldown/repeater name = "rapid repeater" desc = "Quarters the kinetic accelerator's cooldown on striking a living target, but greatly increases the base cooldown." - denied_type = /obj/item/borg/upgrade/modkit/cooldown/repeater + denied_type = /obj/item/ka_modkit/cooldown/repeater modifier = -14 //Makes the cooldown 3 seconds(with no cooldown mods) if you miss. Don't miss. cost = 50 -/obj/item/borg/upgrade/modkit/cooldown/repeater/projectile_strike_predamage(obj/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) +/obj/item/ka_modkit/cooldown/repeater/projectile_strike_predamage(obj/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) var/valid_repeat = FALSE if(isliving(target)) var/mob/living/L = target @@ -495,7 +495,7 @@ KA.attempt_reload(KA.overheat_time * 0.25) //If you hit, the cooldown drops to 0.75 seconds. /* -/obj/item/borg/upgrade/modkit/lifesteal +/obj/item/ka_modkit/lifesteal name = "lifesteal crystal" desc = "Causes kinetic accelerator shots to slightly heal the firer on striking a living target." icon_state = "modkit_crystal" @@ -503,7 +503,7 @@ cost = 20 var/static/list/damage_heal_order = list(BRUTE, BURN, OXY) -/obj/item/borg/upgrade/modkit/lifesteal/projectile_prehit(obj/projectile/kinetic/K, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) +/obj/item/ka_modkit/lifesteal/projectile_prehit(obj/projectile/kinetic/K, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) if(isliving(target) && isliving(K.firer)) var/mob/living/L = target if(L.stat == DEAD) @@ -512,14 +512,14 @@ L.heal_ordered_damage(modifier, damage_heal_order) */ -/obj/item/borg/upgrade/modkit/resonator_blasts +/obj/item/ka_modkit/resonator_blasts name = "resonator blast" desc = "Causes kinetic accelerator shots to leave and detonate resonator blasts." - denied_type = /obj/item/borg/upgrade/modkit/resonator_blasts + denied_type = /obj/item/ka_modkit/resonator_blasts cost = 30 modifier = 0.25 //A bonus 15 damage if you burst the field on a target, 60 if you lure them into it. -/obj/item/borg/upgrade/modkit/resonator_blasts/projectile_strike(obj/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) +/obj/item/ka_modkit/resonator_blasts/projectile_strike(obj/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) if(target_turf && !ismineralturf(target_turf)) //Don't make fields on mineral turfs. var/obj/effect/resonance/R = locate(/obj/effect/resonance) in target_turf if(R) @@ -529,16 +529,16 @@ new /obj/effect/resonance(target_turf, K.firer, 30) /* -/obj/item/borg/upgrade/modkit/bounty +/obj/item/ka_modkit/bounty name = "death syphon" desc = "Killing or assisting in killing a creature permanently increases your damage against that type of creature." - denied_type = /obj/item/borg/upgrade/modkit/bounty + denied_type = /obj/item/ka_modkit/bounty modifier = 1.25 cost = 30 var/maximum_bounty = 25 var/list/bounties_reaped = list() -/obj/item/borg/upgrade/modkit/bounty/projectile_prehit(obj/projectile/kinetic/K, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) +/obj/item/ka_modkit/bounty/projectile_prehit(obj/projectile/kinetic/K, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) if(isliving(target)) var/mob/living/L = target var/list/existing_marks = L.has_status_effect_list(STATUS_EFFECT_SYPHONMARK) @@ -549,7 +549,7 @@ qdel(SM) L.apply_status_effect(STATUS_EFFECT_SYPHONMARK, src) -/obj/item/borg/upgrade/modkit/bounty/projectile_strike(obj/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) +/obj/item/ka_modkit/bounty/projectile_strike(obj/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) if(isliving(target)) var/mob/living/L = target if(bounties_reaped[L.type]) @@ -559,7 +559,7 @@ var/armor = L.run_armor_check(K.def_zone, K.flag, null, null, K.armour_penetration) L.apply_damage(bounties_reaped[L.type]*kill_modifier, K.damage_type, K.def_zone, armor) -/obj/item/borg/upgrade/modkit/bounty/proc/get_kill(mob/living/L) +/obj/item/ka_modkit/bounty/proc/get_kill(mob/living/L) var/bonus_mod = 1 if(ismegafauna(L)) //megafauna reward bonus_mod = 4 @@ -570,80 +570,80 @@ */ //Indoors -/obj/item/borg/upgrade/modkit/indoors +/obj/item/ka_modkit/indoors name = "decrease pressure penalty" desc = "A syndicate modification kit that increases the damage a kinetic accelerator does in high pressure environments." modifier = 2 - denied_type = /obj/item/borg/upgrade/modkit/indoors + denied_type = /obj/item/ka_modkit/indoors maximum_of_type = 2 cost = 35 -/obj/item/borg/upgrade/modkit/indoors/modify_projectile(obj/projectile/kinetic/K) +/obj/item/ka_modkit/indoors/modify_projectile(obj/projectile/kinetic/K) K.pressure_decrease *= modifier //Trigger Guard /* -/obj/item/borg/upgrade/modkit/trigger_guard +/obj/item/ka_modkit/trigger_guard name = "modified trigger guard" desc = "Allows creatures normally incapable of firing guns to operate the weapon when installed." cost = 20 - denied_type = /obj/item/borg/upgrade/modkit/trigger_guard + denied_type = /obj/item/ka_modkit/trigger_guard -/obj/item/borg/upgrade/modkit/trigger_guard/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) +/obj/item/ka_modkit/trigger_guard/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) . = ..() if(.) KA.trigger_guard = TRIGGER_GUARD_ALLOW_ALL -/obj/item/borg/upgrade/modkit/trigger_guard/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) +/obj/item/ka_modkit/trigger_guard/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) KA.trigger_guard = TRIGGER_GUARD_NORMAL ..() */ //Cosmetic -/obj/item/borg/upgrade/modkit/chassis_mod +/obj/item/ka_modkit/chassis_mod name = "super chassis" desc = "Makes your KA yellow. All the fun of having a more powerful KA without actually having a more powerful KA." cost = 0 - denied_type = /obj/item/borg/upgrade/modkit/chassis_mod + denied_type = /obj/item/ka_modkit/chassis_mod var/chassis_icon = "kineticgun_u" var/chassis_name = "super-kinetic accelerator" -/obj/item/borg/upgrade/modkit/chassis_mod/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) +/obj/item/ka_modkit/chassis_mod/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) . = ..() if(.) KA.icon_state = chassis_icon KA.name = chassis_name -/obj/item/borg/upgrade/modkit/chassis_mod/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) +/obj/item/ka_modkit/chassis_mod/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) KA.icon_state = initial(KA.icon_state) KA.name = initial(KA.name) ..() -/obj/item/borg/upgrade/modkit/chassis_mod/orange +/obj/item/ka_modkit/chassis_mod/orange name = "hyper chassis" desc = "Makes your KA orange. All the fun of having explosive blasts without actually having explosive blasts." chassis_icon = "kineticgun_h" chassis_name = "hyper-kinetic accelerator" -/obj/item/borg/upgrade/modkit/tracer +/obj/item/ka_modkit/tracer name = "white tracer bolts" desc = "Causes kinetic accelerator bolts to have a white tracer trail and explosion." cost = 0 - denied_type = /obj/item/borg/upgrade/modkit/tracer + denied_type = /obj/item/ka_modkit/tracer var/bolt_color = "#FFFFFF" -/obj/item/borg/upgrade/modkit/tracer/modify_projectile(obj/projectile/kinetic/K) +/obj/item/ka_modkit/tracer/modify_projectile(obj/projectile/kinetic/K) K.icon_state = "ka_tracer" K.color = bolt_color -/obj/item/borg/upgrade/modkit/tracer/adjustable +/obj/item/ka_modkit/tracer/adjustable name = "adjustable tracer bolts" desc = "Causes kinetic accelerator bolts to have an adjustable-colored tracer trail and explosion. Use in-hand to change color." -/obj/item/borg/upgrade/modkit/tracer/adjustable/attack_self(mob/user) +/obj/item/ka_modkit/tracer/adjustable/attack_self(mob/user) . = ..() if(.) return 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 2002f672f14..dbe27216412 100644 --- a/code/modules/reagents/chemistry/reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/chemistry/reagents/Chemistry-Reagents-Food-Drinks.dm @@ -2225,27 +2225,27 @@ glass_special = list(DRINK_FIZZ) /datum/reagent/drink/soda/sarsaparilla - name = "CC's Homemade Sarsaparilla" + name = "Sarsaparilla" id = "sarsaparilla" description = "The Cyan Cowgirl rides again!" taste_description = "earthy vanilla and harsh bubbles" color = "#503301" adj_temp = -2 - glass_name = "CC's Homemade Sarsaparilla" + glass_name = "Sarsaparilla" glass_desc = "Real girls drink from the bottle." glass_icon = DRINK_ICON_NOISY glass_special = list(DRINK_FIZZ) /datum/reagent/drink/soda/sassafras - name = "CC's Famous Root Beer" + name = "Root Beer" id = "sassafras" description = "Feel nostalgia for a range you never rode." taste_description = "bitter licorice and sweet vanilla" color = "#312003" adj_temp = -2 - glass_name = "CC's Famous Root Beer" + glass_name = "Root Beer" glass_desc = "Wet your whistle!" glass_icon = DRINK_ICON_NOISY glass_special = list(DRINK_FIZZ) @@ -4045,7 +4045,7 @@ glass_desc = "A spicy take on a summer classic." /datum/reagent/ethanol/alcsassafras - name = "CC's Hard Rootbeer" + name = "Hard Rootbeer" id = "alcsassafras" description = "Doesn't matter if you're drunk when you have a horse to take you home!" taste_description = "bitter vanilla with a sharp burn" diff --git a/code/modules/reagents/machinery/dispenser/synthesizer.dm b/code/modules/reagents/machinery/dispenser/synthesizer.dm index f225627d1e6..b6cb49b102b 100644 --- a/code/modules/reagents/machinery/dispenser/synthesizer.dm +++ b/code/modules/reagents/machinery/dispenser/synthesizer.dm @@ -79,7 +79,6 @@ /datum/reagent/ethanol/cider, /datum/reagent/ethanol/ale, /datum/reagent/ethanol/mead, - /datum/reagent/ethanol/alcsassafras ) /obj/item/reagent_synth/cafe @@ -121,6 +120,7 @@ /datum/reagent/drink/juice/lemon, /datum/reagent/drink/soda/sassafras, /datum/reagent/drink/soda/sarsaparilla, + /datum/reagent/drink/soda/gingerale, ) /obj/item/reagent_synth/medicine diff --git a/code/modules/research/designs/mining_toys.dm b/code/modules/research/designs/mining_toys.dm index bb8e85c92b8..81b8317a982 100644 --- a/code/modules/research/designs/mining_toys.dm +++ b/code/modules/research/designs/mining_toys.dm @@ -48,6 +48,28 @@ materials = list(MAT_STEEL = 10000, MAT_GLASS = 5000, MAT_GOLD = 5000, MAT_PHORON = 5000, MAT_DIAMOND = 100, MAT_URANIUM = 1000) build_path = /obj/item/vertibore +// KA Upgrades (That Are Too Powerful to Just Be Vending Items) +/datum/design/science/mining/ka_modkit_aoe + design_name = "Experimental Kinetic Accelerator Mod (Anti-Material AoE)" + id = "kamodkit_aoe" + req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5) + materials = list(MAT_STEEL = 500, MAT_GLASS = 1000, MAT_SILVER = 1000, MAT_URANIUM = 500) + build_path = /obj/item/ka_modkit/aoe/turfs + +/datum/design/science/mining/ka_modkit_aoe_mob + design_name = "Experimental Kinetic Accelerator Mod (Anti-Organic AoE)" + id = "kamodkit_aoe_mob" + req_tech = list(TECH_BIO = 6, TECH_ENGINEERING = 5) + materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_GOLD = 1000, MAT_PHORON = 500) + build_path = /obj/item/ka_modkit/aoe/mobs + +/datum/design/science/mining/ka_modkit_aoe_combo + design_name = "Experimental Kinetic Accelerator Mod (Combination AoE)" + id = "kamodkit_aoe_combo" + req_tech = list(TECH_MATERIAL = 7, TECH_BIO = 7, TECH_ENGINEERING = 5) + materials = list(MAT_STEEL = 1500, MAT_GLASS = 1500, MAT_SILVER = 500, MAT_GOLD = 500, MAT_DIAMOND = 500) + build_path = /obj/item/ka_modkit/aoe/turfs/andmobs + // Mining other equipment /datum/design/science/mining/mining_scanner id = "mining_scanner" diff --git a/code/modules/vore/fluffstuff/custom_items.dm b/code/modules/vore/fluffstuff/custom_items.dm index 1da2469624e..e64daa70ef8 100644 --- a/code/modules/vore/fluffstuff/custom_items.dm +++ b/code/modules/vore/fluffstuff/custom_items.dm @@ -1482,21 +1482,21 @@ */ //InterroLouis - Kai Highlands -/obj/item/borg/upgrade/modkit/chassis_mod/kai +/obj/item/ka_modkit/chassis_mod/kai name = "kai chassis" desc = "Makes your KA green. All the fun of having a more powerful KA without actually having a more powerful KA." cost = 0 - denied_type = /obj/item/borg/upgrade/modkit/chassis_mod + denied_type = /obj/item/ka_modkit/chassis_mod chassis_icon = "kineticgun_K" chassis_name = "Kai-netic Accelerator" var/chassis_desc = "A self recharging, ranged mining tool that does increased damage in low temperature. Capable of holding up to six slots worth of mod kits. It seems to have been painted an ugly green, and has a small image of a bird scratched crudely into the stock." var/chassis_icon_file = 'icons/vore/custom_guns_vr.dmi' -/obj/item/borg/upgrade/modkit/chassis_mod/kai/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) +/obj/item/ka_modkit/chassis_mod/kai/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) KA.desc = chassis_desc KA.icon = chassis_icon_file ..() -/obj/item/borg/upgrade/modkit/chassis_mod/kai/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) +/obj/item/ka_modkit/chassis_mod/kai/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) KA.desc = initial(KA.desc) KA.icon = initial(KA.icon) ..() diff --git a/config/custom_items.txt b/config/custom_items.txt index 125e4983dde..2adfcbac3da 100644 --- a/config/custom_items.txt +++ b/config/custom_items.txt @@ -332,7 +332,7 @@ item_path: /obj/item/clothing/accessory/badge/holo/detective/ruda { ckey: interrolouis character_name: Kai Highlands -item_path: /obj/item/borg/upgrade/modkit/chassis_mod/kai +item_path: /obj/item/ka_modkit/chassis_mod/kai } { diff --git a/icons/clothing/donator/uniform/chayse.dmi b/icons/clothing/donator/uniform/chayse.dmi new file mode 100644 index 00000000000..f1649c512d5 Binary files /dev/null and b/icons/clothing/donator/uniform/chayse.dmi differ diff --git a/icons/mob/clothing/donatorclothing.dmi b/icons/mob/clothing/donatorclothing.dmi index d4efe455517..fa8c9dac655 100644 Binary files a/icons/mob/clothing/donatorclothing.dmi and b/icons/mob/clothing/donatorclothing.dmi differ diff --git a/icons/mob/items/64x64_lefthand.dmi b/icons/mob/items/64x64_lefthand.dmi index c68a34da638..0f271872ab5 100644 Binary files a/icons/mob/items/64x64_lefthand.dmi and b/icons/mob/items/64x64_lefthand.dmi differ diff --git a/icons/mob/items/64x64_righthand.dmi b/icons/mob/items/64x64_righthand.dmi index 8d1ba609014..114c1d1fef4 100644 Binary files a/icons/mob/items/64x64_righthand.dmi and b/icons/mob/items/64x64_righthand.dmi differ diff --git a/icons/obj/clothing/donatorclothing.dmi b/icons/obj/clothing/donatorclothing.dmi index af12746d2a8..6b8af239714 100644 Binary files a/icons/obj/clothing/donatorclothing.dmi and b/icons/obj/clothing/donatorclothing.dmi differ