mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
@@ -98,7 +98,7 @@
|
|||||||
active_beams |= Beam(S,icon='icons/effects/beam.dmi',icon_state="holo_beam",time=3 SECONDS,maxdistance=3,beam_type = /obj/effect/ebeam,beam_sleep_time=2)
|
active_beams |= Beam(S,icon='icons/effects/beam.dmi',icon_state="holo_beam",time=3 SECONDS,maxdistance=3,beam_type = /obj/effect/ebeam,beam_sleep_time=2)
|
||||||
|
|
||||||
if(S.cell)
|
if(S.cell)
|
||||||
S.cell.give(rand(5, 30))
|
S.cell.give(rand(30, 120))
|
||||||
|
|
||||||
. = TRUE
|
. = TRUE
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/datum/gm_action/swarm_boarder
|
/datum/gm_action/swarm_boarder
|
||||||
name = "swarmer shell"
|
name = "swarmer shell"
|
||||||
departments = list(ROLE_EVERYONE, ROLE_SECURITY, ROLE_ENGINEERING)
|
departments = list(ROLE_EVERYONE, ROLE_SECURITY, ROLE_ENGINEERING)
|
||||||
chaotic = 30
|
chaotic = 60
|
||||||
observers_used = TRUE
|
observers_used = TRUE
|
||||||
var/area/target_area // Chosen target area
|
var/area/target_area // Chosen target area
|
||||||
var/area/target_turf // Chosen target turf in target_area
|
var/area/target_turf // Chosen target turf in target_area
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
new swarmertype(target_turf)
|
new swarmertype(target_turf)
|
||||||
|
|
||||||
/datum/gm_action/swarm_boarder/get_weight()
|
/datum/gm_action/swarm_boarder/get_weight()
|
||||||
return -60 + (metric.count_people_in_department(ROLE_SECURITY) * 20 + metric.count_people_in_department(ROLE_SYNTHETIC) * 5 + metric.count_people_in_department(ROLE_EVERYONE) * 1)
|
return max(0, -60 + (metric.count_people_in_department(ROLE_SECURITY) * 10 + metric.count_people_in_department(ROLE_SYNTHETIC) * 5))
|
||||||
|
|
||||||
/datum/gm_action/swarm_boarder/announce()
|
/datum/gm_action/swarm_boarder/announce()
|
||||||
spawn(rand(5 MINUTES, 15 MINUTES))
|
spawn(rand(5 MINUTES, 15 MINUTES))
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
config_setup_delay = FALSE
|
config_setup_delay = FALSE
|
||||||
if(config.enable_game_master)
|
if(config.enable_game_master)
|
||||||
suspended = FALSE
|
suspended = FALSE
|
||||||
|
next_action = world.time + rand(15 MINUTES, 25 MINUTES)
|
||||||
else
|
else
|
||||||
sleep(30 SECONDS)
|
sleep(30 SECONDS)
|
||||||
|
|
||||||
@@ -56,6 +57,9 @@
|
|||||||
return FALSE
|
return FALSE
|
||||||
if(ignore_time_restrictions)
|
if(ignore_time_restrictions)
|
||||||
return TRUE
|
return TRUE
|
||||||
|
if(world.time < next_action) // Sanity.
|
||||||
|
log_debug("Game Master unable to start event: Time until next action is approximately [round((next_action - world.time) / (1 MINUTE))] minute(s)")
|
||||||
|
return FALSE
|
||||||
// Last minute antagging is bad for humans to do, so the GM will respect the start and end of the round.
|
// Last minute antagging is bad for humans to do, so the GM will respect the start and end of the round.
|
||||||
var/mills = round_duration_in_ticks
|
var/mills = round_duration_in_ticks
|
||||||
var/mins = round((mills % 36000) / 600)
|
var/mins = round((mills % 36000) / 600)
|
||||||
|
|||||||
@@ -95,6 +95,9 @@ var/list/holder_mob_icon_cache = list()
|
|||||||
/obj/item/weapon/holder/drone
|
/obj/item/weapon/holder/drone
|
||||||
origin_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 5)
|
origin_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 5)
|
||||||
|
|
||||||
|
/obj/item/weapon/holder/drone/swarm
|
||||||
|
origin_tech = list(TECH_MAGNET = 6, TECH_ENGINEERING = 7, TECH_PRECURSOR = 2, TECH_ARCANE = 1)
|
||||||
|
|
||||||
/obj/item/weapon/holder/pai
|
/obj/item/weapon/holder/pai
|
||||||
origin_tech = list(TECH_DATA = 2)
|
origin_tech = list(TECH_DATA = 2)
|
||||||
|
|
||||||
|
|||||||
@@ -3,9 +3,10 @@
|
|||||||
real_name = "drone"
|
real_name = "drone"
|
||||||
icon = 'icons/mob/swarmbot.dmi'
|
icon = 'icons/mob/swarmbot.dmi'
|
||||||
icon_state = "swarmer"
|
icon_state = "swarmer"
|
||||||
|
item_state = "repairbot"
|
||||||
faction = "swarmer"
|
faction = "swarmer"
|
||||||
maxHealth = 75
|
maxHealth = 35
|
||||||
health = 75
|
health = 35
|
||||||
cell_emp_mult = 0.5
|
cell_emp_mult = 0.5
|
||||||
universal_speak = 0
|
universal_speak = 0
|
||||||
universal_understand = 1
|
universal_understand = 1
|
||||||
@@ -26,6 +27,8 @@
|
|||||||
|
|
||||||
mob_always_swap = 1
|
mob_always_swap = 1
|
||||||
|
|
||||||
|
speed = 3
|
||||||
|
|
||||||
softfall = TRUE
|
softfall = TRUE
|
||||||
|
|
||||||
mob_size = MOB_LARGE
|
mob_size = MOB_LARGE
|
||||||
@@ -46,6 +49,8 @@
|
|||||||
var/spell_setup = list(
|
var/spell_setup = list(
|
||||||
/spell/aoe_turf/conjure/swarmer,
|
/spell/aoe_turf/conjure/swarmer,
|
||||||
/spell/aoe_turf/conjure/forcewall/swarm,
|
/spell/aoe_turf/conjure/forcewall/swarm,
|
||||||
|
/spell/aoe_turf/conjure/zeropointwell,
|
||||||
|
/spell/aoe_turf/conjure/zeropointbarricade,
|
||||||
/spell/aoe_turf/blink/swarm,
|
/spell/aoe_turf/blink/swarm,
|
||||||
/spell/aoe_turf/conjure/swarmer/gunner,
|
/spell/aoe_turf/conjure/swarmer/gunner,
|
||||||
/spell/aoe_turf/conjure/swarmer/melee
|
/spell/aoe_turf/conjure/swarmer/melee
|
||||||
@@ -71,6 +76,11 @@
|
|||||||
icon_state = "swarmer_ranged"
|
icon_state = "swarmer_ranged"
|
||||||
faction = "swarmer"
|
faction = "swarmer"
|
||||||
|
|
||||||
|
maxHealth = 50
|
||||||
|
health = 50
|
||||||
|
|
||||||
|
speed = 4
|
||||||
|
|
||||||
law_type = /datum/ai_laws/swarm_drone/soldier
|
law_type = /datum/ai_laws/swarm_drone/soldier
|
||||||
module_type = /obj/item/weapon/robot_module/drone/swarm/ranged
|
module_type = /obj/item/weapon/robot_module/drone/swarm/ranged
|
||||||
|
|
||||||
@@ -87,6 +97,11 @@
|
|||||||
icon_state = "swarmer_melee"
|
icon_state = "swarmer_melee"
|
||||||
faction = "swarmer"
|
faction = "swarmer"
|
||||||
|
|
||||||
|
maxHealth = 70
|
||||||
|
health = 70
|
||||||
|
|
||||||
|
speed = 2
|
||||||
|
|
||||||
law_type = /datum/ai_laws/swarm_drone/soldier
|
law_type = /datum/ai_laws/swarm_drone/soldier
|
||||||
module_type = /obj/item/weapon/robot_module/drone/swarm/melee
|
module_type = /obj/item/weapon/robot_module/drone/swarm/melee
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
desc = "This ability constructs a standard swarmer shell that may activate at some point."
|
desc = "This ability constructs a standard swarmer shell that may activate at some point."
|
||||||
|
|
||||||
school = "conjuration"
|
school = "conjuration"
|
||||||
charge_max = 120 SECONDS
|
charge_max = 5 MINUTES
|
||||||
spell_flags = 0
|
spell_flags = 0
|
||||||
invocation = "none"
|
invocation = "none"
|
||||||
invocation_type = SpI_NONE
|
invocation_type = SpI_NONE
|
||||||
|
|||||||
@@ -130,7 +130,7 @@
|
|||||||
/obj/effect/temporary_effect/pulse/disintegrate/on_pulse()
|
/obj/effect/temporary_effect/pulse/disintegrate/on_pulse()
|
||||||
var/turf/T = get_turf(src)
|
var/turf/T = get_turf(src)
|
||||||
if(istype(T,/turf/simulated/wall))
|
if(istype(T,/turf/simulated/wall))
|
||||||
explosion(get_turf(src), -1, -1, 1, 3, adminlog = 0)
|
T.take_damage(rand(20, 50))
|
||||||
else
|
else
|
||||||
qdel(src)
|
qdel(src)
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
name = "disabler"
|
name = "disabler"
|
||||||
desc = "An archaic device which attacks the target's nervous-system or control circuits."
|
desc = "An archaic device which attacks the target's nervous-system or control circuits."
|
||||||
projectile_type = /obj/item/projectile/beam/stun/disabler
|
projectile_type = /obj/item/projectile/beam/stun/disabler
|
||||||
charge_cost = 200
|
charge_cost = 800
|
||||||
recharge_time = 0.5 SECONDS
|
recharge_time = 0.5 SECONDS
|
||||||
|
|
||||||
/obj/item/weapon/gun/energy/stunrevolver
|
/obj/item/weapon/gun/energy/stunrevolver
|
||||||
|
|||||||
Reference in New Issue
Block a user