mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-01 05:02:33 +00:00
* Initial commit. Event. * Started converting mobs to basic mobs. Migo and Creature. Needs aggressiveness AI * Makes CI happy * Fixes some file names * Ticks files * Fixes file again * Update code/modules/events/demon_incursion.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> * Announcement sound, spawn adjustments * Reduced spread when portals multiply * Elite spawns when portal count gets high * Fixes missing comma * Converted migo, blank, and most of hellhounds to basic mobs. Added new controllers and behaviors * Fixes * Linters! * Faithless moved to basic mob * LINTERS * Makes skeletons basic mobs * Fixes, Ranged Attacks, Ranged variants of nether mobs * Handles portal expansion chance * Linters * Fixes mobs not breaking shit * Fixes ranged attacks * Fixes ranged attacks * oops * Another oops. No config changes are needed here * Twenty percent chance that a nether mob is a grappler * Dimensional tear fixes * Adjusts awaken distance for hostile mobs, makes variable melee attack rate for basic mobs * Variable initial spawns, variable spread rates. * Whole lot of fixes from merge, hellhound completion * Updated lavaland winter biodome * Makes basic mobs able to hurt other mobs * Makes spawners properly rally basic mobs to beat up the attacker * Extra line * Removed comment * Makes hellhounds stop resting when attacked or when they find a new target * Fixed initial portal spawn amounts * Borgs now affected by basic mobs * Nerfs portal spawn rate, nerfs portal integrity, nerfs portal max mobs * Grapplers now teleport to missed turfs * Removes duplicate notices * Buff portals a small bit * Makes nether portals no longer RR - the body is now recoverable from the blank it became * Makes portals layer above mobs * Removed excess ranged attack var * Changes list for determining start count to rely on mobs with client instead of all clients * Nerfs portal max mobs * Portals can no longer spread to within 3 tiles of another portal except on initial event start * Adjusts target portal count for big mobs * Spawners now properly remove nest values of basic mobs * Portals now glow an evil red. When portals are destroyed, 50% chance per mob to slay the mob * add prowling and return to home behaviors * cut this down * be a tiny bit smarter * Some code cleanup * Removes hostile base type, removing excess code * Gives /obj/ a basic mob attack handler. Fixes turrets * Gives basic mobs a HUD * Fixes skeleton death flag * Adjusted initial spawns * Incursion portals now slowly convert turfs, up to range 3 of them, to hellish flooring * Increases reward per destroyed portal * Makes the final portal of an incursion play a sound on destruction, couple portal fixes * Fixes basic mob xenobiology interactions * Non-shit portal sprites * Adds hostile machine element, mobs now actively target turrets and emitters * Properly gibs things when they should gib * Linter fix * Portals now layer under living mobs but over dead ones * Adds blackbox checking for demon incursion portal counts * Increases mob sight range slightly to account for widescreen, adds alt-color for grappler, delays incursion announcement a bit more * Portals now are more likely to spread the less there are * Incursion portals now repair themselves after not being damaged for some time * Grilles now shock basic mobs * Portals will now clean up basic mob corpses near them by gibbing them * Portal spread chance is now exponential regression * Portal mob spawns now linearly scale in time * Fixes some skeleton oversights in ruin mapping * Demon incursions no longer can spread to tiles in a space area, such as near brig plating * Moves corpse cleanup to mobs via component * Portals now drop bodies that are being eaten when they're destroyed. * Addresses code review * Docs some vars --------- Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
167 lines
5.1 KiB
Plaintext
167 lines
5.1 KiB
Plaintext
//Defines for atom layers and planes
|
|
//KEEP THESE IN A NICE ACSCENDING ORDER, PLEASE
|
|
|
|
#define CLICKCATCHER_PLANE -99
|
|
|
|
#define GRAVITY_PULSE_PLANE -96 //Needs to be behind space, otherwise it blocks space, lol
|
|
#define GRAVITY_PULSE_RENDER_TARGET "*GRAVPULSE_RENDER_TARGET"
|
|
|
|
#define PLANE_SPACE -95
|
|
#define PLANE_SPACE_PARALLAX -90
|
|
|
|
#define FLOOR_PLANE -6
|
|
#define FLOOR_OVERLAY_PLANE -5
|
|
|
|
#define FLOOR_LIGHTING_LAMPS_GLARE -4
|
|
#define FLOOR_LIGHTING_LAMPS_SELFGLOW -3
|
|
#define FLOOR_LIGHTING_LAMPS_PLANE -2
|
|
#define FLOOR_LIGHTING_LAMPS_RENDER_TARGET "*FLOOR_LIGHTING_LAMPS_RENDER_TARGET"
|
|
|
|
#define GAME_PLANE -1
|
|
#define BLACKNESS_PLANE 0 //To keep from conflicts with SEE_BLACKNESS internals
|
|
|
|
#define AREA_PLANE 1
|
|
|
|
#define SPACE_LAYER 1.5
|
|
#define GRASS_UNDER_LAYER 1.6
|
|
/// Which layer turfs appear on by default in the map editor. Should be unique!
|
|
#define MAP_EDITOR_TURF_LAYER 1.6999
|
|
#define PLATING_LAYER 1.7
|
|
#define LATTICE_LAYER 1.701
|
|
#define DISPOSAL_PIPE_LAYER 1.71
|
|
#define GAS_PIPE_HIDDEN_LAYER 1.72
|
|
#define WIRE_LAYER 1.73
|
|
#define WIRE_TERMINAL_LAYER 1.75
|
|
#define ABOVE_PLATING_LAYER 1.76 // generic for /obj/hide
|
|
#define TRAY_SCAN_LAYER_OFFSET 0.5 // place images above TURF_LAYER
|
|
//#define TURF_LAYER 2 //For easy recordkeeping; this is a byond define
|
|
#define ABOVE_TRANSPARENT_TURF_LAYER 2.01 // put wire terminals here if T.transparent_floor
|
|
#define MID_TURF_LAYER 2.02
|
|
#define HIGH_TURF_LAYER 2.03
|
|
#define TURF_PLATING_DECAL_LAYER 2.031
|
|
#define TURF_DECAL_LAYER 2.039 //Makes turf decals appear in DM how they will look inworld.
|
|
#define ABOVE_OPEN_TURF_LAYER 2.04
|
|
#define CLOSED_TURF_LAYER 2.05
|
|
#define BULLET_HOLE_LAYER 2.06
|
|
#define ABOVE_NORMAL_TURF_LAYER 2.08
|
|
#define ABOVE_ICYOVERLAY_LAYER 2.11
|
|
#define GAS_SCRUBBER_OFFSET -0.001
|
|
#define GAS_PIPE_VISIBLE_LAYER 2.47
|
|
#define GAS_PIPE_SCRUB_OFFSET 0.001
|
|
#define GAS_PIPE_SUPPLY_OFFSET 0.002
|
|
#define GAS_FILTER_OFFSET 0.003
|
|
#define GAS_PUMP_OFFSET 0.004
|
|
#define HOLOPAD_LAYER 2.491
|
|
#define CONVEYOR_LAYER 2.495
|
|
#define LOW_OBJ_LAYER 2.5
|
|
#define LOW_SIGIL_LAYER 2.52
|
|
#define SIGIL_LAYER 2.54
|
|
#define HIGH_SIGIL_LAYER 2.56
|
|
|
|
#define BELOW_OPEN_DOOR_LAYER 2.6
|
|
#define BLASTDOOR_LAYER 2.65
|
|
#define OPEN_DOOR_LAYER 2.7
|
|
#define PROJECTILE_HIT_THRESHHOLD_LAYER 2.75 //projectiles won't hit objects at or below this layer if possible
|
|
#define TABLE_LAYER 2.8
|
|
#define BELOW_OBJ_LAYER 2.9
|
|
#define LOW_ITEM_LAYER 2.95
|
|
//#define OBJ_LAYER 3 //For easy recordkeeping; this is a byond define
|
|
#define CLOSED_BLASTDOOR_LAYER 3.05
|
|
#define CLOSED_DOOR_LAYER 3.1
|
|
#define CLOSED_FIREDOOR_LAYER 3.11
|
|
#define SHUTTER_LAYER 3.12 // HERE BE DRAGONS
|
|
#define ABOVE_OBJ_LAYER 3.2
|
|
#define ABOVE_WINDOW_LAYER 3.3
|
|
#define DOOR_HELPER_LAYER 3.31 // Keep this above doors and windoors
|
|
#define SIGN_LAYER 3.4
|
|
#define NOT_HIGH_OBJ_LAYER 3.5
|
|
#define HIGH_OBJ_LAYER 3.6
|
|
|
|
#define BELOW_MOB_LAYER 3.7
|
|
#define LYING_MOB_LAYER 3.8
|
|
#define ABOVE_LYING_MOB_LAYER 3.9
|
|
//#define MOB_LAYER 4 //For easy recordkeeping; this is a byond define
|
|
#define ABOVE_MOB_LAYER 4.1
|
|
#define HITSCAN_LAYER 4.2
|
|
#define WALL_OBJ_LAYER 4.25
|
|
#define EDGED_TURF_LAYER 4.3
|
|
#define ON_EDGED_TURF_LAYER 4.35
|
|
#define LARGE_MOB_LAYER 4.4
|
|
#define ABOVE_ALL_MOB_LAYER 4.5
|
|
|
|
#define SPACEVINE_LAYER 4.8
|
|
#define SPACEVINE_MOB_LAYER 4.9
|
|
//#define FLY_LAYER 5 //For easy recordkeeping; this is a byond define
|
|
#define GASFIRE_LAYER 5.05
|
|
#define RIPPLE_LAYER 5.1
|
|
|
|
#define GHOST_LAYER 6
|
|
#define LOW_LANDMARK_LAYER 9
|
|
#define MID_LANDMARK_LAYER 9.1
|
|
#define HIGH_LANDMARK_LAYER 9.2
|
|
#define AREA_LAYER 10
|
|
#define MASSIVE_OBJ_LAYER 11
|
|
#define SMOKE_PLANE 12
|
|
#define POINT_LAYER 13
|
|
|
|
#define CHAT_LAYER 12.0001 // Do not insert layers between these two values
|
|
#define CHAT_LAYER_MAX 12.9999
|
|
|
|
/// This plane masks out lighting to create an "emissive" effect, ie for glowing lights in otherwise dark areas.
|
|
#define EMISSIVE_PLANE 13
|
|
/// The render target used by the emissive.
|
|
#define EMISSIVE_RENDER_TARGET "*EMISSIVE_PLANE"
|
|
|
|
#define POINT_PLANE 14
|
|
#define COGBAR_PLANE 15
|
|
|
|
#define LIGHTING_PLANE 16
|
|
#define LIGHTING_LAYER 16
|
|
|
|
#define LIGHTING_LAMPS_GLARE 17 // Light glare (optional setting)
|
|
#define LIGHTING_EXPOSURE_PLANE 18 // Light sources "cones"
|
|
#define LIGHTING_LAMPS_SELFGLOW 19 // Light sources glow (lamps, doors overlay, etc.)
|
|
#define LIGHTING_LAMPS_PLANE 20 // Light sources themselves (lamps, screens, etc.)
|
|
|
|
#define LIGHTING_LAMPS_RENDER_TARGET "*LIGHTING_LAMPS_RENDER_TARGET"
|
|
|
|
#define RAD_TEXT_LAYER 20.1
|
|
|
|
#define ABOVE_LIGHTING_PLANE 21
|
|
#define ABOVE_LIGHTING_LAYER 21
|
|
|
|
#define FLOOR_OPENSPACE_PLANE 22
|
|
#define OPENSPACE_LAYER 22
|
|
|
|
#define BYOND_LIGHTING_PLANE 24
|
|
#define BYOND_LIGHTING_LAYER 24
|
|
|
|
#define CAMERA_STATIC_PLANE 24
|
|
#define CAMERA_STATIC_LAYER 24
|
|
|
|
//HUD layer defines
|
|
|
|
#define FULLSCREEN_PLANE 25
|
|
#define FLASH_LAYER 25
|
|
#define FULLSCREEN_LAYER 25.1
|
|
#define UI_DAMAGE_LAYER 25.2
|
|
#define BLIND_LAYER 25.3
|
|
#define CRIT_LAYER 25.4
|
|
#define CURSE_LAYER 25.5
|
|
|
|
#define HUD_PLANE 26
|
|
#define HUD_LAYER 26
|
|
#define ABOVE_HUD_PLANE 27
|
|
#define ABOVE_HUD_LAYER 27
|
|
|
|
#define SPLASHSCREEN_LAYER 28
|
|
#define SPLASHSCREEN_PLANE 28
|
|
|
|
#define HUD_PLANE_BUILDMODE 30
|
|
|
|
// This should always be on top. No exceptions.
|
|
#define HUD_PLANE_DEBUGVIEW 40
|
|
|
|
///Plane master controller keys
|
|
#define PLANE_MASTERS_GAME "plane_masters_game"
|