diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 47504766..6f70b1fb 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -610,10 +610,10 @@ /obj/mecha/meteorhit() return ex_act(rand(1,3))//should do for now -/obj/mecha/emp_act(severity) +/obj/mecha/emp_act(severity) // Lower severity = greater effect, higher = smaller. Damage = (50 / severity), cell drain = ((current charge / 2) / severity) if(get_charge()) - use_power((cell.charge/2)/severity) - take_damage(50 / severity,"energy") + use_power((cell.charge/2)/severity) //rip your energy, dude + take_damage(50/severity,"energy") src.log_message("EMP detected",1) check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT),1) return diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm index 98ac9f5b..8e0e3184 100644 --- a/code/game/mecha/mecha_control_console.dm +++ b/code/game/mecha/mecha_control_console.dm @@ -108,7 +108,11 @@ proc/shock() var/obj/mecha/M = in_mecha() if(M) - M.emp_act(2) + M.emp_act(0.8) + M.emp_act(0.8) + M.emp_act(0.8) + M.emp_act(0.8) //we call this four times to get the necessary damage + add a much higher chance of subsystem failures + empulse(src.loc, 0, 1, 1) del(src) proc/get_mecha_log() diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index cdb23053..1a87c6ca 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -80,12 +80,7 @@ if("labgreen_all") src.icon_state = "labgreen_open" usr << "You unbotton the labcoat." - if("fabian_coat_open") - src.icon_state = "fabian_coat_closed" - usr << "You button up the coat's buttons." - if("fabian_coat_closed") - src.icon_state = "fabian_coat_open" - usr << "You unbutton the coat's buttons." + else usr << "You attempt to button-up the velcro on your [src], before promptly realising how retarded you are." return diff --git a/code/modules/mob/living/simple_animal/friendly/mushroom.dm b/code/modules/mob/living/simple_animal/friendly/mushroom.dm index 9bd464db..c39a3031 100644 --- a/code/modules/mob/living/simple_animal/friendly/mushroom.dm +++ b/code/modules/mob/living/simple_animal/friendly/mushroom.dm @@ -1,9 +1,10 @@ /mob/living/simple_animal/mushroom name = "walking mushroom" desc = "It's a massive mushroom... with legs?" - icon_state = "mushroom" - icon_living = "mushroom" - icon_dead = "mushroom_dead" + icon = 'icons/mob/livestock.dmi' + icon_state = "walkingmushroom" + icon_living = "walkingmushroom" + icon_dead = "walkingmushroom_d" small = 1 speak_chance = 0 turns_per_move = 1 diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index dd72497f..e4a8f93e 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -243,6 +243,12 @@ if ((O.client && !( O.blinded ))) O.show_message("\blue [M] [response_help] [src]") + if("disarm") + if (health > 0) + for(var/mob/O in viewers(src, null)) + if ((O.client && !( O.blinded ))) + O.show_message("\blue [M] [response_disarm] [src]") + if("grab") if (M == src) return @@ -262,7 +268,7 @@ if ((O.client && !( O.blinded ))) O.show_message(text("\red [] has grabbed [] passively!", M, src), 1) - if("hurt", "disarm") + if("hurt") adjustBruteLoss(harm_intent_damage) for(var/mob/O in viewers(src, null)) if ((O.client && !( O.blinded ))) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 512b9429..515f2e51 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -37,7 +37,7 @@ spawn(5) if(!powernet) connect_to_network() - + dir_loop: for(var/d in cardinal) var/turf/T = get_step(src, d) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 89608e7e..ff8a05e0 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -249,6 +249,11 @@ mouthshoot = 0 return + if(istype(in_chamber, /obj/item/projectile/beam/practice)) + user.show_message("You feel rather silly, trying to commit suicide with a practice gun.") + mouthshoot = 0 + return + in_chamber.on_hit(M) if (in_chamber.damage_type != HALLOSS) user.apply_damage(in_chamber.damage*2.5, in_chamber.damage_type, "head", used_weapon = "Point blank shot in the mouth with \a [in_chamber]", sharp=1) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 8896b962..21928bb6 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -95,6 +95,10 @@ miss_modifier += -30 def_zone = get_zone_with_miss_chance(def_zone, M, miss_modifier + 15*distance + daddy.accuracy + daddy.rangedrop) // add +daddy.missmod vars to gun and this. snowflake accuracy //moving def_zone to be a child of the daddyblock because i need the daddy. all projectiles should be fired from guns anyway + + if (istype(shot_from,/obj/item/mecha_parts/mecha_equipment/weapon)) //If you shoot with a mecha weapon instead, check accuracy without a steady variable + def_zone = get_zone_with_miss_chance(def_zone, M, miss_modifier + 10*distance) + if(!def_zone) visible_message("\blue \The [src] misses [M] narrowly!") forcedodge = -1