diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index ad3ca36fbd7..087d6fa6795 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -65,7 +65,7 @@ src.throwing = 1 if(usr) - if((HULK in usr.mutations) || (SUPRSTR in usr.augmentations)) + if(HULK in usr.mutations) src.throwing = 2 // really strong throw! var/dist_x = abs(target.x - src.x) diff --git a/code/game/gamemodes/events/ninja_equipment.dm b/code/game/gamemodes/events/ninja_equipment.dm index d1ac17688ed..c6025649084 100644 --- a/code/game/gamemodes/events/ninja_equipment.dm +++ b/code/game/gamemodes/events/ninja_equipment.dm @@ -1428,7 +1428,7 @@ It is possible to destroy the net by the occupant or someone else. return attack_hand() - if ((HULK in usr.mutations) || (SUPRSTR in usr.augmentations)) + if (HULK in usr.mutations) usr << text("\blue You easily destroy the energy net.") for(var/mob/O in oviewers(src)) O.show_message(text("\red [] rips the energy net apart!", usr), 1) diff --git a/code/game/hud.dm b/code/game/hud.dm index 386b299a551..326a824753f 100644 --- a/code/game/hud.dm +++ b/code/game/hud.dm @@ -247,13 +247,6 @@ datum/hud/New(mob/owner) if(ishuman(mymob)) human_hud(ui_style) // Pass the player the UI style chosen in preferences - if(RADAR in mymob.augmentations) - spawn() - if(mymob.radar_open) - mymob:start_radar() - else - mymob:place_radar_closed() - else if(ismonkey(mymob)) monkey_hud(ui_style) diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index f68eb741061..e1d9c437db5 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -63,7 +63,7 @@ return /obj/machinery/optable/attack_hand(mob/user as mob) - if ((HULK in usr.mutations) || (SUPRSTR in usr.augmentations)) + if (HULK in usr.mutations) usr << text("\blue You destroy the table.") visible_message("\red [usr] destroys the operating table!") src.density = 0 diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 54c1641d003..4533cb59252 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -420,7 +420,7 @@ call(/obj/item/clothing/gloves/space_ninja/proc/drain)("MECHA",src,user:wear_suit) return - if ( ((HULK in user.mutations) || (SUPRSTR in user.augmentations)) && !prob(src.deflect_chance)) + if ((HULK in user.mutations) && !prob(src.deflect_chance)) src.take_damage(15) src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST)) user.visible_message("[user] hits [src.name], doing some damage.", "You hit [src.name] with all your might. The metal creaks and bends.") diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index 43cd47c348c..523e0ff72eb 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -105,7 +105,7 @@ return /obj/effect/alien/resin/attack_hand() - if ((HULK in usr.mutations) || (SUPRSTR in usr.augmentations)) + if (HULK in usr.mutations) usr << "\blue You easily destroy the [name]." for(var/mob/O in oviewers(src)) O.show_message("\red [usr] destroys the [name]!", 1) diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm index 02eb319099a..912b032a03f 100644 --- a/code/game/objects/effects/effect_system.dm +++ b/code/game/objects/effects/effect_system.dm @@ -985,7 +985,7 @@ steam.start() -- spawns the effect return attack_hand(var/mob/user) - if ((HULK in user.mutations) || (prob(75 - metal*25)) || (SUPRSTR in user.augmentations)) + if ((HULK in user.mutations) || (prob(75 - metal*25))) user << "\blue You smash through the metal foam wall." for(var/mob/O in oviewers(user)) if ((O.client && !( O.blinded ))) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index e3c2ac18c57..21ede772127 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -220,7 +220,7 @@ ///////////////////////// var/power = src.force - if((HULK in user.mutations) || (SUPRSTR in user.augmentations)) + if(HULK in user.mutations) power *= 2 if(!istype(M, /mob/living/carbon/human)) diff --git a/code/game/objects/items/weapons/implants/implantnanoaug.dm b/code/game/objects/items/weapons/implants/implantnanoaug.dm deleted file mode 100644 index 891636a185c..00000000000 --- a/code/game/objects/items/weapons/implants/implantnanoaug.dm +++ /dev/null @@ -1,186 +0,0 @@ -/obj/item/weapon/implant/nanoaug - name = "nanoaug" - desc = "A nano-robotic biological augmentation implant." - var/augmentation - var/augment_text = "You feel strange..." - var/activation_emote = "fart" - - get_data() - var/dat = {" -Implant Specifications:
-Name: Cybersun Industries Nano-Robotic Biological Augmentation Suite
-Life: Infinite. WARNING: Biological changes are irreversable.
-Important Notes: Illegal. Subjects exposed to nanorobotic agent are considered dangerous.
-
-Implant Details:
-Function: Implant contains colony of pre-programmed nanorobots. Subject will experience radical changes in their body, amplifying and improving certain bodily characteristics.
-Special Features: Will grant subject superhuman powers.
-Integrity: Nanoaugmentation is permanent. Once the process is complete, the nanorobots disassemble and are dissolved by the blood stream."} - return dat - - - implanted(mob/M) - if(!istype(M, /mob/living/carbon/human)) return 0 - M.augmentations.Add(augmentation) // give them the mutation - M << "\blue [augment_text]" - - return 1 - - -/obj/item/weapon/implant/nanoaug/strength - name = "Superhuman Strength" - augmentation = SUPRSTR - augment_text = "You muscle ache, and you feel a rapid surge of energy pulse through your body. You feel strong." - -/obj/item/weapon/implant/nanoaug/radar - name = "Short-range Psionic Radar" - augmentation = RADAR - augment_text = "You begin to sense the presence or lack of presence of others around you." - - implanted(mob/M) - if(..()) - M << "Red blips on the map are Security." - M << "White blips are civlians." - M << "Monochrome Green blips are cyborgs and AIs." - M << "Light blue blips are heads of staff." - M << "Purple blips are unidentified organisms." - M << "Dead biologicals will not display on the radar." - spawn() - var/mob/living/carbon/human/H = M - H.start_radar() - return 1 - return 0 - -/obj/item/weapon/implant/nanoaug/electrichands - name = "Electric Hands" - augmentation = ELECTRICHANDS - augment_text = "You feel a sudden jolt of electricity pulse through your veins. Arcs of electricity travel through your hands." - -/obj/item/weapon/implant/nanoaug/eswordsynth - name = "Energy Blade Synthesizer" - augmentation = ESWORDSYNTH - augment_text = "Your hands throb and pulsate. They feel sharper, and strangely hot." - - implanted(mob/M) - if(..()) - activation_emote = pick("blink", "blink_r", "eyebrow", "chuckle", "twitch_s", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink") - M.mind.store_memory("Freedom nanoaugmentation can be activated by using the [src.activation_emote] emote, say *[src.activation_emote] to attempt to activate.", 0, 0) - M << "The nanoaugmentation implant can be activated by using the [src.activation_emote] emote, say *[src.activation_emote] to attempt to activate." - return 1 - return 0 - - trigger(emote, source as mob) - if(emote == activation_emote) - src.activate(source) - return - - activate(var/mob/source) - - var/obj/item/weapon/melee/energy/blade/swordspawn = new /obj/item/weapon/melee/energy/blade - if(!source.get_active_hand()) - source.put_in_hands(swordspawn) - - var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() - spark_system.set_up(5, 0, source.loc) - spark_system.start() - playsound(source.loc, "sparks", 50, 1) - ..() - -/obj/item/weapon/implant/nanoaug/rebreather - name = "Bioelectric Rebreather" - augmentation = REBREATHER - augment_text = "You begin to lose your breath. Just as you are about to pass out, you suddenly lose the urge to breath. Breathing is no longer a necessity for you." - -/obj/item/weapon/implant/nanoaug/dermalarmor - name = "Skin-intergrated Dermal Armor" - augmentation = DERMALARMOR - augment_text = "The skin throughout your body grows tense and tight, and you become slightly stiff. Your bones and skin feel a lot stronger." - -/obj/item/weapon/implant/nanoaug/reflexes - name = "Combat Reflexes" - augmentation = REFLEXES - augment_text = "Your mind suddenly is able to identify threats before you are aware of them. You become more aware of your surroundings." - -/obj/item/weapon/implant/nanoaug/nanoregen - name = "Regenerative Nanobots" - augmentation = NANOREGEN - augment_text = "You feel a very faint vibration in your body. You instantly feel much younger." - - -/obj/item/weapon/implanter/nanoaug - name = "Nanoaugmentation Implanter (Empty)" - icon_state = "nanoimplant" - -/obj/item/weapon/implanter/nanoaug/update() - if (src.imp) - src.icon_state = "nanoimplant" - else - src.icon_state = "nanoimplant0" - return - - -/obj/item/weapon/implanter/nanoaug/strength - name = "Nanoaugmentation Implaner (Superhuman Strength)" - -/obj/item/weapon/implanter/nanoaug/strength/New() - src.imp = new /obj/item/weapon/implant/nanoaug/strength( src ) - ..() - update() - -/obj/item/weapon/implanter/nanoaug/radar - name = "Nanoaugmentation Implaner (Short-range Psionic Radar)" - -/obj/item/weapon/implanter/nanoaug/radar/New() - src.imp = new /obj/item/weapon/implant/nanoaug/radar( src ) - ..() - update() - -/obj/item/weapon/implanter/nanoaug/electrichands - name = "Nanoaugmentation Implaner (Electric Hands)" - -/obj/item/weapon/implanter/nanoaug/electrichands/New() - src.imp = new /obj/item/weapon/implant/nanoaug/electrichands( src ) - ..() - update() - -/obj/item/weapon/implanter/nanoaug/eswordsynth - name = "Nanoaugmentation Implaner (Energy Blade Synthesizer)" - -/obj/item/weapon/implanter/nanoaug/eswordsynth/New() - src.imp = new /obj/item/weapon/implant/nanoaug/eswordsynth( src ) - ..() - update() - -/obj/item/weapon/implanter/nanoaug/rebreather - name = "Nanoaugmentation Implaner (Bioelectric Rebreather)" - -/obj/item/weapon/implanter/nanoaug/rebreather/New() - src.imp = new /obj/item/weapon/implant/nanoaug/rebreather( src ) - ..() - update() - -/obj/item/weapon/implanter/nanoaug/dermalarmor - name = "Nanoaugmentation Implaner (Skin-intergrated Dermal Armor)" - -/obj/item/weapon/implanter/nanoaug/dermalarmor/New() - src.imp = new /obj/item/weapon/implant/nanoaug/dermalarmor( src ) - ..() - update() - -/obj/item/weapon/implanter/nanoaug/reflexes - name = "Nanoaugmentation Implaner (Combat Reflexes)" - -/obj/item/weapon/implanter/nanoaug/reflexes/New() - src.imp = new /obj/item/weapon/implant/nanoaug/reflexes( src ) - ..() - update() - -/obj/item/weapon/implanter/nanoaug/nanoregen - name = "Nanoaugmentation Implaner (Regenerative Nanobots)" - -/obj/item/weapon/implanter/nanoaug/nanoregen/New() - src.imp = new /obj/item/weapon/implant/nanoaug/nanoregen( src ) - ..() - update() - - diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index cfeb5401666..c2514a11241 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -38,7 +38,7 @@ if(shock(user, 70)) return - if((HULK in user.mutations) || (SUPRSTR in user.augmentations)) + if(HULK in user.mutations) health -= 5 else health -= 3 diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 3cd4d43caec..0f11cf4b5ff 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -282,7 +282,7 @@ /obj/structure/table/attack_hand(mob/user) - if(HULK in user.mutations || SUPRSTR in user.augmentations) + if(HULK in user.mutations) visible_message("[user] smashes [src] apart!") user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) if(istype(src, /obj/structure/table/reinforced)) @@ -553,7 +553,7 @@ /obj/structure/table/attack_hand(mob/user) - if(HULK in user.mutations || SUPRSTR in user.augmentations) + if(HULK in user.mutations) visible_message("[user] smashes [src] apart!") user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) new /obj/item/weapon/rack_parts(loc) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index fdaf22aa41b..35f121c8862 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -98,7 +98,7 @@ /obj/structure/window/attack_hand(mob/user as mob) - if((HULK in user.mutations) || (SUPRSTR in user.augmentations)) + if(HULK in user.mutations) user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!")) user.visible_message("[user] smashes through [src]!") new /obj/item/weapon/shard(loc) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index cb43e19959d..37f71d1f3c7 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -119,7 +119,7 @@ return /turf/simulated/wall/attack_hand(mob/user as mob) - if ((HULK in user.mutations) || (SUPRSTR in user.augmentations)) + if (HULK in user.mutations) if (prob(40)) usr << text("\blue You smash through the wall.") usr.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index f72f135dcf1..455f474dbef 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -10,7 +10,7 @@ var/d_state = 0 /turf/simulated/wall/r_wall/attack_hand(mob/user as mob) - if ((HULK in user.mutations) || (SUPRSTR in user.augmentations)) + if (HULK in user.mutations) if (prob(10)) usr << text("\blue You smash through the wall.") usr.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index dfc4aa244c8..ff63c6e5455 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -333,7 +333,7 @@ if ("hurt") var/damage = rand(1, 9) if (prob(90)) - if ((HULK in M.mutations) || (SUPRSTR in M.augmentations))//HULK SMASH + if (HULK in M.mutations)//HULK SMASH damage += 14 spawn(0) Weaken(damage) // Why can a hulk knock an alien out but not knock out a human? Damage is robust enough. diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 43ef43b15ea..acfa3401810 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -313,7 +313,7 @@ else var/damage = rand(1, 9) if (prob(90)) - if ((HULK in M.mutations) || (SUPRSTR in M.augmentations)) + if (HULK in M.mutations) damage += 5 spawn(0) Paralyse(1) diff --git a/code/modules/mob/living/carbon/human/hud.dm b/code/modules/mob/living/carbon/human/hud.dm index 2ab243a3c2e..4647277c7e1 100644 --- a/code/modules/mob/living/carbon/human/hud.dm +++ b/code/modules/mob/living/carbon/human/hud.dm @@ -347,158 +347,6 @@ src.hud_used.hotkey_ui_hidden = 1 - -/* - -Radar-related things - -*/ - -/mob/living/carbon/human/proc/close_radar() - radar_open = 0 - for(var/obj/screen/x in client.screen) - if( (x.name == "radar" && x.icon == 'icons/misc/radar.dmi') || (x in radar_blips) ) - client.screen -= x - del(x) - - place_radar_closed() - -/mob/living/carbon/human/proc/place_radar_closed() - var/obj/screen/closedradar = new() - closedradar.icon = 'icons/misc/radar.dmi' - closedradar.icon_state = "radarclosed" - closedradar.screen_loc = "WEST,NORTH-1" - closedradar.name = "radar closed" - client.screen += closedradar - -/mob/living/carbon/human/proc/start_radar() - - for(var/obj/screen/x in client.screen) - if(x.name == "radar closed" && x.icon == 'icons/misc/radar.dmi') - client.screen -= x - del(x) - - var/obj/screen/cornerA = new() - cornerA.icon = 'icons/misc/radar.dmi' - cornerA.icon_state = "radar(1,1)" - cornerA.screen_loc = "WEST,NORTH-2" - cornerA.name = "radar" - - var/obj/screen/cornerB = new() - cornerB.icon = 'icons/misc/radar.dmi' - cornerB.icon_state = "radar(2,1)" - cornerB.screen_loc = "WEST+1,NORTH-2" - cornerB.name = "radar" - - var/obj/screen/cornerC = new() - cornerC.icon = 'icons/misc/radar.dmi' - cornerC.icon_state = "radar(1,2)" - cornerC.screen_loc = "WEST,NORTH-1" - cornerC.name = "radar" - - var/obj/screen/cornerD = new() - cornerD.icon = 'icons/misc/radar.dmi' - cornerD.icon_state = "radar(2,2)" - cornerD.screen_loc = "WEST+1,NORTH-1" - cornerD.name = "radar" - - client.screen += cornerA - client.screen += cornerB - client.screen += cornerC - client.screen += cornerD - - radar_open = 1 - - while(radar_open && (RADAR in augmentations)) - update_radar() - sleep(6) - -/mob/living/carbon/human/proc/update_radar() - - if(!client) return - var/list/found_targets = list() - - var/max_dist = 29 // 29 tiles is the max distance - - // If the mob is inside a turf, set the center to the object they're in - var/atom/distance_ref = src - if(!isturf(src.loc)) - distance_ref = loc - - // Clear the radar_blips cache - for(var/x in radar_blips) - client.screen -= x - del(x) - radar_blips = list() - - var/starting_px = 3 - var/starting_py = 3 - - for(var/mob/living/M in orange(max_dist, distance_ref)) - if(M.stat == 2) continue - found_targets.Add(M) - - for(var/obj/mecha/M in orange(max_dist, distance_ref)) - if(!M.occupant) continue - found_targets.Add(M) - - for(var/obj/structure/closet/C in orange(max_dist, distance_ref)) - for(var/mob/living/M in C.contents) - if(M.stat == 2) continue - found_targets.Add(M) - - // Loop through all living mobs in a range. - for(var/atom/A in found_targets) - - var/a_x = A.x - var/a_y = A.y - - if(!isturf(A.loc)) - a_x = A.loc.x - a_y = A.loc.y - - var/blip_x = max_dist + (-( distance_ref.x-a_x ) ) + starting_px - var/blip_y = max_dist + (-( distance_ref.y-a_y ) ) + starting_py - var/obj/screen/blip = new() - blip.icon = 'icons/misc/radar.dmi' - blip.name = "Blip" - blip.layer = 21 - blip.screen_loc = "WEST:[blip_x-1],NORTH-2:[blip_y-1]" // offset -1 because the center of the blip is not at the bottomleft corner (14) - - if(istype(A, /mob/living)) - var/mob/living/M = A - if(ishuman(M)) - if(M:wear_id) - var/job = M:wear_id:GetJobName() - if(job == "Security Officer") - blip.icon_state = "secblip" - blip.name = "Security Officer" - else if(job == "Captain" || job == "Research Director" || job == "Chief Engineer" || job == "Chief Medical Officer" || job == "Head of Security" || job == "Head of Personnel") - blip.icon_state = "headblip" - blip.name = "Station Head" - else - blip.icon_state = "civblip" - blip.name = "Civilian" - else - blip.icon_state = "civblip" - blip.name = "Civilian" - - else if(issilicon(M)) - blip.icon_state = "roboblip" - blip.name = "Robotic Organism" - - else - blip.icon_state = "unknownblip" - blip.name = "Unknown Organism" - - else if(istype(A, /obj/mecha)) - blip.icon_state = "roboblip" - blip.name = "Robotic Organism" - - radar_blips.Add(blip) - client.screen += blip - - /mob/living/carbon/human/update_action_buttons() var/num = 1 if(!src.hud_used) return diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index fb148ae39bb..1883b000406 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -43,7 +43,6 @@ var/armor_block = run_armor_check(affecting, "melee") if(HULK in M.mutations) damage += 5 - if(SUPRSTR in M.augmentations) damage += 5 playsound(loc, "punch", 25, 1, -1) @@ -99,25 +98,6 @@ if("hurt") - if(ELECTRICHANDS in M.augmentations) - var/gendertxt = "their" - if(M.gender == MALE) - gendertxt = "his" - if(M.gender == FEMALE) - gendertxt = "her" - - visible_message("\red [M] has shocked [src] with [gendertxt] bare hands!") - M.attack_log += text("\[[time_stamp()]\] Used Electric Hands nanoaug power on [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] Has been shocked by [M.name] with the Electric Hands nanoaug ([M.ckey])") - - log_attack("[M.name] ([M.ckey]) used Electric Hands nanoaug on [src.name], shocking them ([src.ckey])") - - - var/armorblock = run_armor_check(M.zone_sel.selecting, "energy") - apply_effects(5,5,0,0,5,0,0,armorblock) - - return - M.attack_log += text("\[[time_stamp()]\] Punched [src.name] ([src.ckey])") src.attack_log += text("\[[time_stamp()]\] Has been punched by [M.name] ([M.ckey])") @@ -151,7 +131,6 @@ var/armor_block = run_armor_check(affecting, "melee") if(HULK in M.mutations) damage += 5 - if(SUPRSTR in M.augmentations) damage += 5 switch(attack_verb) if("slash") diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 141b249322c..8d8630c142e 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -175,9 +175,6 @@ if(blocked) damage = (damage/(blocked+1)) - if(DERMALARMOR in augmentations) - damage = damage - (round(damage*0.35)) // reduce damage by 35% - switch(damagetype) if(BRUTE) damageoverlaytemp = 20 diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 05c8fc98702..51408298d89 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -172,32 +172,6 @@ if((COLD_RESISTANCE in mutations) || (prob(1))) heal_organ_damage(0,1) - // Make nanoregen heal youu, -3 all damage types - if(NANOREGEN in augmentations) - var/healed = 0 - if(getToxLoss()) - adjustToxLoss(-3) - healed = 1 - if(getOxyLoss()) - adjustOxyLoss(-3) - healed = 1 - if(getCloneLoss()) - adjustCloneLoss(-3) - healed = 1 - if(getBruteLoss()) - heal_organ_damage(3,0) - healed = 1 - if(getFireLoss()) - heal_organ_damage(0,3) - healed = 1 - if(halloss > 0) - halloss -= 3 - if(halloss < 0) halloss = 0 - healed = 1 - if(healed) - if(prob(5)) - src << "\blue You feel your wounds mending..." - if ((HULK in mutations) && health <= 25) mutations.Remove(HULK) update_mutations() //update our mutation overlays @@ -329,7 +303,7 @@ proc/handle_breath(datum/gas_mixture/breath) - if((status_flags & GODMODE) || REBREATHER in augmentations) + if((status_flags & GODMODE)) return if(!breath || (breath.total_moles() == 0) || suiciding) diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index cb8820c61e4..e87d0af56f5 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -472,21 +472,12 @@ O.show_message(text("\red [] has grabbed [] passively!", M, src), 1) else - if(ELECTRICHANDS in M.augmentations) - var/gendertxt = "their" - if(M.gender == MALE) - gendertxt = "his" - if(M.gender == FEMALE) - gendertxt = "her" - - visible_message("\red [M] has shocked [src] with [gendertxt] bare hands!") - return var/damage = rand(1, 9) attacked += 10 if (prob(90)) - if ((HULK in M.mutations) || (SUPRSTR in M.augmentations)) + if (HULK in M.mutations) damage += 5 if(Victim) Victim = null diff --git a/code/modules/mob/living/simple_animal/friendly/slime.dm b/code/modules/mob/living/simple_animal/friendly/slime.dm index 97e4574fb90..95d451fd909 100644 --- a/code/modules/mob/living/simple_animal/friendly/slime.dm +++ b/code/modules/mob/living/simple_animal/friendly/slime.dm @@ -65,18 +65,20 @@ emote_see = list("jiggles", "bounces in place") var/colour = "grey" -/mob/living/simple_animal/slime/adult/Die() +/mob/living/simple_animal/adultslime/New() ..() + overlays += "aslime-:33" + + +/mob/living/simple_animal/slime/adult/Die() var/mob/living/simple_animal/slime/S1 = new /mob/living/simple_animal/slime (src.loc) S1.icon_state = "[src.colour] baby slime" - S1.icon_state = "[src.colour] adult slime" - S1.icon_living = "[src.colour] adult slime" - S1.icon_dead = "[src.colour] adult slime dead" + S1.icon_living = "[src.colour] baby slime" + S1.icon_dead = "[src.colour] baby slime dead" S1.colour = "[src.colour]" var/mob/living/simple_animal/slime/S2 = new /mob/living/simple_animal/slime (src.loc) S2.icon_state = "[src.colour] baby slime" - S2.icon_state = "[src.colour] adult slime" - S2.icon_living = "[src.colour] adult slime" - S2.icon_dead = "[src.colour] adult slime dead" + S2.icon_living = "[src.colour] baby slime" + S2.icon_dead = "[src.colour] baby slime dead" S2.colour = "[src.colour]" del(src) \ No newline at end of file diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index b0433ea6600..9ef1f13a607 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -140,9 +140,6 @@ var/list/mutations = list() //Carbon -- Doohl //see: setup.dm for list of mutations - var/list/augmentations = list() //Carbon -- Doohl - //see: setup.dm for list of augmentations - var/voice_name = "unidentifiable voice" var/voice_message = null // When you are not understood by others (replaced with just screeches, hisses, chimpers etc.) var/say_message = null // When you are understood by others. Currently only used by aliens and monkeys in their say_quote procs diff --git a/code/modules/mob/screen.dm b/code/modules/mob/screen.dm index c548cd15408..e89c1388dd4 100644 --- a/code/modules/mob/screen.dm +++ b/code/modules/mob/screen.dm @@ -456,12 +456,6 @@ usr:inv3.icon_state = "inv3" usr:module_active = null - if("radar") - usr:close_radar() - - if("radar closed") - usr:start_radar() - else DblClick() return @@ -641,7 +635,7 @@ if(CM.handcuffed && CM.canmove && (CM.last_special <= world.time)) CM.next_move = world.time + 100 CM.last_special = world.time + 100 - if(isalienadult(CM) || (HULK in usr.mutations) || (SUPRSTR in CM.augmentations))//Don't want to do a lot of logic gating here. + if(isalienadult(CM) || (HULK in usr.mutations))//Don't want to do a lot of logic gating here. usr << "\red You attempt to break your handcuffs. (This will take around 5 seconds and you need to stand still)" for(var/mob/O in viewers(CM)) O.show_message(text("\red [] is trying to break the handcuffs!", CM), 1) @@ -679,7 +673,7 @@ else if(CM.legcuffed && CM.canmove && (CM.last_special <= world.time)) CM.next_move = world.time + 100 CM.last_special = world.time + 100 - if(isalienadult(CM) || (HULK in usr.mutations) || (SUPRSTR in CM.augmentations))//Don't want to do a lot of logic gating here. + if(isalienadult(CM) || (HULK in usr.mutations))//Don't want to do a lot of logic gating here. usr << "\red You attempt to break your legcuffs. (This will take around 5 seconds and you need to stand still)" for(var/mob/O in viewers(CM)) O.show_message(text("\red [] is trying to break the legcuffs!", CM), 1) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index b9914f7baec..fab6127b807 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -74,18 +74,12 @@ loc = A.loc return 0// nope.avi - // check for dodge (i can't place in bullet_act because then things get wonky) - if(!M.stat && !M.lying && (REFLEXES in M.augmentations) && prob(85)) - var/message = pick("[M] skillfully dodges the [name]!", "[M] ducks, dodging the [name]!", "[M] effortlessly jumps out of the way of the [name]!", "[M] dodges the [name] in one graceful movement!", "[M] leans back, dodging the [name] narrowly!", "[M] sidesteps, avoiding the [name] narrowly.", "[M] barely weaves out of the way of the [name].") - M.visible_message("\red [message]") - forcedodge = 1 + var/distance = get_dist(original,loc) + def_zone = ran_zone(def_zone, 100-(5*distance)) //Lower accurancy/longer range tradeoff. + if(silenced) + M << "\red You've been shot in the [parse_zone(def_zone)] by the [src.name]!" else - var/distance = get_dist(original,loc) - def_zone = ran_zone(def_zone, 100-(5*distance)) //Lower accurancy/longer range tradeoff. - if(silenced) - M << "\red You've been shot in the [parse_zone(def_zone)] by the [src.name]!" - else - visible_message("\red [A.name] is hit by the [src.name] in the [parse_zone(def_zone)]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter + visible_message("\red [A.name] is hit by the [src.name] in the [parse_zone(def_zone)]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter if(istype(firer, /mob)) M.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src]" diff --git a/code/setup.dm b/code/setup.dm index a8e041c6dad..3c173d207b6 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -278,7 +278,7 @@ var/MAX_EXPLOSION_RANGE = 14 #define THERMAL_PROTECTION_HAND_LEFT 0.025 #define THERMAL_PROTECTION_HAND_RIGHT 0.025 -/* + //bitflags for mutations // Extra powers: #define SHADOW (1<<10) // shadow teleportation (create in/out portals anywhere) (25%) @@ -293,17 +293,6 @@ var/MAX_EXPLOSION_RANGE = 14 #define ELECTRICITY (1<<19) // ability to shoot electric attacks (15%) - // Nanoaugmentations: -#define SUPRSTR (1<<20) // super strength -#define RADAR (1<<21) // on-screen mob radar -#define ELECTRICHANDS (1<<22) // electric hands -#define ESWORDSYNTH (1<<23) // esword synthesizer -#define REBREATHER (1<<24) // removes the need to breathe -#define DERMALARMOR (1<<25) // 35% damage decrease -#define REFLEXES (1<<26) // dodge 50% of projectiles, dodge 25% of melee attacks -#define NANOREGEN (1<<27) // regenerative nanobots, -3 all damage types per second -*/ - // String identifiers for associative list lookup // mob/var/list/mutations @@ -333,20 +322,6 @@ var/MAX_EXPLOSION_RANGE = 14 #define SHOCKWAVE 19 // attack a nearby tile and cause a massive shockwave, knocking most people on their asses (25%) #define ELECTRICITY 20 // ability to shoot electric attacks (15%) - -// mob/var/list/augmentations - - // Nanoaugmentations: -#define SUPRSTR 21 // super strength (hulk powers) -#define RADAR 22 // on-screen mob radar -#define ELECTRICHANDS 23 // electric hands -#define ESWORDSYNTH 24 // esword synthesizer -#define REBREATHER 25 // removes the need to breathe -#define DERMALARMOR 26 // 35% damage decrease -#define REFLEXES 27 // dodge 50% of projectiles -#define NANOREGEN 28 // regenerative nanobots, -3 all damage types per second - - //2spooky #define SKELETON 29 diff --git a/tgstation.dme b/tgstation.dme index 21f6e564edf..006b352552e 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6,6 +6,192 @@ // BEGIN_FILE_DIR #define FILE_DIR . +#define FILE_DIR "code" +#define FILE_DIR "code/__HELPERS" +#define FILE_DIR "code/ATMOSPHERICS" +#define FILE_DIR "code/ATMOSPHERICS/components" +#define FILE_DIR "code/ATMOSPHERICS/components/binary_devices" +#define FILE_DIR "code/ATMOSPHERICS/components/trinary_devices" +#define FILE_DIR "code/ATMOSPHERICS/components/unary" +#define FILE_DIR "code/controllers" +#define FILE_DIR "code/datums" +#define FILE_DIR "code/datums/diseases" +#define FILE_DIR "code/datums/diseases/advance" +#define FILE_DIR "code/datums/diseases/advance/symptoms" +#define FILE_DIR "code/datums/helper_datums" +#define FILE_DIR "code/datums/organs" +#define FILE_DIR "code/datums/spells" +#define FILE_DIR "code/defines" +#define FILE_DIR "code/defines/obj" +#define FILE_DIR "code/defines/procs" +#define FILE_DIR "code/FEA" +#define FILE_DIR "code/game" +#define FILE_DIR "code/game/area" +#define FILE_DIR "code/game/gamemodes" +#define FILE_DIR "code/game/gamemodes/blob" +#define FILE_DIR "code/game/gamemodes/blob/blobs" +#define FILE_DIR "code/game/gamemodes/changeling" +#define FILE_DIR "code/game/gamemodes/cult" +#define FILE_DIR "code/game/gamemodes/events" +#define FILE_DIR "code/game/gamemodes/events/holidays" +#define FILE_DIR "code/game/gamemodes/extended" +#define FILE_DIR "code/game/gamemodes/malfunction" +#define FILE_DIR "code/game/gamemodes/meteor" +#define FILE_DIR "code/game/gamemodes/nuclear" +#define FILE_DIR "code/game/gamemodes/revolution" +#define FILE_DIR "code/game/gamemodes/sandbox" +#define FILE_DIR "code/game/gamemodes/traitor" +#define FILE_DIR "code/game/gamemodes/wizard" +#define FILE_DIR "code/game/jobs" +#define FILE_DIR "code/game/jobs/job" +#define FILE_DIR "code/game/machinery" +#define FILE_DIR "code/game/machinery/atmoalter" +#define FILE_DIR "code/game/machinery/bots" +#define FILE_DIR "code/game/machinery/camera" +#define FILE_DIR "code/game/machinery/computer" +#define FILE_DIR "code/game/machinery/doors" +#define FILE_DIR "code/game/machinery/embedded_controller" +#define FILE_DIR "code/game/machinery/kitchen" +#define FILE_DIR "code/game/machinery/pipe" +#define FILE_DIR "code/game/machinery/telecomms" +#define FILE_DIR "code/game/mecha" +#define FILE_DIR "code/game/mecha/combat" +#define FILE_DIR "code/game/mecha/equipment" +#define FILE_DIR "code/game/mecha/equipment/tools" +#define FILE_DIR "code/game/mecha/equipment/weapons" +#define FILE_DIR "code/game/mecha/medical" +#define FILE_DIR "code/game/mecha/working" +#define FILE_DIR "code/game/objects" +#define FILE_DIR "code/game/objects/effects" +#define FILE_DIR "code/game/objects/effects/decals" +#define FILE_DIR "code/game/objects/effects/decals/Cleanable" +#define FILE_DIR "code/game/objects/effects/spawners" +#define FILE_DIR "code/game/objects/items" +#define FILE_DIR "code/game/objects/items/devices" +#define FILE_DIR "code/game/objects/items/devices/PDA" +#define FILE_DIR "code/game/objects/items/devices/radio" +#define FILE_DIR "code/game/objects/items/robot" +#define FILE_DIR "code/game/objects/items/stacks" +#define FILE_DIR "code/game/objects/items/stacks/sheets" +#define FILE_DIR "code/game/objects/items/stacks/tiles" +#define FILE_DIR "code/game/objects/items/weapons" +#define FILE_DIR "code/game/objects/items/weapons/grenades" +#define FILE_DIR "code/game/objects/items/weapons/implants" +#define FILE_DIR "code/game/objects/items/weapons/melee" +#define FILE_DIR "code/game/objects/items/weapons/storage" +#define FILE_DIR "code/game/objects/items/weapons/tanks" +#define FILE_DIR "code/game/objects/structures" +#define FILE_DIR "code/game/objects/structures/crates_lockers" +#define FILE_DIR "code/game/objects/structures/crates_lockers/closets" +#define FILE_DIR "code/game/objects/structures/crates_lockers/closets/secure" +#define FILE_DIR "code/game/objects/structures/stool_bed_chair_nest" +#define FILE_DIR "code/game/turfs" +#define FILE_DIR "code/game/turfs/simulated" +#define FILE_DIR "code/game/turfs/space" +#define FILE_DIR "code/game/turfs/unsimulated" +#define FILE_DIR "code/game/verbs" +#define FILE_DIR "code/js" +#define FILE_DIR "code/modules" +#define FILE_DIR "code/modules/admin" +#define FILE_DIR "code/modules/admin/DB ban" +#define FILE_DIR "code/modules/admin/permissionverbs" +#define FILE_DIR "code/modules/admin/verbs" +#define FILE_DIR "code/modules/assembly" +#define FILE_DIR "code/modules/awaymissions" +#define FILE_DIR "code/modules/awaymissions/maploader" +#define FILE_DIR "code/modules/client" +#define FILE_DIR "code/modules/clothing" +#define FILE_DIR "code/modules/clothing/glasses" +#define FILE_DIR "code/modules/clothing/gloves" +#define FILE_DIR "code/modules/clothing/head" +#define FILE_DIR "code/modules/clothing/masks" +#define FILE_DIR "code/modules/clothing/shoes" +#define FILE_DIR "code/modules/clothing/spacesuits" +#define FILE_DIR "code/modules/clothing/suits" +#define FILE_DIR "code/modules/clothing/under" +#define FILE_DIR "code/modules/clothing/under/jobs" +#define FILE_DIR "code/modules/destilery" +#define FILE_DIR "code/modules/detectivework" +#define FILE_DIR "code/modules/events" +#define FILE_DIR "code/modules/flufftext" +#define FILE_DIR "code/modules/food" +#define FILE_DIR "code/modules/library" +#define FILE_DIR "code/modules/liquid" +#define FILE_DIR "code/modules/mining" +#define FILE_DIR "code/modules/mob" +#define FILE_DIR "code/modules/mob/dead" +#define FILE_DIR "code/modules/mob/dead/observer" +#define FILE_DIR "code/modules/mob/living" +#define FILE_DIR "code/modules/mob/living/blob" +#define FILE_DIR "code/modules/mob/living/carbon" +#define FILE_DIR "code/modules/mob/living/carbon/alien" +#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid" +#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid/caste" +#define FILE_DIR "code/modules/mob/living/carbon/alien/larva" +#define FILE_DIR "code/modules/mob/living/carbon/alien/special" +#define FILE_DIR "code/modules/mob/living/carbon/brain" +#define FILE_DIR "code/modules/mob/living/carbon/human" +#define FILE_DIR "code/modules/mob/living/carbon/metroid" +#define FILE_DIR "code/modules/mob/living/carbon/monkey" +#define FILE_DIR "code/modules/mob/living/silicon" +#define FILE_DIR "code/modules/mob/living/silicon/ai" +#define FILE_DIR "code/modules/mob/living/silicon/ai/freelook" +#define FILE_DIR "code/modules/mob/living/silicon/decoy" +#define FILE_DIR "code/modules/mob/living/silicon/pai" +#define FILE_DIR "code/modules/mob/living/silicon/robot" +#define FILE_DIR "code/modules/mob/living/simple_animal" +#define FILE_DIR "code/modules/mob/living/simple_animal/friendly" +#define FILE_DIR "code/modules/mob/living/simple_animal/hostile" +#define FILE_DIR "code/modules/mob/living/simple_animal/hostile/retaliate" +#define FILE_DIR "code/modules/mob/new_player" +#define FILE_DIR "code/modules/paperwork" +#define FILE_DIR "code/modules/power" +#define FILE_DIR "code/modules/power/antimatter" +#define FILE_DIR "code/modules/power/singularity" +#define FILE_DIR "code/modules/power/singularity/particle_accelerator" +#define FILE_DIR "code/modules/projectiles" +#define FILE_DIR "code/modules/projectiles/ammunition" +#define FILE_DIR "code/modules/projectiles/guns" +#define FILE_DIR "code/modules/projectiles/guns/energy" +#define FILE_DIR "code/modules/projectiles/guns/projectile" +#define FILE_DIR "code/modules/projectiles/projectile" +#define FILE_DIR "code/modules/reagents" +#define FILE_DIR "code/modules/reagents/reagent_containers" +#define FILE_DIR "code/modules/reagents/reagent_containers/food" +#define FILE_DIR "code/modules/reagents/reagent_containers/food/drinks" +#define FILE_DIR "code/modules/reagents/reagent_containers/food/drinks/bottle" +#define FILE_DIR "code/modules/reagents/reagent_containers/food/snacks" +#define FILE_DIR "code/modules/reagents/reagent_containers/glass" +#define FILE_DIR "code/modules/reagents/reagent_containers/glass/bottle" +#define FILE_DIR "code/modules/recycling" +#define FILE_DIR "code/modules/research" +#define FILE_DIR "code/modules/scripting" +#define FILE_DIR "code/modules/scripting/AST" +#define FILE_DIR "code/modules/scripting/AST/Operators" +#define FILE_DIR "code/modules/scripting/Implementations" +#define FILE_DIR "code/modules/scripting/Interpreter" +#define FILE_DIR "code/modules/scripting/Parser" +#define FILE_DIR "code/modules/scripting/Scanner" +#define FILE_DIR "code/modules/security levels" +#define FILE_DIR "code/unused" +#define FILE_DIR "code/unused/beast" +#define FILE_DIR "code/unused/computer2" +#define FILE_DIR "code/unused/disease2" +#define FILE_DIR "code/unused/gamemodes" +#define FILE_DIR "code/unused/hivebot" +#define FILE_DIR "code/unused/mining" +#define FILE_DIR "code/unused/optics" +#define FILE_DIR "code/unused/pda2" +#define FILE_DIR "code/unused/powerarmor" +#define FILE_DIR "code/unused/spacecraft" +#define FILE_DIR "code/WorkInProgress" +#define FILE_DIR "code/WorkInProgress/carn" +#define FILE_DIR "code/WorkInProgress/mapload" +#define FILE_DIR "code/WorkInProgress/organs" +#define FILE_DIR "code/WorkInProgress/Sigyn" +#define FILE_DIR "code/WorkInProgress/Sigyn/Department Sec" +#define FILE_DIR "code/WorkInProgress/Sigyn/Softcurity" +#define FILE_DIR "code/WorkInProgress/virus2" #define FILE_DIR "html" #define FILE_DIR "icons" #define FILE_DIR "icons/effects" @@ -25,7 +211,9 @@ #define FILE_DIR "icons/Testing" #define FILE_DIR "icons/turf" #define FILE_DIR "icons/vending_icons" +#define FILE_DIR "interface" #define FILE_DIR "maps" +#define FILE_DIR "maps/RandomZLevels" #define FILE_DIR "sound" #define FILE_DIR "sound/AI" #define FILE_DIR "sound/ambience" @@ -39,6 +227,8 @@ #define FILE_DIR "sound/violin" #define FILE_DIR "sound/voice" #define FILE_DIR "sound/weapons" +#define FILE_DIR "tools" +#define FILE_DIR "tools/Redirector" // END_FILE_DIR // BEGIN_PREFERENCES @@ -538,7 +728,6 @@ #include "code\game\objects\items\weapons\implants\implantchair.dm" #include "code\game\objects\items\weapons\implants\implanter.dm" #include "code\game\objects\items\weapons\implants\implantfreedom.dm" -#include "code\game\objects\items\weapons\implants\implantnanoaug.dm" #include "code\game\objects\items\weapons\implants\implantpad.dm" #include "code\game\objects\items\weapons\implants\implantuplink.dm" #include "code\game\objects\items\weapons\melee\energy.dm"