mirror of
https://github.com/Aurorastation/Aurora-Old.git
synced 2026-08-29 23:56:22 +01:00
+2
-2
@@ -39,10 +39,10 @@
|
||||
#define FILE_DIR "icons/obj/clothing/species/tajaran"
|
||||
#define FILE_DIR "icons/obj/clothing/species/unathi"
|
||||
#define FILE_DIR "icons/obj/custom_items"
|
||||
#define FILE_DIR "icons/obj/door_braces"
|
||||
#define FILE_DIR "icons/obj/doors"
|
||||
#define FILE_DIR "icons/obj/flora"
|
||||
#define FILE_DIR "icons/obj/machines"
|
||||
#define FILE_DIR "icons/obj/magnetic_locks"
|
||||
#define FILE_DIR "icons/obj/pipes"
|
||||
#define FILE_DIR "icons/pda_icons"
|
||||
#define FILE_DIR "icons/spideros_icons"
|
||||
@@ -568,12 +568,12 @@
|
||||
#include "code\game\objects\items\devices\binoculars.dm"
|
||||
#include "code\game\objects\items\devices\chameleonproj.dm"
|
||||
#include "code\game\objects\items\devices\debugger.dm"
|
||||
#include "code\game\objects\items\devices\door_bracer.dm"
|
||||
#include "code\game\objects\items\devices\flash.dm"
|
||||
#include "code\game\objects\items\devices\flashlight.dm"
|
||||
#include "code\game\objects\items\devices\isocube.dm"
|
||||
#include "code\game\objects\items\devices\laserpointer.dm"
|
||||
#include "code\game\objects\items\devices\lightreplacer.dm"
|
||||
#include "code\game\objects\items\devices\magnetic_lock.dm"
|
||||
#include "code\game\objects\items\devices\megaphone.dm"
|
||||
#include "code\game\objects\items\devices\modkit.dm"
|
||||
#include "code\game\objects\items\devices\multitool.dm"
|
||||
|
||||
+12
-12
@@ -1346,22 +1346,22 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
|
||||
access = access_medical
|
||||
group = "Medical / Science"
|
||||
|
||||
/datum/supply_packs/doorbracers_engineering
|
||||
name = "Engineering Doorbracer Crate"
|
||||
contains = list(/obj/item/device/doorbrace/engineering,
|
||||
/obj/item/device/doorbrace/engineering,
|
||||
/obj/item/device/doorbrace/engineering)
|
||||
/datum/supply_packs/maglocks_engineering
|
||||
name = "Engineering Magnetic Lock Crate"
|
||||
contains = list(/obj/item/device/magnetic_lock/engineering,
|
||||
/obj/item/device/magnetic_lock/engineering,
|
||||
/obj/item/device/magnetic_lock/engineering)
|
||||
cost = 30
|
||||
containertype = /obj/structure/closet/crate
|
||||
containername = "engineering doorbracers"
|
||||
containername = "engineering magnetic locks"
|
||||
group = "Engineering"
|
||||
|
||||
/datum/supply_packs/doorbracers_security
|
||||
name = "Security Doorbracer Crate"
|
||||
contains = list(/obj/item/device/doorbrace/security,
|
||||
/obj/item/device/doorbrace/security,
|
||||
/obj/item/device/doorbrace/security)
|
||||
/datum/supply_packs/maglocks_security
|
||||
name = "Security Magnetic Lock Crate"
|
||||
contains = list(/obj/item/device/magnetic_lock/security,
|
||||
/obj/item/device/magnetic_lock/security,
|
||||
/obj/item/device/magnetic_lock/security)
|
||||
cost = 30
|
||||
containertype = /obj/structure/closet/crate
|
||||
containername = "security doorbracers"
|
||||
containername = "security magnetic locks"
|
||||
group = "Security"
|
||||
|
||||
@@ -157,6 +157,7 @@ Devices and Tools;
|
||||
Whitespace:Seperator;
|
||||
Implants;
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_freedom:3:Freedom Implant;
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_adrenalin:3:Adrenalin Implant;
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_uplink:10:Uplink Implant (Contains 5 Telecrystals);
|
||||
Whitespace:Seperator;
|
||||
(Pointless) Badassery;
|
||||
|
||||
@@ -72,6 +72,7 @@ Devices and Tools;
|
||||
Whitespace:Seperator;
|
||||
Implants;
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_freedom:3:Freedom Implant;
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_adrenalin:3:Adrenalin Implant;
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_uplink:10:Uplink Implant (Contains 5 Telecrystals);
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_explosive:6:Explosive Implant (DANGER!);
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_compress:4:Compressed Matter Implant;Whitespace:Seperator;
|
||||
|
||||
@@ -293,9 +293,10 @@
|
||||
M.current.remove_vampire_blood(150)
|
||||
M.current.verbs -= /client/vampire/proc/vampire_enthrall
|
||||
spawn(1800) M.current.verbs += /client/vampire/proc/vampire_enthrall
|
||||
else
|
||||
M.current << "\red You or your target either moved or you dont have enough usable blood."
|
||||
return
|
||||
return
|
||||
else
|
||||
M.current << "\red You or your target either moved or you dont have enough usable blood."
|
||||
return
|
||||
|
||||
/client/vampire/proc/vampire_cloak()
|
||||
set category = "Abilities"
|
||||
@@ -327,14 +328,14 @@
|
||||
|
||||
/mob/proc/can_enthrall(mob/living/carbon/C)
|
||||
var/enthrall_safe = 0
|
||||
/* for(var/obj/item/weapon/implant/loyalty/L in C)
|
||||
for(var/obj/item/weapon/implant/loyalty/L in C)
|
||||
if(L && L.implanted)
|
||||
enthrall_safe = 1
|
||||
break
|
||||
for(var/obj/item/weapon/implant/traitor/T in C)
|
||||
if(T && T.implanted)
|
||||
enthrall_safe = 1
|
||||
break*/
|
||||
// for(var/obj/item/weapon/implant/traitor/T in C)
|
||||
// if(T && T.implanted)
|
||||
// enthrall_safe = 1
|
||||
// break
|
||||
if(!C)
|
||||
world.log << "something bad happened on enthralling a mob src is [src] [src.key] \ref[src]"
|
||||
return 0
|
||||
@@ -526,4 +527,4 @@
|
||||
bloodold = mind.vampire.bloodusable
|
||||
mind.vampire.bloodusable = max(0, (mind.vampire.bloodusable - amount))
|
||||
if(bloodold != mind.vampire.bloodusable)
|
||||
src << "\blue <b>You have [mind.vampire.bloodusable] left to use.</b>"
|
||||
src << "\blue <b>You have [mind.vampire.bloodusable] left to use.</b>"
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
var/door_sound='sound/machines/airlock.ogg'
|
||||
var/door_sound_distance=30
|
||||
autoclose = 1
|
||||
var/obj/item/device/doorbrace/bracer = null
|
||||
var/obj/item/device/magnetic_lock/bracer = null
|
||||
|
||||
/obj/machinery/door/airlock/command
|
||||
name = "Airlock"
|
||||
@@ -718,12 +718,12 @@ About the new airlock wires panel:
|
||||
set_frequency(ST.change_freq(frequency))
|
||||
return
|
||||
|
||||
if (istype(C, /obj/item/device/doorbrace))
|
||||
if (istype(C, /obj/item/device/magnetic_lock))
|
||||
if (bracer)
|
||||
user << "<span class='notice'>There is already a [bracer] on [src]!</span>"
|
||||
return
|
||||
|
||||
var/obj/item/device/doorbrace/newbracer = C
|
||||
var/obj/item/device/magnetic_lock/newbracer = C
|
||||
newbracer.attachto(src, user)
|
||||
return
|
||||
|
||||
|
||||
@@ -108,12 +108,6 @@
|
||||
holder.icon_state = "hudxeno"
|
||||
else if(foundVirus)
|
||||
holder.icon_state = "hudill"
|
||||
else if(patient.has_brain_worms())
|
||||
var/mob/living/simple_animal/borer/B = patient.has_brain_worms()
|
||||
if(B.controlling)
|
||||
holder.icon_state = "hudbrainworm"
|
||||
else
|
||||
holder.icon_state = "hudhealthy"
|
||||
else
|
||||
holder.icon_state = "hudhealthy"
|
||||
|
||||
|
||||
+53
-19
@@ -5,10 +5,10 @@
|
||||
#define LAYER_ATTACHED 3.2
|
||||
#define LAYER_NORMAL 3
|
||||
|
||||
/obj/item/device/doorbrace
|
||||
/obj/item/device/magnetic_lock
|
||||
name = "magnetic door lock"
|
||||
desc = "A large, ID locked device used for completely locking down airlocks."
|
||||
icon = 'icons/obj/door_braces/centcom.dmi'
|
||||
icon = 'icons/obj/magnetic_locks/centcom.dmi'
|
||||
icon_state = "inactive"
|
||||
w_class = 3
|
||||
req_access = list(103)
|
||||
@@ -17,38 +17,49 @@
|
||||
var/department = "CENTCOM"
|
||||
var/status = 0
|
||||
var/constructionstate = 0
|
||||
var/drainamount = 20
|
||||
var/obj/machinery/door/airlock/target = null
|
||||
var/obj/item/weapon/cell/powercell
|
||||
|
||||
/obj/item/device/doorbrace/security
|
||||
icon = 'icons/obj/door_braces/security.dmi'
|
||||
/obj/item/device/magnetic_lock/security
|
||||
icon = 'icons/obj/magnetic_locks/security.dmi'
|
||||
department = "Security"
|
||||
req_access = list(1)
|
||||
|
||||
/obj/item/device/doorbrace/engineering
|
||||
icon = 'icons/obj/door_braces/engineering.dmi'
|
||||
/obj/item/device/magnetic_lock/engineering
|
||||
icon = 'icons/obj/magnetic_locks/engineering.dmi'
|
||||
department = "Engineering"
|
||||
req_access = null
|
||||
req_one_access = list(11, 24)
|
||||
|
||||
/obj/item/device/doorbrace/examine()
|
||||
/obj/item/device/magnetic_lock/New()
|
||||
..()
|
||||
|
||||
powercell = new /obj/item/weapon/cell/high()
|
||||
|
||||
/obj/item/device/magnetic_lock/examine()
|
||||
..()
|
||||
|
||||
if (status == STATUS_BROKEN)
|
||||
usr << "<span class='danger'>It looks broken!</span>"
|
||||
else
|
||||
usr << "\blue This device has [department] department markings on it."
|
||||
if (powercell)
|
||||
var/power = round(powercell.charge / powercell.maxcharge * 100)
|
||||
usr << "\blue The powercell is at [power]% charge."
|
||||
else
|
||||
usr << "\red It has no powercell to power it!"
|
||||
|
||||
/obj/item/device/doorbrace/attack_hand(var/mob/user)
|
||||
/obj/item/device/magnetic_lock/attack_hand(var/mob/user)
|
||||
if (status == STATUS_ACTIVE)
|
||||
ui_interact(user)
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/item/device/doorbrace/bullet_act(var/obj/item/projectile/Proj)
|
||||
/obj/item/device/magnetic_lock/bullet_act(var/obj/item/projectile/Proj)
|
||||
takedamage(Proj.damage)
|
||||
..()
|
||||
|
||||
/obj/item/device/doorbrace/attackby(var/obj/item/I, var/mob/user)
|
||||
/obj/item/device/magnetic_lock/attackby(var/obj/item/I, var/mob/user)
|
||||
if (status == STATUS_BROKEN)
|
||||
user << "<span class='danger'>[src] is broken beyond repair!</span>"
|
||||
return
|
||||
@@ -97,6 +108,16 @@
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
setconstructionstate(0)
|
||||
return
|
||||
if (istype(I, /obj/item/weapon/cell))
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
powercell = I
|
||||
return
|
||||
if (istype(I, /obj/item/weapon/crowbar))
|
||||
user << "<span class='notice'>You remove \the [powercell] from \the [src].</span>"
|
||||
powercell.loc = loc
|
||||
powercell = null
|
||||
return
|
||||
if (istype(I, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = I
|
||||
if (WT.remove_fuel(1, user))
|
||||
@@ -119,7 +140,16 @@
|
||||
setconstructionstate(4)
|
||||
return
|
||||
|
||||
/obj/item/device/doorbrace/proc/attachto(var/obj/machinery/door/airlock/newtarget, var/mob/user as mob)
|
||||
/obj/item/device/magnetic_lock/process()
|
||||
if (powercell && powercell.charge > drainamount)
|
||||
powercell.charge -= drainamount
|
||||
else
|
||||
if (powercell)
|
||||
powercell.charge = 0
|
||||
visible_message("<span class='danger'>[src] beeps loudly and falls off \the [target]; its powercell having run out of power.</span>")
|
||||
setstatus(STATUS_INACTIVE)
|
||||
|
||||
/obj/item/device/magnetic_lock/proc/attachto(var/obj/machinery/door/airlock/newtarget, var/mob/user as mob)
|
||||
if (status == STATUS_BROKEN)
|
||||
user << "<span class='danger'>[src] is damaged beyond repair! It cannot be used!</span>"
|
||||
return
|
||||
@@ -152,7 +182,7 @@
|
||||
setstatus(STATUS_ACTIVE, newtarget)
|
||||
return
|
||||
|
||||
/obj/item/device/doorbrace/proc/setstatus(var/newstatus, var/obj/machinery/door/airlock/newtarget as obj)
|
||||
/obj/item/device/magnetic_lock/proc/setstatus(var/newstatus, var/obj/machinery/door/airlock/newtarget as obj)
|
||||
switch (newstatus)
|
||||
if (STATUS_INACTIVE)
|
||||
if (status != STATUS_ACTIVE)
|
||||
@@ -187,7 +217,7 @@
|
||||
icon_state = "broken"
|
||||
status = newstatus
|
||||
|
||||
/obj/item/device/doorbrace/proc/setconstructionstate(var/newstate)
|
||||
/obj/item/device/magnetic_lock/proc/setconstructionstate(var/newstate)
|
||||
constructionstate = newstate
|
||||
if (newstate == 0)
|
||||
if (status == STATUS_ACTIVE)
|
||||
@@ -201,7 +231,7 @@
|
||||
else
|
||||
icon_state = "deconstruct_[constructionstate]"
|
||||
|
||||
/obj/item/device/doorbrace/proc/detach(var/playflick = 1)
|
||||
/obj/item/device/magnetic_lock/proc/detach(var/playflick = 1)
|
||||
if (target)
|
||||
|
||||
if (playflick)
|
||||
@@ -212,9 +242,11 @@
|
||||
|
||||
target.bracer = null
|
||||
|
||||
processing_objects.Remove(src)
|
||||
|
||||
anchored = 0
|
||||
|
||||
/obj/item/device/doorbrace/proc/attach(var/obj/machinery/door/airlock/newtarget as obj)
|
||||
/obj/item/device/magnetic_lock/proc/attach(var/obj/machinery/door/airlock/newtarget as obj)
|
||||
adjustsprite(newtarget)
|
||||
layer = LAYER_ATTACHED
|
||||
flick("deploy", src)
|
||||
@@ -222,9 +254,11 @@
|
||||
newtarget.bracer = src
|
||||
target = newtarget
|
||||
|
||||
processing_objects.Add(src)
|
||||
|
||||
anchored = 1
|
||||
|
||||
/obj/item/device/doorbrace/proc/adjustsprite(var/obj/target as obj)
|
||||
/obj/item/device/magnetic_lock/proc/adjustsprite(var/obj/target as obj)
|
||||
if (target)
|
||||
switch (get_dir(src, target))
|
||||
if (NORTH)
|
||||
@@ -255,7 +289,7 @@
|
||||
pixel_x = 0
|
||||
pixel_y = 0
|
||||
|
||||
/obj/item/device/doorbrace/proc/takedamage(var/damage)
|
||||
/obj/item/device/magnetic_lock/proc/takedamage(var/damage)
|
||||
health -= damage
|
||||
|
||||
if (damage >= 40 && prob(50))
|
||||
@@ -269,7 +303,7 @@
|
||||
if (prob(50))
|
||||
spark()
|
||||
|
||||
/obj/item/device/doorbrace/proc/spark()
|
||||
/obj/item/device/magnetic_lock/proc/spark()
|
||||
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
||||
|
||||
if (target)
|
||||
@@ -294,6 +294,8 @@
|
||||
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
return
|
||||
if(istype(H) && H.species.insulated)//Insulation
|
||||
return
|
||||
|
||||
if(M.buckled && istype(M.buckled, /obj/structure/stool/bed/chair/wheelchair))
|
||||
return ..()
|
||||
|
||||
@@ -52,6 +52,25 @@
|
||||
flick("e_flash", M.flash)
|
||||
M.Stun(2)
|
||||
M.Weaken(10)
|
||||
//Vaurca damage 29-012-15
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.species.flags & IS_BUG)
|
||||
var/datum/organ/internal/eyes/E = H.internal_organs_by_name["eyes"]
|
||||
if(!E)
|
||||
return
|
||||
//Reworked damage 29/12/15
|
||||
usr << "\red Your eyes burn with the intense light of the flash!."
|
||||
E.damage += rand(10, 11)
|
||||
if(E.damage > 12)
|
||||
M.eye_blurry += rand(3,6)
|
||||
if (E.damage >= E.min_broken_damage)
|
||||
M.sdisabilities |= BLIND
|
||||
else if (E.damage >= E.min_bruised_damage)
|
||||
M.eye_blind = 5
|
||||
M.eye_blurry = 5
|
||||
M.disabilities |= NEARSIGHTED
|
||||
spawn(100)
|
||||
M.disabilities &= ~NEARSIGHTED
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -333,22 +333,20 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
|
||||
|
||||
implanted(mob/M)
|
||||
if(!istype(M, /mob/living/carbon/human)) return 0
|
||||
if(!istype(M, /mob/living/carbon/human))
|
||||
return 0
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.mind in ticker.mode.head_revolutionaries)
|
||||
if (H.mind in ticker.mode.head_revolutionaries)
|
||||
H.visible_message("[H] seems to resist the implant!", "You feel the corporate tendrils of Nanotrasen try to invade your mind!")
|
||||
return 0
|
||||
else if(H.mind in ticker.mode:revolutionaries)
|
||||
else if (H.mind in ticker.mode:revolutionaries)
|
||||
ticker.mode:remove_revolutionary(H.mind)
|
||||
H << "\blue You feel a surge of loyalty towards Nanotrasen."
|
||||
return 1
|
||||
|
||||
implanted(mob/M)
|
||||
if(!istype(M, /mob/living/carbon/human)) return 0
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.mind in ticker.mode:cult)
|
||||
else if (H.mind in ticker.mode:cult)
|
||||
ticker.mode:remove_cultist(M.mind)
|
||||
H << "\blue The implant robs you of your faith in Nar-Sie, leaving only obedience to NanoTrasen."
|
||||
H << "\blue The implant robs you of your faith in Nar-Sie, leaving only obedience to NanoTrasen."
|
||||
else if (H.mind in ticker.mode:changelings)
|
||||
H << "\blue <b>We have weaved our flesh around and isolated the simple chip. It has no effect on us.</b> But they do not know it yet..."
|
||||
H << "\blue You feel a surge of loyalty towards Nanotrasen."
|
||||
return 1
|
||||
|
||||
//Alternatively! This is the null-rod deconversion, if the above doesn't work. There's two things down there and I don't know if that's okay.
|
||||
@@ -386,14 +384,21 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
return dat
|
||||
|
||||
|
||||
trigger(emote, mob/source as mob)
|
||||
if (src.uses < 1) return 0
|
||||
trigger(emote, mob/living/carbon/human/source as mob)
|
||||
if (src.uses < 1)
|
||||
return 0
|
||||
if (!istype(source))
|
||||
return 0
|
||||
if (emote == "pale")
|
||||
src.uses--
|
||||
source << "\blue You feel a sudden surge of energy!"
|
||||
source.stat = 0
|
||||
source.SetParalysis(0)
|
||||
source.SetStunned(0)
|
||||
source.SetWeakened(0)
|
||||
source.SetParalysis(0)
|
||||
source.lying = 0
|
||||
source.setHalLoss(0)
|
||||
source.update_canmove()
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -82,6 +82,16 @@
|
||||
O.update()
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_adrenalin
|
||||
name = "boxed adrenalin implant (with injector)"
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_adrenalin/New()
|
||||
..()
|
||||
var/obj/item/weapon/implanter/O = new(src)
|
||||
O.imp = new /obj/item/weapon/implant/adrenalin(O)
|
||||
O.update()
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_compress
|
||||
name = "box (C)"
|
||||
|
||||
|
||||
@@ -678,4 +678,4 @@
|
||||
icon_state = "printer"
|
||||
var/printing = 0
|
||||
density = 1
|
||||
anchored = 1
|
||||
anchored = 1
|
||||
|
||||
@@ -1132,6 +1132,10 @@
|
||||
return //TODO: DEFERRED
|
||||
|
||||
proc/handle_regular_status_updates()
|
||||
if(species.flags & IS_BUG)
|
||||
adjustBruteLoss(0)
|
||||
adjustFireLoss(0)
|
||||
|
||||
|
||||
if(status_flags & GODMODE) return 0
|
||||
|
||||
@@ -1408,6 +1412,9 @@
|
||||
see_in_dark = 8
|
||||
if(!druggy) see_invisible = SEE_INVISIBLE_OBSERVER_NOLIGHTING
|
||||
|
||||
if(species.flags & IS_BUG) //Vaurca nightvision 29/12/15
|
||||
see_in_dark = 8
|
||||
|
||||
if(seer==1)
|
||||
var/obj/effect/rune/R = locate() in loc
|
||||
if(R && R.word1 == cultwords["see"] && R.word2 == cultwords["hell"] && R.word3 == cultwords["join"])
|
||||
@@ -1817,13 +1824,6 @@
|
||||
holder2.icon_state = "hudxeno"
|
||||
else if(foundVirus)
|
||||
holder.icon_state = "hudill"
|
||||
else if(has_brain_worms())
|
||||
var/mob/living/simple_animal/borer/B = has_brain_worms()
|
||||
if(B.controlling)
|
||||
holder.icon_state = "hudbrainworm"
|
||||
else
|
||||
holder.icon_state = "hudhealthy"
|
||||
holder2.icon_state = "hudbrainworm"
|
||||
else
|
||||
holder.icon_state = "hudhealthy"
|
||||
if(virus2.len)
|
||||
|
||||
@@ -75,6 +75,7 @@
|
||||
var/blood_color = "#A10808" //Red.
|
||||
var/flesh_color = "#FFC896" //Pink.
|
||||
var/base_color //Used when setting species.
|
||||
var/darkness_view
|
||||
|
||||
//Used in icon caching.
|
||||
var/race_key = 0
|
||||
@@ -626,7 +627,8 @@ See code\modules\mob\new_player\preferences_setup.dm for where it's used.
|
||||
secondary_unarmed_type = /datum/unarmed_attack/bite/strong
|
||||
rarity_value = 2 //according to the code this does nothing but upset me so i guess it can stay
|
||||
slowdown = 1 //slow
|
||||
darksight = 666 //good at seeing
|
||||
darksight = 8 //good at seeing
|
||||
darkness_view = 7
|
||||
eyes = "blank_eyes" //made out of butts
|
||||
brute_mod = 0.5 //note to self: remove is_synthetic checks for brmod and burnmod
|
||||
burn_mod = 2 //bugs on fire
|
||||
|
||||
@@ -74,12 +74,6 @@
|
||||
holder.icon_state = "hudxeno"
|
||||
else if(foundVirus)
|
||||
holder.icon_state = "hudill"
|
||||
else if(patient.has_brain_worms())
|
||||
var/mob/living/simple_animal/borer/B = patient.has_brain_worms()
|
||||
if(B.controlling)
|
||||
holder.icon_state = "hudbrainworm"
|
||||
else
|
||||
holder.icon_state = "hudhealthy"
|
||||
else
|
||||
holder.icon_state = "hudhealthy"
|
||||
client.images += holder
|
||||
@@ -104,4 +98,4 @@
|
||||
return "health0"
|
||||
else
|
||||
return "health-100"
|
||||
return "0"
|
||||
return "0"
|
||||
|
||||
@@ -273,11 +273,13 @@
|
||||
//No animations will be performed by this proc.
|
||||
/proc/electrocute_mob(mob/living/carbon/M as mob, var/power_source, var/obj/source, var/siemens_coeff = 1.0)
|
||||
if(istype(M.loc,/obj/mecha)) return 0 //feckin mechs are dumb
|
||||
var/mob/living/carbon/human/H = M //29/12/2015 INSULATION INITIATION
|
||||
if(istype(H) && H.species.insulated) return 0
|
||||
|
||||
//This is for performance optimization only.
|
||||
//DO NOT modify siemens_coeff here. That is checked in human/electrocute_act()
|
||||
if(istype(M,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = M
|
||||
//var/mob/living/carbon/human/H = M Changed for inulation 29/12/15
|
||||
if(H.gloves)
|
||||
var/obj/item/clothing/gloves/G = H.gloves
|
||||
if(G.siemens_coefficient == 0) return 0 //to avoid spamming with insulated glvoes on
|
||||
|
||||
@@ -7,22 +7,51 @@
|
||||
|
||||
var/blood_type = null
|
||||
|
||||
New()
|
||||
..()
|
||||
if(blood_type != null)
|
||||
name = "BloodPack [blood_type]"
|
||||
reagents.add_reagent("blood", 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null))
|
||||
update_icon()
|
||||
|
||||
on_reagent_change()
|
||||
/obj/item/weapon/reagent_containers/blood/New()
|
||||
..()
|
||||
if(blood_type != null)
|
||||
name = "BloodPack [blood_type]"
|
||||
reagents.add_reagent("blood", 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null))
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/on_reagent_change()
|
||||
update_icon()
|
||||
var/percent = round((reagents.total_volume / volume) * 100)
|
||||
switch(percent)
|
||||
if(0 to 9) icon_state = "empty"
|
||||
if(10 to 50) icon_state = "half"
|
||||
if(51 to INFINITY) icon_state = "full"
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/update_icon()
|
||||
var/percent = round((reagents.total_volume / volume) * 100)
|
||||
switch(percent)
|
||||
if(0 to 9) icon_state = "empty"
|
||||
if(10 to 50) icon_state = "half"
|
||||
if(51 to INFINITY) icon_state = "full"
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/attack(mob/living/carbon/human/M as mob, mob/living/carbon/human/user as mob)
|
||||
if (user == M && (user.mind in ticker.mode.vampires || user.mind.vampire))
|
||||
if (reagents.get_reagent_amount("blood"))
|
||||
user.visible_message("\red [user] raises \the [src] up to \his mouth and bites into it.", "\blue You raise \the [src] up to your mouth and bite into it, starting to drain its contents.")
|
||||
|
||||
while (do_after(user, 25, 5, 1))
|
||||
var/blood_taken = 0
|
||||
var/need_to_break = 0
|
||||
if (reagents.get_reagent_amount("blood") > 10)
|
||||
blood_taken = 10
|
||||
else
|
||||
blood_taken = reagents.get_reagent_amount("blood")
|
||||
need_to_break = 1
|
||||
|
||||
reagents.remove_reagent("blood", blood_taken)
|
||||
user.mind.vampire.bloodtotal += blood_taken
|
||||
user.check_vampire_upgrade(user.mind)
|
||||
|
||||
if (blood_taken)
|
||||
user << "\blue <b>You have accumulated [user.mind.vampire.bloodtotal] [user.mind.vampire.bloodtotal > 1 ? "units" : "unit"] of blood and have [user.mind.vampire.bloodusable] left to use."
|
||||
|
||||
if (need_to_break)
|
||||
break
|
||||
|
||||
user.visible_message("\red [user] licks \his fangs dry, lowering \the [src].", "\blue You lick your fangs clean of the tasteless blood.")
|
||||
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/APlus
|
||||
blood_type = "A+"
|
||||
@@ -45,4 +74,4 @@
|
||||
/obj/item/weapon/reagent_containers/blood/empty
|
||||
name = "Empty BloodPack"
|
||||
desc = "Seems pretty useless... Maybe if there were a way to fill it?"
|
||||
icon_state = "empty"
|
||||
icon_state = "empty"
|
||||
|
||||
+20
-3
@@ -56,6 +56,26 @@ should be listed in the changelog upon commit though. Thanks. -->
|
||||
|
||||
<!-- DO NOT REMOVE, MOVE, OR COPY THIS COMMENT! THIS MUST BE THE LAST NON-EMPTY LINE BEFORE THE LOGS #ADDTOCHANGELOGMARKER# -->
|
||||
|
||||
<div class='commit sansserif'>
|
||||
<h2 class='date'>04 January 2015</h2>
|
||||
<h3 class='author'>Skull132 Updated:</h3>
|
||||
<ul class='changes bgimages16'>
|
||||
<li class='rscadd'>Fuel fires are back in the game (both welder fuel and flamethrowers burn properly).</li>
|
||||
<li class='rscadd'>Adrenalin implant kits added to syndicate uplinks, worth 3 TC. Upon activation, the implant removes any and all stun effects that you have.</li>
|
||||
<li class='rscadd'>Gave the vampires the ability to suck blood from bloodpacks. Just attack yourself with one. Note that only total blood is gained, not usable blood.</li>
|
||||
<li class='tweak'>Loyalty implants tweaked: messages are now handled properly, head revs are safe once more, revs are properly removed, lings are given instructions on the fact that they can ignore the implant's effect.</li>
|
||||
<li class='tweak'>Having a cortical borer in your head no longer flags you as such on the medical HUD.</li>
|
||||
<li class='tweak'>Reworks whitelists to be SQL dependant, as opposed to running from a local file (should speed up server reboots).</li>
|
||||
<li class='tweak'>Tweaks magnetic locks to have a powercell. Standard high cap cell will run a magnetic lock for about 16 minutes. Cells can be removed by using a screwdriver, then a crowbar.</li>
|
||||
<li class='bugfix'>Loyalty implanted people cannot be enthralled. The vampire is now informed as such and the enthralling will fail.</li>
|
||||
<li class='bugfix'>Vaurca eyes now take damage from flashbangs and flashes.</li>
|
||||
<li class='bugfix'>Vaurca are now properly 'insulated' and resistant to electric shock.</li>
|
||||
<li class='bugfix'>Multiple bugfixes on the map, by Witt.</li>
|
||||
<li class='bugfix'>Organ transplants are fixed and now work, with the possible exception of eyes. Need to test. This also means that you can use the use the advanced operating table to conduct full on brain transplants.</li>
|
||||
<li class='bugfix'>Head re-attachment surgery no longer deletes the brain.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class='commit sansserif'>
|
||||
<h2 class='date'>8 December 2015</h2>
|
||||
<h3 class='author'>SoundScopes updated:</h3>
|
||||
@@ -70,8 +90,6 @@ should be listed in the changelog upon commit though. Thanks. -->
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class='commit sansserif'>
|
||||
<h2 class='date'>Probably October</h2>
|
||||
<h3 class='author'>SoundScopes updated:</h3>
|
||||
@@ -86,7 +104,6 @@ should be listed in the changelog upon commit though. Thanks. -->
|
||||
<li class='imageadd'>Peanut seed sprite</li>
|
||||
<li class='bugfix'>Space has been fixed so you only need to define an area once</li>
|
||||
<li class='bugfix'>SQL bug</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
+275
-269
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user