mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 03:25:49 +01:00
TG: There's a metric assload of stuff here, mostly in preparation to my massive
traitor expansion, so I'll try to be brief: - I added in the foundations for traitor factions. See factions.dm for all the different faction datums. They don't do anything yet. - I completely ported mob/var/mutations from a bitfield to a generic list. Mutation enumerated-identifiers are added into this list. For instance, TK = 1, COLD_RESISTANCE = 2, XRAY = 3, etc... The purpose of this was because bitwise operations could not actually be used after a certain size (because BYOND is stuck in the 16bit era). - I've added in completely-functional nano-augmentations. Check under implantnanoaug.dm for a list of implants and implaners. As mentioned previously, they are completely functional but may be slightly OP. Among these nanoaugs are Super Strength, Psionic Radar, Electric Hands, Energy Blade/Sword Synthesizer, Rebreather, Dermal Armor, Combat Reflexes, and Regenerative Nanorobots. I won't go into detail as to what they do, but hopefully they should be self- explanitory. If not, check out their descriptions in the file previously mentioned. - Added in a future traitor item, the Mind Batterer. Along with it a new .ogg file. - New telecomms bus mainframe sprite, thanks to WJohnston. - New holdable shield, sprites courtesy of Muncher (i had to mangle the side sprites because of a technical little issue. I'll change it back to the original soon). It can be retracted and expanded. Probably only going to be given to traitors. - A couple of minor bugfixes here and there, along with some code tidying. Hope this isn't too large a commit. I intended it to be MUCH larger, but I've decided to split up my Traitor Factions expansion into smaller commits. Revision: r3692 Author: vageyenaman
This commit is contained in:
@@ -63,7 +63,7 @@
|
||||
return
|
||||
|
||||
/obj/effect/alien/resin/attack_hand()
|
||||
if ((usr.mutations & HULK))
|
||||
if ((HULK in usr.mutations) || (SUPRSTR in usr.augmentations))
|
||||
usr << "\blue You easily destroy the [name]."
|
||||
for(var/mob/O in oviewers(src))
|
||||
O.show_message("\red [usr] destroys the [name]!", 1)
|
||||
@@ -131,7 +131,7 @@
|
||||
contents.Add(affecting)
|
||||
|
||||
while(!isnull(M)&&!isnull(src))//While M and wall exist
|
||||
if(prob(90)&& M.mutations & HULK)//If they're the Hulk, they're getting out.
|
||||
if(prob(90)&& HULK in M.mutations)//If they're the Hulk, they're getting out.
|
||||
M << "You smash your way to freedom!"
|
||||
break
|
||||
if(prob(30))//Let's people know that someone is trapped in the resin wall.
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
var/last_used = 0 //last world.time it was used.
|
||||
|
||||
/obj/item/device/flash/proc/clown_check(var/mob/user)
|
||||
if(user && (user.mutations & CLUMSY) && prob(50))
|
||||
if(user && (CLUMSY in user.mutations) && prob(50))
|
||||
user << "\red The Flash slips out of your hand."
|
||||
user.drop_item()
|
||||
return 0
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
|
||||
|
||||
/obj/item/device/flashlight
|
||||
name = "flashlight"
|
||||
desc = "A hand-held emergency light."
|
||||
@@ -51,7 +49,7 @@
|
||||
/obj/item/device/flashlight/attack(mob/M as mob, mob/user as mob)
|
||||
src.add_fingerprint(user)
|
||||
if(src.on && user.zone_sel.selecting == "eyes")
|
||||
if ((user.mutations & CLUMSY || user.getBrainLoss() >= 60) && prob(50))//too dumb to use flashlight properly
|
||||
if (((CLUMSY in user.mutations) || user.getBrainLoss() >= 60) && prob(50))//too dumb to use flashlight properly
|
||||
return ..()//just hit them in the head
|
||||
|
||||
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")//don't have dexterity
|
||||
@@ -71,7 +69,7 @@
|
||||
if(M.stat > 1 || M.disabilities & 128)//mob is dead or fully blind
|
||||
if(M!=user)
|
||||
user.show_message(text("\red [] pupils does not react to the light!", M),1)
|
||||
else if(M.mutations & XRAY)//mob has X-RAY vision
|
||||
else if(XRAY in M.mutations)//mob has X-RAY vision
|
||||
if(M!=user)
|
||||
user.show_message(text("\red [] pupils give an eerie glow!", M),1)
|
||||
else //nothing wrong
|
||||
@@ -192,10 +190,32 @@
|
||||
user.UpdateLuminosity()
|
||||
src.sd_SetLuminosity(brightness_on)
|
||||
|
||||
// the desk lamps are a bit special
|
||||
/obj/item/device/flashlight/lamp
|
||||
name = "desk lamp"
|
||||
desc = "A desk lamp"
|
||||
icon = 'lighting.dmi'
|
||||
icon_state = "lamp0"
|
||||
brightness_on = 5
|
||||
icon_on = "lamp1"
|
||||
icon_off = "lamp0"
|
||||
w_class = 4
|
||||
flags = FPRINT | TABLEPASS | CONDUCT
|
||||
m_amt = 0
|
||||
g_amt = 0
|
||||
on = 1
|
||||
|
||||
// green-shaded desk lamp
|
||||
/obj/item/device/flashlight/lamp/green
|
||||
icon_state = "green0"
|
||||
icon_on = "green1"
|
||||
icon_off = "green0"
|
||||
desc = "A green-shaded desk lamp"
|
||||
|
||||
/obj/item/device/flashlight/lamp/verb/toggle_light()
|
||||
set name = "Toggle light"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
if(!usr.stat)
|
||||
attack_self(usr)
|
||||
attack_self(usr)
|
||||
@@ -60,6 +60,7 @@ MASS SPECTROMETER
|
||||
if(M)
|
||||
M.invisibility = 2
|
||||
|
||||
|
||||
/obj/item/device/detective_scanner
|
||||
name = "Scanner"
|
||||
desc = "Used to scan objects for DNA and fingerprints."
|
||||
@@ -296,7 +297,7 @@ MASS SPECTROMETER
|
||||
return
|
||||
|
||||
/obj/item/device/healthanalyzer/attack(mob/M as mob, mob/user as mob)
|
||||
if ((user.mutations & CLUMSY || user.getBrainLoss() >= 60) && prob(50))
|
||||
if (( (CLUMSY in user.mutations) || user.getBrainLoss() >= 60) && prob(50))
|
||||
user << text("\red You try to analyze the floor's vitals!")
|
||||
for(var/mob/O in viewers(M, null))
|
||||
O.show_message(text("\red [user] has analyzed the floor's vitals!"), 1)
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
|
||||
Miscellaneous traitor devices
|
||||
|
||||
BATTERER
|
||||
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
The Batterer, like a flashbang but 50% chance to knock people over. Can be either very
|
||||
effective or pretty fucking useless.
|
||||
|
||||
*/
|
||||
|
||||
/obj/item/device/batterer
|
||||
name = "mind batterer"
|
||||
desc = "A strange device with twin antennas."
|
||||
icon_state = "batterer"
|
||||
throwforce = 5
|
||||
w_class = 1.0
|
||||
throw_speed = 4
|
||||
throw_range = 10
|
||||
flags = FPRINT | TABLEPASS| CONDUCT
|
||||
item_state = "electronic"
|
||||
origin_tech = "magnets=3;combat=3;syndicate=3"
|
||||
|
||||
var/times_used = 0 //Number of times it's been used.
|
||||
var/max_uses = 2
|
||||
|
||||
|
||||
/obj/item/device/batterer/attack_self(mob/living/carbon/user as mob, flag = 0, emp = 0)
|
||||
if(!user) return
|
||||
if(times_used >= max_uses)
|
||||
user << "\red The mind batterer has been burnt out!"
|
||||
return
|
||||
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Used [src] to knock down people in the area.</font>")
|
||||
|
||||
for(var/mob/living/carbon/human/M in orange(10, user))
|
||||
spawn()
|
||||
if(prob(50))
|
||||
|
||||
M.Weaken(rand(10,20))
|
||||
if(prob(25))
|
||||
M.Stun(rand(5,10))
|
||||
M << "\red <b>You feel a tremendous, paralyzing wave flood your mind.</b>"
|
||||
|
||||
else
|
||||
M << "\red <b>You feel a sudden, electric jolt travel through your head.</b>"
|
||||
|
||||
playsound(src.loc, 'interference.ogg', 50, 1)
|
||||
user << "\blue You trigger [src]."
|
||||
times_used += 1
|
||||
if(times_used >= max_uses)
|
||||
icon_state = "battererburnt"
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1000,7 +1000,7 @@ steam.start() -- spawns the effect
|
||||
return
|
||||
|
||||
attack_hand(var/mob/user)
|
||||
if (user.mutations & HULK || (prob(75 - metal*25)))
|
||||
if ((HULK in user.mutations) || (prob(75 - metal*25)) || (SUPRSTR in user.augmentations))
|
||||
user << "\blue You smash through the metal foam wall."
|
||||
for(var/mob/O in oviewers(user))
|
||||
if ((O.client && !( O.blinded )))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
/obj/structure/grille
|
||||
desc = "A piece of metal with evenly spaced gridlike holes in it. Blocks large object but lets small items, gas, or energy beams through. Strangely enough these grilles also lets meteors pass through them, whether they be small or huge station breaking death stones."
|
||||
@@ -49,7 +49,7 @@
|
||||
user.visible_message("[user.name] kicks the [src.name].", \
|
||||
"You kick the [src.name].", \
|
||||
"You hear a noise")
|
||||
if((usr.mutations & HULK))
|
||||
if((HULK in usr.mutations) || (SUPRSTR in usr.augmentations))
|
||||
src.health -= 5
|
||||
else if(!shock(user, 70))
|
||||
src.health -= 3
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
M.handcuffed = new /obj/item/weapon/handcuffs(M)
|
||||
|
||||
else
|
||||
if ((usr.mutations & CLUMSY) && prob(50))
|
||||
if ((CLUMSY in usr.mutations) && prob(50))
|
||||
usr << "\red Uh ... how do those things work?!"
|
||||
if (istype(M, /mob/living/carbon/human))
|
||||
if(!M.handcuffed)
|
||||
@@ -117,13 +117,13 @@
|
||||
if( istype(target, /obj/structure/reagent_dispensers/watertank) && get_dist(src,target) <= 1)
|
||||
var/obj/o = target
|
||||
o.reagents.trans_to(src, 50)
|
||||
user << "\blue Extinguisher refilled"
|
||||
user << "\blue \The [src] is now refilled"
|
||||
playsound(src.loc, 'refill.ogg', 50, 1, -6)
|
||||
return
|
||||
|
||||
if (!safety)
|
||||
if (src.reagents.total_volume < 1)
|
||||
usr << "\red the [src] is empty."
|
||||
usr << "\red \The [src] is empty."
|
||||
return
|
||||
|
||||
if (world.time < src.last_use + 20)
|
||||
|
||||
@@ -121,7 +121,7 @@ obj/item/verb/pick_up()
|
||||
if(5.0)
|
||||
t = "huge"
|
||||
else
|
||||
if ((usr.mutations & CLUMSY) && prob(50)) t = "funny-looking"
|
||||
if ((CLUMSY in usr.mutations) && prob(50)) t = "funny-looking"
|
||||
usr << text("This is a []\icon[][]. It is a [] item.", !src.blood_DNA ? "" : "bloody ",src, src.name, t)
|
||||
if(src.desc)
|
||||
usr << src.desc
|
||||
@@ -302,6 +302,9 @@ mob/proc/flash_weak_pain()
|
||||
// M.lastattacker = null
|
||||
/////////////////////////
|
||||
|
||||
if((HULK in user.mutations) || (SUPRSTR in user.augmentations))
|
||||
power *= 2
|
||||
|
||||
if(!istype(M, /mob/living/carbon/human))
|
||||
if(istype(M, /mob/living/carbon/metroid))
|
||||
var/mob/living/carbon/metroid/Metroid = M
|
||||
@@ -410,7 +413,7 @@ mob/proc/flash_weak_pain()
|
||||
if (istype(location, /turf/simulated))
|
||||
location.add_blood_floor(M)
|
||||
if("fire")
|
||||
if (!(M.mutations & COLD_RESISTANCE))
|
||||
if (!(COLD_RESISTANCE in M.mutations))
|
||||
M.take_organ_damage(0, power)
|
||||
M << "Aargh it burns!"
|
||||
M.updatehealth()
|
||||
@@ -454,7 +457,7 @@ mob/proc/flash_weak_pain()
|
||||
log_attack("<font color='red'> [user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])</font>")
|
||||
|
||||
src.add_fingerprint(user)
|
||||
//if((user.mutations & CLUMSY) && prob(50))
|
||||
//if((CLUMSY in user.mutations) && prob(50))
|
||||
// M = user
|
||||
/*
|
||||
M << "\red You stab yourself in the eye."
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
/obj/item/tk_grab
|
||||
name = "Telekinetic Grab"
|
||||
@@ -48,7 +48,7 @@
|
||||
if(!host)
|
||||
del(src)
|
||||
return
|
||||
if(!host.mutations & TK)
|
||||
if(!(TK in host.mutations))
|
||||
del(src)
|
||||
return
|
||||
if(!focus)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
/obj/item/weapon/dnainjector/proc/inject(mob/M as mob)
|
||||
M.radiation += rand(20,50)
|
||||
|
||||
if (!(M.mutations2 & NOCLONE)) // prevents drained people from having their DNA changed
|
||||
if (!(NOCLONE in M.mutations)) // prevents drained people from having their DNA changed
|
||||
if (dnatype == "ui")
|
||||
if (!block) //isolated block?
|
||||
if (ue) //unique enzymes? yes
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
|
||||
|
||||
/*
|
||||
CONTAINS:
|
||||
EMP GRENADE
|
||||
@@ -70,7 +68,7 @@ FLASHBANG
|
||||
|
||||
|
||||
clown_check(var/mob/living/user)
|
||||
if((user.mutations & CLUMSY) && prob(50))
|
||||
if((CLUMSY in user.mutations) && prob(50))
|
||||
user << "\red Huh? How does this thing work?!"
|
||||
src.active = 1
|
||||
src.icon_state = "empar"
|
||||
@@ -177,7 +175,7 @@ FLASHBANG
|
||||
if(ishuman(M))
|
||||
if(istype(M:l_ear, /obj/item/clothing/ears/earmuffs) || istype(M:r_ear, /obj/item/clothing/ears/earmuffs))
|
||||
ear_safety += 2
|
||||
if(M.mutations & HULK)
|
||||
if(HULK in M.mutations)
|
||||
ear_safety += 1
|
||||
if(istype(M:head, /obj/item/clothing/head/helmet))
|
||||
ear_safety += 1
|
||||
@@ -279,7 +277,7 @@ FLASHBANG
|
||||
|
||||
|
||||
clown_check(var/mob/living/user)
|
||||
if ((user.mutations & CLUMSY) && prob(50))
|
||||
if ((CLUMSY in user.mutations) && prob(50))
|
||||
user << "\red Huh? How does this thing work?!"
|
||||
src.active = 1
|
||||
src.icon_state = "flashbang1"
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
|
||||
|
||||
/obj/item/weapon/implanter
|
||||
name = "implanter"
|
||||
icon = 'items.dmi'
|
||||
@@ -9,104 +7,104 @@
|
||||
throw_range = 5
|
||||
w_class = 2.0
|
||||
var/obj/item/weapon/implant/imp = null
|
||||
proc
|
||||
update()
|
||||
|
||||
/obj/item/weapon/implanter/proc/update()
|
||||
|
||||
|
||||
update()
|
||||
if (imp)
|
||||
icon_state = "implanter1"
|
||||
/obj/item/weapon/implanter/update()
|
||||
if (imp)
|
||||
icon_state = "implanter1"
|
||||
else
|
||||
icon_state = "implanter0"
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/implanter/attack(mob/M as mob, mob/user as mob)
|
||||
if (!istype(M, /mob/living/carbon))
|
||||
return
|
||||
if (user && imp)
|
||||
if (M != user)
|
||||
user.visible_message("\red \The [user] tries to implant \the [M] with \the [src]!","\red You try to implant \the [M] with \the [src]!")
|
||||
else
|
||||
icon_state = "implanter0"
|
||||
return
|
||||
|
||||
|
||||
attack(mob/M as mob, mob/user as mob)
|
||||
if (!istype(M, /mob/living/carbon))
|
||||
user.visible_message("\red \The [user] tries to implant [user.get_gender_form("itself")] with \the [src]!","\red You try to implant yourself with \the [src]!")
|
||||
if(!do_mob(user, M,60))
|
||||
return
|
||||
if (user && imp)
|
||||
if (M != user)
|
||||
user.visible_message("\red \The [user] tries to implant \the [M] with \the [src]!","\red You try to implant \the [M] with \the [src]!")
|
||||
else
|
||||
user.visible_message("\red \The [user] tries to implant [user.get_gender_form("itself")] with \the [src]!","\red You try to implant yourself with \the [src]!")
|
||||
if(!do_mob(user, M,60))
|
||||
if(hasorgans(M))
|
||||
var/datum/organ/external/target = M:get_organ(check_zone(user.zone_sel.selecting))
|
||||
if(target.destroyed)
|
||||
user << "What [target.display_name]?"
|
||||
return
|
||||
if(hasorgans(M))
|
||||
var/datum/organ/external/target = M:get_organ(check_zone(user.zone_sel.selecting))
|
||||
if(target.destroyed)
|
||||
user << "What [target.display_name]?"
|
||||
return
|
||||
target.implant += imp
|
||||
imp.loc = target
|
||||
if (M != user)
|
||||
user.visible_message("\red \The [user] implants \the [M]'s [target.display_name] with \the [src]!","\red You implant \the [M]'s [target.display_name] with \the [src]!")
|
||||
else
|
||||
user.visible_message("\red \The [user] implants [user.get_gender_form("its")] own [target.display_name] with \the [src]!","\red You implant your [target.display_name] with \the [src]!")
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'> Implanted with [src] ([imp]) by [user] ([user.ckey])</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Used the [src] ([imp]) to implant [M] ([M.ckey])</font>")
|
||||
log_admin("ATTACK: [user] ([user.ckey]) implanted [M] ([M.ckey]) with [src].")
|
||||
message_admins("ATTACK: [user] ([user.ckey]) implanted [M] ([M.ckey]) with [src].")
|
||||
log_attack("<font color='red'>[user.name] ([user.ckey]) implanted [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])</font>")
|
||||
imp.imp_in = M
|
||||
imp.implanted = 1
|
||||
imp.implanted(M)
|
||||
imp = null
|
||||
icon_state = "implanter0"
|
||||
return
|
||||
target.implant += imp
|
||||
imp.loc = target
|
||||
if (M != user)
|
||||
user.visible_message("\red \The [user] implants \the [M]'s [target.display_name] with \the [src]!","\red You implant \the [M]'s [target.display_name] with \the [src]!")
|
||||
else
|
||||
user.visible_message("\red \The [user] implants [user.get_gender_form("its")] own [target.display_name] with \the [src]!","\red You implant your [target.display_name] with \the [src]!")
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'> Implanted with [src] ([imp]) by [user] ([user.ckey])</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Used the [src] ([imp]) to implant [M] ([M.ckey])</font>")
|
||||
log_admin("ATTACK: [user] ([user.ckey]) implanted [M] ([M.ckey]) with [src].")
|
||||
message_admins("ATTACK: [user] ([user.ckey]) implanted [M] ([M.ckey]) with [src].")
|
||||
log_attack("<font color='red'>[user.name] ([user.ckey]) implanted [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])</font>")
|
||||
imp.imp_in = M
|
||||
imp.implanted = 1
|
||||
imp.implanted(M)
|
||||
imp = null
|
||||
icon_state = "implanter0"
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/implanter/loyalty
|
||||
name = "implanter-loyalty"
|
||||
|
||||
New()
|
||||
imp = new /obj/item/weapon/implant/loyalty( src )
|
||||
..()
|
||||
update()
|
||||
return
|
||||
/obj/item/weapon/implanter/loyalty/New()
|
||||
imp = new /obj/item/weapon/implant/loyalty( src )
|
||||
..()
|
||||
update()
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/implanter/explosive
|
||||
name = "implanter-explosive"
|
||||
|
||||
New()
|
||||
imp = new /obj/item/weapon/implant/explosive( src )
|
||||
..()
|
||||
update()
|
||||
return
|
||||
/obj/item/weapon/implanter/explosive/New()
|
||||
imp = new /obj/item/weapon/implant/explosive( src )
|
||||
..()
|
||||
update()
|
||||
return
|
||||
|
||||
/obj/item/weapon/implanter/compressed
|
||||
name = "implanter-compressed"
|
||||
icon_state = "cimplanter0"
|
||||
|
||||
New()
|
||||
imp = new /obj/item/weapon/implant/compressed( src )
|
||||
..()
|
||||
update()
|
||||
return
|
||||
|
||||
/obj/item/weapon/implanter/compressed/New()
|
||||
imp = new /obj/item/weapon/implant/compressed( src )
|
||||
..()
|
||||
update()
|
||||
if (imp)
|
||||
var/obj/item/weapon/implant/compressed/c = imp
|
||||
if(!c.scanned)
|
||||
icon_state = "cimplanter0"
|
||||
else
|
||||
icon_state = "cimplanter1"
|
||||
else
|
||||
icon_state = "cimplanter2"
|
||||
return
|
||||
return
|
||||
|
||||
attack(mob/M as mob, mob/user as mob)
|
||||
/obj/item/weapon/implanter/compressed/update()
|
||||
if (imp)
|
||||
var/obj/item/weapon/implant/compressed/c = imp
|
||||
if (c.scanned == null)
|
||||
user << "Please scan an object with the implanter first."
|
||||
return
|
||||
..()
|
||||
if(!c.scanned)
|
||||
icon_state = "cimplanter0"
|
||||
else
|
||||
icon_state = "cimplanter1"
|
||||
else
|
||||
icon_state = "cimplanter2"
|
||||
return
|
||||
|
||||
afterattack(atom/A, mob/user as mob)
|
||||
if(istype(A,/obj/item))
|
||||
var/obj/item/weapon/implant/compressed/c = imp
|
||||
c.scanned = A
|
||||
A.loc.contents.Remove(A)
|
||||
update()
|
||||
/obj/item/weapon/implanter/compressed/attack(mob/M as mob, mob/user as mob)
|
||||
var/obj/item/weapon/implant/compressed/c = imp
|
||||
if (c.scanned == null)
|
||||
user << "Please scan an object with the implanter first."
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/weapon/implanter/compressed/afterattack(atom/A, mob/user as mob)
|
||||
if(istype(A,/obj/item))
|
||||
var/obj/item/weapon/implant/compressed/c = imp
|
||||
c.scanned = A
|
||||
A.loc.contents.Remove(A)
|
||||
update()
|
||||
|
||||
@@ -0,0 +1,179 @@
|
||||
/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 chances 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 as mob)
|
||||
if(!istype(M, /mob/living/carbon/human)) return
|
||||
var/mob/living/carbon/human/H = M
|
||||
H.augmentations.Add(augmentation) // give them the mutation
|
||||
H << "\blue [augment_text]"
|
||||
if(istype(src, /obj/item/weapon/implant/nanoaug/eswordsynth))
|
||||
activation_emote = pick("blink", "blink_r", "eyebrow", "chuckle", "twitch_s", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink")
|
||||
H.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)
|
||||
H << "The nanoaugmentation implant can be activated by using the [src.activation_emote] emote, <B>say *[src.activation_emote]</B> to attempt to activate."
|
||||
|
||||
if(istype(src, /obj/item/weapon/implant/nanoaug/radar))
|
||||
H << "<font color='#FF0000'>Red</font color> blips on the map are Security."
|
||||
H << "White blips are civlians."
|
||||
H << "<font color='#3E710B'>Monochrome Green</font color> blips are cyborgs and AIs."
|
||||
H << "<font color='#238989'>Light blue</font color> blips are heads of staff."
|
||||
H << "<font color='#663366'>Purple</font color> blips are unidentified organisms."
|
||||
H << "Dead biologicals will not display on the radar."
|
||||
|
||||
spawn()
|
||||
H.start_radar()
|
||||
return
|
||||
|
||||
|
||||
/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."
|
||||
|
||||
/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."
|
||||
|
||||
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_hand(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()
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ KNIFE
|
||||
del(bite)
|
||||
src.icon_state = "fork"
|
||||
else if(user.zone_sel.selecting == "eyes")
|
||||
if((user.mutations & CLUMSY) && prob(50))
|
||||
if((CLUMSY in user.mutations) && prob(50))
|
||||
M = user
|
||||
return eyestab(M, user)
|
||||
else
|
||||
@@ -90,7 +90,7 @@ KNIFE
|
||||
// ROLLING PIN
|
||||
/* //Honestly this doesn't even work and is very silly. -- Erthilo
|
||||
/obj/item/weapon/kitchen/rollingpin/attack(mob/M as mob, mob/living/user as mob)
|
||||
if ((user.mutations & CLUMSY) && prob(50))
|
||||
if ((CLUMSY in user.mutations) && prob(50))
|
||||
user << "\red The [src] slips out of your hand and hits your head."
|
||||
user.take_organ_damage(10)
|
||||
user.Paralyse(2)
|
||||
@@ -130,7 +130,7 @@ KNIFE
|
||||
// KNIFE
|
||||
|
||||
/obj/item/weapon/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob)
|
||||
if ((user.mutations & CLUMSY) && prob(50))
|
||||
if ((CLUMSY in user.mutations) && prob(50))
|
||||
user << "\red You accidentally cut yourself with the [src]."
|
||||
user.take_organ_damage(20)
|
||||
return
|
||||
@@ -153,7 +153,7 @@ KNIFE
|
||||
sleep(rand(2,4))
|
||||
|
||||
|
||||
if((user.mutations & CLUMSY) && prob(50)) //What if he's a clown?
|
||||
if((CLUMSY in user.mutations) && prob(50)) //What if he's a clown?
|
||||
M << "\red You accidentally slam yourself with the [src]!"
|
||||
M.Weaken(1)
|
||||
user.take_organ_damage(2)
|
||||
|
||||
@@ -1082,9 +1082,9 @@ CIRCULAR SAW
|
||||
if(!istype(M))
|
||||
return ..()
|
||||
|
||||
//if(M.mutations & HUSK) return ..()
|
||||
//if(NOCLONE in M.mutations) return ..()
|
||||
|
||||
if((user.mutations & CLUMSY) && prob(50))
|
||||
if((CLUMSY in user.mutations) && prob(50))
|
||||
M = user
|
||||
return eyestab(M,user)
|
||||
|
||||
@@ -1488,12 +1488,11 @@ CIRCULAR SAW
|
||||
////////////////
|
||||
//CIRCULAR SAW//
|
||||
////////////////
|
||||
|
||||
/obj/item/weapon/circular_saw/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
|
||||
if(!istype(M))
|
||||
return ..()
|
||||
|
||||
if((user.mutations & CLUMSY) && prob(50))
|
||||
if((CLUMSY in user.mutations) && prob(50))
|
||||
M = user
|
||||
return eyestab(M,user)
|
||||
|
||||
@@ -1673,7 +1672,7 @@ CIRCULAR SAW
|
||||
/obj/item/weapon/surgical_tool/attack(mob/living/carbon/human/M as mob, mob/living/carbon/user as mob)
|
||||
if(!istype(M, /mob))
|
||||
return
|
||||
if((usr.mutations & 16) && prob(50))
|
||||
if((CLUMSY in user.mutations) && prob(50))
|
||||
M << "\red You stab yourself in the eye."
|
||||
M.disabilities |= 128
|
||||
M.weakened += 4
|
||||
|
||||
@@ -4,6 +4,7 @@ SWORD
|
||||
BLADE
|
||||
AXE
|
||||
STUN BATON
|
||||
ENERGY SHIELD (where else should i even put this)
|
||||
*/
|
||||
|
||||
|
||||
@@ -22,7 +23,7 @@ STUN BATON
|
||||
color = pick("red","blue","green","purple")
|
||||
|
||||
/obj/item/weapon/melee/energy/sword/attack_self(mob/living/user as mob)
|
||||
if ((user.mutations & CLUMSY) && prob(50))
|
||||
if ((CLUMSY in user.mutations) && prob(50))
|
||||
user << "\red You accidentally cut yourself with [src]."
|
||||
user.take_organ_damage(5,5)
|
||||
active = !active
|
||||
@@ -104,7 +105,7 @@ STUN BATON
|
||||
|
||||
/obj/item/weapon/melee/baton/attack_self(mob/user as mob)
|
||||
src.status = !( src.status )
|
||||
if ((usr.mutations & CLUMSY) && prob(50))
|
||||
if ((CLUMSY in user.mutations) && prob(50))
|
||||
usr << "\red You grab the stunbaton on the wrong side."
|
||||
usr.Paralyse(60)
|
||||
return
|
||||
@@ -120,7 +121,7 @@ STUN BATON
|
||||
return
|
||||
|
||||
/obj/item/weapon/melee/baton/attack(mob/M as mob, mob/user as mob)
|
||||
if ((usr.mutations & CLUMSY) && prob(50))
|
||||
if ((CLUMSY in usr.mutations) && prob(50))
|
||||
usr << "\red You grab the stunbaton on the wrong side."
|
||||
usr.Weaken(30)
|
||||
return
|
||||
@@ -165,7 +166,7 @@ STUN BATON
|
||||
R.cell.charge -= 20
|
||||
else
|
||||
charges--
|
||||
if (M.stuttering < 1 && (!(M.mutations & HULK) && M.canstun) /*&& (!istype(H:wear_suit, /obj/item/clothing/suit/judgerobe))*/)
|
||||
if (M.stuttering < 1 && (!(HULK in M.mutations) && M.canstun) /*&& (!istype(H:wear_suit, /obj/item/clothing/suit/judgerobe))*/)
|
||||
M.stuttering = 1
|
||||
M.Stun(1)
|
||||
M.Weaken(1)
|
||||
@@ -176,7 +177,7 @@ STUN BATON
|
||||
R.cell.charge -= 20
|
||||
else
|
||||
charges--
|
||||
if (M.stuttering < 10 && (!(M.mutations & HULK) && M.canstun) /*&& (!istype(H:wear_suit, /obj/item/clothing/suit/judgerobe))*/)
|
||||
if (M.stuttering < 10 && (!(HULK in M.mutations) && M.canstun) /*&& (!istype(H:wear_suit, /obj/item/clothing/suit/judgerobe))*/)
|
||||
M.stuttering = 10
|
||||
M.Stun(10)
|
||||
M.Weaken(10)
|
||||
@@ -193,7 +194,7 @@ STUN BATON
|
||||
charges -= 5
|
||||
|
||||
/obj/item/weapon/melee/classic_baton/attack(mob/M as mob, mob/living/user as mob)
|
||||
if ((user.mutations & CLUMSY) && prob(50))
|
||||
if ((CLUMSY in user.mutations) && prob(50))
|
||||
user << "\red You club yourself over the head."
|
||||
user.Weaken(3 * force)
|
||||
if(ishuman(user))
|
||||
@@ -215,7 +216,7 @@ STUN BATON
|
||||
if (user.a_intent == "hurt")
|
||||
if(!..()) return
|
||||
playsound(src.loc, "swing_hit", 50, 1, -1)
|
||||
if (M.stuttering < 8 && (!(M.mutations & HULK)) /*&& (!istype(H:wear_suit, /obj/item/clothing/suit/judgerobe))*/)
|
||||
if (M.stuttering < 8 && (!(HULK in M.mutations)) /*&& (!istype(H:wear_suit, /obj/item/clothing/suit/judgerobe))*/)
|
||||
M.stuttering = 8
|
||||
M.Stun(8)
|
||||
M.Weaken(8)
|
||||
@@ -227,3 +228,29 @@ STUN BATON
|
||||
M.Weaken(5)
|
||||
for(var/mob/O in viewers(M))
|
||||
if (O.client) O.show_message("\red <B>[M] has been stunned with the police baton by [user]!</B>", 1, "\red You hear someone fall", 2)
|
||||
|
||||
/obj/item/weapon/shield/energy/IsShield()
|
||||
if(active)
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/shield/energy/attack_self(mob/living/user as mob)
|
||||
if ((CLUMSY in user.mutations) && prob(50))
|
||||
user << "\red You beat yourself in the head with [src]."
|
||||
user.take_organ_damage(5)
|
||||
active = !active
|
||||
if (active)
|
||||
force = 10
|
||||
icon_state = "eshield[active]"
|
||||
w_class = 4
|
||||
playsound(user, 'saberon.ogg', 50, 1)
|
||||
user << "\blue [src] is now active."
|
||||
else
|
||||
force = 3
|
||||
icon_state = "eshield[active]"
|
||||
w_class = 1
|
||||
playsound(user, 'saberoff.ogg', 50, 1)
|
||||
user << "\blue [src] can now be concealed."
|
||||
add_fingerprint(user)
|
||||
return
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
/*
|
||||
CONTAINS:
|
||||
@@ -36,7 +36,7 @@ WELDINGTOOOL
|
||||
if(!istype(M)) return ..()
|
||||
if(user.zone_sel.selecting != "eyes" && user.zone_sel.selecting != "head")
|
||||
return ..()
|
||||
if((user.mutations & CLUMSY) && prob(50))
|
||||
if((CLUMSY in user.mutations) && prob(50))
|
||||
M = user
|
||||
return eyestab(M,user)
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
/obj/item/weapon/firbang/afterattack(atom/target as mob|obj|turf|area, mob/user as mob)
|
||||
if (user.equipped() == src)
|
||||
if ((user.mutations & CLUMSY) && prob(50))
|
||||
if ((CLUMSY in usr.mutations) && prob(50))
|
||||
user << "\red Huh? How does this thing work?!"
|
||||
src.state = 1
|
||||
src.icon_state = "flashbang1"
|
||||
@@ -108,7 +108,7 @@
|
||||
|
||||
/obj/item/weapon/firbang/attack_self(mob/user as mob)
|
||||
if (!src.state)
|
||||
if (user.mutations & CLUMSY)
|
||||
if (CLUMSY in user.mutations)
|
||||
user << "\red Huh? How does this thing work?!"
|
||||
spawn( 5 )
|
||||
prime()
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
new /obj/item/weapon/pen(src)
|
||||
|
||||
/obj/item/weapon/secstorage/sbriefcase/attack(mob/M as mob, mob/living/user as mob)
|
||||
if ((user.mutations & CLUMSY) && prob(50))
|
||||
if ((CLUMSY in user.mutations) && prob(50))
|
||||
user << "\red The [src] slips out of your hand and hits your head."
|
||||
user.take_organ_damage(10)
|
||||
user.Paralyse(2)
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
user.take_organ_damage(0,10)
|
||||
return
|
||||
|
||||
if ((user.mutations & CLUMSY) && prob(50))
|
||||
if ((CLUMSY in user.mutations) && prob(50))
|
||||
user << "\red The [src] slips out of your hand and hits your head."
|
||||
user.take_organ_damage(10)
|
||||
user.Paralyse(20)
|
||||
@@ -62,10 +62,10 @@
|
||||
if(M.mind && (M.mind.assigned_role == "Chaplain"))
|
||||
user << "\red You can't heal yourself!"
|
||||
return
|
||||
if((M.mind in ticker.mode.cult) && (prob(20)))
|
||||
/*if((M.mind in ticker.mode.cult) && (prob(20)))
|
||||
M << "\red The power of [src.deity_name] clears your mind of heresy!"
|
||||
user << "\red You see how [M]'s eyes become clear, the cult no longer holds control over him!"
|
||||
ticker.mode.remove_cultist(M.mind)
|
||||
ticker.mode.remove_cultist(M.mind)*/
|
||||
if ((istype(M, /mob/living/carbon/human) && prob(60)))
|
||||
bless(M)
|
||||
for(var/mob/O in viewers(M, null))
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
/obj/item/weapon/storage/briefcase/attack(mob/M as mob, mob/living/user as mob)
|
||||
//..()
|
||||
|
||||
if ((user.mutations & CLUMSY) && prob(50))
|
||||
if ((CLUMSY in user.mutations) && prob(50))
|
||||
user << "\red The [src] slips out of your hand and hits your head."
|
||||
user.take_organ_damage(10)
|
||||
user.Paralyse(2)
|
||||
|
||||
@@ -43,7 +43,7 @@ TABLE AND RACK OBJECT INTERATIONS
|
||||
|
||||
|
||||
/obj/structure/table/attack_paw(mob/user as mob)
|
||||
if ((usr.mutations & HULK))
|
||||
if ((HULK in usr.mutations))
|
||||
usr << "\blue You destroy the table."
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
@@ -103,7 +103,7 @@ TABLE AND RACK OBJECT INTERATIONS
|
||||
|
||||
|
||||
/obj/structure/table/attack_hand(mob/user as mob)
|
||||
if ((usr.mutations & HULK))
|
||||
if ((HULK in usr.mutations) || (SUPRSTR in usr.augmentations))
|
||||
usr << "\blue You destroy the table."
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
//This could either be split into the proper DM files or placed somewhere else all together, but it'll do for now -Nodrak
|
||||
|
||||
/*
|
||||
|
||||
SYNDICATE UPLINKS
|
||||
@@ -19,14 +21,19 @@ A list of items and costs is stored under the datum of every game mode, alongsid
|
||||
var/welcome // Welcoming menu message
|
||||
var/menu_message = "" // The actual menu text
|
||||
var/items // List of items
|
||||
var/item_data // raw item text
|
||||
var/list/ItemList // Parsed list of items
|
||||
var/uses // Numbers of crystals
|
||||
var/uplink_data // designated uplink items
|
||||
// List of items not to shove in their hands.
|
||||
var/list/NotInHand = list(/obj/machinery/singularity_beacon/syndicate)
|
||||
|
||||
New()
|
||||
welcome = ticker.mode.uplink_welcome
|
||||
items = dd_replacetext(ticker.mode.uplink_items, "\n", "") // Getting the text string of items
|
||||
if(!item_data)
|
||||
items = dd_replacetext(ticker.mode.uplink_items, "\n", "") // Getting the text string of items
|
||||
else
|
||||
items = dd_replacetext(item_data)
|
||||
ItemList = dd_text2list(src.items, ";") // Parsing the items text string
|
||||
uses = ticker.mode.uplink_uses
|
||||
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
user << "\blue You arm the mousetrap."
|
||||
else
|
||||
icon_state = "mousetrap"
|
||||
if((user.getBrainLoss() >= 60 || user.mutations & CLUMSY) && prob(50))
|
||||
if(( (user.getBrainLoss() >= 60 || (CLUMSY in user.mutations)) && prob(50)))
|
||||
var/which_hand = "l_hand"
|
||||
if(!user.hand)
|
||||
which_hand = "r_hand"
|
||||
@@ -170,7 +170,7 @@
|
||||
|
||||
/obj/item/weapon/mousetrap/attack_hand(mob/user as mob)
|
||||
if(armed)
|
||||
if((user.getBrainLoss() >= 60 || user.mutations & CLUMSY) && prob(50))
|
||||
if(( (user.getBrainLoss() >= 60 || CLUMSY in user.mutations)) && prob(50))
|
||||
var/which_hand = "l_hand"
|
||||
if(!user.hand)
|
||||
which_hand = "r_hand"
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
//These all need to be rewritten to use visiblemessage()
|
||||
|
||||
/obj/structure/window/attack_hand()
|
||||
if ((usr.mutations & HULK))
|
||||
if ((HULK in usr.mutations) || (SUPRSTR in usr.augmentations))
|
||||
usr << "\blue You smash through the window."
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
@@ -113,7 +113,7 @@
|
||||
|
||||
|
||||
/obj/structure/window/attack_paw()
|
||||
if ((usr.mutations & HULK))
|
||||
if ((HULK in usr.mutations))
|
||||
usr << "\blue You smash through the window."
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
|
||||
Reference in New Issue
Block a user