From 7b61dc16c1c1a78c0b557ddf541bd428c5b06b65 Mon Sep 17 00:00:00 2001 From: Neerti Date: Mon, 21 May 2018 21:12:47 -0400 Subject: [PATCH] Hivebots --- code/game/turfs/simulated/water.dm | 2 + code/modules/admin/verbs/buildmode.dm | 85 +++++++++ .../ai/aI_holder_subtypes/simple_mob_ai.dm | 7 +- code/modules/ai/ai_holder.dm | 7 +- code/modules/ai/ai_holder_combat.dm | 3 +- code/modules/ai/ai_holder_targeting.dm | 7 +- code/modules/ai/interfaces.dm | 2 +- code/modules/ai/say_list.dm | 15 +- code/modules/mob/_modifiers/auras.dm | 18 ++ code/modules/mob/_modifiers/modifiers_misc.dm | 19 ++ .../mob/living/carbon/human/human_defense.dm | 35 ++++ code/modules/mob/living/living.dm | 24 ++- code/modules/mob/living/living_defense.dm | 6 + .../living/simple_animal/aliens/hivebot.dm | 2 + .../mob/living/simple_animal/simple_animal.dm | 4 +- code/modules/mob/living/simple_mob/combat.dm | 5 + code/modules/mob/living/simple_mob/defense.dm | 11 ++ .../mob/living/simple_mob/simple_mob.dm | 11 +- .../subtypes/animal/giant_spider/tunneler.dm | 129 ++++++-------- .../subtypes/mechanical/hivebot/hivebot.dm | 42 +++++ .../mechanical/hivebot/ranged_damage.dm | 106 +++++++++++ .../subtypes/mechanical/hivebot/support.dm | 87 +++++++++ .../subtypes/mechanical/hivebot/tank.dm | 166 ++++++++++++++++++ .../subtypes/mechanical/mechanical.dm | 1 + code/modules/projectiles/projectile.dm | 8 + code/modules/projectiles/projectile/arc.dm | 127 ++++++++++++++ icons/effects/effects.dmi | Bin 417465 -> 418490 bytes icons/misc/buildmode.dmi | Bin 1452 -> 1520 bytes icons/mob/modifier_effects.dmi | Bin 14742 -> 17351 bytes icons/obj/projectiles.dmi | Bin 54469 -> 55647 bytes polaris.dme | 6 + sound/effects/break_stone.ogg | Bin 0 -> 35871 bytes sound/effects/servostep.ogg | Bin 0 -> 10714 bytes sound/effects/suitstep1.ogg | Bin 0 -> 10777 bytes sound/effects/suitstep2.ogg | Bin 0 -> 12220 bytes 35 files changed, 847 insertions(+), 88 deletions(-) create mode 100644 code/modules/mob/_modifiers/auras.dm create mode 100644 code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/hivebot.dm create mode 100644 code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/ranged_damage.dm create mode 100644 code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/support.dm create mode 100644 code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/tank.dm create mode 100644 code/modules/projectiles/projectile/arc.dm create mode 100644 sound/effects/break_stone.ogg create mode 100644 sound/effects/servostep.ogg create mode 100644 sound/effects/suitstep1.ogg create mode 100644 sound/effects/suitstep2.ogg diff --git a/code/game/turfs/simulated/water.dm b/code/game/turfs/simulated/water.dm index e4b762d733..cf06303740 100644 --- a/code/game/turfs/simulated/water.dm +++ b/code/game/turfs/simulated/water.dm @@ -112,6 +112,8 @@ adjust_fire_stacks(-amount * 5) for(var/atom/movable/AM in contents) AM.water_act(amount) + remove_modifiers_of_type(/datum/modifier/fire) + inflict_water_damage(20 * amount) // Only things vulnerable to water will actually be harmed (slimes/prommies). var/list/shoreline_icon_cache = list() diff --git a/code/modules/admin/verbs/buildmode.dm b/code/modules/admin/verbs/buildmode.dm index a57b17d15f..54a1cbacf9 100644 --- a/code/modules/admin/verbs/buildmode.dm +++ b/code/modules/admin/verbs/buildmode.dm @@ -127,6 +127,18 @@ usr << "Right Mouse Button on turf/obj/mob = Reset glowing" usr << "Right Mouse Button on buildmode button = Change glow properties" usr << "***********************************************************" + if(9) // Control mobs with ai_holders. + usr << "***********************************************************" + usr << "Left Mouse Button on AI mob = Select/Deselect mob" + usr << "Left Mouse Button + alt on AI mob = Toggle hostility on mob" + usr << "Left Mouse Button + ctrl on AI mob = Reset target/following/movement" + usr << "Right Mouse Button on enemy mob = Command selected mobs to attack mob" + usr << "Right Mouse Button on allied mob = Command selected mobs to follow mob" + usr << "Right Mouse Button + shift on any mob = Command selected mobs to follow mob regardless of faction" + usr << "Right Mouse Button on tile = Command selected mobs to move to tile (will cancel if enemies are seen)" + usr << "Right Mouse Button + shift on tile = Command selected mobs to reposition to tile (will not be inturrupted by enemies)" + usr << "Right Mouse Button + alt on obj/turfs = Command selected mobs to attack obj/turf" + usr << "***********************************************************" return 1 /obj/effect/bmode/buildquit @@ -146,6 +158,7 @@ var/obj/effect/bmode/buildmode/buildmode = null var/obj/effect/bmode/buildquit/buildquit = null var/atom/movable/throw_atom = null + var/list/selected_mobs = list() /obj/effect/bmode/buildholder/Destroy() qdel(builddir) @@ -158,6 +171,7 @@ buildquit = null throw_atom = null cl = null + selected_mobs.Cut() return ..() /obj/effect/bmode/buildmode @@ -210,6 +224,9 @@ master.cl.buildmode = 8 src.icon_state = "buildmode8" if(8) + master.cl.buildmode = 9 + src.icon_state = "buildmode9" + if(9) master.cl.buildmode = 1 src.icon_state = "buildmode1" @@ -416,6 +433,74 @@ if(pa.Find("right")) if(object) object.set_light(0, 0, "#FFFFFF") + if(9) // AI control + if(pa.Find("left")) + if(isliving(object)) + var/mob/living/L = object + // Reset processes. + if(pa.Find("ctrl")) + if(!isnull(L.get_AI_stance())) // Null means there's no AI datum or it has one but is player controlled w/o autopilot on. + var/datum/ai_holder/AI = L.ai_holder + AI.forget_everything() + to_chat(user, span("notice", "\The [L]'s AI has forgotten its target/movement destination/leader.")) + else + to_chat(user, span("warning", "\The [L] is not AI controlled.")) + return + + // Toggle hostility + if(pa.Find("alt")) + if(!isnull(L.get_AI_stance())) + var/datum/ai_holder/AI = L.ai_holder + AI.hostile = !AI.hostile + to_chat(user, span("notice", "\The [L] is now [AI.hostile ? "hostile" : "passive"].")) + else + to_chat(user, span("warning", "\The [L] is not AI controlled.")) + return + + // Select/Deselect + if(!isnull(L.get_AI_stance())) + if(L in holder.selected_mobs) + // Todo: Select graphic only the admin can see? + holder.selected_mobs -= L + to_chat(user, span("notice", "Deselected \the [L].")) + else + holder.selected_mobs += L + to_chat(user, span("notice", "Selected \the [L].")) + else + to_chat(user, span("warning", "\The [L] is not AI controlled.")) + + if(pa.Find("right")) + if(istype(object, /atom/movable)) // Force attack. + var/atom/movable/AM = object + + if(pa.Find("alt")) + for(var/thing in holder.selected_mobs) + var/mob/living/unit = thing + var/datum/ai_holder/AI = unit.ai_holder + AI.give_target(AM) + to_chat(user, span("notice", "Commanded [holder.selected_mobs.len] mob\s to attack \the [AM].")) + + if(isliving(object)) // Follow or attack. + var/mob/living/L = object + + for(var/thing in holder.selected_mobs) + var/mob/living/unit = thing + var/datum/ai_holder/AI = unit.ai_holder + if(L.IIsAlly(unit) || !AI.hostile || pa.Find("shift")) + AI.set_follow(L) + else + AI.give_target(L) + to_chat(user, span("notice", "Commanded [holder.selected_mobs.len] mob\s to attack or follow \the [L].")) + + if(isturf(object)) // Move or reposition. + var/turf/T = object + + for(var/thing in holder.selected_mobs) + var/mob/living/unit = thing + var/datum/ai_holder/AI = unit.ai_holder + AI.give_destination(T, pa.Find("shift")) + to_chat(user, span("notice", "Commanded [holder.selected_mobs.len] mob\s to move to \the [T].")) + /obj/effect/bmode/buildmode/proc/get_path_from_partial_text(default_path) var/desired_path = input("Enter full or partial typepath.","Typepath","[default_path]") diff --git a/code/modules/ai/aI_holder_subtypes/simple_mob_ai.dm b/code/modules/ai/aI_holder_subtypes/simple_mob_ai.dm index c32140edcc..39e291d192 100644 --- a/code/modules/ai/aI_holder_subtypes/simple_mob_ai.dm +++ b/code/modules/ai/aI_holder_subtypes/simple_mob_ai.dm @@ -194,4 +194,9 @@ move_to = get_step_away(move_to, L, 7) if(move_to) give_destination(move_to, min_distance = 2, combat = TRUE) // This will switch our stance. -*/ \ No newline at end of file +*/ + +/datum/ai_holder/simple_mob/hivebot + conserve_ammo = TRUE + firing_lanes = TRUE + can_flee = FALSE // Fearless dumb machines. diff --git a/code/modules/ai/ai_holder.dm b/code/modules/ai/ai_holder.dm index f41627fd4f..a241fe0239 100644 --- a/code/modules/ai/ai_holder.dm +++ b/code/modules/ai/ai_holder.dm @@ -327,4 +327,9 @@ return null if(client && !ai_holder.autopilot) return null - return ai_holder.stance \ No newline at end of file + return ai_holder.stance + +// 'Taunts' the AI into attacking the taunter. +/mob/living/proc/taunt(atom/movable/taunter, force_target_switch = FALSE) + if(ai_holder) + ai_holder.receive_taunt(taunter, force_target_switch) \ No newline at end of file diff --git a/code/modules/ai/ai_holder_combat.dm b/code/modules/ai/ai_holder_combat.dm index 0a2aea14ab..8f96612282 100644 --- a/code/modules/ai/ai_holder_combat.dm +++ b/code/modules/ai/ai_holder_combat.dm @@ -20,7 +20,8 @@ ai_log("engage_target() : Entering.", AI_LOG_DEBUG) // Can we still see them? - if(!target || !can_attack(target) || (!(target in list_targets())) ) +// if(!target || !can_attack(target) || (!(target in list_targets())) ) + if(!target || !can_attack(target)) ai_log("engage_target() : Lost sight of target.", AI_LOG_TRACE) lose_target() // We lost them. diff --git a/code/modules/ai/ai_holder_targeting.dm b/code/modules/ai/ai_holder_targeting.dm index a621af2051..0fe8702300 100644 --- a/code/modules/ai/ai_holder_targeting.dm +++ b/code/modules/ai/ai_holder_targeting.dm @@ -116,7 +116,8 @@ return FALSE // Turrets won't get hurt if they're still in their cover. return TRUE - return FALSE + return TRUE +// return FALSE // Override this for special targeting criteria. // If it returns true, the mob will always select it as the target. @@ -210,9 +211,11 @@ // Causes targeting to prefer targeting the taunter if possible. // This generally occurs if more than one option is within striking distance, including the taunter. // Otherwise the default filter will prefer the closest target. -/datum/ai_holder/proc/receive_taunt(atom/movable/taunter) +/datum/ai_holder/proc/receive_taunt(atom/movable/taunter, force_target_switch = FALSE) ai_log("receive_taunt() : Was taunted by [taunter].", AI_LOG_INFO) preferred_target = taunter + if(force_target_switch) + give_target(taunter) /datum/ai_holder/proc/lose_taunt() ai_log("lose_taunt() : Resetting preferred_target.", AI_LOG_INFO) diff --git a/code/modules/ai/interfaces.dm b/code/modules/ai/interfaces.dm index a864471a43..974ce1b64f 100644 --- a/code/modules/ai/interfaces.dm +++ b/code/modules/ai/interfaces.dm @@ -37,7 +37,7 @@ return FALSE /mob/living/simple_mob/ICheckSpecialAttack(atom/A) - return can_special_attack(A) + return can_special_attack(A) && should_special_attack(A) // Just because we can doesn't mean we should. /mob/living/proc/ISay(message) diff --git a/code/modules/ai/say_list.dm b/code/modules/ai/say_list.dm index 37f14823e5..05c38f978f 100644 --- a/code/modules/ai/say_list.dm +++ b/code/modules/ai/say_list.dm @@ -80,4 +80,17 @@ emote_see = list("clacks") /datum/say_list/spider - emote_hear = list("chitters") \ No newline at end of file + emote_hear = list("chitters") + +/datum/say_list/hivebot + speak = list( + "Resuming task: Protect area.", + "No threats found.", + "Error: No targets found." + ) + emote_hear = list("hums ominously", "whirrs softly", "grinds a gear") + emote_see = list("looks around the area", "turns from side to side") + say_understood = list("Affirmative.", "Positive.") + say_cannot = list("Denied.", "Negative.") + say_maybe_target = list("Possible threat detected. Investigating.", "Motion detected.", "Investigating.") + say_got_target = list("Threat detected.", "New task: Remove threat.", "Threat removal engaged.", "Engaging target.") \ No newline at end of file diff --git a/code/modules/mob/_modifiers/auras.dm b/code/modules/mob/_modifiers/auras.dm new file mode 100644 index 0000000000..37dc6561cc --- /dev/null +++ b/code/modules/mob/_modifiers/auras.dm @@ -0,0 +1,18 @@ +/* +'Aura' modifiers are semi-permanent, in that they do not have a set duration, but will expire if out of range of the 'source' of the aura. +Note: The source is defined as an argument in New(), and if not specified, it is assumed the holder is the source, +making it not expire ever, which is likely not what you want. +*/ + +/datum/modifier/aura + var/aura_max_distance = 5 // If more than this many tiles away from the source, the modifier expires next tick. + +/datum/modifier/aura/check_if_valid() + if(!origin) + expire() + var/atom/A = origin.resolve() + if(istype(A)) // Make sure we're not null. + if(get_dist(holder, A) > aura_max_distance) + expire() + expire() // Source got deleted or something. + diff --git a/code/modules/mob/_modifiers/modifiers_misc.dm b/code/modules/mob/_modifiers/modifiers_misc.dm index ebcffc62c8..5cac1ad5cf 100644 --- a/code/modules/mob/_modifiers/modifiers_misc.dm +++ b/code/modules/mob/_modifiers/modifiers_misc.dm @@ -180,3 +180,22 @@ the artifact triggers the rage. accuracy = -75 // Aiming requires focus. accuracy_dispersion = 3 // Ditto. evasion = -45 // Too angry to dodge. + + + + +// 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/tick() + holder.adjustFireLoss(damage_per_tick) + diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index db20f7f744..6227ddd46d 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -135,6 +135,27 @@ emp_act return siemens_coefficient +// Similar to above but is for the mob's overall protection, being the average of all slots. +/mob/living/carbon/human/proc/get_siemens_coefficient_average() + var/siemens_value = 0 + var/total = 0 + for(var/organ_name in organs_by_name) + if(organ_name in organ_rel_size) + var/obj/item/organ/external/organ = organs_by_name[organ_name] + if(organ) + var/weight = organ_rel_size[organ_name] + siemens_value += get_siemens_coefficient_organ(organ) * weight + total += weight + + if(fire_stacks < 0) // Water makes you more conductive. + siemens_value *= 1.5 + + return (siemens_value/max(total, 1)) + +// Returns a number between 0 to 1, with 1 being total protection. +/mob/living/carbon/human/get_shock_protection() + return between(0, 1-get_siemens_coefficient_average(), 1) + // Returns a list of clothing that is currently covering def_zone. /mob/living/carbon/human/proc/get_clothing_list_organ(var/obj/item/organ/external/def_zone, var/type) var/list/results = list() @@ -540,6 +561,20 @@ emp_act return perm +// This is for preventing harm by being covered in water, which only prometheans need to deal with. +// This is not actually used for now since the code for prometheans gets changed a lot. +/mob/living/carbon/human/get_water_protection() + var/protection = ..() // Todo: Replace with species var later. + if(protection == 1) // No point doing permeability checks if it won't matter. + return protection + // Wearing clothing with a low permeability_coefficient can protect from water. + + var/converted_protection = 1 - protection + var/perm = reagent_permeability() + converted_protection *= perm + return 1-converted_protection + + /mob/living/carbon/human/shank_attack(obj/item/W, obj/item/weapon/grab/G, mob/user, hit_zone) if(!..()) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 3892f8310e..a54234a0b1 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -499,6 +499,28 @@ default behaviour is: // ++++ROCKDTBEN++++ MOB PROCS //END +// Applies direct "cold" damage while checking protection against the cold. +/mob/living/proc/inflict_cold_damage(amount) + amount *= 1 - get_cold_protection(50) // Within spacesuit protection. + if(amount > 0) + adjustFireLoss(amount) + +// Ditto, but for "heat". +/mob/living/proc/inflict_heat_damage(amount) + amount *= 1 - get_heat_protection(10000) // Within firesuit protection. + if(amount > 0) + adjustFireLoss(amount) + +// and one for electricity because why not +/mob/living/proc/inflict_shock_damage(amount) + electrocute_act(amount, null, get_shock_protection()) + +// also one for water (most things resist it entirely, except for slimes) +/mob/living/proc/inflict_water_damage(amount) + amount *= 1 - get_water_protection() + if(amount > 0) + adjustToxLoss(amount) + /mob/proc/get_contents() @@ -1015,7 +1037,7 @@ default behaviour is: if(lying != lying_prev) lying_prev = lying update_transform() - + return canmove // Adds overlays for specific modifiers. diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index e0e85edbcd..7f75cdb316 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -426,6 +426,12 @@ /mob/living/proc/get_heat_protection() return 0 +/mob/living/proc/get_shock_protection() + return 0 + +/mob/living/proc/get_water_protection() + return 1 // Water won't hurt most things. + //Finds the effective temperature that the mob is burning at. /mob/living/proc/fire_burn_temperature() if (fire_stacks <= 0) diff --git a/code/modules/mob/living/simple_animal/aliens/hivebot.dm b/code/modules/mob/living/simple_animal/aliens/hivebot.dm index 70e3d20f84..04fee362e9 100644 --- a/code/modules/mob/living/simple_animal/aliens/hivebot.dm +++ b/code/modules/mob/living/simple_animal/aliens/hivebot.dm @@ -237,3 +237,5 @@ /obj/item/projectile/bullet/hivebot damage = 10 damage_type = BRUTE + +#undef LASERS_TO_KILL \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index f2281823a1..27467de997 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -1547,13 +1547,13 @@ return 0 else return armorval - +/* // Force it to target something /mob/living/simple_animal/proc/taunt(var/mob/living/new_target, var/forced = FALSE) if(intelligence_level == SA_HUMANOID && !forced) return set_target(new_target) - +*/ /mob/living/simple_animal/is_sentient() return intelligence_level != SA_PLANT && intelligence_level != SA_ROBOTIC diff --git a/code/modules/mob/living/simple_mob/combat.dm b/code/modules/mob/living/simple_mob/combat.dm index 08ed8a4d83..a0e86e5bdd 100644 --- a/code/modules/mob/living/simple_mob/combat.dm +++ b/code/modules/mob/living/simple_mob/combat.dm @@ -128,12 +128,17 @@ return TRUE +// Should we do one? Used to make the AI not waste their special attacks. Only checked for AI. Players are free to screw up on their own. +/mob/living/simple_mob/proc/should_special_attack(atom/A) + return TRUE // Special attacks, like grenades or blinding spit or whatever. // Don't override this, override do_special_attack() for your blinding spit/etc. /mob/living/simple_mob/proc/special_attack_target(atom/A) last_special_attack = world.time if(do_special_attack(A)) + if(special_attack_charges) + special_attack_charges -= 1 return TRUE return FALSE diff --git a/code/modules/mob/living/simple_mob/defense.dm b/code/modules/mob/living/simple_mob/defense.dm index dac6bfeafc..fd2585c660 100644 --- a/code/modules/mob/living/simple_mob/defense.dm +++ b/code/modules/mob/living/simple_mob/defense.dm @@ -113,6 +113,10 @@ if(bombdam > maxHealth) gib() +// Cold stuff. +/mob/living/simple_mob/get_cold_protection() + return cold_resist + // Fire stuff. Not really exciting at the moment. /mob/living/simple_mob/handle_fire() @@ -124,6 +128,8 @@ /mob/living/simple_mob/ExtinguishMob() return +/mob/living/simple_mob/get_heat_protection() + return heat_resist // Electricity /mob/living/simple_mob/electrocute_act(var/shock_damage, var/obj/source, var/siemens_coeff = 1.0, var/def_zone = null) @@ -138,6 +144,8 @@ s.set_up(5, 1, loc) s.start() +/mob/living/simple_mob/get_shock_protection() + return shock_resist // Shot with taser/stunvolver /mob/living/simple_mob/stun_effect_act(var/stun_amount, var/agony_amount, var/def_zone, var/used_weapon=null) @@ -174,6 +182,9 @@ adjustFireLoss(min(7, getMaxHealth()*0.0625)) // adjustFireLoss(rand(1, 6)) +// Water +/mob/living/simple_mob/get_water_protection() + return water_resist // Armor /mob/living/simple_mob/getarmor(def_zone, attack_flag) diff --git a/code/modules/mob/living/simple_mob/simple_mob.dm b/code/modules/mob/living/simple_mob/simple_mob.dm index 499efd8314..f874a9a43f 100644 --- a/code/modules/mob/living/simple_mob/simple_mob.dm +++ b/code/modules/mob/living/simple_mob/simple_mob.dm @@ -122,6 +122,12 @@ "bio" = 0, "rad" = 0 ) + // Protection against heat/cold/electric/water effects. + // 0 is no protection, 1 is total protection. Negative numbers increase vulnerability. + var/heat_resist = 0.0 + var/cold_resist = 0.0 + var/shock_resist = 0.0 + var/water_resist = 1.0 var/purge = 0 // Cult stuff. var/supernatural = FALSE // Ditto. @@ -165,9 +171,10 @@ ..(act, type, desc) -/mob/living/simple_mob/SelfMove() +/mob/living/simple_mob/SelfMove(turf/n, direct) + var/turf/old_turf = get_turf(src) . = ..() - if(movement_sound) + if(movement_sound && old_turf != get_turf(src)) playsound(src, movement_sound, 50, 1) /mob/living/simple_mob/movement_delay() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm index bf95f40b6c..82a68d4c1f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm @@ -14,7 +14,7 @@ health = 120 melee_damage_lower = 10 - melee_damage_upper = 20 + melee_damage_upper = 10 poison_chance = 15 poison_per_bite = 3 @@ -22,12 +22,12 @@ // ai_holder_type = /datum/ai_holder/simple_mob/melee/tunneler - player_msg = "You can perform a tunneling attack by clicking on someone from a distance while on natural terrain.
\ + player_msg = "You can perform a tunneling attack by clicking on someone from a distance.
\ There is a noticable travel delay as you tunnel towards the tile the target was at when you started the tunneling attack.
\ Any entities inbetween you and the targeted tile will be stunned for a brief period of time.
\ Whatever is on the targeted tile when you arrive will suffer a potent stun.
\ If nothing is on the targeted tile, you will overshoot and keep going for a few more tiles.
\ - If you hit a wall or other solid structure during that time, you will suffer a lengthy stun." + If you hit a wall or other solid structure during that time, you will suffer a lengthy stun and be vulnerable to more harm." // Tunneling is a special attack, similar to the hunter's Leap. special_attack_min_range = 2 @@ -43,6 +43,21 @@ /mob/living/simple_mob/animal/giant_spider/tunneler/fast tunnel_tile_speed = 1 +/mob/living/simple_mob/animal/giant_spider/tunneler/should_special_attack(atom/A) + // Make sure its possible for the spider to reach the target so it doesn't try to go through a window. + var/turf/destination = get_turf(A) + var/turf/starting_turf = get_turf(src) + var/turf/T = starting_turf + for(var/i = 1 to get_dist(starting_turf, destination)) + if(T == destination) + break + + T = get_step(T, get_dir(T, destination)) + if(T.check_density(ignore_mobs = TRUE)) + return FALSE + return T == destination + + /mob/living/simple_mob/animal/giant_spider/tunneler/do_special_attack(atom/A) set waitfor = FALSE set_AI_busy(TRUE) @@ -57,14 +72,17 @@ // Do the dig! visible_message(span("danger","\The [src] tunnels towards \the [A]!")) + submerge() if(handle_tunnel(destination) == FALSE) set_AI_busy(FALSE) + emerge() return FALSE // Did we make it? if(!(src in destination)) set_AI_busy(FALSE) + emerge() return FALSE var/overshoot = TRUE @@ -75,11 +93,13 @@ continue visible_message(span("danger","\The [src] erupts from underneath, and hits \the [L]!")) + playsound(L, 'sound/weapons/heavysmash.ogg', 75, 1) L.Weaken(3) overshoot = FALSE if(!overshoot) // We hit the target, or something, at destination, so we're done. set_AI_busy(FALSE) + emerge() return TRUE // Otherwise we need to keep going. @@ -91,9 +111,11 @@ if(handle_tunnel(destination) == FALSE) set_AI_busy(FALSE) + emerge() return FALSE set_AI_busy(FALSE) + emerge() return FALSE @@ -115,94 +137,49 @@ to_chat(src, span("critical", "You hit something really solid!")) playsound(src, "punch", 75, 1) Weaken(5) + add_modifier(/datum/modifier/tunneler_vulnerable, 10 SECONDS) return FALSE // Hit a wall. // Stun anyone in our way. for(var/mob/living/L in T) + playsound(L, 'sound/weapons/heavysmash.ogg', 75, 1) L.Weaken(2) // Get into the tile. forceMove(T) // Visuals and sound. - new /obj/item/weapon/ore/glass(T) + dig_under_floor(get_turf(src)) playsound(src, 'sound/effects/break_stone.ogg', 75, 1) sleep(tunnel_tile_speed) +// For visuals. +/mob/living/simple_mob/animal/giant_spider/tunneler/proc/submerge() + alpha = 0 + dig_under_floor(get_turf(src)) + new /obj/effect/temporary_effect/tunneler_hole(get_turf(src)) +// Ditto. +/mob/living/simple_mob/animal/giant_spider/tunneler/proc/emerge() + alpha = 255 + dig_under_floor(get_turf(src)) + new /obj/effect/temporary_effect/tunneler_hole(get_turf(src)) -/* -// The actual leaping attack. -/mob/living/simple_mob/animal/giant_spider/hunter/do_special_attack(atom/A) - set waitfor = FALSE - set_AI_busy(TRUE) +/mob/living/simple_mob/animal/giant_spider/tunneler/proc/dig_under_floor(turf/T) + new /obj/item/weapon/ore/glass(T) // This will be rather weird when on station but the alternative is too much work. - // Telegraph, since getting stunned suddenly feels bad. - do_windup_animation(A, leap_warmup) - sleep(leap_warmup) // For the telegraphing. +/obj/effect/temporary_effect/tunneler_hole + name = "hole" + desc = "A collapsing tunnel hole." + icon_state = "tunnel_hole" + time_to_die = 1 MINUTE - // Do the actual leap. - status_flags |= LEAPING // Lets us pass over everything. - visible_message(span("danger","\The [src] leaps at \the [A]!")) - throw_at(get_step(get_turf(A), get_turf(src)), special_attack_max_range+1, 1, src) - playsound(src, 'sound/weapons/spiderlunge.ogg', 75, 1) +/datum/modifier/tunneler_vulnerable + name = "Vulnerable" + desc = "You are vulnerable to more harm than usual." + on_created_text = "You feel vulnerable..." + on_expired_text = "You feel better." + stacks = MODIFIER_STACK_EXTEND - sleep(5) // For the throw to complete. It won't hold up the AI ticker due to waitfor being false. - - if(status_flags & LEAPING) - status_flags &= ~LEAPING // Revert special passage ability. - - var/turf/T = get_turf(src) // Where we landed. This might be different than A's turf. - - . = FALSE - - // Now for the stun. - var/mob/living/victim = null - for(var/mob/living/L in T) // So player-controlled spiders only need to click the tile to stun them. - if(L == src) - continue - - if(ishuman(L)) - var/mob/living/carbon/human/H = L - if(H.check_shields(damage = 0, damage_source = src, attacker = src, def_zone = null, attack_text = "the leap")) - continue // We were blocked. - - victim = L - break - - if(victim) - victim.Weaken(2) - victim.visible_message(span("danger","\The [src] knocks down \the [victim]!")) - to_chat(victim, span("critical", "\The [src] jumps on you!")) - . = TRUE - - set_AI_busy(FALSE) -*/ - -/* -/mob/living/simple_animal/hostile/giant_spider/tunneler - desc = "Sandy and brown, it makes you shudder to look at it. This one has glittering yellow eyes." - icon_state = "tunneler" - icon_living = "tunneler" - icon_dead = "tunneler_dead" - - maxHealth = 120 - health = 120 - move_to_delay = 4 - - melee_damage_lower = 10 - melee_damage_upper = 20 - - poison_chance = 15 - poison_per_bite = 3 - poison_type = "serotrotium_v" - -/mob/living/simple_animal/hostile/giant_spider/tunneler/death() - spawn(1) - for(var/I = 1 to rand(3,6)) - if(src) - new/obj/item/weapon/ore/glass(src.loc) - else - break - return ..() -*/ \ No newline at end of file + incoming_damage_percent = 2 + evasion = -100 \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/hivebot.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/hivebot.dm new file mode 100644 index 0000000000..e0b47c1b7d --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/hivebot.dm @@ -0,0 +1,42 @@ +// Hivebots are tuned towards how many default lasers are needed to kill them. +// As such, if laser damage is ever changed, you should change this define. +#define LASERS_TO_KILL *30 + +/mob/living/simple_mob/mechanical/hivebot + name = "hivebot" + desc = "A robot. It appears to be somewhat resilient, but lacks a true weapon." + icon = 'icons/mob/hivebot.dmi' + icon_state = "basic" + icon_living = "basic" + icon_dead = "basic" + + faction = "hivebot" + + maxHealth = 3 LASERS_TO_KILL + health = 3 LASERS_TO_KILL + water_resist = 0.5 + movement_sound = 'sound/effects/servostep.ogg' + + attacktext = list("clawed") + projectilesound = 'sound/weapons/Gunshot.ogg' + projectiletype = /obj/item/projectile/bullet/hivebot + + ai_holder_type = /datum/ai_holder/simple_mob/hivebot + say_list_type = /datum/say_list/hivebot + + +/mob/living/simple_mob/mechanical/hivebot/death() + ..() + visible_message(span("warning","\The [src] blows apart!")) + new /obj/effect/decal/cleanable/blood/gibs/robot(src.loc) + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(3, 1, src) + s.start() + qdel(src) + +// The hivebot's default projectile. +/obj/item/projectile/bullet/hivebot + damage = 10 + damage_type = BRUTE + sharp = FALSE + edge = FALSE diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/ranged_damage.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/ranged_damage.dm new file mode 100644 index 0000000000..9f9094b3d2 --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/ranged_damage.dm @@ -0,0 +1,106 @@ +// These hivebots are intended for general damage causing, at range. + +/mob/living/simple_mob/mechanical/hivebot/ranged_damage + maxHealth = 2 LASERS_TO_KILL // 60 health + health = 2 LASERS_TO_KILL + + +// The regular ranged hivebot, that fires somewhat weak projectiles. +/mob/living/simple_mob/mechanical/hivebot/ranged_damage/basic + name = "ranged hivebot" + desc = "A robot with a makeshift integrated ballistic weapon." + + +// This one shoots quickly, and is considerably more dangerous. +/mob/living/simple_mob/mechanical/hivebot/ranged_damage/rapid + name = "rapid hivebot" + desc = "A robot with a crude but deadly integrated rifle." + base_attack_cooldown = 5 // Two attacks a second or so. + player_msg = "You have a rapid fire attack." + + +// Shoots deadly lasers. +/mob/living/simple_mob/mechanical/hivebot/ranged_damage/laser + name = "laser hivebot" + desc = "A robot with a photonic weapon integrated into itself." + projectiletype = /obj/item/projectile/beam/blue + projectilesound = 'sound/weapons/Laser.ogg' + player_msg = "You have a laser attack." + + +// Shoots EMPs, to screw over other robots. +/mob/living/simple_mob/mechanical/hivebot/ranged_damage/ion + name = "ionic hivebot" + desc = "A robot with an electromagnetic pulse projector." + projectiletype = /obj/item/projectile/ion + projectilesound = 'sound/weapons/Laser.ogg' + player_msg = "You have a ranged ion attack, which is very strong against other synthetics.
\ + Be careful to not hit yourself or your team, as it will affect you as well." + +// Beefy and ranged. +/mob/living/simple_mob/mechanical/hivebot/ranged_damage/strong + name = "strong hivebot" + desc = "A robot with a crude ballistic weapon and strong armor." + maxHealth = 4 LASERS_TO_KILL // 120 health. + health = 4 LASERS_TO_KILL + melee_damage_lower = 15 + melee_damage_upper = 15 + +// Also beefy, but tries to stay at their 'home', ideal for base defense. +/mob/living/simple_mob/mechanical/hivebot/ranged_damage/strong/guard + name = "guard hivebot" + desc = "A robot that seems to be guarding something." +// ai_holder_type = todo + + +// Inflicts a damage-over-time modifier on things it hits. +// It is able to stack with repeated attacks. +/mob/living/simple_mob/mechanical/hivebot/ranged_damage/dot + name = "ember hivebot" + desc = "A robot that appears to utilize fire to cook their enemies." + projectiletype = /obj/item/projectile/fire + heat_resist = 1 + player_msg = "Your attacks inflict a damage over time effect, that will \ + harm your target slowly. The effect stacks with further attacks.
\ + You are also immune to fire." + +/obj/item/projectile/fire + name = "ember" + icon_state = "fireball" + modifier_type_to_apply = /datum/modifier/fire + modifier_duration = 6 SECONDS // About 15 damage per stack, as Life() ticks every two seconds. + damage = 0 + nodamage = TRUE + + +// Very long ranged hivebot that rains down hell. +// Their projectiles arc, meaning they go over everything until it hits the ground. +// This means they're somewhat easier to avoid, but go over most defenses (like allies, or barriers), +// and tend to do more harm than a regular projectile, due to being AoE. +/mob/living/simple_mob/mechanical/hivebot/ranged_damage/siege + name = "siege engine hivebot" + desc = "A large robot capable of delivering long range bombardment." + projectiletype = /obj/item/projectile/arc/test + icon_scale = 2 + player_msg = "You are capable of firing very long range bombardment attacks.
\ + To use, click on a tile or enemy at a long range. Note that the projectile arcs in the air, \ + so it will fly over everything inbetween you and the target.
\ + The bombardment is most effective when attacking a static structure, as it cannot avoid your fire." + +// Fires EMP blasts. +/mob/living/simple_mob/mechanical/hivebot/ranged_damage/siege/emp + name = "ionic artillery hivebot" + desc = "A large robot capable of annihilating electronics from a long distance." + projectiletype = /obj/item/projectile/arc/emp_blast + +// Fires shots that irradiate the tile hit. +/mob/living/simple_mob/mechanical/hivebot/ranged_damage/siege/radiation + name = "desolator hivebot" + desc = "A large robot capable of irradiating a large area from afar." + projectiletype = /obj/item/projectile/arc/radioactive + +// Essentially a long ranged frag grenade. +/mob/living/simple_mob/mechanical/hivebot/ranged_damage/siege/fragmentation + name = "anti-personnel artillery hivebot" + desc = "A large robot capable of delivering fragmentation shells to rip apart their fleshy enemies." + projectiletype = /obj/item/projectile/arc/fragmentation diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/support.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/support.dm new file mode 100644 index 0000000000..4aa9b4051e --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/support.dm @@ -0,0 +1,87 @@ +// These hivebots help their team in various ways, and can be very powerful with allies, but are otherwise very weak when alone. + +/mob/living/simple_mob/mechanical/hivebot/support + attacktext = list("prodded") + movement_cooldown = 5 + melee_damage_lower = 2 + melee_damage_upper = 2 + + +// This hivebot supplies a general buff to nearby hivebots that improve their performance. +// Note that the commander itself does not receive the buff. +/mob/living/simple_mob/mechanical/hivebot/support/commander + name = "commander hivebot" + desc = "A robot that appears to be directing the others." + maxHealth = 5 LASERS_TO_KILL // 150 health + health = 5 LASERS_TO_KILL + player_msg = "You increase the performance of other hivebots near you passively.
\ + You are otherwise very weak offensively." + +/mob/living/simple_mob/mechanical/hivebot/support/commander/handle_special() + world << "Wew" + for(var/mob/living/L in range(4)) + if(L == src) + continue // Don't buff ourselves. + if(L.faction == src.faction && L.isSynthetic()) // Don't buff enemies. + world << "Adding modifier." + L.add_modifier(/datum/modifier/aura/hivebot_commander_buff, null, src) + +// Modifier added to friendly hivebots nearby. +// Boosts most stats by 30%. +// The boost is lost if the commander is too far away or dies. +/datum/modifier/aura/hivebot_commander_buff + name = "Strategicals" + on_created_text = "Signal established with commander. Optimizating combat performance..." + on_expired_text = "Lost signal to commander. Optimization halting." + stacks = MODIFIER_STACK_FORBID + aura_max_distance = 4 + mob_overlay_state = "signal_blue" + + disable_duration_percent = 0.7 + outgoing_melee_damage_percent = 1.3 + attack_speed_percent = 1.3 + accuracy = 30 + slowdown = -1 + evasion = 30 + +// Variant that automatically commands nearby allies to follow it when created. +// Useful to avoid having to manually set follow to a lot of hivebots that are gonna die in the next minute anyways. +/mob/living/simple_mob/mechanical/hivebot/support/commander/autofollow/initialize() + for(var/mob/living/L in hearers(7, src)) + if(!L.ai_holder) + continue + if(L.faction != src.faction) + continue + var/datum/ai_holder/AI = L.ai_holder + AI.set_follow(src) + return ..() + + +// This hivebot adds charges to nearby allied hivebots that use the charge system for their special attacks. +// A charge is given to a nearby ally every so often. +// Charges cannot exceed the initial starting amount. +/mob/living/simple_mob/mechanical/hivebot/support/logistics + name = "logistics hivebot" + desc = "A robot that resupplies their allies." + maxHealth = 3 LASERS_TO_KILL // 90 health + health = 3 LASERS_TO_KILL + player_msg = "You passively restore 'charges' to allies with special abilities who are \ + limited to using them a specific number of times." + var/resupply_range = 5 + var/resupply_cooldown = 4 SECONDS + var/last_resupply = null + +/mob/living/simple_mob/mechanical/hivebot/support/logistics/handle_special() + if(last_resupply + resupply_cooldown > world.time) + return // On cooldown. + + for(var/mob/living/simple_mob/SM in hearers(resupply_range, src)) + if(SM == src) + continue // We don't use charges buuuuut in case that changes in the future... + if(SM.faction == src.faction) // Don't resupply enemies. + if(!isnull(SM.special_attack_charges) && SM.special_attack_charges < initial(SM.special_attack_charges)) + SM.special_attack_charges += 1 + to_chat(SM, span("notice", "\The [src] has resupplied you, and you can use your special ability one additional time.")) + to_chat(src, span("notice", "You have resupplied \the [SM].")) + last_resupply = world.time + break // Only one resupply per pulse. diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/tank.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/tank.dm new file mode 100644 index 0000000000..007f190c04 --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/tank.dm @@ -0,0 +1,166 @@ +// These hivebots are harder to kill than normal, and are meant to protect their squad by +// distracting their enemies. This is done by being seen as very threatening. +// Their melee attacks weaken whatever they hit. + +/mob/living/simple_mob/mechanical/hivebot/tank + attacktext = list("prodded") + projectiletype = null // To force the AI to melee. + movement_cooldown = 10 + melee_damage_lower = 3 + melee_damage_upper = 3 + attack_sound = 'sound/weapons/Egloves.ogg' + +// All tank hivebots apply a modifier to their target, and force them to attack them if they're AI controlled. +/mob/living/simple_mob/mechanical/hivebot/tank/apply_melee_effects(atom/A) + if(isliving(A)) + var/mob/living/L = A + L.taunt(src, TRUE) + L.add_modifier(/datum/modifier/hivebot_weaken, 3 SECONDS) + +// Modifier applied to whatever a tank hivebot hits, intended to make the target do even less damage. +/datum/modifier/hivebot_weaken + name = "Shocked" + desc = "You feel less able to exert yourself after being prodded." + on_created_text = "You feel weak..." + on_expired_text = "You feel better." + stacks = MODIFIER_STACK_EXTEND + mob_overlay_state = "electricity" + + attack_speed_percent = 0.6 + outgoing_melee_damage_percent = 0.7 + accuracy = -40 + accuracy_dispersion = 1 + slowdown = 1 + evasion = -20 + +// This one is tanky by having a massive amount of health. +/mob/living/simple_mob/mechanical/hivebot/tank/meatshield + name = "bulky hivebot" + desc = "A large robot." + maxHealth = 10 LASERS_TO_KILL // 300 health + health = 10 LASERS_TO_KILL + icon_scale = 2 + player_msg = "You have a very large amount of health." + + +// This one is tanky by having armor. +/mob/living/simple_mob/mechanical/hivebot/tank/armored + name = "armored hivebot" + desc = "A robot clad in heavy armor." + maxHealth = 5 LASERS_TO_KILL // 150 health. + health = 5 LASERS_TO_KILL + icon_scale = 1.5 + player_msg = "You are heavily armored." + // Note that armor effectively makes lasers do about 9 damage instead of 30, + // so it has an effective health of ~16.6 LASERS_TO_KILL if regular lasers are used. + // Xrays will do much better against this. + armor = list( + "melee" = 40, + "bullet" = 40, + "laser" = 40, + "energy" = 30, + "bomb" = 30, + "bio" = 100, + "rad" = 100 + ) + armor_soak = list( + "melee" = 15, + "bullet" = 10, + "laser" = 15, + "energy" = 0, + "bomb" = 0, + "bio" = 0, + "rad" = 0 + ) + +/mob/living/simple_mob/mechanical/hivebot/tank/armored/anti_melee + name = "riot hivebot" + desc = "A robot specialized in close quarters combat." + player_msg = "You are heavily armored against close quarters combat." + armor = list( + "melee" = 70, + "bullet" = 0, + "laser" = 0, + "energy" = 0, + "bomb" = 0, + "bio" = 100, + "rad" = 100 + ) + armor_soak = list( + "melee" = 20, + "bullet" = 0, + "laser" = 0, + "energy" = 0, + "bomb" = 0, + "bio" = 0, + "rad" = 0 + ) + +/mob/living/simple_mob/mechanical/hivebot/tank/armored/anti_bullet + name = "bulletproof hivebot" + desc = "A robot specialized in ballistic defense." + player_msg = "You are heavily armored against ballistic weapons." + armor = list( + "melee" = 0, + "bullet" = 70, + "laser" = 0, + "energy" = 0, + "bomb" = 0, + "bio" = 100, + "rad" = 100 + ) + armor_soak = list( + "melee" = 0, + "bullet" = 20, + "laser" = 0, + "energy" = 0, + "bomb" = 0, + "bio" = 0, + "rad" = 0 + ) + +/mob/living/simple_mob/mechanical/hivebot/tank/armored/anti_laser + name = "ablative hivebot" + desc = "A robot specialized in photonic defense." + player_msg = "You are heavily armored against laser weapons." + armor = list( + "melee" = 0, + "bullet" = 0, + "laser" = 70, + "energy" = 0, + "bomb" = 0, + "bio" = 100, + "rad" = 100 + ) + armor_soak = list( + "melee" = 0, + "bullet" = 0, + "laser" = 20, + "energy" = 0, + "bomb" = 0, + "bio" = 0, + "rad" = 0 + ) + var/reflect_chance = 40 // Same as regular ablative. + +// Ablative Hivebots can reflect lasers just like humans. +/mob/living/simple_mob/mechanical/hivebot/tank/armored/anti_laser/bullet_act(obj/item/projectile/P) + if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam)) + var/reflect_prob = reflect_chance - round(P.damage/3) + if(prob(reflect_prob)) + visible_message(span("danger", "The [P.name] gets reflected by [src]'s armor!"), \ + span("userdanger", "The [P.name] gets reflected by [src]'s armor!")) + + // Find a turf near or on the original location to bounce to + if(P.starting) + var/new_x = P.starting.x + pick(0, 0, -1, 1, -2, 2, -2, 2, -2, 2, -3, 3, -3, 3) + var/new_y = P.starting.y + pick(0, 0, -1, 1, -2, 2, -2, 2, -2, 2, -3, 3, -3, 3) + var/turf/curloc = get_turf(src) + + // redirect the projectile + P.redirect(new_x, new_y, curloc, src) + P.reflected = 1 + + return -1 // complete projectile permutation + + return (..(P)) diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/mechanical.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/mechanical.dm index 7a800056f6..57d4055b26 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/mechanical.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/mechanical.dm @@ -1,3 +1,4 @@ +// Mechanical mobs don't care about the atmosphere and cannot be hurt by tasers. /mob/living/simple_mob/mechanical mob_class = MOB_CLASS_SYNTHETIC min_oxy = 0 diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index ad005e8aa5..8b113299b3 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -59,6 +59,8 @@ var/drowsy = 0 var/agony = 0 var/reflected = 0 // This should be set to 1 if reflected by any means, to prevent infinite reflections. + var/modifier_type_to_apply = null // If set, will apply a modifier to mobs that are hit by this projectile. + var/modifier_duration = null // How long the above modifier should last for. Leave null to be permanent. embed_chance = 0 //Base chance for a projectile to embed @@ -86,6 +88,8 @@ // if(isanimal(target)) return 0 var/mob/living/L = target L.apply_effects(stun, weaken, paralyze, irradiate, stutter, eyeblur, drowsy, agony, blocked, incendiary, flammability) // add in AGONY! + if(modifier_type_to_apply) + L.add_modifier(modifier_type_to_apply, modifier_duration) return 1 //called when the projectile stops flying because it collided with something @@ -323,6 +327,7 @@ before_move() Move(location.return_turf()) + after_move() if(!bumped && !isturf(original)) if(loc == get_turf(original)) @@ -348,6 +353,9 @@ /obj/item/projectile/proc/before_move() return +/obj/item/projectile/proc/after_move() + return + /obj/item/projectile/proc/setup_trajectory(turf/startloc, turf/targloc, var/x_offset = 0, var/y_offset = 0) // setup projectile state starting = startloc diff --git a/code/modules/projectiles/projectile/arc.dm b/code/modules/projectiles/projectile/arc.dm new file mode 100644 index 0000000000..28e0c39a12 --- /dev/null +++ b/code/modules/projectiles/projectile/arc.dm @@ -0,0 +1,127 @@ +// These projectiles are somewhat different from the other projectiles in the code. +// First, these have an 'arcing' visual, that is accomplished by having the projectile icon rotate as its flying, and +// moving up, then down as it approaches the target. There is also a small shadow effect that follows the projectile +// as its flying. + +// Besides the visuals, arcing projectiles do not collide with anything until they reach the target, as they fly over them. +// For best effect, use this only when it makes sense to do so, IE on the Surface. The projectiles don't care about ceilings or gravity. + +/obj/item/projectile/arc + name = "arcing shot" + icon_state = "fireball" // WIP + step_delay = 2 // Travel a bit slower, to really sell the arc visuals. + plane = ABOVE_PLANE // Since projectiles are 'in the air', they might visually overlap mobs while in flight, so the projectile needs to be above their plane. + var/target_distance = null // How many tiles the impact site is. + var/fired_dir = null // Which direction was the projectile fired towards. Needed to invert the projectile turning based on if facing left or right. + var/obj/effect/projectile_shadow/shadow = null // Visual indicator for the projectile's 'true' position. Needed due to being bound to two dimensions in reality. + +/obj/item/projectile/arc/initialize() + shadow = new(get_turf(src)) + return ..() + +/obj/item/projectile/arc/Destroy() + qdel_null(shadow) + return ..() + +/obj/item/projectile/arc/Bump(atom/A, forced=0) + return 0 +// if(get_turf(src) != original) +// return 0 +// else +// return ..() + +// This is a test projectile in the sense that its testing the code to make sure it works, +// as opposed to a 'can I hit this thing' projectile. +/obj/item/projectile/arc/test/on_impact(turf/T) + new /obj/effect/explosion(T) + return ..() + +/obj/item/projectile/arc/launch(atom/target, target_zone, x_offset=0, y_offset=0, angle_offset=0) + var/expected_distance = get_dist(target, loc) + kill_count = expected_distance // So the projectile "hits the ground." + target_distance = expected_distance + fired_dir = get_dir(loc, target) + ..() // Does the regular launching stuff. + if(fired_dir & EAST) + transform = turn(transform, -45) + else if(fired_dir & WEST) + transform = turn(transform, 45) + + +// Visuals. +/obj/item/projectile/arc/after_move() + // Handle projectile turning in flight. + // This won't turn if fired north/south, as it looks weird. + var/turn_per_step = 90 / target_distance + if(fired_dir & EAST) + transform = turn(transform, turn_per_step) + else if(fired_dir & WEST) + transform = turn(transform, -turn_per_step) + + // Now for the fake height. + // We need to know how far along our "arc" we are. + var/arc_progress = get_dist(src, original) + var/arc_max_height = (target_distance * world.icon_size) / 2 // TODO: Real math. +// var/arc_center = target_distance / 2 +// var/projectile_position = abs(arc_progress - arc_center) +// var/height_multiplier = projectile_position / arc_center +// height_multiplier = abs(height_multiplier - 1) +// height_multiplier = height_multiplier ** 2 + + +// animate(src, pixel_z = arc_max_height * height_multiplier, time = step_delay) + var/projectile_position = arc_progress / target_distance + var/sine_position = projectile_position * 180 + var/pixel_z_position = arc_max_height * sin(sine_position) + animate(src, pixel_z = pixel_z_position, time = step_delay) + + // Update our shadow. + shadow.forceMove(loc) + + + +/obj/effect/projectile_shadow + name = "shadow" + desc = "You better avoid the thing coming down!" + icon = 'icons/obj/projectiles.dmi' + icon_state = "arc_shadow" + anchored = TRUE + + +// Subtypes + +/obj/item/projectile/arc/emp_blast + name = "emp blast" + icon_state = "bluespace" + +/obj/item/projectile/arc/emp_blast/on_impact(turf/T) + empulse(T, 2, 4, 7, 10) // Normal EMP grenade. + return ..() + +/obj/item/projectile/arc/emp_blast/weak/on_impact(turf/T) + empulse(T, 1, 2, 3, 4) // Sec EMP grenade. + return ..() + + +/obj/item/projectile/arc/radioactive + name = "radiation blast" + icon_state = "green_pellet" + icon_scale = 2 + var/rad_power = 50 + +/obj/item/projectile/arc/radioactive/on_impact(turf/T) + radiation_repository.radiate(T, rad_power) + + +/obj/item/projectile/arc/fragmentation + name = "fragmentation shot" + icon_state = "shell" + var/list/fragment_types = list( + /obj/item/projectile/bullet/pellet/fragment, /obj/item/projectile/bullet/pellet/fragment, \ + /obj/item/projectile/bullet/pellet/fragment, /obj/item/projectile/bullet/pellet/fragment/strong + ) + var/fragment_amount = 63 // Same as a grenade. + var/spread_range = 7 + +/obj/item/projectile/arc/fragmentation/on_impact(turf/T) + fragmentate(T, fragment_amount, spread_range, fragment_types) diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index c1b5a8963a5f1d51ad834eb748e5912669155619..a3e47251921f6e7ea6ff5f6436944aa8e354bfee 100644 GIT binary patch delta 24665 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 delta 23632 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 U>x#X8D-mvTk_i4sgAqCWf9lv&9RL6T diff --git a/icons/misc/buildmode.dmi b/icons/misc/buildmode.dmi index c294178f91875ced6709f58d9924812df7450ae9..dc8de0b6d0ec4d3fd461aca3fa5aee4aab121807 100644 GIT binary patch delta 1502 zcmV<41tI#Z3-Ak&B!3uCOjJd{z`zC}4+B*l1v?fCT_pfe830HZX3PLayDotM0004W zQchCV=-0C=38(y0sZXl3x=@O-xdKeWMPdAd-K(gZsA2*|yzvJ!|$Iy@K<~oPXJdRkJxIHzk6Mr7S3s zpiVNpiVs787_-Bqw8$tC%K6x9N{((A;gR{*YBU1)d&)niL>ps&paO$R45~0_fk8_Q zT47L)LF-f`LEBVwnN&zH0Y<{D&PhZ;RA_BNApm!lfOuKG7n{h`v~Rt z?;)%)b${C}gq#QE_x*YgVMcT+V?&x)FA=UO-}scVV-=HZFv&FjXYse13k(7Zz` z^g1S7xZl(NgB7{kEZuJBKK}47e^~w9obIojrS*4H`efxSt-l*wEk|a9aUiZM?@~{_0sygu_lm2w14`&URr-QqX&f6-_2-mV`%i!`nw5@ zq#Qp|OpRVze>c{{d1(FJSnCYE*Guc~#(Gak2XTe6PqF@PtmT4Z;76*ZrwATv43)ndYnpTM;mS&KAO#zV#34h9IU^a(G=Af zxPQ9VDV+2T6=CsrGupFHu!P7fJ!c!^@5Y)|M%aSB%FR5q{%%5#R*Lm^GkUO6tiPMl z148TXrgR?Ns<(5nBYj5r@rNIO_{;di{>;CsdtDK&VQ`#>S8Mq^dnEUDcASUHdV&ye zOo(c)H?beaG`fT?K4uB`jy68k*@w$?{C~kDVGux-v2Bl50vIk3${$po8`6I!qZh*H z?5Kue_Ip%u$@7sN2#17}ySWtC8smf+L#cXf25QaVikrqEAzjg!!9l+xSZh}#x?@-O zCBYFco2?F^z*Rzr$wC%Fj23yCFvXB4(@KgPty4nALv}D-LJk;)9$^#1t5@QTsoB9=Vdn1lS{tEe`EaA>Uin1an>E)N=@AZdBdP z-8fC42;*~Xjw`}=MZH%wLwa47z!0-TT)Tv29}-Ro)m7fkJ_ivADP+LiB7a2)z9DS9 zO!t!-iIDsk8bTK=p{pxJ=3t}S7_MpZbz|7vRqJ<25+Sz$3t?O%+g2Uyw!1S)_7?ku zxAtUz&R4yc?}&f=;rn*(KPse9_7@6qGynhq07*qoM6N<$ Ef@sa>6#xJL delta 1434 zcmV;L1!em13#fFDZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5; z&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LYR3K9+sed#xCq;>iGbOXA7|6Ha z;!G<_%uNNc4bfEP=BK0@B9t1UDCNw_&o98C$%q_H#^h)+AxD!bIhxGK(PU1JCJRzE zWu)d5kgBJ!G_!=T9%ThrKNoN^0|18iuk;lfe=Yz31d&NZK~!jg?V4M%+cpe_nH@B4 zy8vegSwdzs!++<#BrB-60hZW)0Nz1~0%Wt3JRI7|(SM{Pe+Do33EO=7%-SFCYV-KQ z+Vfp)9?$*-9?y5RdHlI`?d$VhZ61Gr-)sB#pJ&!Ca6O(Mv;zo9o5x@MD|~xq4Z!ty zo@?;iW+7@M+`C4vxVKlVdOXjyOCpe-5n6wPFkQRZ3xC2KLmi8GC10yQ6FmJS=CwU(~;-gkr}(Lu+%0O@qp z&IjilT^~Z|2&I@wgw(~Cgr~hajo}XQx!)j^#$j5W{7u4(ahO_IN0|P84PlF^+m{g1 zI+*_6Z+~kD3!>{*Y?}wxON3iqZ+u>{V-`!Rg*wX(n&yoImi69=A$y0I==+#Z;(ky6 z4_0KgSz2!AKK$V-f7tw;PS0nK8U39~U(6gc`a4-uf^!aHraNjg`a4-;j`Q(}%tviT ze)31j$63KWa1jJB=0yxqrXYXwPHFv>E-KLIWyCj~r8`&FJrB zEsjI(?_}Mt&_``Xe<$lBA)bWI)_n^1cd||$4uKvyFFTa3=4I~hWK9ZrY1oySgoj`~ zv>0~&PS!Z);=|RMr0JV>s~#bcEI4 zX@9gQpTG%$W_np|n7@-X&Wx~!zL$q_$o-u{OEZQ0JB=1*3io#!Ef8{lr_!ZOv);kM zO8ScM!ykV5!{5dq&PV=TJ*$fJ+6w2X`ED*>uO8WbU7e@qidGO>kO`sN>nZlbklU2d z#fO&g=xF0%zxq&`j=xY6h6LEH*t|xY0)H585T+Y;p4;aC*os~WqqD;t2F34T#zoJE zb|9P*;@VBAxaAm^m?6}xM`obq49d8gfPK1 zLI>GGRziptSxuN@h?IFI#f{b_A>jczm?j-O@lq~^CDIKgntA#~b@0R}X zhrhrd8mZlWOX3ah23@@2UH>QE@Owi8K(-Be$ zkQ4GxBGJx*o)F!Yx8AaG$O);7bFXU%qq{0K)KkJzS<(_le{7k@W`t=B<_e~Ua1VLg zF(FK2(1DsT^4NZ6uob*)n3IQA5ng`-2#SLRHQ^zr^f7EZdeG$*>04DlS`GHU*9oUu ozTsW}C*E+m6=uH>zEsIl$Gee>JKul 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 literal 14742 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 diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi index 35d09318eeba57aef966ea67ff1f77e5d552fe97..6944780fc24e82ed540e62b23ea6545795318a70 100644 GIT binary patch delta 17135 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 D#|*R0 diff --git a/polaris.dme b/polaris.dme index 203a9d0529..e8c3a5c63e 100644 --- a/polaris.dme +++ b/polaris.dme @@ -1697,6 +1697,7 @@ #include "code\modules\mob\transform_procs.dm" #include "code\modules\mob\typing_indicator.dm" #include "code\modules\mob\update_icons.dm" +#include "code\modules\mob\_modifiers\auras.dm" #include "code\modules\mob\_modifiers\cloning.dm" #include "code\modules\mob\_modifiers\modifiers.dm" #include "code\modules\mob\_modifiers\modifiers_misc.dm" @@ -1962,6 +1963,10 @@ #include "code\modules\mob\living\simple_mob\subtypes\mechanical\combat_drone.dm" #include "code\modules\mob\living\simple_mob\subtypes\mechanical\mechanical.dm" #include "code\modules\mob\living\simple_mob\subtypes\mechanical\viscerator.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\hivebot.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\ranged_damage.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\support.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\tank.dm" #include "code\modules\mob\living\voice\voice.dm" #include "code\modules\mob\new_player\login.dm" #include "code\modules\mob\new_player\logout.dm" @@ -2162,6 +2167,7 @@ #include "code\modules\projectiles\guns\projectile\sniper.dm" #include "code\modules\projectiles\guns\projectile\sniper\collapsible_sniper.dm" #include "code\modules\projectiles\projectile\animate.dm" +#include "code\modules\projectiles\projectile\arc.dm" #include "code\modules\projectiles\projectile\beams.dm" #include "code\modules\projectiles\projectile\bullets.dm" #include "code\modules\projectiles\projectile\change.dm" diff --git a/sound/effects/break_stone.ogg b/sound/effects/break_stone.ogg new file mode 100644 index 0000000000000000000000000000000000000000..711fd50d482cb6d493396ede7776635e03a5c797 GIT binary patch literal 35871 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%0AGq0*XTUW6+!AZa-u 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 Lc;pP=H_#^l)@fHG literal 0 HcmV?d00001 diff --git a/sound/effects/servostep.ogg b/sound/effects/servostep.ogg new file mode 100644 index 0000000000000000000000000000000000000000..9999b99ccbc3fa23547175c2504ecd824e02fadd GIT binary patch literal 10714 zcmaiZ1z40%*Y~}2gLJzzOD`p;AQB2oFDxnDDGf@ew8YXOwJ6;!NOz|KiXaVQfEb8; zH~4>^_xaxMyWV%M*}3MPGjqy` zIRpvm_-BeQUgR2k8b5ZuUZ&9(GV?2TQ#x z_D~h5s0dtCL{vl!%B$((>fq*K<7wmS1-s-8!Tq}wCa<6e0SLemxEgdIWI72202BaV z&Iuz+wN-&((1pB@GSSMHy#bM!Omxfuy;VGX@Lvs7+?oaeaDWhA!o=cj6~{?wJ9?f( zj{<224XNi){8;Vx(uBR=xUF1E8%v#BCt+L!q=vWvXcswUwn%E^Wn&r57DW#>PnbQ1 z*`DWm5b?bz2qO|5hK8$&?v&xp$1>jv#RdIGYRmVl-|kx zry;!30}Ad%9*@DALZ0A~eKf2z(*tDnS1l+I0;&nzPo`F>qaLeco|xg({3@VLB{3tW zq@$~j0*kkazK_k4kN1*KpkZdDaciJqYozh(NR#i87W7g7)E|Ls-!JQx>QD$!z#*Of z0anD$ShOKsgdGu8i3M0+ngmLi!VXI*Rw=c0taiw0wy$V*8LJlo$WcPLXwU7+j~TrgI`rP3yv}Dt}mVg5!G z=v1h6(p@};t00NW^caOb2czOY9ru}Y>Ke<;f7Gcj%-WP(V4V>a)De?G>7w*~Tnsb3 zS6U)XUVE=C1+Fb6n9)W3cVPWHasV)BBCcW*Z5a|$C;aQ+e?^Wv^-wbNNHV8t zJ*WDtz{FQ^&13NyDkW`kbsZX$85-|7S{ofnlQ{{SIh4(UkIkEA8{?Kh!{&bi=5N@n zEqVV(2@*MWm)-qWkp2)EpqH*pJ&EC zkB;4mPUMYAcZkU@Z!2;htv+b~U+cdk=e`FgSi#6q^5FcB$mxbND}d2dFQ9(>S4Wu{ z(4byQbpPo90O(F4QN21xw2^`fNQnicAWB!}e~uWCx*)DTCk`4m4FDJbfCF@L1VyYz zlDw;o0ReoQ6Sq(rudts!;yHyFi8Lv@SJGV`nbs8PK9b}2NM0I6weSS48;MZT-qHsu zTT%qzv4;a_13(CT7~W6sF{v_Apg0L9%tH@L^I%eERbYbY^kOisQc9~2xy7?8BPD2h z)!4ieN~@SEa1nqH{)h{wlV~7v)Bs>ff+T`PqLGuZ?Ih$Ve2W>0kba)4Gbv5L5-|$L z%L}J~VVHF$VMELj<9D}m!>8}^0syod0{-NA#jTY93LfCS8|PH2xGFW5DwWa{wapTh z`cj(sgt&yZE^3SlwV;byp;bpUbE#9QtDoqisFYANsJV1?RFlh;xXl|~)LUBALbJ^Z zZIFJt_nMfxA^5lmQoWbb1I-p)OfvsrrA~dtN)olyETQd%(ni@B>Y@yNYz)7n^cMqF zL8^}W8yXa<8TICy3o1Qu-3w)+Z}a9m%8)k5cqwxIG;p2%lJnAnH%PTuw6SRMUgLGh zc5p0uQJ&3PUS3w->{4D`Wn8pdUQ|9>Z&zMjIa*&+QSE#HQmbE-*9(-F3slrso|Ow6 zG`}csuNtkd&8e<9X#PapCved2R$g6QQGa+zZLc~QbU$bp2`Gh)l~(Mxm$kRM9<;lU zH@h$wm+yD+jrG=!)_*!^7jE=s(?)r}MVoxk2la3<^UXK@9$D{l>s8g+D9B*;hxF7# z<~DFygDVp_Hh9c`$3iL*W0wu?w7e>(yyBqVmA|j@KwcXaXp&~LcEiMw&UNiZqVZBf zQTcv5-&hwY2);V_khw#I*XSFivqb1EzyPJv3Y7B2AI)W2uC*bJl`NxH&JCcH=` z3fFOxC|z{CBpAEMEM|Kmsut&w2_V7BrE?+M|I@!Tw{#R7T(qpZ6wX(dmI4ajUN(xC zM$cM;tWuEi;0j~sw$gM*kdTdxYuaA+be1@sH>$jpp$fhsJfF6G(*sYP5Ntp$gwUqo z@(8&M+q==oNfieQk8x=}LiurNo-z+Lc^C{eewTo&X;K;n8(5Sk;KIM;WlB2q&_KoN}MK`40c;4xt6!>8#>sI4g2G4!BcFw|C{ZRtJ9zW?;wjQKsBKVt?-=n;Gv~vC@NzeTI_#Zj@e`W9gQ_t9`3WVH$Hh|nKB7EQi zpGoh&6pWEr;8I5lGBDBW%LI3f#}W|*+bxLz-BYN5kmltAQ38X3@Bt$lZG_13L?ZdP zFzJ^^$Gj0j5af-|g;_*8f>Lf0U>fHyMZLbO48trM#R-BThX5Zf<0Yby;FN*amX+|5 zStJ;r^j4K%02w)fTXzzKH7#1kH-YvCPl!d!IEh6gV&J{28xW#g>mHR>($G8e{>s;E zV6rWLW$nw00TT2@!6jPQ6cHe*E-}Iu0lMMuSVYpl$0%;@{Dl?>sGYy_&|30W&>|=V z$6zcV$at@MTwsszZvuA(#t2Fo*PDRd1P zD}BGtMwwxNegO@~Q0pL_c5^M`wKems5b(ZAv>t*tIc(OWvdL#0yir0401*l{u~0b( zHT^IsC;|rt6x4Q4!yn+_Y*LC6kq`|pH#Ji&1xF)OK&Ta%GGa!RI{~*@TL-m?CJvi9spPYAcYjl&Ymru zNcNOGi6Z%03S}x48iX$Z)IvhYfe=pI=;&zM#NxgW*qn;i5heYbI9ylc%Z7m9?^Olo zs{i+b+^zDLe0f2>6yt#-!othW0p;fx5E0?#=HlXo3%7Ie@Q8>A2@As~dU_`phq{MX z=7y#wNBhtcU*5G+bx^&_ZjcORTRk0o-QHMVe_oBrFNJ$cx`Klrl=@xB2_8tWtQ*$yVh4T{Eye@9qt&OjT+os#9V(X6e4QxQA1o4x) zi4RGxpETs~qPFv<5BFcoC{KqBRe(i3%ov8 z7^;hhHaj)0wzu8M1kxU|{@z$LvNE*pTm3^P3^c-V9bTa%y^T!HG6=1S8vvn%rwU8< z;F`ufy*NG~j__0V#-e81xzqCr3s{l&I2?8)tub(I!_GgQSd^9Q-pdt-4Lt3_0>PRu z!RLKGTR2LUG^}6opLUiN@9RJSPSGr^==#j;j|u=Q{>qf;xX|9frat|v%D6R;NK&Q9 z;ehKi#6SuBJd_#LB>Ygumoe#PX8lCW1V9W&2g`0uI6m~&hPFI3El>g?;HudZtghUL z+e+9O=FS1=n|t=rp07F#2GAM{&2rTwUd3KOKm1z7VQwQ;d1sb5pf2~^pW6Nf8BKa; zv1sH@qRgL|ebY4vZa>_6a=LWBqLuo#cIRWPdqA*#Rbp(|btpMs&Ex$1qVnsjKRln& z0psv%2M~`hJz0v05~S~wv|ArM&5jWFEnAC&eGt0kP>4uOaj#m=Vq@qzJ-fZX0s#cz zzO6U~*Lq%m!e(Ni2=NWll(2hKJE4jla`-}rAs&UE8c#FNi5?9K59X6Sgite5u2h!v>WSu^)mn!GL91uJDpGOY@QBC*WAkI7m7X(QJ4G&_W!JxS zOH`{7FZ^!Ejp=jW6~~9Nwtth4wAXqpe>Q3NK&N=NS7O ze_NFJ54L6?cg@D&g0k?uzZb?>OM5y_5X(GQG6*uJcgD^zP+^u;!$XJXNJ*cqzOj zTcL!jGngS!b)#e@5U+3_4jgiIY84l#wdU*)C`&;6f&=v%^;0*4%sv9aN}~=&o2qYa zM|0c`THN{Ox#|89OYx?6Q8Sm3YwzLW0alW>{hsEWpGIAvpJ(RK>H2R-6e(e2%N^F-Y+hOe6OqyCw6+}Ja}!knG(+1cCf8kGmh*Ugq<`TCrWk5^54iZ=3Pg4;aea z&+w8x{S5%7W!9!o5CsC06@D)@CWV5@<5RP_1Mk5oyTuN=v3(O)xKfvFS2W3F8yai8 z_HSpYnJ1&@$|#IANL)_+6le%(Gq^Qe!ve7T?9%qSMSnZoQw(z=^~5FU#KNx2wp|qgL7TCFPvoc!H}pT0+_dGmmF zIHbX$>03N+VI1H=H)LVSYj^DpLuPVX*4cG^=0b{?Vc)shg2B+%6?J-3DP=-j(~sqt zU9&{BXh6l1`n+vgeW7q`Y>E%U%+wE!sJXr~*NOY?1x{pCy7@qZ`4IB9IgUB5J$V7J zEG~@SZq5yKziUb`euZx*(B~iiEa=O}Fa0m}jt+=*7-+Lo2KRa@uy=gujvJ{%j515! zxT!3zT?`7&B(cq6+nMm;7+}CWDSp*hqK+8VnkS1(SI$~sg4N~SRw*zJ^v^_j6T7{wMj7C$C-HFmzU_UDV+yNeq`Unh2dWCtS@4p_%XY4W~o z`BoM4)p7?79GzH@nplZxp|?yVNwhz9ax(E6w#9hgj&yF8m~PO*tg95usTR(Dc)-iT z+bHteOh64#{OlQLQ&9L2^?^z*?!ZuW@Fmaow?UzRFu~CCiFL76jcvWgd%y0_6#B$w zRCfk@Z1UzPKvdDBOHLhCv|SlRs6V~EU#-B;L+@H~Pv3OH2I%g?|WNTU31YyZAxrRK>D429zilHy?f46wa@qitXnqU%97j4UHIGloaqW032g-M*ve-<)OzLpk%It^ zu$_-wPw;^JC*#V=hf<7EKZ|B!o~4F`WaDQ-BAnRAu;uX0+aCQ~jn4Tq)*+Jmk4>f0-6NI{8{0F^ofHBIe3e%)~G&Qc1OhZG|Pr)Zg{T z{Ha$Thrt`6Q-5MhG@LnP-y1@`(nCXdPJ4kYR=AGD|7v>Z9(Q}r%$ZRYRGByV;-@zOOH}`bgCfd^#d7UFaq6x!cW1m#{O*c#0N zIWD^ix&lC>#cM+gj!ZJ?CA z9c`4$5eF@ZrwLby$6p(z?K|e+lDoE4L}%|K$rky}f8D`}A4He7{*Z$C+!WNFk`J-J z5F{J3|1c`cU+Lk~=WbpH1hqC6#Y;!BZB&?y$IKgxGeEILSOK|}%>)f@;MeNdVutOJ zf9tovOql?`+AIf8E2ok9b-o#AkB{e1Ci1ybaI%YB&TnzTkfsmjMjV~?MN z*94KMH~Ipi2L!H<TvDtZo$NKr4B%OiA5&t&V;qauB_XiIN7`fC&e&%YSo0A4m^QbnqNbSroOKIT!+}R)6z4mIc|!j z+pFrrjiX+aQ}?^wX`OwjTL@$HTM7~Po?ZE5Vf^q6b31r^v3nDawosD4E;svN{k~-! zx{zH^EHZE|SgID2;S_r;q7=&VN^d`{R2Gkf9>2Y&t?)GVS5zF#DDJ#dX&P(ww-vcc zcp#z*tNO($M=A{w!y7>M*GUl$b1l}6QH3~nfgaV1>I3DSNXU<^pN6oqmd&-(wDUiO zhB5u=0W*PaLb9JPTwsBWdIv7|RNKQGqu1V+0g!9hyrgOS*76@#Gj+HI$BtVme!^o z7_dC6FRj}AXcMfmf3}H?DM9joUy$0)J{u}1g3s!fiLyFY#8rJ1s1H30laP4(?1Qe7 zgA?IN&3Xd|ZmYNACXp;D0J-?~>gZ=m7F;>RpHS9qSavYTiGbf(8=(PIKjYjb)#nSL z&)OjqiH4U^aivo@yKuJ=?ZbcTt%ex8Jx&OW8%S*N(3b6G?|&Si_8iN;rP;3z0$hF5 zz`+XuV;?M+-!#B94KSLBqowM7+1ks^!^^`jEHcp12;N^ypPRM|yz6(9Tg|BAI3sZj z0#I57d5zd1H6;*xLgIo`$-pl^j~BnCGUWu%l3fqjdvs7te&@Pv4yVVcOBQddWB1g> z?`4s}&{={IK+BFo%e=A3ibvmL@}>fDgh^C|l-kphD2WSb0F9`|b5mPk#zr<}bD8>c zm#lZ1*&BVh4j!>ja&+>?Hik}~S*KUNcg6H1guc_y`)Xiy9x%wi+&!TGBre77hH+%# z+^^X5VHw}$W8*xv9Zq2N*Y7M2+|zD27)s*r>^9Afm!EKb&>i~>t#;;&`-tldbT$V} zWD5e`8%52ph+mJlF5Y^=bb7l5vvcle8N+Rl5^Cu8W>K2&;zq^v1aluahQ=@A*BM)M zdiRA*+D;$O>5@%3QfcdOlCT6OyM9N7hlc|DU9Go*PRt<5<}7x~XR15P(wl$Y$49yx z$=8lW?>9hLvkopI9do&5S}yQb++qHB)$HWOElRz?)tG~FBdzvl2Z4N;s)nsN;cqaF z5$_=&D2DnSuF!kjCX!pHB1u}SxaPT>3?VN$X!anlO>SlfPYZbYt)G{QoEhA9rrgF~ zcF>!RZY26}6jo6|cjr*?JPx~m@YCEPJ@3}!-tApvuYB&l(juh0-0S(-1Mz)fo#ne& z?C`w%da1RxKl6Wo4S42vFT$UP!Q-ySLo-t+)e>K#rq_GrYNg8BM8qyzfroEJZOduQ zj)f!MI#!u`lEJllO&u&z5BZmk6RN_)34APCnQj&F0D#^L#pNZ^5v;gIzsKHrpPp`0 zB-@`Vg!?SxWGORFVVl1cik^D4Ir)cj{nsN@W&JP5UvalM61h7idkG_32F`5Ev%cKv zJU5`F zznP&u2U&%|)TaY>FKLPt*co1LlWRZTjT^f$O>#ZKq5T(HROj0E?8`scPdqPrkZzVk%;aPoSXRWZE2t%GSfm+OdG(ZS&BF+_z zM@O(vFE+6JBnp~-7GqP|MJTAit=X=7GrhhBMbn-M!2y8e-Z!E5>bAY5Ws>s4Zo&JZ z^jX6_({w$rh5%nG4UUfipG4(Wx9X zACGxDZ(HMVM-DC2G77r5b{#ugk;&W^2-0GEdd+Hc+(5WHwP@+ej^d zd%1DIAjwJQ6pH=Jwu>kTN2VC3H3e9_MnSWa<_+ay2e#POy_~g zLYT#m=hg+@6VJZ>vVrO`D1^IRpm2-(a1Zw69_PDD7CzA-{*8?tVpOw)k^oHG(6U>- zcu}^=5l`lB#NwJe)rOjvw`xcW*Nkli5Hsn;Hk>399-_pZgNB|3RF^y;as zl-Y6oV7-^+$`tGUXZl*k90$N{)C-L-_?&e@FrwPnqQ%U-Zm!aL>lb}%1n+^w0Yhcj z@1p5eEoHl{cRp`>un8Gnm3`a!R#~WLuuBTwuDv>M(5azdG>T|)-dlrc7m*&IVpCKD$y4r=T_;47`1`2`x>{`1G$9-Z>`$&(d*Qo-VS}4 z9QU=#M}i^u$9nDV67AMdut();pXR~t_^N9Pk-A`e>A1H60N~|x`3S@r`@bUyzc4@n z`O%fFc&QcT~UAzt+VuRnq(R;p-~##@2Ui)!kBK1k`cvGx?PvEL{(A-A^W*y z(xUYv?-F`I1@F{67vq)(K$%!P5iba16P z=k#vkfZSvhy;Ux!`ggyqP5FgJOpR;ui#hfGj-18*%W!C&bGsH;z`esHh+6P zR&n^8wzdbs^U+j~{i%7gS(|hD`YOK-6+{2S=f%g`bJZ0&@}-sj#k4j)5zS0!w|fk) znV+@uPC@KB_k_C@MmPtLPw^f^%Fts2U6Gu_Tm-n=woObQeljk$F>UP2)eIVl@)H4P zWp?C&ZCuO&pL??Qgw1}kf7362cyTu6?wN*}P@O+xS}@A8SEqmNF=AM|)t6)uVs~=! zb^|QzVfg#ZtkW4Nw|fg+e+=kqPw4aS=82epoo6SW+6|5hmg%U|0LyE2sq9Fj nhz&CwwcjFnpO1*Nw8jsdMBLA{wm8?0>`1?Rk}{tyd1L<{wG9E& literal 0 HcmV?d00001 diff --git a/sound/effects/suitstep1.ogg b/sound/effects/suitstep1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..fdc56bb9e4745857c01677bd8ae169f6931b1e5b GIT binary patch literal 10777 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 literal 0 HcmV?d00001 diff --git a/sound/effects/suitstep2.ogg b/sound/effects/suitstep2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..17a528feebfac73f441bbe781726d1f0a4997a49 GIT binary patch literal 12220 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