From 4d2fe460ed088fcc36d0ee4687ea4664ab505b64 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Mon, 11 Sep 2017 16:23:35 -0500 Subject: [PATCH] Nightmare --- code/__DEFINES/mobs.dm | 2 + code/game/objects/items/devices/PDA/PDA.dm | 6 +- code/game/sound.dm | 5 + .../human/species_types/shadowpeople.dm | 118 ++++++++++++++++++ .../modules/mob/living/silicon/robot/robot.dm | 10 +- .../modules/spells/spell_types/shadow_walk.dm | 6 +- code/modules/surgery/organs/eyes.dm | 7 +- icons/obj/surgery.dmi | Bin 30338 -> 31018 bytes 8 files changed, 140 insertions(+), 14 deletions(-) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 52e324bd76..c2d3256e59 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -154,3 +154,5 @@ #define JUDGE_IGNOREMONKEYS 16 #define MEGAFAUNA_DEFAULT_RECOVERY_TIME 5 + +#define SHADOW_SPECIES_LIGHT_THRESHOLD 0.2 \ No newline at end of file diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index acae2764ae..642a7ffc3a 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -30,7 +30,7 @@ GLOBAL_LIST_EMPTY(PDAs) //Secondary variables var/scanmode = 0 //1 is medical scanner, 2 is forensics, 3 is reagent scanner. var/fon = 0 //Is the flashlight function on? - var/f_lum = 3 //Luminosity for the flashlight function + var/f_lum = 2.3 //Luminosity for the flashlight function var/silent = 0 //To beep or not to beep, that is the question var/toff = 0 //If 1, messenger disabled var/tnote = null //Current Texts @@ -352,9 +352,9 @@ GLOBAL_LIST_EMPTY(PDAs) if(fon) fon = 0 set_light(0) - else + else if(f_lum) fon = 1 - set_light(2.3) + set_light(f_lum) update_icon() if("Medical Scan") if(scanmode == 1) diff --git a/code/game/sound.dm b/code/game/sound.dm index a7db2439b0..714f8ff5b2 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -146,6 +146,7 @@ soundin = pick('sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg') if ("can_open") soundin = pick('sound/effects/can_open1.ogg', 'sound/effects/can_open2.ogg', 'sound/effects/can_open3.ogg') +<<<<<<< HEAD if ("struggle_sound") soundin = pick( 'sound/vore/pred/struggle_01.ogg','sound/vore/pred/struggle_02.ogg','sound/vore/pred/struggle_03.ogg', 'sound/vore/pred/struggle_04.ogg','sound/vore/pred/struggle_05.ogg') @@ -176,4 +177,8 @@ 'sound/vore/prey/death_04.ogg','sound/vore/prey/death_05.ogg','sound/vore/prey/death_06.ogg', 'sound/vore/prey/death_07.ogg','sound/vore/prey/death_08.ogg','sound/vore/prey/death_09.ogg', 'sound/vore/prey/death_10.ogg') +======= + if("bullet_miss") + soundin = pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg') +>>>>>>> 35279a3... Nightmare (#30415) return soundin diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm index 3d30a3e1c1..183e90595e 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD /datum/species/shadow // Humans cursed to stay in the darkness, lest their life forces drain. They regain health in shadow and die in light. name = "???" @@ -21,3 +22,120 @@ H.take_overall_damage(1,1) else if (light_amount < 0.2) //heal in the dark H.heal_overall_damage(1,1) +======= +/datum/species/shadow + // Humans cursed to stay in the darkness, lest their life forces drain. They regain health in shadow and die in light. + name = "???" + id = "shadow" + sexes = 0 + blacklisted = 1 + ignored_by = list(/mob/living/simple_animal/hostile/faithless) + meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/shadow + species_traits = list(NOBREATH,NOBLOOD,RADIMMUNE,VIRUSIMMUNE) + + dangerous_existence = 1 + mutanteyes = /obj/item/organ/eyes/night_vision + + +/datum/species/shadow/spec_life(mob/living/carbon/human/H) + var/turf/T = H.loc + if(istype(T)) + var/light_amount = T.get_lumcount() + + if(light_amount > SHADOW_SPECIES_LIGHT_THRESHOLD) //if there's enough light, start dying + H.take_overall_damage(1,1) + else if (light_amount < SHADOW_SPECIES_LIGHT_THRESHOLD) //heal in the dark + H.heal_overall_damage(1,1) + + +/datum/species/shadow/nightmare + name = "Nightmare" + id = "nightmare" + limbs_id = "shadow" + burnmod = 1.5 + blacklisted = TRUE + no_equip = list(slot_wear_mask, slot_wear_suit, slot_gloves, slot_shoes, slot_w_uniform, slot_s_store) + species_traits = list(NOBREATH,RESISTCOLD,RESISTPRESSURE,NOGUNS,NOBLOOD,RADIMMUNE,VIRUSIMMUNE,PIERCEIMMUNE,NODISMEMBER,NO_UNDERWEAR,NOHUNGER) + mutanteyes = /obj/item/organ/eyes/night_vision/nightmare + var/obj/effect/proc_holder/spell/targeted/shadowwalk/shadowwalk + + var/info_text = "You are a Nightmare. The ability shadow walk allows unlimited, unrestricted movement in the dark using. \ + Your light eater will destroy any light producing objects you attack, as well as destroy any lights a living creature may be holding. You will automatically dodge gunfire and melee attacks when on a dark tile." + +/datum/species/shadow/nightmare/on_species_gain(mob/living/carbon/C, datum/species/old_species) + . = ..() + var/obj/effect/proc_holder/spell/targeted/shadowwalk/SW = new + C.AddSpell(SW) + shadowwalk = SW + var/obj/item/light_eater/blade = new + C.put_in_hands(blade) + + to_chat(C, "[info_text]") + + C.real_name = "Nightmare" + C.name = "Nightmare" + if(C.mind) + C.mind.name = "Nightmare" + C.dna.real_name = "Nightmare" + +/datum/species/shadow/nightmare/on_species_loss(mob/living/carbon/C) + . = ..() + if(shadowwalk) + C.RemoveSpell(shadowwalk) + +/datum/species/shadow/nightmare/bullet_act(obj/item/projectile/P, mob/living/carbon/human/H) + var/turf/T = H.loc + if(istype(T)) + var/light_amount = T.get_lumcount() + if(light_amount < SHADOW_SPECIES_LIGHT_THRESHOLD) + H.visible_message("[H] dances in the shadows, evading [P]!") + playsound(T, "bullet_miss", 75, 1) + return -1 + return 0 + +/obj/item/light_eater + name = "light eater" + icon_state = "arm_blade" + item_state = "arm_blade" + force = 25 + armour_penetration = 35 + lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi' + righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi' + flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1 + w_class = WEIGHT_CLASS_HUGE + sharpness = IS_SHARP + +/obj/item/light_eater/afterattack(atom/movable/AM, mob/user, proximity) + if(!proximity) + return + if(isopenturf(AM)) //So you can actually melee with it + return + if(isliving(AM)) + var/mob/living/L = AM + if(iscyborg(AM)) + var/mob/living/silicon/robot/borg = AM + borg.update_headlamp(TRUE, 100) + else + for(var/obj/item/O in AM) + if(O.light_range && O.light_power) + disintegrate(O) + if(L.pulling && L.pulling.light_range && isitem(L.pulling)) + disintegrate(L.pulling) + else if(isitem(AM)) + var/obj/item/I = AM + if(I.light_range && I.light_power) + disintegrate(I) + +/obj/item/light_eater/proc/disintegrate(obj/item/O) + if(istype(O, /obj/item/device/pda)) + var/obj/item/device/pda/PDA = O + PDA.set_light(0) + PDA.fon = 0 + PDA.f_lum = 0 + PDA.update_icon() + visible_message("The light in [PDA] shorts out!") + else + visible_message("[O] is disintegrated by [src]!") + O.burn() + playsound(src, 'sound/items/welder.ogg', 50, 1) +>>>>>>> 35279a3... Nightmare (#30415) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 644f845901..09d2570b72 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -72,7 +72,7 @@ var/lamp_max = 10 //Maximum brightness of a borg lamp. Set as a var for easy adjusting. var/lamp_intensity = 0 //Luminosity of the headlamp. 0 is off. Higher settings than the minimum require power. - var/lamp_recharging = 0 //Flag for if the lamp is on cooldown after being forcibly disabled. + var/lamp_cooldown = 0 //Flag for if the lamp is on cooldown after being forcibly disabled. var/sight_mode = 0 hud_possible = list(ANTAG_HUD, DIAG_STAT_HUD, DIAG_HUD, DIAG_BATT_HUD, DIAG_TRACK_HUD) @@ -742,7 +742,7 @@ set_autosay() /mob/living/silicon/robot/proc/control_headlamp() - if(stat || lamp_recharging || low_power_mode) + if(stat || lamp_cooldown > world.time || low_power_mode) to_chat(src, "This function is currently offline.") return @@ -757,8 +757,7 @@ if(lamp_intensity && (turn_off || stat || low_power_mode)) to_chat(src, "Your headlamp has been deactivated.") lamp_intensity = 0 - lamp_recharging = TRUE - addtimer(CALLBACK(src, .proc/reset_headlamp), cooldown) + lamp_cooldown = world.time + cooldown else set_light(lamp_intensity) @@ -767,9 +766,6 @@ update_icons() -/mob/living/silicon/robot/proc/reset_headlamp() - lamp_recharging = FALSE - /mob/living/silicon/robot/proc/deconstruct() var/turf/T = get_turf(src) if (robot_suit) diff --git a/code/modules/spells/spell_types/shadow_walk.dm b/code/modules/spells/spell_types/shadow_walk.dm index 546b960793..45ea521098 100644 --- a/code/modules/spells/spell_types/shadow_walk.dm +++ b/code/modules/spells/spell_types/shadow_walk.dm @@ -13,7 +13,7 @@ action_icon_state = "ninja_cloak" action_background_icon_state = "bg_alien" -/obj/effect/proc_holder/spell/targeted/shadowwalk/cast(list/targets,mob/user = usr) +/obj/effect/proc_holder/spell/targeted/shadowwalk/cast(list/targets,mob/living/user = usr) var/L = user.loc if(istype(user.loc, /obj/effect/dummy/shadow)) var/obj/effect/dummy/shadow/S = L @@ -22,9 +22,11 @@ else var/turf/T = get_turf(user) var/light_amount = T.get_lumcount() - if(light_amount < 0.2) + if(light_amount < SHADOW_SPECIES_LIGHT_THRESHOLD) playsound(get_turf(user), 'sound/magic/ethereal_enter.ogg', 50, 1, -1) visible_message("[user] melts into the shadows!") + user.AdjustStun(-20, 0) + user.AdjustKnockdown(-20, 0) var/obj/effect/dummy/shadow/S2 = new(get_turf(user.loc)) user.forceMove(S2) S2.jaunter = user diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index 554bcfdf60..4b939bf4f1 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -61,14 +61,17 @@ /obj/item/organ/eyes/night_vision/alien name = "alien eyes" desc = "It turned out they had them after all!" - see_in_dark = 8 - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE sight_flags = SEE_MOBS /obj/item/organ/eyes/night_vision/zombie name = "undead eyes" desc = "Somewhat counterintuitively, these half rotten eyes actually have superior vision to those of a living human." +/obj/item/organ/eyes/night_vision/nightmare + name = "burning red eyes" + desc = "Even without their shadowy owner, looking at these eyes gives you a sense of dread." + icon_state = "burning_eyes" + ///Robotic /obj/item/organ/eyes/robotic diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index 3753cc6e11dbc01985bad9a4c1fd3b9cca30bcce..d18a1bf262fadc379d7528c6dd0e3d5613e322fa 100755 GIT binary patch delta 11595 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 delta 10909 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