mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-01-08 00:12:53 +00:00
# Conflicts: # code/__defines/holomap.dm # code/__defines/mobs.dm # code/_helpers/icons.dm # code/_helpers/unsorted.dm # code/_onclick/hud/hud.dm # code/_onclick/item_attack.dm # code/controllers/Processes/supply.dm # code/controllers/subsystems/planets.dm # code/datums/supplypacks/munitions.dm # code/datums/supplypacks/science.dm # code/datums/supplypacks/security.dm # code/datums/supplypacks/supply.dm # code/game/area/Space Station 13 areas.dm # code/game/atoms_movable.dm # code/game/machinery/autolathe.dm # code/game/machinery/doors/door.dm # code/game/machinery/jukebox.dm # code/game/machinery/recharger.dm # code/game/machinery/vending.dm # code/game/mecha/equipment/tools/medical_tools.dm # code/game/mecha/equipment/weapons/weapons.dm # code/game/objects/items/devices/PDA/PDA.dm # code/game/objects/items/devices/megaphone.dm # code/game/objects/items/poi_items.dm # code/game/objects/items/weapons/implants/implantlanguage.dm # code/game/objects/items/weapons/storage/firstaid.dm # code/game/objects/items/weapons/tools/weldingtool.dm # code/game/objects/structures/flora/trees.dm # code/game/objects/structures/plasticflaps.dm # code/game/supplyshuttle.dm # code/game/turfs/simulated/wall_attacks.dm # code/modules/admin/admin_verbs.dm # code/modules/assembly/infrared.dm # code/modules/client/client procs.dm # code/modules/client/preference_setup/loadout/loadout_utility.dm # code/modules/client/preferences.dm # code/modules/clothing/suits/miscellaneous.dm # code/modules/holomap/holomap_datum.dm # code/modules/holomap/station_holomap.dm # code/modules/integrated_electronics/core/printer.dm # code/modules/mining/machine_processing.dm # code/modules/mob/living/carbon/human/human_defense.dm # code/modules/mob/living/carbon/human/species/virtual_reality/avatar.dm # code/modules/mob/living/death.dm # code/modules/mob/living/silicon/ai/ai.dm # code/modules/mob/living/silicon/pai/pai.dm # code/modules/mob/living/silicon/robot/robot.dm # code/modules/mob/living/simple_animal/animals/parrot.dm # code/modules/mob/mob_movement.dm # code/modules/organs/organ_external.dm # code/modules/organs/organ_icon.dm # code/modules/organs/subtypes/standard.dm # code/modules/planet/weather.dm # code/modules/power/cable.dm # code/modules/power/fusion/core/core_control.dm # code/modules/power/fusion/fuel_assembly/fuel_control.dm # code/modules/power/fusion/gyrotron/gyrotron_control.dm # code/modules/projectiles/gun.dm # code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm # config/names/first_name_skrell.txt # config/names/last_name_skrell.txt # icons/mob/head.dmi # icons/mob/robots.dmi # icons/mob/species/tajaran/helmet.dmi # icons/obj/ammo.dmi # icons/obj/gun.dmi # icons/obj/mining.dmi # icons/obj/projectiles.dmi # icons/obj/rig_modules.dmi # icons/obj/surgery.dmi # icons/turf/walls.dmi # maps/southern_cross/southern_cross-1.dmm # maps/southern_cross/southern_cross-3.dmm # maps/southern_cross/southern_cross-6.dmm # maps/southern_cross/southern_cross-8.dmm # maps/submaps/surface_submaps/mountains/backup/IceCave1.dmm # maps/submaps/surface_submaps/mountains/backup/IceCave1A.dmm # maps/submaps/surface_submaps/mountains/backup/IceCave1B.dmm # maps/submaps/surface_submaps/mountains/backup/IceCave1C.dmm # maps/submaps/surface_submaps/mountains/crashedcontainmentshuttle.dmm # maps/submaps/surface_submaps/mountains/deadspy.dmm # maps/submaps/surface_submaps/mountains/mountains_areas.dm # maps/submaps/surface_submaps/plains/Thiefc.dmm # maps/~map_system/maps.dm # vorestation.dme
150 lines
3.9 KiB
Plaintext
150 lines
3.9 KiB
Plaintext
#define I_SINGULO "singulo"
|
|
|
|
/atom/proc/singularity_act()
|
|
return
|
|
|
|
/atom/proc/singularity_pull(S, current_size)
|
|
return
|
|
|
|
/mob/living/singularity_act()
|
|
investigate_log("has been consumed by a singularity", I_SINGULO)
|
|
gib()
|
|
return 20
|
|
|
|
/mob/living/singularity_pull(S, current_size)
|
|
step_towards(src, S)
|
|
apply_effect(current_size * 3, IRRADIATE, blocked = getarmor(null, "rad"))
|
|
|
|
/mob/living/carbon/human/singularity_act()
|
|
var/gain = 20
|
|
if(mind)
|
|
if((mind.assigned_role == "Station Engineer") || (mind.assigned_role == "Chief Engineer"))
|
|
gain = 100
|
|
if(mind.assigned_role == USELESS_JOB) //VOREStation Edit - Visitor not Assistant
|
|
gain = rand(0, 300)
|
|
investigate_log(I_SINGULO,"has been consumed by a singularity", I_SINGULO)
|
|
gib()
|
|
return gain
|
|
|
|
/mob/living/carbon/human/singularity_pull(S, current_size)
|
|
if(current_size >= STAGE_THREE)
|
|
var/list/handlist = list(l_hand, r_hand)
|
|
for(var/obj/item/hand in handlist)
|
|
if(prob(current_size*5) && hand.w_class >= ((11-current_size)/2) && unEquip(hand))
|
|
step_towards(hand, S)
|
|
to_chat(src, "<span class = 'warning'>The [S] pulls \the [hand] from your grip!</span>")
|
|
|
|
if(!lying && (!shoes || !(shoes.item_flags & NOSLIP)) && (!species || !(species.flags & NOSLIP)) && prob(current_size*5))
|
|
to_chat(src, "<span class='danger'>A strong gravitational force slams you to the ground!</span>")
|
|
Weaken(current_size)
|
|
..()
|
|
|
|
/obj/singularity_act()
|
|
if(simulated)
|
|
ex_act(1)
|
|
if(src)
|
|
qdel(src)
|
|
return 2
|
|
|
|
/obj/singularity_pull(S, current_size)
|
|
if(simulated)
|
|
if(anchored)
|
|
if(current_size >= STAGE_FIVE)
|
|
step_towards(src, S)
|
|
else
|
|
step_towards(src, S)
|
|
|
|
/obj/effect/beam/singularity_pull()
|
|
return
|
|
|
|
/obj/effect/overlay/singularity_pull()
|
|
return
|
|
|
|
/obj/item/singularity_pull(S, current_size)
|
|
spawn(0) //this is needed or multiple items will be thrown sequentially and not simultaneously
|
|
if(current_size >= STAGE_FOUR)
|
|
//throw_at(S, 14, 3)
|
|
step_towards(src,S)
|
|
sleep(1)
|
|
step_towards(src,S)
|
|
else if(current_size > STAGE_ONE)
|
|
step_towards(src,S)
|
|
else ..()
|
|
|
|
/obj/machinery/atmospherics/pipe/singularity_pull()
|
|
return
|
|
|
|
/obj/machinery/power/supermatter/shard/singularity_act()
|
|
src.forceMove(null)
|
|
qdel(src)
|
|
return 5000
|
|
|
|
/obj/machinery/power/supermatter/singularity_act()
|
|
if(!src.loc)
|
|
return
|
|
|
|
var/prints = ""
|
|
if(src.fingerprintshidden)
|
|
prints = ", all touchers : " + src.fingerprintshidden
|
|
|
|
SetUniversalState(/datum/universal_state/supermatter_cascade)
|
|
log_admin("New super singularity made by eating a SM crystal [prints]. Last touched by [src.fingerprintslast].")
|
|
message_admins("New super singularity made by eating a SM crystal [prints]. Last touched by [src.fingerprintslast].")
|
|
src.forceMove(null)
|
|
qdel(src)
|
|
return 50000
|
|
|
|
/obj/item/projectile/beam/emitter/singularity_pull()
|
|
return
|
|
|
|
/obj/effect/projectile/emitter/singularity_pull()
|
|
return
|
|
|
|
/obj/item/weapon/storage/backpack/holding/singularity_act(S, current_size)
|
|
var/dist = max((current_size - 2), 1)
|
|
explosion(src.loc,(dist),(dist*2),(dist*4))
|
|
return 1000
|
|
|
|
/turf/singularity_act(S, current_size)
|
|
if(!is_plating())
|
|
for(var/obj/O in contents)
|
|
if(O.level != 1)
|
|
continue
|
|
if(O.invisibility == 101)
|
|
O.singularity_act(src, current_size)
|
|
ChangeTurf(get_base_turf_by_area(src))
|
|
return 2
|
|
|
|
/turf/simulated/wall/singularity_pull(S, current_size)
|
|
|
|
if(!reinf_material)
|
|
if(current_size >= STAGE_FIVE)
|
|
if(prob(75))
|
|
dismantle_wall()
|
|
return
|
|
if(current_size == STAGE_FOUR)
|
|
if(prob(30))
|
|
dismantle_wall()
|
|
else
|
|
if(current_size >= STAGE_FIVE)
|
|
if(prob(30))
|
|
dismantle_wall()
|
|
|
|
/turf/space/singularity_act()
|
|
return
|
|
|
|
/turf/simulated/open/singularity_act()
|
|
return
|
|
|
|
/*******************
|
|
* Nar-Sie Act/Pull *
|
|
*******************/
|
|
/atom/proc/singuloCanEat()
|
|
return 1
|
|
|
|
/mob/observer/singuloCanEat()
|
|
return 0
|
|
|
|
/mob/new_player/singuloCanEat()
|
|
return 0
|