mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-04 14:33:30 +00:00
Removed nanoaugs, they were unbalanced and never used outside of badmins shitting things up.
They also added extra checks to -Everytime a mob attacked (checking for super strength and electric hands) -Every time a mob was attacked (checking for dermal armour) -Every time a human was shot (checking for reflex) -Every time a human breathed (checking for rebreather) -Every tick of human life (checking for regen) -Every hud update (checking for radar) Not to mention just cluttered mob code in general. I know there won't be any noticeable performance increase from this but seeing as they were never going to be finished (I asked Doohl beforehand) and mob code is messy enough as is, I think only good can come of removing the code. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5587 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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("<font color='red'><b>[user] hits [src.name], doing some damage.</b></font>", "<font color='red'><b>You hit [src.name] with all your might. The metal creaks and bends.</b></font>")
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 )))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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 = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> Cybersun Industries Nano-Robotic Biological Augmentation Suite<BR>
|
||||
<b>Life:</b> Infinite. WARNING: Biological changes are irreversable.<BR>
|
||||
<b>Important Notes:</b> <font color='red'>Illegal</font>. Subjects exposed to nanorobotic agent are considered dangerous.<BR>
|
||||
<HR>
|
||||
<b>Implant Details:</b><BR>
|
||||
<b>Function:</b> Implant contains colony of pre-programmed nanorobots. Subject will experience radical changes in their body, amplifying and improving certain bodily characteristics.<BR>
|
||||
<b>Special Features:</b> Will grant subject superhuman powers.<BR>
|
||||
<b>Integrity:</b> 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 << "<font color='#FF0000'>Red</font color> blips on the map are Security."
|
||||
M << "White blips are civlians."
|
||||
M << "<font color='#3E710B'>Monochrome Green</font color> blips are cyborgs and AIs."
|
||||
M << "<font color='#238989'>Light blue</font color> blips are heads of staff."
|
||||
M << "<font color='#663366'>Purple</font color> 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, <B>say *[src.activation_emote]</B> to attempt to activate.", 0, 0)
|
||||
M << "The nanoaugmentation implant can be activated by using the [src.activation_emote] emote, <B>say *[src.activation_emote]</B> 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()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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("<span class='danger'>[user] smashes [src] apart!</span>")
|
||||
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("<span class='danger'>[user] smashes [src] apart!</span>")
|
||||
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
|
||||
new /obj/item/weapon/rack_parts(loc)
|
||||
|
||||
@@ -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("<span class='danger'>[user] smashes through [src]!</span>")
|
||||
new /obj/item/weapon/shard(loc)
|
||||
|
||||
@@ -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!" ))
|
||||
|
||||
@@ -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!" ))
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 <B>[M] has shocked [src] with [gendertxt] bare hands!</B>")
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='red'>Used Electric Hands nanoaug power on [src.name] ([src.ckey])</font>")
|
||||
src.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been shocked by [M.name] with the Electric Hands nanoaug ([M.ckey])</font>")
|
||||
|
||||
log_attack("<font color='red'>[M.name] ([M.ckey]) used Electric Hands nanoaug on [src.name], shocking them ([src.ckey])</font>")
|
||||
|
||||
|
||||
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()]\] <font color='red'>Punched [src.name] ([src.ckey])</font>")
|
||||
src.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been punched by [M.name] ([M.ckey])</font>")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 <B>[M] has shocked [src] with [gendertxt] bare hands!</B>")
|
||||
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
|
||||
|
||||
@@ -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)
|
||||
@@ -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
|
||||
|
||||
@@ -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 <B>[] is trying to break the handcuffs!</B>", 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 <B>[] is trying to break the legcuffs!</B>", CM), 1)
|
||||
|
||||
@@ -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 <B>[message]</B>")
|
||||
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()]\] <b>[firer]/[firer.ckey]</b> shot <b>[M]/[M.ckey]</b> with a <b>[src]</b>"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user