Merge branch 'master' of github.com:Baystation12/Baystation12
@@ -3,7 +3,7 @@
|
||||
desc = "A super-powerful laser"
|
||||
var/visible = 1
|
||||
var/state = 1.0
|
||||
var/obj/beam/e_beam/first
|
||||
var/obj/effect/beam/e_beam/first
|
||||
var/power = 500
|
||||
icon = 'engine.dmi'
|
||||
icon_state = "laser"
|
||||
@@ -17,7 +17,7 @@
|
||||
/obj/machinery/engine/laser/process()
|
||||
if(on)
|
||||
if(!first)
|
||||
src.first = new /obj/beam/e_beam(src.loc)
|
||||
src.first = new /obj/effect/beam/e_beam(src.loc)
|
||||
src.first.master = src
|
||||
src.first.dir = src.dir
|
||||
src.first.power = src.power
|
||||
@@ -39,25 +39,25 @@
|
||||
first.setpower(src.power)
|
||||
|
||||
|
||||
/obj/beam/e_beam
|
||||
/obj/effect/beam/e_beam
|
||||
name = "Laser beam"
|
||||
icon = 'projectiles.dmi'
|
||||
icon_state = "u_laser"
|
||||
var/obj/machinery/engine/laser/master = null
|
||||
var/obj/beam/e_beam/next = null
|
||||
var/obj/effect/beam/e_beam/next = null
|
||||
var/power
|
||||
var/freq = 50000
|
||||
var/phase = 0
|
||||
var/phase_variance = 0
|
||||
anchored = 1
|
||||
|
||||
/obj/beam/e_beam/New()
|
||||
/obj/effect/beam/e_beam/New()
|
||||
src.sd_SetLuminosity(4)
|
||||
|
||||
/obj/beam/e_beam/proc/updatebeam()
|
||||
/obj/effect/beam/e_beam/proc/updatebeam()
|
||||
if(!next)
|
||||
if(get_step(src.loc,src.dir))
|
||||
var/obj/beam/e_beam/e = new /obj/beam/e_beam(src.loc)
|
||||
var/obj/effect/beam/e_beam/e = new /obj/effect/beam/e_beam(src.loc)
|
||||
e.dir = src.dir
|
||||
src.next = e
|
||||
e.master = src.master
|
||||
@@ -82,10 +82,10 @@
|
||||
else
|
||||
next.updatebeam()
|
||||
|
||||
/atom/proc/laser_act(var/obj/beam/e_beam/b)
|
||||
/atom/proc/laser_act(var/obj/effect/beam/e_beam/b)
|
||||
return
|
||||
|
||||
/mob/living/carbon/laser_act(var/obj/beam/e_beam/b)
|
||||
/mob/living/carbon/laser_act(var/obj/effect/beam/e_beam/b)
|
||||
for(var/t in organs)
|
||||
var/datum/organ/external/affecting = organs["[t]"]
|
||||
if (affecting.take_damage(0, b.power/400,0,0))
|
||||
@@ -93,23 +93,23 @@
|
||||
else
|
||||
UpdateDamage()
|
||||
|
||||
/obj/beam/e_beam/Bump(atom/Obstacle)
|
||||
/obj/effect/beam/e_beam/Bump(atom/Obstacle)
|
||||
Obstacle.laser_act(src)
|
||||
del(src)
|
||||
return
|
||||
|
||||
|
||||
/obj/beam/e_beam/proc/setpower(var/powera)
|
||||
/obj/effect/beam/e_beam/proc/setpower(var/powera)
|
||||
src.power = powera
|
||||
if(src.next)
|
||||
src.next.setpower(powera)
|
||||
|
||||
/obj/beam/e_beam/Bumped()
|
||||
/obj/effect/beam/e_beam/Bumped()
|
||||
src.hit()
|
||||
return
|
||||
|
||||
/obj/beam/e_beam/HasEntered(atom/movable/AM as mob|obj)
|
||||
if (istype(AM, /obj/beam))
|
||||
/obj/effect/beam/e_beam/HasEntered(atom/movable/AM as mob|obj)
|
||||
if (istype(AM, /obj/effect/beam))
|
||||
return
|
||||
spawn( 0 )
|
||||
AM.laser_act(src)
|
||||
@@ -117,12 +117,12 @@
|
||||
return
|
||||
return
|
||||
|
||||
/obj/beam/e_beam/Del()
|
||||
/obj/effect/beam/e_beam/Del()
|
||||
if(next)
|
||||
del(next)
|
||||
..()
|
||||
return
|
||||
|
||||
/obj/beam/e_beam/proc/hit()
|
||||
/obj/effect/beam/e_beam/proc/hit()
|
||||
del src
|
||||
return
|
||||
@@ -76,7 +76,7 @@
|
||||
//Get the collective laser power
|
||||
for(var/dir in cardinal)
|
||||
var/turf/T = get_step(L, dir)
|
||||
for(var/obj/beam/e_beam/item in T)
|
||||
for(var/obj/effect/beam/e_beam/item in T)
|
||||
power += item.power
|
||||
|
||||
//Ok, 100% oxygen atmosphere = best reaction
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "A heavy-duty, portable welding fluid carrier."
|
||||
flags = ONBACK
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "engiepack"
|
||||
icon_state = "welderpack"
|
||||
w_class = 4.0
|
||||
var/max_fuel = 350
|
||||
|
||||
|
||||
@@ -294,11 +294,11 @@
|
||||
icon = 'tomatodecal.dmi'
|
||||
random_icon_states = list("smashed_pie")
|
||||
|
||||
/obj/decal/warning_stripes
|
||||
/obj/effect/decal/warning_stripes
|
||||
icon = 'decal_warning_stripes.dmi'
|
||||
layer = 2
|
||||
|
||||
/obj/decal/warning_stripes/New()
|
||||
/obj/effect/decal/warning_stripes/New()
|
||||
..()
|
||||
|
||||
loc.overlays += src
|
||||
|
||||
@@ -300,6 +300,8 @@
|
||||
source2.icon = I
|
||||
else
|
||||
source2.icon = initial(icon)
|
||||
if(blood_DNA && !blood_DNA.len)
|
||||
del(blood_DNA)
|
||||
if(src.fingerprints && src.fingerprints.len)
|
||||
var/done = 0
|
||||
while(!done)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
H.equip_if_possible(new /obj/item/clothing/shoes/black(H), H.slot_shoes)
|
||||
spawn(0)
|
||||
var/religion_name = "Christianity"
|
||||
var/new_religion = input(H, "You are the Chaplain / Councelor. For game mechanics purposes, you need to choose a religion either way. Would you like to change your religion? Default is Christianity, in SPACE.", "Name change", religion_name)
|
||||
var/new_religion = input(H, "You are the Chaplain / Counselor. For game mechanics purposes, you need to choose a religion either way. Would you like to change your religion? Default is Christianity, in SPACE.", "Name change", religion_name)
|
||||
|
||||
if ((length(new_religion) == 0) || (new_religion == "Christianity"))
|
||||
new_religion = religion_name
|
||||
|
||||
@@ -341,7 +341,7 @@ FINGERPRINT CARD
|
||||
|
||||
..()
|
||||
if (!istype(usr, /mob/living/silicon))
|
||||
if (length(src.fingerprints))
|
||||
if (src.fingerprints)
|
||||
if (src.amount > 1)
|
||||
var/obj/item/weapon/f_card/F = new /obj/item/weapon/f_card(get_turf(src))
|
||||
F.amount = --src.amount
|
||||
|
||||
@@ -101,6 +101,7 @@
|
||||
"/obj/item/weapon/reagent_containers/pill",
|
||||
"/obj/item/weapon/reagent_containers/syringe",
|
||||
"/obj/item/weapon/reagent_containers/glass/dispenser",
|
||||
"/obj/item/weapon/reagent_containers/hypospray",
|
||||
"/obj/item/weapon/zippo",
|
||||
"/obj/item/weapon/cigpacket",
|
||||
"/obj/item/weapon/storage/pill_bottle",
|
||||
|
||||
@@ -58,7 +58,7 @@ proc/percentage_antagonists()
|
||||
else return round(100 * antagonists / total)
|
||||
|
||||
|
||||
proc/trigger_armed_response_team()
|
||||
proc/trigger_armed_response_team(var/force = 0)
|
||||
if(send_emergency_team)
|
||||
return
|
||||
|
||||
@@ -67,6 +67,8 @@ proc/trigger_armed_response_team()
|
||||
send_team_chance += percentage_antagonists() // the more antagonists, the higher the chance
|
||||
send_team_chance = min(send_team_chance, 100)
|
||||
|
||||
if(force) send_team_chance = 100
|
||||
|
||||
// there's only a certain chance a team will be sent
|
||||
if(!prob(send_team_chance)) return
|
||||
|
||||
@@ -79,7 +81,7 @@ proc/trigger_armed_response_team()
|
||||
if(!nuke)
|
||||
nuke = locate() in world
|
||||
var/obj/item/weapon/paper/P = new
|
||||
P.info = "Your orders, Commander, are to use all necessary tools given to return the station to a survivable condition. <br> To this end, you have been provided with the best tools we can give in the three areas of Medical Engineering and Security. The nuclear authorization code is: <b>[nuke.r_code]</b>. Be warned, if you detonate this without good reason, we will hold you to account for damages. Memorise this code, and then burn this message."
|
||||
P.info = "Your orders, Commander, are to use all necessary tools given to return the station to a survivable condition. <br> To this end, you have been provided with the best tools we can give in the three areas of Medical Engineering and Security. The nuclear authorization code is: <b>[ nuke ? nuke.r_code : "AHH, THE NUKE IS GONE!"]</b>. Be warned, if you detonate this without good reason, we will hold you to account for damages. Memorise this code, and then burn this message."
|
||||
P.name = "Emergency Nuclear Code, and ERT Orders"
|
||||
for (var/obj/effect/landmark/A in world)
|
||||
if (A.name == "nukecode")
|
||||
|
||||
@@ -1475,6 +1475,8 @@
|
||||
else
|
||||
infect_mob_random_greater(victim)
|
||||
message_admins("[key_name_admin(usr)] has infected [victim] with a [lesser ? "minor" : "major"] virus2.", 1)
|
||||
if("trigger_armed_response_team")
|
||||
trigger_armed_response_team(1)
|
||||
if("retardify")
|
||||
if (src.rank in list("Badmin", "Game Admin", "Game Master"))
|
||||
for(var/mob/living/carbon/human/H in world)
|
||||
@@ -2039,6 +2041,7 @@
|
||||
<A href='?src=\ref[src];secretsfun=radiation'>Irradiate the station</A><BR>
|
||||
<A href='?src=\ref[src];secretsfun=prison_break'>Trigger a Prison Break</A><BR>
|
||||
<A href='?src=\ref[src];secretsfun=virus'>Trigger a Virus Outbreak</A><BR>
|
||||
<A href='?src=\ref[src];secretsfun=trigger_armed_response_team'>Trigger the Emergency Response Team</A><BR>
|
||||
<A href='?src=\ref[src];secretsfun=immovable'>Spawn an Immovable Rod</A><BR>
|
||||
<A href='?src=\ref[src];secretsfun=lightsout'>Toggle a "lights out" event</A><BR>
|
||||
<A href='?src=\ref[src];secretsfun=ionstorm'>Spawn an Ion Storm</A><BR>
|
||||
|
||||
@@ -250,7 +250,7 @@
|
||||
HasProximity(atom/movable/AM as mob|obj)
|
||||
if(istype(attached_device, /obj/item/device/assembly/prox_sensor))
|
||||
var/obj/item/device/assembly/prox_sensor/D = attached_device
|
||||
if (istype(AM, /obj/beam))
|
||||
if (istype(AM, /obj/effect/beam))
|
||||
return
|
||||
if (AM.move_speed < 12)
|
||||
D.sense()
|
||||
|
||||
@@ -213,7 +213,7 @@ proc/check_panel(mob/M)
|
||||
return 1
|
||||
return 0 */
|
||||
|
||||
/obj/fake_attacker
|
||||
/obj/effect/fake_attacker
|
||||
icon = null
|
||||
icon_state = null
|
||||
name = ""
|
||||
@@ -355,7 +355,7 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/ite
|
||||
if(!possible_clones.len) return
|
||||
clone = pick(possible_clones)
|
||||
//var/obj/fake_attacker/F = new/obj/fake_attacker(outside_range(target))
|
||||
var/obj/fake_attacker/F = new/obj/fake_attacker(target.loc)
|
||||
var/obj/effect/fake_attacker/F = new/obj/effect/fake_attacker(target.loc)
|
||||
if(clone.l_hand)
|
||||
if(!(locate(clone.l_hand) in non_fakeattack_weapons))
|
||||
clone_weapon = clone.l_hand.name
|
||||
|
||||
@@ -1295,8 +1295,8 @@
|
||||
else if (gender == FEMALE)
|
||||
g = "f"
|
||||
|
||||
stand_icon = new /icon('human.dmi', "torso_s")
|
||||
lying_icon = new /icon('human.dmi', "torso_l")
|
||||
stand_icon = new /icon('human.dmi', "torso_[g]_s")
|
||||
lying_icon = new /icon('human.dmi', "torso_[g]_l")
|
||||
|
||||
var/husk = (mutations & HUSK)
|
||||
var/obese = (mutations & FAT)
|
||||
|
||||
@@ -3,8 +3,7 @@ spaceman96: Trenna Seber: /obj/item/weapon/pen/multi, /obj/item/clothing/suit/st
|
||||
asanadas: Book Berner: /obj/item/clothing/under/chameleon/psyche
|
||||
tastyfish: Cindy Robertson: /obj/item/weapon/wrapping_paper
|
||||
eternal248: Maximilian Haynes: /obj/item/weapon/paper/certificate
|
||||
searif: Yuki Matsuda: /obj/item/weapon/paper/certificate
|
||||
searif: Yuki Matsuda: /obj/item/weapon/paper/certificate, /obj/item/clothing/under/jumpsuitdown
|
||||
erthilo: Farah Lants: /obj/item/clothing/under/rank/medical_sleeve, /obj/item/clothing/suit/storage/labcoat/red
|
||||
compactninja: Ysyr Rylias: /obj/item/weapon/reagent_containers/food/drinks/dry_ramen, /obj/item/weapon/reagent_containers/food/drinks/dry_ramen, /obj/item/weapon/reagent_containers/food/drinks/dry_ramen, /obj/item/weapon/reagent_containers/food/drinks/dry_ramen
|
||||
tzefa: Wes Solari: /obj/item/fluff/wes_solari_1
|
||||
searif: Yuki Matsuda: /obj/item/clothing/under/jumpsuitdown
|
||||
tzefa: Wes Solari: /obj/item/fluff/wes_solari_1
|
||||
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 164 KiB After Width: | Height: | Size: 164 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |