mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 12:07:27 +01:00
Merge branch 'master' of git://github.com/Abi79/tgstation13-git
Conflicts: baystation12.dme code/defines/mob/mob.dm code/defines/obj/vending.dm code/game/atom_procs.dm code/game/dna.dm code/game/machinery/computer/aifixer.dm code/game/vote.dm code/modules/chemical/Chemistry-Machinery.dm code/modules/chemical/Chemistry-Reagents.dm code/modules/mob/living/carbon/metroid/life.dm html/changelog.html icons/obj/stationobjs.dmi interface/skin.dmf maps/tgstation.2.0.8.dmm
This commit is contained in:
@@ -390,7 +390,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/corp
|
||||
name = "'Corporate' Core AI Module"
|
||||
desc = "A 'Corporate' Core AI Module: 'Reconfigures the AI's core laws.'"
|
||||
origin_tech = null //Adminbus only for now, need to determine how the players take to this. --NEO
|
||||
origin_tech = "programming=3;materials=4"
|
||||
|
||||
|
||||
/obj/item/weapon/aiModule/corp/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
|
||||
|
||||
@@ -129,23 +129,6 @@ ZIPPO
|
||||
|
||||
else if(istype(W, /obj/item/weapon/match) && (W:lit > 0))
|
||||
light("\red [user] lights their [name] with their [W]. How poor can you get?")
|
||||
|
||||
else if (istype(W, /obj/item/weapon/trashbag))
|
||||
var/obj/item/weapon/trashbag/S = W
|
||||
if (S.mode == 1)
|
||||
for (var/obj/item/clothing/mask/cigarette/C in locate(src.x,src.y,src.z))
|
||||
if (S.contents.len < S.capacity)
|
||||
S.contents += C;
|
||||
else
|
||||
user << "\blue The bag is full."
|
||||
break
|
||||
user << "\blue You pick up all trash."
|
||||
else
|
||||
if (S.contents.len < S.capacity)
|
||||
S.contents += src;
|
||||
else
|
||||
user << "\blue The bag is full."
|
||||
S.update_icon()
|
||||
return
|
||||
|
||||
|
||||
@@ -291,27 +274,6 @@ ZIPPO
|
||||
return
|
||||
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/trashbag))
|
||||
var/obj/item/weapon/trashbag/S = W
|
||||
if (S.mode == 1)
|
||||
for (var/obj/item/weapon/cigpacket/CP in locate(src.x,src.y,src.z))
|
||||
if (S.contents.len < S.capacity)
|
||||
S.contents += CP;
|
||||
else
|
||||
user << "\blue The bag is full."
|
||||
break
|
||||
user << "\blue You pick up all trash."
|
||||
else
|
||||
if (S.contents.len < S.capacity)
|
||||
S.contents += src;
|
||||
else
|
||||
user << "\blue The bag is full."
|
||||
S.update_icon()
|
||||
return
|
||||
|
||||
|
||||
|
||||
/////////
|
||||
//ZIPPO//
|
||||
|
||||
@@ -22,31 +22,33 @@
|
||||
|
||||
/obj/item/weapon/dnainjector/proc/inject(mob/M as mob)
|
||||
M.radiation += rand(20,50)
|
||||
if (dnatype == "ui")
|
||||
if (!block) //isolated block?
|
||||
if (ue) //unique enzymes? yes
|
||||
M.dna.uni_identity = dna
|
||||
updateappearance(M, M.dna.uni_identity)
|
||||
M.real_name = ue
|
||||
M.name = ue
|
||||
uses--
|
||||
else //unique enzymes? no
|
||||
M.dna.uni_identity = dna
|
||||
|
||||
if (!(M.mutations & HUSK)) // prevents husks from having their DNA changed
|
||||
if (dnatype == "ui")
|
||||
if (!block) //isolated block?
|
||||
if (ue) //unique enzymes? yes
|
||||
M.dna.uni_identity = dna
|
||||
updateappearance(M, M.dna.uni_identity)
|
||||
M.real_name = ue
|
||||
M.name = ue
|
||||
uses--
|
||||
else //unique enzymes? no
|
||||
M.dna.uni_identity = dna
|
||||
updateappearance(M, M.dna.uni_identity)
|
||||
uses--
|
||||
else
|
||||
M.dna.uni_identity = setblock(M.dna.uni_identity,block,dna,3)
|
||||
updateappearance(M, M.dna.uni_identity)
|
||||
uses--
|
||||
else
|
||||
M.dna.uni_identity = setblock(M.dna.uni_identity,block,dna,3)
|
||||
updateappearance(M, M.dna.uni_identity)
|
||||
uses--
|
||||
if (dnatype == "se")
|
||||
if (!block) //isolated block?
|
||||
M.dna.struc_enzymes = dna
|
||||
domutcheck(M, null)
|
||||
uses--
|
||||
else
|
||||
M.dna.struc_enzymes = setblock(M.dna.struc_enzymes,block,dna,3)
|
||||
domutcheck(M, null,1)
|
||||
uses--
|
||||
if (dnatype == "se")
|
||||
if (!block) //isolated block?
|
||||
M.dna.struc_enzymes = dna
|
||||
domutcheck(M, null)
|
||||
uses--
|
||||
else
|
||||
M.dna.struc_enzymes = setblock(M.dna.struc_enzymes,block,dna,3)
|
||||
domutcheck(M, null,1)
|
||||
uses--
|
||||
|
||||
spawn(0)//this prevents the collapse of space-time continuum
|
||||
del(src)
|
||||
|
||||
@@ -178,6 +178,21 @@ MOP
|
||||
reagents = R
|
||||
R.my_atom = src
|
||||
|
||||
obj/item/weapon/mop/proc/clean(turf/simulated/A as turf)
|
||||
src.reagents.reaction(A,1,10)
|
||||
A.clean_blood()
|
||||
for(var/obj/effect/rune/R in A)
|
||||
del(R)
|
||||
for(var/obj/effect/decal/cleanable/R in A)
|
||||
del(R)
|
||||
for(var/obj/effect/overlay/R in A)
|
||||
del(R)
|
||||
|
||||
/obj/effect/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/mop))
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/weapon/mop/afterattack(atom/A, mob/user as mob)
|
||||
if (src.reagents.total_volume < 1 || mopcount >= 5)
|
||||
user << "\blue Your mop is dry!"
|
||||
@@ -185,25 +200,17 @@ MOP
|
||||
|
||||
if (istype(A, /turf/simulated))
|
||||
for(var/mob/O in viewers(user, null))
|
||||
O.show_message(text("\red <B>[] begins to clean []</B>", user, A), 1)
|
||||
O.show_message("\red <B>[user] begins to clean \the [A]</B>", 1)
|
||||
sleep(40)
|
||||
clean(A)
|
||||
user << "\blue You have finished mopping!"
|
||||
src.reagents.reaction(A,1,10)
|
||||
A.clean_blood()
|
||||
for(var/obj/effect/rune/R in A)
|
||||
del(R)
|
||||
for(var/obj/effect/decal/cleanable/crayon/R in A)
|
||||
del(R)
|
||||
mopcount++
|
||||
else if (istype(A, /obj/effect/decal/cleanable/blood) || istype(A, /obj/effect/overlay) || istype(A, /obj/effect/decal/cleanable/xenoblood) || istype(A, /obj/effect/rune) || istype(A,/obj/effect/decal/cleanable/crayon) || istype(A,/obj/effect/decal/cleanable/vomit) )
|
||||
else if (istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay) || istype(A, /obj/effect/rune))
|
||||
for(var/mob/O in viewers(user, null))
|
||||
O.show_message(text("\red <B>[user] begins to clean [A]</B>"), 1)
|
||||
sleep(20)
|
||||
if(A)
|
||||
user << "\blue You have finished mopping!"
|
||||
var/turf/U = A.loc
|
||||
src.reagents.reaction(U)
|
||||
if(A) del(A)
|
||||
O.show_message("\red <B>[user] begins to clean \the [get_turf(A)]</B>", 1)
|
||||
sleep(40)
|
||||
clean(get_turf(A))
|
||||
user << "\blue You have finished mopping!"
|
||||
mopcount++
|
||||
|
||||
if(mopcount >= 5) //Okay this stuff is an ugly hack and i feel bad about it.
|
||||
|
||||
@@ -253,7 +253,7 @@ CIRCULAR SAW
|
||||
if(!istype(M))
|
||||
return ..()
|
||||
|
||||
if(M.mutations & HUSK) return ..()
|
||||
//if(M.mutations & HUSK) return ..()
|
||||
|
||||
if((user.mutations & CLUMSY) && prob(50))
|
||||
M = user
|
||||
|
||||
Reference in New Issue
Block a user