From 51fd39f84abcbc6281938e4e338ec6f568398926 Mon Sep 17 00:00:00 2001 From: Mechoid Date: Sat, 7 Mar 2020 21:51:50 -0800 Subject: [PATCH] Exosuit Expansion: Return of the Ripley (#6767) * Expands further upon Exosuits. * FixFix Inflatable Deployer * Changelog, fix oversights. * Burst. * Default 0 --- code/game/mecha/equipment/mecha_equipment.dm | 3 -- .../equipment/mecha_equipment_dynamicprocs.dm | 19 +++++++ .../game/mecha/equipment/tools/armor_melee.dm | 31 ++++++++++-- .../mecha/equipment/tools/armor_ranged.dm | 46 +++++++++++++++-- .../equipment/tools/hardpoint_actuator.dm | 34 +++++++++++++ .../game/mecha/equipment/tools/inflatables.dm | 47 ++++++++++++++++++ code/game/mecha/equipment/tools/passenger.dm | 2 +- .../tools/{wrench.dm => powertool.dm} | 16 +++++- .../mecha/equipment/tools/weldinglaser.dm | 34 +++++++++++++ .../equipment/weapons/defense/shocker.dm | 7 ++- code/game/mecha/mecha.dm | 20 ++++++-- .../items/weapons/tools/weldingtool.dm | 26 ++++++++++ code/modules/mob/_modifiers/fire.dm | 36 ++++++++++++++ code/modules/mob/_modifiers/modifiers_misc.dm | 22 -------- code/modules/mob/living/damage_procs.dm | 6 ++- code/modules/projectiles/projectile.dm | 2 +- .../modules/projectiles/projectile/bullets.dm | 6 ++- code/modules/research/mechfab_designs.dm | 40 +++++++++++++++ html/changelogs/mechoid - exoexpansion.yml | 42 ++++++++++++++++ icons/mecha/mecha_equipment.dmi | Bin 39741 -> 41106 bytes polaris.dme | 7 ++- 21 files changed, 399 insertions(+), 47 deletions(-) create mode 100644 code/game/mecha/equipment/mecha_equipment_dynamicprocs.dm create mode 100644 code/game/mecha/equipment/tools/hardpoint_actuator.dm create mode 100644 code/game/mecha/equipment/tools/inflatables.dm rename code/game/mecha/equipment/tools/{wrench.dm => powertool.dm} (66%) create mode 100644 code/game/mecha/equipment/tools/weldinglaser.dm create mode 100644 code/modules/mob/_modifiers/fire.dm create mode 100644 html/changelogs/mechoid - exoexpansion.yml diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index 5a1c57ff53..abf0a15446 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -133,9 +133,6 @@ return 0 return 1 -/obj/item/mecha_parts/mecha_equipment/proc/handle_movement_action() //Any modules that have special effects or needs when taking a step or floating through space. - return - /obj/item/mecha_parts/mecha_equipment/proc/action(atom/target) return diff --git a/code/game/mecha/equipment/mecha_equipment_dynamicprocs.dm b/code/game/mecha/equipment/mecha_equipment_dynamicprocs.dm new file mode 100644 index 0000000000..9166e6a3de --- /dev/null +++ b/code/game/mecha/equipment/mecha_equipment_dynamicprocs.dm @@ -0,0 +1,19 @@ +/* + * File containing all the default 'handlers' for Exosuit equipment, hopefully to make all dynX calls extinct. + */ + +// Used for impacting (thrown) objects, and damage value. +/obj/item/mecha_parts/mecha_equipment/proc/handle_ranged_contact(var/obj/A, var/inc_damage = 0) + return max(0, inc_damage) + +// Used for melee strikes with an object, and a mob, and damage value. +/obj/item/mecha_parts/mecha_equipment/proc/handle_melee_contact(var/obj/item/weapon/W, var/mob/living/user, var/inc_damage = 0) + return max(0, inc_damage) + +// Used for projectile impacts from bullet_act. +/obj/item/mecha_parts/mecha_equipment/proc/handle_projectile_contact(var/obj/item/projectile/Proj, var/inc_damage = 0) + return max(0, inc_damage) + +// Used for on-movement actions. +/obj/item/mecha_parts/mecha_equipment/proc/handle_movement_action() //Any modules that have special effects or needs when taking a step or floating through space. + return diff --git a/code/game/mecha/equipment/tools/armor_melee.dm b/code/game/mecha/equipment/tools/armor_melee.dm index a723882657..8390a2cc52 100644 --- a/code/game/mecha/equipment/tools/armor_melee.dm +++ b/code/game/mecha/equipment/tools/armor_melee.dm @@ -11,6 +11,30 @@ equip_type = EQUIP_HULL +/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/get_equip_info() + if(!chassis) return + return "* [src.name]" + +/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/handle_melee_contact(var/obj/item/weapon/W, var/mob/living/user, var/inc_damage = null) + if(!action_checks(user)) + return inc_damage + chassis.log_message("Attacked by [W]. Attacker - [user]") + if(prob(chassis.deflect_chance*deflect_coeff)) + to_chat(user, "\The [W] bounces off \the [chassis]'s armor.") + chassis.log_append_to_last("Armor saved.") + inc_damage = 0 + else + chassis.occupant_message("\The [user] hits [chassis] with [W].") + user.visible_message("\The [user] hits [chassis] with [W].", "You hit [src] with [W].") + inc_damage *= damage_coeff + set_ready_state(0) + chassis.use_power(energy_drain) + spawn() + do_after_cooldown() + return max(0, inc_damage) + +/* + /obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/can_attach(obj/mecha/M as obj) if(..()) if(!M.proc_res["dynattackby"]) @@ -27,10 +51,6 @@ ..() return -/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/get_equip_info() - if(!chassis) return - return "* [src.name]" - /obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/proc/dynattackby(obj/item/weapon/W as obj, mob/user as mob) if(!action_checks(user)) return chassis.dynattackby(W,user) @@ -46,4 +66,5 @@ set_ready_state(0) chassis.use_power(energy_drain) do_after_cooldown() - return \ No newline at end of file + return +*/ diff --git a/code/game/mecha/equipment/tools/armor_ranged.dm b/code/game/mecha/equipment/tools/armor_ranged.dm index 2e3523275f..4fb3aac32b 100644 --- a/code/game/mecha/equipment/tools/armor_ranged.dm +++ b/code/game/mecha/equipment/tools/armor_ranged.dm @@ -11,6 +11,45 @@ equip_type = EQUIP_HULL +/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/handle_projectile_contact(var/obj/item/projectile/Proj, var/inc_damage) + if(istype(Proj, /obj/item/projectile/test)) + return inc_damage// Don't care about test projectiles, just what comes after them + if(!action_checks(src)) + return inc_damage + if(prob(chassis.deflect_chance*deflect_coeff)) + chassis.occupant_message("The armor deflects incoming projectile.") + chassis.visible_message("The [chassis.name] armor deflects the projectile.") + chassis.log_append_to_last("Armor saved.") + inc_damage = 0 + else + inc_damage *= src.damage_coeff + set_ready_state(0) + chassis.use_power(energy_drain) + spawn() + do_after_cooldown() + return max(0, inc_damage) + +/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/handle_ranged_contact(var/obj/A, var/inc_damage = 0) + if(!action_checks(A)) + return inc_damage + if(prob(chassis.deflect_chance*deflect_coeff)) + chassis.occupant_message("The [A] bounces off the armor.") + chassis.visible_message("The [A] bounces off \the [chassis]'s armor") + chassis.log_append_to_last("Armor saved.") + inc_damage = 0 + else if(istype(A, /obj)) + inc_damage *= damage_coeff + set_ready_state(0) + chassis.use_power(energy_drain) + spawn() + do_after_cooldown() + return max(0, inc_damage) + +/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/get_equip_info() + if(!chassis) return + return "* [src.name]" + +/* /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/can_attach(obj/mecha/M as obj) if(..()) if(!M.proc_res["dynbulletdamage"] && !M.proc_res["dynhitby"]) @@ -29,10 +68,6 @@ ..() return -/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/get_equip_info() - if(!chassis) return - return "* [src.name]" - /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/proc/dynbulletdamage(var/obj/item/projectile/Proj) if(istype(Proj, /obj/item/projectile/test)) return // Don't care about test projectiles, just what comes after them @@ -69,4 +104,5 @@ set_ready_state(0) chassis.use_power(energy_drain) do_after_cooldown() - return \ No newline at end of file + return +*/ diff --git a/code/game/mecha/equipment/tools/hardpoint_actuator.dm b/code/game/mecha/equipment/tools/hardpoint_actuator.dm new file mode 100644 index 0000000000..735fec6f96 --- /dev/null +++ b/code/game/mecha/equipment/tools/hardpoint_actuator.dm @@ -0,0 +1,34 @@ +/* + * A special device used to pick up and equip other exosuit components on the fly, without leaving an Exosuit. Costly. + */ + +/obj/item/mecha_parts/mecha_equipment/hardpoint_actuator + name = "hardpoint actuator clamp" + icon_state = "mecha_clamp" + equip_cooldown = 10 SECONDS + energy_drain = 600 + equip_type = EQUIP_HULL + origin_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_POWER = 4, TECH_COMBAT = 1, TECH_MAGNET = 4) + +/obj/item/mecha_parts/mecha_equipment/hardpoint_actuator/action(atom/target) + if(!action_checks(target)) + return + + if(istype(target,/obj/item/mecha_parts/mecha_equipment)) + var/obj/item/mecha_parts/mecha_equipment/ME = target + if(ME.can_attach(chassis)) + occupant_message("[ME] can be integrated. Stand by.") + if(do_after(chassis.occupant, 3 SECONDS, target)) + if(ME.can_attach(chassis) && action_checks(target)) + ME.attach(chassis) + occupant_message("[ME] successfully integrated.") + else + occupant_message("[ME] cannot be integrated due to lack of free hardpoints.") + + else + occupant_message("[target] is not compatible with any present hardpoints.") + + set_ready_state(0) + chassis.use_power(energy_drain) + do_after_cooldown() + return diff --git a/code/game/mecha/equipment/tools/inflatables.dm b/code/game/mecha/equipment/tools/inflatables.dm new file mode 100644 index 0000000000..b18ba2eae1 --- /dev/null +++ b/code/game/mecha/equipment/tools/inflatables.dm @@ -0,0 +1,47 @@ +/obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables + name = "inflatable deployment mechanism" + desc = "An exosuit-mounted inflatable barrier deployer. Useful!" + icon_state = "mecha_inflatables" + origin_tech = list(TECH_MATERIAL = 5, TECH_MAGNET = 3) + equip_cooldown = 3 + energy_drain = 30 + range = MELEE + equip_type = EQUIP_UTILITY + ready_sound = 'sound/effects/spray.ogg' + required_type = list(/obj/mecha/working/ripley) + + tooltype = /obj/item/weapon/inflatable_dispenser/robot + var/obj/item/weapon/inflatable_dispenser/my_deployer = null + +/obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables/Initialize() + ..() + my_deployer = my_tool + +/obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables/Topic(href, href_list) + ..() + if(href_list["toggle_deployable_mode"]) + my_deployer.attack_self() + update_chassis_page() + return + +/obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables/get_equip_info() + if(!chassis) return + var/data_return = "* [chassis.selected==src?"":""][src.name][chassis.selected==src?"":""] - Deploy [my_deployer.mode?"Door":"Wall"]
\ +   - Doors left: [my_deployer.stored_doors]/[my_deployer.max_doors]
\ +   - Walls left: [my_deployer.stored_walls]/[my_deployer.max_walls]" + + return data_return + +/obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables/action(atom/target, params) + if(!action_checks(target)) + return + + if(istype(target, /turf)) + my_deployer.try_deploy_inflatable(target, chassis.occupant) + if(istype(target, /obj/item/inflatable) || istype(target, /obj/structure/inflatable)) + my_deployer.pick_up(target, chassis.occupant) + + set_ready_state(0) + chassis.use_power(energy_drain) + do_after_cooldown() + return diff --git a/code/game/mecha/equipment/tools/passenger.dm b/code/game/mecha/equipment/tools/passenger.dm index a84dc2981b..8ce9d21aa9 100644 --- a/code/game/mecha/equipment/tools/passenger.dm +++ b/code/game/mecha/equipment/tools/passenger.dm @@ -1,7 +1,7 @@ /obj/item/mecha_parts/mecha_equipment/tool/passenger name = "passenger compartment" desc = "A mountable passenger compartment for exosuits. Rather cramped." - icon_state = "mecha_abooster_ccw" + icon_state = "mecha_passenger" origin_tech = list(TECH_ENGINEERING = 1, TECH_BIO = 1) energy_drain = 10 range = MELEE diff --git a/code/game/mecha/equipment/tools/wrench.dm b/code/game/mecha/equipment/tools/powertool.dm similarity index 66% rename from code/game/mecha/equipment/tools/wrench.dm rename to code/game/mecha/equipment/tools/powertool.dm index 605c2ee33d..0adcb98929 100644 --- a/code/game/mecha/equipment/tools/wrench.dm +++ b/code/game/mecha/equipment/tools/powertool.dm @@ -38,4 +38,18 @@ desc = "An exosuit-mounted pneumatic prybar." icon_state = "mecha_crowbar" tooltype = /obj/item/weapon/tool/crowbar/power - ready_sound = 'sound/mecha/gasdisconnected.ogg' \ No newline at end of file + ready_sound = 'sound/mecha/gasdisconnected.ogg' + +/obj/item/mecha_parts/mecha_equipment/tool/powertool/cutter + name = "pneumatic cablecutter" + desc = "An exosuit-mounted pneumatic cablecutter." + icon_state = "mecha_cablecutter" + tooltype = /obj/item/weapon/tool/wirecutters/power + ready_sound = 'sound/mecha/gasdisconnected.ogg' + +/obj/item/mecha_parts/mecha_equipment/tool/powertool/screwdriver + name = "pneumatic screwdriver" + desc = "An exosuit-mounted pneumatic screwdriver." + icon_state = "mecha_screwdriver" + tooltype = /obj/item/weapon/tool/screwdriver/power + ready_sound = 'sound/mecha/gasdisconnected.ogg' diff --git a/code/game/mecha/equipment/tools/weldinglaser.dm b/code/game/mecha/equipment/tools/weldinglaser.dm new file mode 100644 index 0000000000..ff1c5733a5 --- /dev/null +++ b/code/game/mecha/equipment/tools/weldinglaser.dm @@ -0,0 +1,34 @@ +/obj/item/mecha_parts/mecha_equipment/tool/powertool/welding + name = "welding laser" + desc = "An exosuit-mounted welding laser." + icon_state = "mecha_laser-rig" + origin_tech = list(TECH_MATERIAL = 4, TECH_MAGNET = 3, TECH_POWER = 4, TECH_PHORON = 2) + equip_cooldown = 3 + energy_drain = 15 + range = MELEE + equip_type = EQUIP_UTILITY + ready_sound = 'sound/items/Ratchet.ogg' + required_type = list(/obj/mecha/working/ripley) + + tooltype = /obj/item/weapon/weldingtool/electric/mounted/exosuit + +/obj/item/mecha_parts/mecha_equipment/tool/powertool/welding/action(var/atom/target) + ..() + + var/datum/beam/weld_beam = null + if(is_ranged()) + var/atom/movable/beam_origin = chassis + weld_beam = beam_origin.Beam(target, icon_state = "solar_beam", time = 0.3 SECONDS) + + if(!do_after(chassis.occupant, 0.3 SECONDS, target)) + qdel(weld_beam) + +/obj/item/mecha_parts/mecha_equipment/tool/powertool/welding/attach(obj/mecha/M as obj) + ..() + + if(enable_special) + range = MELEE|RANGED + my_tool.reach = 7 + else + range = MELEE + my_tool.reach = 1 diff --git a/code/game/mecha/equipment/weapons/defense/shocker.dm b/code/game/mecha/equipment/weapons/defense/shocker.dm index af120167d2..58dccec562 100644 --- a/code/game/mecha/equipment/weapons/defense/shocker.dm +++ b/code/game/mecha/equipment/weapons/defense/shocker.dm @@ -15,6 +15,7 @@ equip_type = EQUIP_HULL +/* /obj/item/mecha_parts/mecha_equipment/shocker/can_attach(obj/mecha/M as obj) if(..()) if(!M.proc_res["dynattackby"] && !M.proc_res["dynattackhand"] && !M.proc_res["dynattackalien"]) @@ -25,9 +26,11 @@ ..() chassis.proc_res["dynattackby"] = src return +*/ -/obj/item/mecha_parts/mecha_equipment/shocker/proc/dynattackby(obj/item/weapon/W, mob/living/user) +/obj/item/mecha_parts/mecha_equipment/shocker/handle_melee_contact(var/obj/item/weapon/W, var/mob/living/user, var/inc_damage = null) if(!action_checks(user) || !active) return + user.electrocute_act(shock_damage, src) - return chassis.dynattackby(W,user) + return inc_damage diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 34b1655fff..d78053d6b2 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -622,7 +622,12 @@ else if(istype(A, /obj)) var/obj/O = A if(O.throwforce) - src.take_damage(O.throwforce) + + var/pass_damage = O.throwforce + for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment) + pass_damage = ME.handle_ranged_contact(A, pass_damage) + + src.take_damage(pass_damage) src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST)) return @@ -652,7 +657,12 @@ var/ignore_threshold if(istype(Proj, /obj/item/projectile/beam/pulse)) ignore_threshold = 1 - src.take_damage(Proj.damage, Proj.check_armour) + + var/pass_damage = Proj.damage + for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment) + pass_damage = ME.handle_projectile_contact(Proj, pass_damage) + + src.take_damage(pass_damage, Proj.check_armour) if(prob(25)) spark_system.start() src.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT),ignore_threshold) @@ -748,7 +758,11 @@ else src.occupant_message("[user] hits [src] with [W].") user.visible_message("[user] hits [src] with [W].", "You hit [src] with [W].") - src.take_damage(W.force,W.damtype) + + var/pass_damage = W.force + for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment) + pass_damage = ME.handle_projectile_contact(W, user, pass_damage) + src.take_damage(pass_damage,W.damtype) src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST)) return diff --git a/code/game/objects/items/weapons/tools/weldingtool.dm b/code/game/objects/items/weapons/tools/weldingtool.dm index 8e27d6eaa1..b2bd3f3aed 100644 --- a/code/game/objects/items/weapons/tools/weldingtool.dm +++ b/code/game/objects/items/weapons/tools/weldingtool.dm @@ -643,6 +643,10 @@ var/obj/item/weapon/rig/suit = H.back if(istype(suit)) return suit.cell + if(istype(src.loc, /obj/item/mecha_parts/mecha_equipment)) + var/obj/item/mecha_parts/mecha_equipment/mounting = src.loc + if(mounting.chassis && mounting.chassis.cell) + return mounting.chassis.cell return null /obj/item/weapon/weldingtool/electric/mounted @@ -651,4 +655,26 @@ /obj/item/weapon/weldingtool/electric/mounted/cyborg toolspeed = 0.5 +/obj/item/weapon/weldingtool/electric/mounted/exosuit + var/obj/item/mecha_parts/mecha_equipment/equip_mount = null + flame_intensity = 1 + eye_safety_modifier = 2 + always_process = TRUE + +/obj/item/weapon/weldingtool/electric/mounted/exosuit/Initialize() + ..() + + if(istype(loc, /obj/item/mecha_parts/mecha_equipment)) + equip_mount = loc + +/obj/item/weapon/weldingtool/electric/mounted/exosuit/process() + ..() + + if(equip_mount && equip_mount.chassis) + var/obj/mecha/M = equip_mount.chassis + if(M.selected == equip_mount && get_fuel()) + setWelding(TRUE, M.occupant) + else + setWelding(FALSE, M.occupant) + #undef WELDER_FUEL_BURN_INTERVAL diff --git a/code/modules/mob/_modifiers/fire.dm b/code/modules/mob/_modifiers/fire.dm new file mode 100644 index 0000000000..d69a35c2ec --- /dev/null +++ b/code/modules/mob/_modifiers/fire.dm @@ -0,0 +1,36 @@ +// Ignition, but confined to the modifier system. +// This makes it more predictable and thus, easier to balance. +/datum/modifier/fire + name = "on fire" + desc = "You are on fire! You will be harmed until the fire goes out or you extinguish it with water." + mob_overlay_state = "on_fire" + + on_created_text = "You burst into flames!" + on_expired_text = "The fire starts to fade." + stacks = MODIFIER_STACK_ALLOWED // Multiple instances will hurt a lot. + var/damage_per_tick = 5 + +/datum/modifier/fire/intense + mob_overlay_state = "on_fire_intense" + damage_per_tick = 10 + +/datum/modifier/fire/tick() + holder.inflict_heat_damage(damage_per_tick) + +/* + * Modifier used by projectiles, like the flamethrower, that rely heavily on fire_stacks to persist. + */ + +/datum/modifier/fire/stack_managed/tick() + ..() + + if(!holder.fire_stacks || holder.fire_stacks < 0) + if(prob(10)) + expire() + + else if(holder.fire_stacks > 0) + holder.fire_stacks -= 1 + +/datum/modifier/fire/stack_managed/intense + mob_overlay_state = "on_fire_intense" + damage_per_tick = 10 diff --git a/code/modules/mob/_modifiers/modifiers_misc.dm b/code/modules/mob/_modifiers/modifiers_misc.dm index af6eaa952e..9d87088dae 100644 --- a/code/modules/mob/_modifiers/modifiers_misc.dm +++ b/code/modules/mob/_modifiers/modifiers_misc.dm @@ -224,28 +224,6 @@ the artifact triggers the rage. accuracy_dispersion = 2 // A combination of fear and immense pain or damage reults in a twitching firing arm. Flee. - - -// Ignition, but confined to the modifier system. -// This makes it more predictable and thus, easier to balance. -/datum/modifier/fire - name = "on fire" - desc = "You are on fire! You will be harmed until the fire goes out or you extinguish it with water." - mob_overlay_state = "on_fire" - - on_created_text = "You combust into flames!" - on_expired_text = "The fire starts to fade." - stacks = MODIFIER_STACK_ALLOWED // Multiple instances will hurt a lot. - var/damage_per_tick = 5 - -/datum/modifier/fire/intense - mob_overlay_state = "on_fire_intense" - damage_per_tick = 10 - -/datum/modifier/fire/tick() - holder.inflict_heat_damage(damage_per_tick) - - // Applied when near something very cold. // Reduces mobility, attack speed. /datum/modifier/chilled diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index 1d806dde45..aeab794552 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -109,5 +109,9 @@ if(drowsy) apply_effect(drowsy, DROWSY, blocked) if(agony) apply_effect(agony, AGONY, blocked) if(flammable) adjust_fire_stacks(flammable) - if(ignite) IgniteMob() + if(ignite) + if(ignite >= 3) + add_modifier(/datum/modifier/fire/stack_managed/intense, 60 SECONDS) + else + add_modifier(/datum/modifier/fire/stack_managed, 45 * ignite SECONDS) return 1 diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index f3603a783d..e91a906442 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -104,7 +104,7 @@ var/projectile_type = /obj/item/projectile var/penetrating = 0 //If greater than zero, the projectile will pass through dense objects as specified by on_penetrate() //Effects - var/incendiary = 0 //1 for ignite on hit, 2 for trail of fire. 3 maybe later for burst of fire around the impact point. - Mech + var/incendiary = 0 //1 for ignite on hit, 2 for trail of fire. 3 for intense fire. - Mech var/flammability = 0 //Amount of fire stacks to add for the above. var/combustion = TRUE //Does this set off flammable objects on fire/hit? var/stun = 0 diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 8220e90eee..d25b0e5fee 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -245,7 +245,7 @@ icon_state = "bullet_alt" damage = 15 damage_type = BURN - incendiary = 1 + incendiary = 0.5 flammability = 2 /obj/item/projectile/bullet/incendiary/flamethrower @@ -261,7 +261,9 @@ vacuum_traversal = 0 /obj/item/projectile/bullet/incendiary/flamethrower/large - damage = 15 + damage = 5 + incendiary = 3 + flammability = 2 range = 6 /* Practice rounds and blanks */ diff --git a/code/modules/research/mechfab_designs.dm b/code/modules/research/mechfab_designs.dm index 0fdd3df5be..480f085c90 100644 --- a/code/modules/research/mechfab_designs.dm +++ b/code/modules/research/mechfab_designs.dm @@ -680,6 +680,46 @@ materials = list(DEFAULT_WALL_MATERIAL = 4000, "osmium" = 3000, "glass" = 1000) build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/prybar +/datum/design/item/mecha/powercutters + name = "hydraulic cable cutter" + desc = "A large, hydraulic cablecutter." + id = "mech_wirecutter" + req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2) + materials = list(DEFAULT_WALL_MATERIAL = 4000, "osmium" = 3000, "glass" = 1000) + build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/cutter + +/datum/design/item/mecha/powerscrewdriver + name = "hydraulic screwdriver" + desc = "A large, hydraulic screwdriver." + id = "mech_screwdriver" + req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2) + materials = list(DEFAULT_WALL_MATERIAL = 4000, "osmium" = 3000, "glass" = 1000) + build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/screwdriver + +/datum/design/item/mecha/powerwelder + name = "welding laser" + desc = "A large welding laser." + id = "mech_welder" + req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2) + materials = list(DEFAULT_WALL_MATERIAL = 4000, MAT_PHORON = 3000, "glass" = 1000) + build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/welding + +/datum/design/item/mecha/inflatables + name = "inflatables deployer" + desc = "A large pneumatic inflatable deployer." + id = "mech_inflatables" + req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2) + materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_PLASTIC = 4000, "glass" = 1000) + build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables + +/datum/design/item/mecha/hardpoint_clamp + name = "hardpoint actuator" + desc = "A complex device used to commandeer equipment from the ground." + id = "mech_hardpoint_clamp" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_POWER = 5, TECH_COMBAT = 2, TECH_MAGNET = 4) + materials = list(MAT_PLASTEEL = 2500, MAT_PLASTIC = 3000, MAT_OSMIUM = 1500, MAT_SILVER = 2000) + build_path = /obj/item/mecha_parts/mecha_equipment/hardpoint_actuator + /datum/design/item/mecha/generator_nuclear name = "Nuclear Reactor" desc = "Exosuit-held nuclear reactor. Converts uranium and everyone's health to energy." diff --git a/html/changelogs/mechoid - exoexpansion.yml b/html/changelogs/mechoid - exoexpansion.yml new file mode 100644 index 0000000000..c8a399fe79 --- /dev/null +++ b/html/changelogs/mechoid - exoexpansion.yml @@ -0,0 +1,42 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Mechoid + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Hardpoint Actuator equipment for Exosuits, allowing them (And most effectively, Ripleys) to swap components on the fly, after a short delay." + - rscadd: "Exo Inflatables Deployer, allowing exosuits to pick up and deploy inflatables." + - rscadd: "Exo screwdriver, wirecutters, and welding laser, to help round-out the tool-based equipment types." + - rscadd: "Fire modifiers based on stacks added, to be used by the damage system tweaked above." + - tweak: "Incendiary exo weapons tweaked to conform with fire change." + - tweak: "Ignition effects from weapons changed from the old fire-system to the modifier fire system." + - bugfix: "Shocker now retaliates properly against melee." diff --git a/icons/mecha/mecha_equipment.dmi b/icons/mecha/mecha_equipment.dmi index cba863ea476ca765fb5c052f960930decc96f86b..1fcdff0f72345c1281a450489e9d54ee453d604f 100644 GIT binary patch literal 41106 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 NuVhtZN~BGL{tpCDk^2Au literal 39741 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 R+6Mu@ztptv5LB$f{|7{_ShoNG diff --git a/polaris.dme b/polaris.dme index a7d01bd843..f826b91eae 100644 --- a/polaris.dme +++ b/polaris.dme @@ -795,6 +795,7 @@ #include "code\game\mecha\combat\marauder.dm" #include "code\game\mecha\combat\phazon.dm" #include "code\game\mecha\equipment\mecha_equipment.dm" +#include "code\game\mecha\equipment\mecha_equipment_dynamicprocs.dm" #include "code\game\mecha\equipment\tools\armor_melee.dm" #include "code\game\mecha\equipment\tools\armor_ranged.dm" #include "code\game\mecha\equipment\tools\cable_layer.dm" @@ -804,9 +805,12 @@ #include "code\game\mecha\equipment\tools\energy_relay.dm" #include "code\game\mecha\equipment\tools\extinguisher.dm" #include "code\game\mecha\equipment\tools\generator.dm" +#include "code\game\mecha\equipment\tools\hardpoint_actuator.dm" +#include "code\game\mecha\equipment\tools\inflatables.dm" #include "code\game\mecha\equipment\tools\jetpack.dm" #include "code\game\mecha\equipment\tools\orescanner.dm" #include "code\game\mecha\equipment\tools\passenger.dm" +#include "code\game\mecha\equipment\tools\powertool.dm" #include "code\game\mecha\equipment\tools\rcd.dm" #include "code\game\mecha\equipment\tools\repair_droid.dm" #include "code\game\mecha\equipment\tools\shield.dm" @@ -815,8 +819,8 @@ #include "code\game\mecha\equipment\tools\syringe_gun.dm" #include "code\game\mecha\equipment\tools\teleporter.dm" #include "code\game\mecha\equipment\tools\tools.dm" +#include "code\game\mecha\equipment\tools\weldinglaser.dm" #include "code\game\mecha\equipment\tools\wormhole.dm" -#include "code\game\mecha\equipment\tools\wrench.dm" #include "code\game\mecha\equipment\weapons\honk.dm" #include "code\game\mecha\equipment\weapons\weapons.dm" #include "code\game\mecha\equipment\weapons\ballistic\automatic.dm" @@ -1927,6 +1931,7 @@ #include "code\modules\mob\update_icons.dm" #include "code\modules\mob\_modifiers\aura.dm" #include "code\modules\mob\_modifiers\cloning.dm" +#include "code\modules\mob\_modifiers\fire.dm" #include "code\modules\mob\_modifiers\medical.dm" #include "code\modules\mob\_modifiers\modifiers.dm" #include "code\modules\mob\_modifiers\modifiers_misc.dm"