mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 06:57:42 +01:00
Merge pull request #260 from SkyMarshal/master
Disposal updates + map fix, traitor objective fix, Cult teleport talisman now teleports grabs
This commit is contained in:
@@ -83,23 +83,34 @@
|
||||
traitor.objectives += block_objective
|
||||
|
||||
else
|
||||
var/list/target = traitor.objectives
|
||||
for(var/i = 1, i <= rand(1,3), i++)
|
||||
var/datum/objective/objective
|
||||
switch(rand(1,100))
|
||||
if(1 to 30)
|
||||
var/datum/objective/assassinate/kill_objective = new
|
||||
kill_objective.owner = traitor
|
||||
kill_objective.find_target()
|
||||
traitor.objectives += kill_objective
|
||||
objective = kill_objective
|
||||
if(31 to 40)
|
||||
var/datum/objective/protect/protect_objective = new
|
||||
protect_objective.owner = traitor
|
||||
protect_objective.find_target()
|
||||
traitor.objectives += protect_objective
|
||||
objective = protect_objective
|
||||
else
|
||||
var/datum/objective/steal/steal_objective = new
|
||||
steal_objective.owner = traitor
|
||||
steal_objective.find_target()
|
||||
traitor.objectives += steal_objective
|
||||
objective = steal_objective
|
||||
var/inthere = 0
|
||||
for(var/j, j<= target.len, j++)
|
||||
if(target[j] == objective)
|
||||
inthere = 1
|
||||
break
|
||||
if(!inthere)
|
||||
traitor.objectives += objective
|
||||
else
|
||||
i -= 1
|
||||
if (!(locate(/datum/objective/escape) in traitor.objectives))
|
||||
var/datum/objective/escape/escape_objective = new
|
||||
escape_objective.owner = traitor
|
||||
|
||||
@@ -119,6 +119,8 @@
|
||||
<A href='?src=\ref[src];dmake=2'>Junction</A><BR>
|
||||
<A href='?src=\ref[src];dmake=3'>Y-Junction</A><BR>
|
||||
<A href='?src=\ref[src];dmake=4'>Trunk</A><BR>
|
||||
<A href='?src=\ref[src];dmake=5'>Sort Junction 1</A><BR>
|
||||
<A href='?src=\ref[src];dmake=6'>Sort Junction 2</A><BR>
|
||||
"}
|
||||
|
||||
user << browse("<HEAD><TITLE>[src]</TITLE></HEAD><TT>[dat]</TT>", "window=pipedispenser")
|
||||
@@ -147,6 +149,10 @@
|
||||
C.ptype = 4
|
||||
if(4)
|
||||
C.ptype = 5
|
||||
if(5)
|
||||
C.ptype = 6
|
||||
if(6)
|
||||
C.ptype = 7
|
||||
|
||||
C.update()
|
||||
wait = 1
|
||||
|
||||
@@ -5,6 +5,13 @@ var/list/sacrificed = list()
|
||||
proc
|
||||
teleport(var/key)
|
||||
var/mob/living/user = usr
|
||||
var/mob/living/grabbed
|
||||
if (istype(user.get_active_hand(), /obj/item/weapon/grab))
|
||||
var/obj/item/weapon/grab/G = user.get_active_hand()
|
||||
grabbed = G.affecting
|
||||
else if (istype(user.get_inactive_hand(), /obj/item/weapon/grab))
|
||||
var/obj/item/weapon/grab/G = user.get_inactive_hand()
|
||||
grabbed = G.affecting
|
||||
var/allrunesloc[]
|
||||
allrunesloc = new/list()
|
||||
var/index = 0
|
||||
@@ -17,7 +24,7 @@ var/list/sacrificed = list()
|
||||
allrunesloc.len = index
|
||||
allrunesloc[index] = R.loc
|
||||
if(index >= 5)
|
||||
user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric"
|
||||
user << "\red You feel pain, as the rune disappears into a reality shift caused by too much wear on the fabric of space-time."
|
||||
if (istype(user, /mob/living))
|
||||
user.take_overall_damage(5, 0)
|
||||
del(src)
|
||||
@@ -29,7 +36,10 @@ var/list/sacrificed = list()
|
||||
user.visible_message("\red [user] disappears in a flash of red light!", \
|
||||
"\red You feel as your body gets dragged through the dimension of Nar-Sie!", \
|
||||
"\red You hear a sickening crunch and sloshing of viscera.")
|
||||
user.loc = allrunesloc[rand(1,index)]
|
||||
var/target = rand(1,index)
|
||||
user.loc = allrunesloc[target]
|
||||
if(grabbed)
|
||||
grabbed.loc = allrunesloc[target]
|
||||
return
|
||||
if(istype(src,/obj/effect/rune))
|
||||
return fizzle() //Use friggin manuals, Dorf, your list was of zero length.
|
||||
|
||||
@@ -123,6 +123,7 @@
|
||||
var/obj/effect/bigDelivery/P = new /obj/effect/bigDelivery(get_turf(src.loc))
|
||||
P.wrapped = src
|
||||
src.close()
|
||||
P.waswelded = welded
|
||||
src.welded = 1
|
||||
src.loc = P
|
||||
O.amount -= 3
|
||||
@@ -185,13 +186,26 @@
|
||||
return
|
||||
|
||||
if(!src.open())
|
||||
user << "\blue It won't budge!"
|
||||
if(!lastbang)
|
||||
lastbang = 1
|
||||
for (var/mob/M in hearers(src, null))
|
||||
M << text("<FONT size=[]>BANG, bang!</FONT>", max(0, 5 - get_dist(src, M)))
|
||||
spawn(30)
|
||||
lastbang = 0
|
||||
if(istype(src.loc,/obj/effect/bigDelivery) && lastbang == 0)
|
||||
var/obj/effect/bigDelivery/Pack = src.loc
|
||||
if(istype(Pack.loc,/turf) && Pack.waswelded == 0)
|
||||
for (var/mob/M in hearers(src.loc, null))
|
||||
M << text("<FONT size=[] color=#6D3F40>BANG, bang, rrrrrip!</FONT>", max(0, 5 - get_dist(src, M)))
|
||||
lastbang = 1
|
||||
sleep(10)
|
||||
src.welded = 0
|
||||
Pack.unwrap()
|
||||
src.open()
|
||||
spawn(30)
|
||||
lastbang = 0
|
||||
else if(!istype(src.loc,/obj/effect/bigDelivery))
|
||||
user << "\blue It won't budge!"
|
||||
if(!lastbang)
|
||||
lastbang = 1
|
||||
for (var/mob/M in hearers(src, null))
|
||||
M << text("<FONT size=[]>BANG, bang!</FONT>", max(0, 5 - get_dist(src, M)))
|
||||
spawn(30)
|
||||
lastbang = 0
|
||||
|
||||
/obj/structure/closet/Move()
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user