mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 19:44:09 +01:00
Merge pull request #520 from Markolie/master
Adds podbay doors that can be opened from within pods, general map fixes
This commit is contained in:
@@ -754,6 +754,10 @@ var/list/ghostteleportlocs = list()
|
||||
/area/atmos/control
|
||||
name = "Atmospherics Control Room"
|
||||
icon_state = "atmos"
|
||||
|
||||
/area/atmos/distribution
|
||||
name = "Atmospherics Distribution Loop"
|
||||
icon_state = "atmos"
|
||||
|
||||
//Maintenance
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/obj/machinery/door/poddoor
|
||||
name = "Podlock"
|
||||
desc = "Why it no open!!!"
|
||||
desc = "That looks like it doesn't open easily."
|
||||
icon = 'icons/obj/doors/rapid_pdoor.dmi'
|
||||
icon_state = "pdoor1"
|
||||
var/id = 1.0
|
||||
@@ -14,7 +14,10 @@
|
||||
/obj/machinery/door/poddoor/four_tile_ver/
|
||||
name = "Large Pod Door"
|
||||
icon = 'icons/obj/doors/1x4blast_vert.dmi'
|
||||
|
||||
|
||||
/obj/machinery/door/poddoor/three_tile_ver/
|
||||
name = "Large Pod Door"
|
||||
icon = 'icons/obj/doors/1x3blast_vert.dmi'
|
||||
|
||||
/obj/machinery/door/poddoor/Bumped(atom/AM)
|
||||
if(!density)
|
||||
@@ -122,6 +125,58 @@
|
||||
src.operating = 0
|
||||
return
|
||||
*/
|
||||
/obj/machinery/door/poddoor/three_tile_hor/open()
|
||||
if (src.operating == 1) //doors can still open when emag-disabled
|
||||
return
|
||||
if (!ticker)
|
||||
return 0
|
||||
if(!src.operating) //in case of emag
|
||||
src.operating = 1
|
||||
flick("pdoorc0", src)
|
||||
src.icon_state = "pdoor0"
|
||||
sleep(10)
|
||||
src.density = 0
|
||||
src.SetOpacity(0)
|
||||
|
||||
f1.density = 0
|
||||
f1.SetOpacity(0)
|
||||
f2.density = 0
|
||||
f2.SetOpacity(0)
|
||||
f3.density = 0
|
||||
f3.SetOpacity(0)
|
||||
|
||||
update_nearby_tiles()
|
||||
|
||||
if(operating == 1) //emag again
|
||||
src.operating = 0
|
||||
if(autoclose)
|
||||
spawn(150)
|
||||
autoclose()
|
||||
return 1
|
||||
|
||||
/obj/machinery/door/poddoor/three_tile_hor/close()
|
||||
if (src.operating)
|
||||
return
|
||||
src.operating = 1
|
||||
flick("pdoorc1", src)
|
||||
src.icon_state = "pdoor1"
|
||||
src.density = 1
|
||||
|
||||
f1.density = 1
|
||||
f1.SetOpacity(1)
|
||||
f2.density = 1
|
||||
f2.SetOpacity(1)
|
||||
f3.density = 1
|
||||
f3.SetOpacity(1)
|
||||
|
||||
if (src.visible)
|
||||
src.SetOpacity(1)
|
||||
update_nearby_tiles()
|
||||
|
||||
sleep(10)
|
||||
src.operating = 0
|
||||
return
|
||||
|
||||
/obj/machinery/door/poddoor/four_tile_hor/open()
|
||||
if (src.operating == 1) //doors can still open when emag-disabled
|
||||
return
|
||||
@@ -226,6 +281,59 @@
|
||||
src.operating = 0
|
||||
return
|
||||
*/
|
||||
|
||||
/obj/machinery/door/poddoor/three_tile_ver/open()
|
||||
if (src.operating == 1) //doors can still open when emag-disabled
|
||||
return
|
||||
if (!ticker)
|
||||
return 0
|
||||
if(!src.operating) //in case of emag
|
||||
src.operating = 1
|
||||
flick("pdoorc0", src)
|
||||
src.icon_state = "pdoor0"
|
||||
sleep(10)
|
||||
src.density = 0
|
||||
src.SetOpacity(0)
|
||||
|
||||
f1.density = 0
|
||||
f1.SetOpacity(0)
|
||||
f2.density = 0
|
||||
f2.SetOpacity(0)
|
||||
f3.density = 0
|
||||
f3.SetOpacity(0)
|
||||
|
||||
update_nearby_tiles()
|
||||
|
||||
if(operating == 1) //emag again
|
||||
src.operating = 0
|
||||
if(autoclose)
|
||||
spawn(150)
|
||||
autoclose()
|
||||
return 1
|
||||
|
||||
/obj/machinery/door/poddoor/three_tile_ver/close()
|
||||
if (src.operating)
|
||||
return
|
||||
src.operating = 1
|
||||
flick("pdoorc1", src)
|
||||
src.icon_state = "pdoor1"
|
||||
src.density = 1
|
||||
|
||||
f1.density = 1
|
||||
f1.SetOpacity(1)
|
||||
f2.density = 1
|
||||
f2.SetOpacity(1)
|
||||
f3.density = 1
|
||||
f3.SetOpacity(1)
|
||||
|
||||
if (src.visible)
|
||||
src.SetOpacity(1)
|
||||
update_nearby_tiles()
|
||||
|
||||
sleep(10)
|
||||
src.operating = 0
|
||||
return
|
||||
|
||||
/obj/machinery/door/poddoor/four_tile_ver/open()
|
||||
if (src.operating == 1) //doors can still open when emag-disabled
|
||||
return
|
||||
@@ -256,7 +364,7 @@
|
||||
spawn(150)
|
||||
autoclose()
|
||||
return 1
|
||||
|
||||
|
||||
/obj/machinery/door/poddoor/four_tile_ver/close()
|
||||
if (src.operating)
|
||||
return
|
||||
@@ -323,6 +431,54 @@
|
||||
del f2
|
||||
..()
|
||||
*/
|
||||
/obj/machinery/door/poddoor/three_tile_hor
|
||||
var/obj/machinery/door/poddoor/filler_object/f1
|
||||
var/obj/machinery/door/poddoor/filler_object/f2
|
||||
var/obj/machinery/door/poddoor/filler_object/f3
|
||||
icon = 'icons/obj/doors/1x3blast_hor.dmi'
|
||||
|
||||
New()
|
||||
..()
|
||||
f1 = new/obj/machinery/door/poddoor/filler_object (src.loc)
|
||||
f2 = new/obj/machinery/door/poddoor/filler_object (get_step(f1,EAST))
|
||||
f3 = new/obj/machinery/door/poddoor/filler_object (get_step(f2,EAST))
|
||||
f1.density = density
|
||||
f2.density = density
|
||||
f3.density = density
|
||||
f1.SetOpacity(opacity)
|
||||
f2.SetOpacity(opacity)
|
||||
f3.SetOpacity(opacity)
|
||||
|
||||
Destroy()
|
||||
del f1
|
||||
del f2
|
||||
del f3
|
||||
..()
|
||||
|
||||
/obj/machinery/door/poddoor/three_tile_ver
|
||||
var/obj/machinery/door/poddoor/filler_object/f1
|
||||
var/obj/machinery/door/poddoor/filler_object/f2
|
||||
var/obj/machinery/door/poddoor/filler_object/f3
|
||||
icon = 'icons/obj/doors/1x3blast_vert.dmi'
|
||||
|
||||
New()
|
||||
..()
|
||||
f1 = new/obj/machinery/door/poddoor/filler_object (src.loc)
|
||||
f2 = new/obj/machinery/door/poddoor/filler_object (get_step(f1,NORTH))
|
||||
f3 = new/obj/machinery/door/poddoor/filler_object (get_step(f2,NORTH))
|
||||
f1.density = density
|
||||
f2.density = density
|
||||
f3.density = density
|
||||
f1.SetOpacity(opacity)
|
||||
f2.SetOpacity(opacity)
|
||||
f3.SetOpacity(opacity)
|
||||
|
||||
Destroy()
|
||||
del f1
|
||||
del f2
|
||||
del f3
|
||||
..()
|
||||
|
||||
/obj/machinery/door/poddoor/four_tile_hor
|
||||
var/obj/machinery/door/poddoor/filler_object/f1
|
||||
var/obj/machinery/door/poddoor/filler_object/f2
|
||||
@@ -342,8 +498,8 @@
|
||||
f4.density = density
|
||||
f1.SetOpacity(opacity)
|
||||
f2.SetOpacity(opacity)
|
||||
f4.SetOpacity(opacity)
|
||||
f3.SetOpacity(opacity)
|
||||
f4.SetOpacity(opacity)
|
||||
|
||||
Destroy()
|
||||
del f1
|
||||
@@ -371,8 +527,8 @@
|
||||
f4.density = density
|
||||
f1.SetOpacity(opacity)
|
||||
f2.SetOpacity(opacity)
|
||||
f4.SetOpacity(opacity)
|
||||
f3.SetOpacity(opacity)
|
||||
f4.SetOpacity(opacity)
|
||||
|
||||
Destroy()
|
||||
del f1
|
||||
|
||||
+2
-2
@@ -83,7 +83,7 @@
|
||||
/obj/item/device/spacepod_equipment/weaponry/taser/proc/fire_weapon_system()
|
||||
set category = "Spacepod"
|
||||
set name = "Fire Taser System"
|
||||
set desc = "Fire ze tasers!"
|
||||
set desc = "Fire the tasers."
|
||||
set src = usr.loc
|
||||
|
||||
fire_weapons()
|
||||
@@ -107,7 +107,7 @@
|
||||
/obj/item/device/spacepod_equipment/weaponry/laser/proc/fire_weapon_system()
|
||||
set category = "Spacepod"
|
||||
set name = "Fire Laser System"
|
||||
set desc = "Fire ze lasers!"
|
||||
set desc = "Fire the lasers."
|
||||
set src = usr.loc
|
||||
|
||||
fire_weapons()
|
||||
+20
-1
@@ -1,4 +1,3 @@
|
||||
// honk
|
||||
#define DAMAGE 1
|
||||
#define FIRE 2
|
||||
|
||||
@@ -369,6 +368,26 @@
|
||||
src.occupant = null
|
||||
usr << "<span class='notice'>You climb out of the pod</span>"
|
||||
return
|
||||
|
||||
/obj/spacepod/verb/toggleDoors()
|
||||
set name = "Toggle Nearby Pod Doors"
|
||||
set category = "Spacepod"
|
||||
set src = usr.loc
|
||||
|
||||
for(var/obj/machinery/door/poddoor/P in oview(3,src))
|
||||
if(istype(P, /obj/machinery/door/poddoor/three_tile_hor) || istype(P, /obj/machinery/door/poddoor/three_tile_ver) || istype(P, /obj/machinery/door/poddoor/four_tile_hor) || istype(P, /obj/machinery/door/poddoor/four_tile_ver))
|
||||
var/mob/living/carbon/human/L = usr
|
||||
if(P.check_access(L.get_active_hand()) || P.check_access(L.wear_id))
|
||||
if(P.density)
|
||||
P.open()
|
||||
return 1
|
||||
else
|
||||
P.close()
|
||||
return 1
|
||||
usr << "<span class='warning'>Access denied.</span>"
|
||||
return
|
||||
usr << "<span class='warning'>You are not close to any pod doors.</span>"
|
||||
return
|
||||
|
||||
/obj/spacepod/proc/enter_after(delay as num, var/mob/user as mob, var/numticks = 5)
|
||||
var/delayfraction = delay/numticks
|
||||
@@ -170,6 +170,8 @@
|
||||
if (!rbPDA)
|
||||
rbPDA = new/obj/item/device/pda/ai(src)
|
||||
rbPDA.set_name_and_job(custom_name,braintype)
|
||||
if(syndicateborg)
|
||||
rbPDA.hidden = 1
|
||||
|
||||
//If there's an MMI in the robot, have it ejected when the mob goes away. --NEO
|
||||
//Improved /N
|
||||
@@ -1412,7 +1414,6 @@
|
||||
designation = "Syndicate"
|
||||
req_access = list(access_syndicate)
|
||||
|
||||
|
||||
/mob/living/silicon/robot/syndicate/New(loc)
|
||||
..()
|
||||
cell.maxcharge = 25000
|
||||
@@ -1423,6 +1424,7 @@
|
||||
|
||||
Namepick()
|
||||
|
||||
|
||||
/mob/living/silicon/robot/proc/notify_ai(var/notifytype, var/oldname, var/newname)
|
||||
if(!connected_ai)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user