mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-20 18:47:20 +01:00
* proof-of-concept implementation * clear being_hijacked on death * it glows in the dark * oops * machinery interactions and some fixes * consistency, correctness, fixes * stop usage of the \the text macro * list inits in Initialize * fix control flow spacing * review compliance * event code and some tweaks * upgradable spell abilities and some tweaks * how did that happen * cycle cameras spell * stat upgrades (no sprites for now) * tweaking * sounds * jecties code * more tweaks and fixes * some review stuff * alt-click user param and charger icon fix * Remove unused default amounts in objectives * Comply with sirryan review (part 1) * Move isapc definition * Add autodoc comments to all pulse_demon vars * Give random number in name on init * Fix merge conflicts * Remove pulse demon from traitors on Destroy * Fix mulebot relaymove override * Fix airlock TGUI actions * Fix loop over mobs in cablehop * Attempt to fix overload runtime * Half-fix gun cooldown issue * Fix chat related issues * Attempt to fix overload runtime (take 2) * Make ion projectiles collide * Tweak pulse demon speed * Make demon survive loc being deleted * Send message when saved by self-sustaining * Fix vv_edit_var for charge * Stop people disabling hijacked bots * Make demon lose more health when not on wires * Increase costs of stat upgrades * Allow demon to change its drain speed * Stop demon obliterating xenos * Comply with review (partial) * Fix issues pointed out in reviews * Allow demon to drain charge of reachable items * Adjust volume of demon sounds * Improve cell interactions * Bump up event weight (for testmerge) * Give pulse demon a highlight section on orbit menu * Give demon an experimental soft-counter to insuls * Reduce volume of most common sounds (again) * Update demon cable overlay when required * Stop AI using its tracking ability on pulse demons * Add wizard spawner for pulse demon * Tweak EMP behaviour and numbers * Clear references in Destroy * Make appear on end of round credits even when dead * Prevent pulse demon from detonating cyborgs * Generalise insulated structure check * Clean up remaining review requests * Add new sprites * some addressed reviews * Typepath changes, GC fixes * I blame charlie * good enough * die or something * Update code/game/gamemodes/miniantags/pulsedemon/pulsedemon.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> * Update code/game/gamemodes/miniantags/pulsedemon/pulsedemon_interactions.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> * Update code/game/gamemodes/miniantags/pulsedemon/pulsedemon_interactions.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> * even more changes * final tweaks * what * Update code/game/gamemodes/miniantags/pulsedemon/pulsedemon_interactions.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/game/gamemodes/miniantags/pulsedemon/pulsedemon_abilities.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/game/gamemodes/miniantags/pulsedemon/pulsedemon.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/game/gamemodes/miniantags/pulsedemon/pulsedemon.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * bam * Update code/game/gamemodes/miniantags/pulsedemon/pulsedemon.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/gamemodes/miniantags/pulsedemon/pulsedemon.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/gamemodes/miniantags/pulsedemon/pulsedemon.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/gamemodes/miniantags/pulsedemon/pulsedemon.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/gamemodes/miniantags/pulsedemon/pulsedemon.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * to_chatn't * deconflicted --------- Co-authored-by: unknownuser782 <126365777+unknownuser782@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
121 lines
3.6 KiB
Plaintext
121 lines
3.6 KiB
Plaintext
// Atoms
|
|
#define isatom(A) (isloc(A))
|
|
|
|
// Mobs
|
|
|
|
//#define ismob(A, B, C...) BYOND proc, can test multiple arguments and only return TRUE if all are mobs
|
|
|
|
#define isliving(A) (istype(A, /mob/living))
|
|
|
|
#define isbrain(A) (istype(A, /mob/living/carbon/brain))
|
|
|
|
// Carbon mobs
|
|
#define iscarbon(A) (istype(A, /mob/living/carbon))
|
|
|
|
#define ishuman(A) (istype(A, /mob/living/carbon/human))
|
|
|
|
#define isalien(A) (istype(A, /mob/living/carbon/alien))
|
|
|
|
#define islarva(A) (istype(A, /mob/living/carbon/alien/larva))
|
|
|
|
#define isalienadult(A) (istype(A, /mob/living/carbon/alien/humanoid))
|
|
|
|
#define isalienhunter(A) (istype(A, /mob/living/carbon/alien/humanoid/hunter))
|
|
|
|
#define isaliensentinel(A) (istype(A, /mob/living/carbon/alien/humanoid/sentinel))
|
|
|
|
// Simple animals
|
|
|
|
#define issimple_animal(A) (istype(A, /mob/living/simple_animal))
|
|
|
|
#define ismegafauna(A) istype(A, /mob/living/simple_animal/hostile/megafauna)
|
|
|
|
#define isshade(A) (istype(A, /mob/living/simple_animal/shade))
|
|
|
|
#define isconstruct(A) (istype(A, /mob/living/simple_animal/hostile/construct))
|
|
|
|
#define isslime(A) (istype((A), /mob/living/simple_animal/slime))
|
|
|
|
#define ispulsedemon(A) (istype(A, /mob/living/simple_animal/demon/pulse_demon))
|
|
|
|
// Objects
|
|
#define isobj(A) istype(A, /obj) //override the byond proc because it returns true on children of /atom/movable that aren't objs
|
|
|
|
#define isitem(A) (istype(A, /obj/item))
|
|
|
|
#define ismachinery(A) (istype(A, /obj/machinery))
|
|
|
|
#define isapc(A) (istype(A, /obj/machinery/power/apc))
|
|
|
|
#define ismecha(A) (istype(A, /obj/mecha))
|
|
|
|
#define iseffect(A) (istype(A, /obj/effect))
|
|
|
|
#define isclothing(A) (istype(A, /obj/item/clothing))
|
|
|
|
#define is_pen(W) (istype(W, /obj/item/pen) || istype(W, /obj/item/flashlight/pen))
|
|
|
|
#define is_pda(W) (istype(W, /obj/item/pda))
|
|
|
|
#define isspacecash(W) (istype(W, /obj/item/stack/spacecash))
|
|
|
|
#define isstorage(A) (istype(A, /obj/item/storage))
|
|
|
|
#define isstack(I) (istype(I, /obj/item/stack))
|
|
|
|
GLOBAL_LIST_INIT(pointed_types, typecacheof(list(
|
|
/obj/item/pen,
|
|
/obj/item/screwdriver,
|
|
/obj/item/reagent_containers/syringe,
|
|
/obj/item/kitchen/utensil/fork)))
|
|
|
|
#define is_pointed(W) (is_type_in_typecache(W, GLOB.pointed_types))
|
|
|
|
GLOBAL_LIST_INIT(glass_sheet_types, typecacheof(list(
|
|
/obj/item/stack/sheet/glass,
|
|
/obj/item/stack/sheet/rglass,
|
|
/obj/item/stack/sheet/plasmaglass,
|
|
/obj/item/stack/sheet/plasmarglass,
|
|
/obj/item/stack/sheet/titaniumglass,
|
|
/obj/item/stack/sheet/plastitaniumglass)))
|
|
|
|
#define is_glass_sheet(O) (is_type_in_typecache(O, GLOB.glass_sheet_types))
|
|
|
|
// Turfs
|
|
|
|
//#define isturf(A, B, C...) BYOND proc, can test multiple arguments and only return TRUE if all are turfs
|
|
|
|
#define issimulatedturf(A) istype(A, /turf/simulated)
|
|
|
|
#define isspaceturf(A) istype(A, /turf/space)
|
|
|
|
#define istransparentturf(A) istype(A, /turf/simulated/floor/transparent)
|
|
|
|
#define isfloorturf(A) istype(A, /turf/simulated/floor)
|
|
|
|
#define iswallturf(A) istype(A, /turf/simulated/wall)
|
|
|
|
#define isreinforcedwallturf(A) istype(A, /turf/simulated/wall/r_wall)
|
|
|
|
#define ismineralturf(A) istype(A, /turf/simulated/mineral)
|
|
|
|
#define islava(A) (istype(A, /turf/simulated/floor/plating/lava))
|
|
|
|
#define ischasm(A) (istype(A, /turf/simulated/floor/chasm))
|
|
|
|
#define is_ancient_rock(A) (istype(A, /turf/simulated/mineral/ancient))
|
|
|
|
// Areas
|
|
//#define isarea(A, B, C...) BYOND proc, can test multiple arguments and only return TRUE if all are areas
|
|
|
|
// Structures
|
|
#define isstructure(A) (istype((A), /obj/structure))
|
|
|
|
// Misc
|
|
#define isclient(A) istype(A, /client)
|
|
#define isradio(A) istype(A, /obj/item/radio)
|
|
#define ispill(A) istype(A, /obj/item/reagent_containers/food/pill)
|
|
|
|
// Modsuits
|
|
#define ismodcontrol(A) istype(A, /obj/item/mod/control)
|