mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
[MIRROR] next grep, no spaces (#10548)
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
16a213f699
commit
8d0febfbb6
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
FUN ZONE OF ADMIN LISTINGS
|
* FUN ZONE OF ADMIN LISTINGS
|
||||||
Try to keep this in sync with __DEFINES/traits.dm
|
* Try to keep this in sync with __DEFINES/traits.dm
|
||||||
Not to be confused with character creator traits
|
* Not to be confused with character creator traits
|
||||||
*/
|
*/
|
||||||
GLOBAL_LIST_INIT(traits_by_type, list(
|
GLOBAL_LIST_INIT(traits_by_type, list(
|
||||||
/mob = list(
|
/mob = list(
|
||||||
|
|||||||
@@ -5,13 +5,14 @@
|
|||||||
|
|
||||||
/mob/proc/throw_alert(category, type, severity, obj/new_master)
|
/mob/proc/throw_alert(category, type, severity, obj/new_master)
|
||||||
|
|
||||||
/* Proc to create or update an alert. Returns the alert if the alert is new or updated, 0 if it was thrown already
|
/** Proc to create or update an alert. Returns the alert if the alert is new or updated, 0 if it was thrown already
|
||||||
category is a text string. Each mob may only have one alert per category; the previous one will be replaced
|
* category is a text string. Each mob may only have one alert per category; the previous one will be replaced
|
||||||
path is a type path of the actual alert type to throw
|
* path is a type path of the actual alert type to throw
|
||||||
severity is an optional number that will be placed at the end of the icon_state for this alert
|
* severity is an optional number that will be placed at the end of the icon_state for this alert
|
||||||
For example, high pressure's icon_state is "highpressure" and can be serverity 1 or 2 to get "highpressure1" or "highpressure2"
|
* For example, high pressure's icon_state is "highpressure" and can be serverity 1 or 2 to get "highpressure1" or "highpressure2"
|
||||||
new_master is optional and sets the alert's icon state to "template" in the ui_style icons with the master as an overlay.
|
* new_master is optional and sets the alert's icon state to "template" in the ui_style icons with the master as an overlay.
|
||||||
Clicks are forwarded to master */
|
* Clicks are forwarded to master
|
||||||
|
*/
|
||||||
|
|
||||||
if(!category)
|
if(!category)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -2611,8 +2611,8 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
|||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
/*
|
/*
|
||||||
Lists of areas to be used with is_type_in_list.
|
* Lists of areas to be used with is_type_in_list.
|
||||||
Used in gamemodes code at the moment. --rastaf0
|
* Used in gamemodes code at the moment. --rastaf0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// CENTCOM
|
// CENTCOM
|
||||||
|
|||||||
@@ -66,7 +66,6 @@ There's been a galaxy-wide electromagnetic pulse. All of our systems are heavil
|
|||||||
[station_name()], you are the only facility nearby a bluespace rift, which is near your research outpost. You are hereby directed to enter the rift using all means necessary, quite possibly as the last of your species alive.
|
[station_name()], you are the only facility nearby a bluespace rift, which is near your research outpost. You are hereby directed to enter the rift using all means necessary, quite possibly as the last of your species alive.
|
||||||
|
|
||||||
You have five minutes before the universe collapses. Good l\[\[###!!!-
|
You have five minutes before the universe collapses. Good l\[\[###!!!-
|
||||||
|
|
||||||
AUTOMATED ALERT: Link to [command_name()] lost.
|
AUTOMATED ALERT: Link to [command_name()] lost.
|
||||||
|
|
||||||
The access requirements on the Asteroid Shuttles' consoles have now been revoked.
|
The access requirements on the Asteroid Shuttles' consoles have now been revoked.
|
||||||
|
|||||||
@@ -38,15 +38,15 @@
|
|||||||
return //Stub, used on children.
|
return //Stub, used on children.
|
||||||
|
|
||||||
// HIDDEN UPLINK - Can be stored in anything but the host item has to have a trigger for it.
|
// HIDDEN UPLINK - Can be stored in anything but the host item has to have a trigger for it.
|
||||||
/* How to create an uplink in 3 easy steps!
|
/** How to create an uplink in 3 easy steps!
|
||||||
|
*
|
||||||
1. All obj/item 's have a hidden_uplink var. By default it's null. Give the item one with "new(src)", it must be in it's contents. Feel free to add "uses".
|
* 1. All obj/item 's have a hidden_uplink var. By default it's null. Give the item one with "new(src)", it must be in it's contents. Feel free to add "uses".
|
||||||
|
*
|
||||||
2. Code in the triggers. Use check_trigger for this, I recommend closing the item's menu with "usr << browse(null, "window=windowname") if it returns true.
|
* 2. Code in the triggers. Use check_trigger for this, I recommend closing the item's menu with "usr << browse(null, "window=windowname") if it returns true.
|
||||||
The var/value is the value that will be compared with the var/target. If they are equal it will activate the menu.
|
* The var/value is the value that will be compared with the var/target. If they are equal it will activate the menu.
|
||||||
|
*
|
||||||
3. If you want the menu to stay until the users locks his uplink, add an active_uplink_check(mob/user as mob) in your interact/attack_hand proc.
|
* 3. If you want the menu to stay until the users locks his uplink, add an active_uplink_check(mob/user as mob) in your interact/attack_hand proc.
|
||||||
Then check if it's true, if true return. This will stop the normal menu appearing and will instead show the uplink menu.
|
* Then check if it's true, if true return. This will stop the normal menu appearing and will instead show the uplink menu.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/obj/item/uplink/hidden
|
/obj/item/uplink/hidden
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
* Plushies
|
* Plushies
|
||||||
* Toy cult sword
|
* Toy cult sword
|
||||||
* Bouquets
|
* Bouquets
|
||||||
Stick Horse
|
* Stick Horse
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
Notes on change_state
|
* Notes on change_state
|
||||||
*
|
*
|
||||||
* tl;dr "You can varedit 'state' on these to the things in the comments below to get cool animations"
|
* tl;dr "You can varedit 'state' on these to the things in the comments below to get cool animations"
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -180,6 +180,41 @@ GLOBAL_LIST_EMPTY(fancy_shuttles)
|
|||||||
/obj/effect/floor_decal/fancy_shuttle/get_cache_key(var/turf/T)
|
/obj/effect/floor_decal/fancy_shuttle/get_cache_key(var/turf/T)
|
||||||
return "[alpha]-[color]-[dir]-[icon_state]-[T.layer]-[icon_file]"
|
return "[alpha]-[color]-[dir]-[icon_state]-[T.layer]-[icon_file]"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Shuttle Glass
|
||||||
|
*/
|
||||||
|
//OLD GLASS - USE NEW GLASS
|
||||||
|
/turf/simulated/wall/fancy_shuttle/window
|
||||||
|
opacity = FALSE
|
||||||
|
icon_state = "hull_transparent"
|
||||||
|
|
||||||
|
/turf/simulated/wall/fancy_shuttle/window/attack_generic(mob/user, damage, attack_message)
|
||||||
|
take_damage(damage)
|
||||||
|
return damage
|
||||||
|
|
||||||
|
//NEW GLASS
|
||||||
|
/obj/structure/window/fancy_shuttle
|
||||||
|
name = "shuttle window"
|
||||||
|
desc = "It looks rather strong. Might take a few good hits to shatter it."
|
||||||
|
icon = 'icons/turf/fancy_shuttles/_fancy_helpers.dmi'
|
||||||
|
icon_state = "hull_window"
|
||||||
|
density = TRUE
|
||||||
|
fulltile = TRUE
|
||||||
|
maxhealth = 60
|
||||||
|
reinf = 1
|
||||||
|
force_threshold = 7
|
||||||
|
var/fancy_shuttle_tag
|
||||||
|
|
||||||
|
// Trust me, this is WAY faster than the normal wall overlays shenanigans, don't worry about performance
|
||||||
|
/obj/structure/window/fancy_shuttle/update_icon()
|
||||||
|
if(fancy_shuttle_tag) // after a shuttle jump it won't be set anymore, but the shuttle jump proc will set our icon and state
|
||||||
|
var/obj/effect/fancy_shuttle/F = GLOB.fancy_shuttles[fancy_shuttle_tag]
|
||||||
|
if(!F)
|
||||||
|
warning("Fancy shuttle wall at [x],[y],[z] couldn't locate a helper with tag [fancy_shuttle_tag]")
|
||||||
|
return
|
||||||
|
icon = F.split_icon
|
||||||
|
icon_state = "walls [x - F.x],[y - F.y]"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Invisible ship equipment (otherwise the same as normal)
|
* Invisible ship equipment (otherwise the same as normal)
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
#define COMPASS_PERIOD 15
|
#define COMPASS_PERIOD 15
|
||||||
#define COMPASS_LABEL_OFFSET 150
|
#define COMPASS_LABEL_OFFSET 150
|
||||||
|
|
||||||
/*
|
/**
|
||||||
This folder contains an abstract type (/obj/compass_holder) which contains a set of
|
* This folder contains an abstract type (/obj/compass_holder) which contains a set of
|
||||||
waypoints (/datum/compass_waypoint) and generates a circular compass with markers for
|
* waypoints (/datum/compass_waypoint) and generates a circular compass with markers for
|
||||||
mobs that have the object in their screen list. See GPS for an example implementation.
|
* mobs that have the object in their screen list. See GPS for an example implementation.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/image/compass_marker
|
/image/compass_marker
|
||||||
|
|||||||
@@ -17,19 +17,19 @@
|
|||||||
// Requires Dantom.DB library ( http://www.byond.com/developer/Dantom/DB )
|
// Requires Dantom.DB library ( http://www.byond.com/developer/Dantom/DB )
|
||||||
|
|
||||||
|
|
||||||
/*
|
/**
|
||||||
The Library
|
* The Library
|
||||||
------------
|
* ------------
|
||||||
A place for the crew to go, relax, and enjoy a good book.
|
* A place for the crew to go, relax, and enjoy a good book.
|
||||||
Aspiring authors can even self publish and, if they're lucky
|
* Aspiring authors can even self publish and, if they're lucky
|
||||||
convince the on-staff Librarian to submit it to the Archives
|
* convince the on-staff Librarian to submit it to the Archives
|
||||||
to be chronicled in history forever - some say even persisting
|
* to be chronicled in history forever - some say even persisting
|
||||||
through alternate dimensions.
|
* through alternate dimensions.
|
||||||
|
*
|
||||||
|
*
|
||||||
Written by TLE for /tg/station 13
|
* Written by TLE for /tg/station 13
|
||||||
Feel free to use this as you like. Some credit would be cool.
|
* Feel free to use this as you like. Some credit would be cool.
|
||||||
Check us out at http://nanotrasen.com/ if you're so inclined.
|
* Check us out at http://nanotrasen.com/ if you're so inclined.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// CONTAINS:
|
// CONTAINS:
|
||||||
|
|||||||
@@ -1,51 +1,51 @@
|
|||||||
// CREDITS
|
// * CREDITS
|
||||||
/*
|
/**
|
||||||
Initial code credit for this goes to Uristqwerty.
|
* Initial * code * credit * for * this * goes * to * Uristqwerty.
|
||||||
Debugging, functionality, all comments and porting by Giacom.
|
* Debugging, * functionality, * all * comments * and * porting * by * Giacom.
|
||||||
|
*
|
||||||
Everything about freelook (or what we can put in here) will be stored here.
|
* Everything * about * freelook * (or * what * we * can * put * in * here) * will * be * stored * here.
|
||||||
|
*
|
||||||
|
*
|
||||||
WHAT IS THIS?
|
* WHAT * IS * THIS?
|
||||||
|
*
|
||||||
This is a replacement for the current camera movement system, of the AI. Before this, the AI had to move between cameras and could
|
* This * is * a * replacement * for * the * current * camera * movement * system, * of * the * AI. * Before * this, * the * AI * had * to * move * between * cameras * and * could
|
||||||
only see what the cameras could see. Not only this but the cameras could see through walls, which created problems.
|
* only * see * what * the * cameras * could * see. * Not * only * this * but * the * cameras * could * see * through * walls, * which * created * problems.
|
||||||
With this, the AI controls an "AI Eye" mob, which moves just like a ghost; such as moving through walls and being invisible to players.
|
* With * this, * the * AI * controls * an * "AI * Eye" * mob, * which * moves * just * like * a * ghost; * such * as * moving * through * walls * and * being * invisible * to * players.
|
||||||
The AI's eye is set to this mob and then we use a system (explained below) to determine what the cameras around the AI Eye can and
|
* The * AI's * eye * is * set * to * this * mob * and * then * we * use * a * system * (explained * below) * to * determine * what * the * cameras * around * the * AI * Eye * can * and
|
||||||
cannot see. If the camera cannot see a turf, it will black it out, otherwise it won't and the AI will be able to see it.
|
* cannot * see. * If * the * camera * cannot * see * a * turf, * it * will * black * it * out, * otherwise * it * won't * and * the * AI * will * be * able * to * see * it.
|
||||||
This creates several features, such as.. no more see-through-wall cameras, easier to control camera movement, easier tracking,
|
* This * creates * several * features, * such * as.. * no * more * see-through-wall * cameras, * easier * to * control * camera * movement, * easier * tracking,
|
||||||
the AI only being able to track mobs which are visible to a camera, only trackable mobs appearing on the mob list and many more.
|
* the * AI * only * being * able * to * track * mobs * which * are * visible * to * a * camera, * only * trackable * mobs * appearing * on * the * mob * list * and * many * more.
|
||||||
|
*
|
||||||
|
*
|
||||||
HOW IT WORKS
|
* HOW * IT * WORKS
|
||||||
|
*
|
||||||
It works by first creating a camera network datum. Inside of this camera network are "chunks" (which will be
|
* It * works * by * first * creating * a * camera * network * datum. * Inside * of * this * camera * network * are * "chunks" * (which * will * be
|
||||||
explained later) and "cameras". The cameras list is kept up to date by obj/machinery/camera/New() and Destroy().
|
* explained * later) * and * "cameras". * The * cameras * list * is * kept * up * to * date * by * obj/machinery/camera/New() * and * Destroy().
|
||||||
|
*
|
||||||
Next the camera network has chunks. These chunks are a 16x16 tile block of turfs and cameras contained inside the chunk.
|
* Next * the * camera * network * has * chunks. * These * chunks * are * a * 16x16 * tile * block * of * turfs * and * cameras * contained * inside * the * chunk.
|
||||||
These turfs are then sorted out based on what the cameras can and cannot see. If none of the cameras can see the turf, inside
|
* These * turfs * are * then * sorted * out * based * on * what * the * cameras * can * and * cannot * see. * If * none * of * the * cameras * can * see * the * turf, * inside
|
||||||
the 16x16 block, it is listed as an "obscured" turf. Meaning the AI won't be able to see it.
|
* the * 16x16 * block, * it * is * listed * as * an * "obscured" * turf. * Meaning * the * AI * won't * be * able * to * see * it.
|
||||||
|
*
|
||||||
|
*
|
||||||
HOW IT UPDATES
|
* HOW * IT * UPDATES
|
||||||
|
*
|
||||||
The camera network uses a streaming method in order to effeciently update chunks. Since the server will have doors opening, doors closing,
|
* The * camera * network * uses * a * streaming * method * in * order * to * effeciently * update * chunks. * Since * the * server * will * have * doors * opening, * doors * closing,
|
||||||
turf being destroyed and other lag inducing stuff, we want to update it under certain conditions and not every tick.
|
* turf * being * destroyed * and * other * lag * inducing * stuff, * we * want * to * update * it * under * certain * conditions * and * not * every * tick.
|
||||||
|
*
|
||||||
The chunks are not created straight away, only when an AI eye moves into it's area is when it gets created.
|
* The * chunks * are * not * created * straight * away, * only * when * an * AI * eye * moves * into * it's * area * is * when * it * gets * created.
|
||||||
One a chunk is created, when a non glass door opens/closes or an opacity turf is destroyed, we check to see if an AI Eye is looking in the area.
|
* One * a * chunk * is * created, * when * a * non * glass * door * opens/closes * or * an * opacity * turf * is * destroyed, * we * check * to * see * if * an * AI * Eye * is * looking * in * the * area.
|
||||||
We do this with the "seenby" list, which updates everytime an AI is near a chunk. If there is an AI eye inside the area, we update the chunk
|
* We * do * this * with * the * "seenby" * list, * which * updates * everytime * an * AI * is * near * a * chunk. * If * there * is * an * AI * eye * inside * the * area, * we * update * the * chunk
|
||||||
that the changed atom is inside and all surrounding chunks, since a camera's vision could leak onto another chunk. If there is no AI Eye, we instead
|
* that * the * changed * atom * is * inside * and * all * surrounding * chunks, * since * a * camera's * vision * could * leak * onto * another * chunk. * If * there * is * no * AI * Eye, * we * instead
|
||||||
flag the chunk to update whenever it is loaded by an AI Eye. This is basically how the chunks update and keep it in sync. We then add some lag reducing
|
* flag * the * chunk * to * update * whenever * it * is * loaded * by * an * AI * Eye. * This * is * basically * how * the * chunks * update * and * keep * it * in * sync. * We * then * add * some * lag * reducing
|
||||||
measures, such as an UPDATE_BUFFER which stops a chunk from updating too many times in a certain time-frame, only updating if the changed atom was blocking
|
* measures, * such * as * an * UPDATE_BUFFER * which * stops * a * chunk * from * updating * too * many * times * in * a * certain * time-frame, * only * updating * if * the * changed * atom * was * blocking
|
||||||
sight; for example, we don't update glass airlocks or floors.
|
* sight; * for * example, * we * don't * update * glass * airlocks * or * floors.
|
||||||
|
*
|
||||||
|
*
|
||||||
WHERE IS EVERYTHING?
|
* WHERE * IS * EVERYTHING?
|
||||||
|
*
|
||||||
cameranet.dm = Everything about the cameranet datum.
|
* cameranet.dm = Everything * about * the * cameranet * datum.
|
||||||
chunk.dm = Everything about the chunk datum.
|
* chunk.dm = Everything * about * the * chunk * datum.
|
||||||
eye.dm = Everything about the AI and the AIEye.
|
* eye.dm = Everything * about * the * AI * and * the * AIEye.
|
||||||
updating.dm = Everything about triggers that will update chunks.
|
* updating.dm = Everything * about * triggers * that * will * update * chunks.
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
/*
|
/**
|
||||||
A system for easily and quickly removing your own bodyparts, with a view towards
|
* A system for easily and quickly removing your own bodyparts, with a view towards
|
||||||
swapping them out for new ones, or just doing it as a party trick to horrify an
|
* swapping them out for new ones, or just doing it as a party trick to horrify an
|
||||||
audience. Current implementation only supports robolimbs and uses a modular_bodypart
|
* audience. Current implementation only supports robolimbs and uses a modular_bodypart
|
||||||
value on the manufacturer datum, but I have tried to keep it generic for future work.
|
* value on the manufacturer datum, but I have tried to keep it generic for future work.
|
||||||
PS. jesus christ this was meant to be a half an hour port
|
* PS. jesus christ this was meant to be a half an hour port
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// External organ procs:
|
// External organ procs:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/**
|
||||||
proteans
|
* proteans
|
||||||
*/
|
*/
|
||||||
/obj/item/rig/protean
|
/obj/item/rig/protean
|
||||||
name = "nanosuit control cluster"
|
name = "nanosuit control cluster"
|
||||||
|
|||||||
@@ -659,29 +659,29 @@
|
|||||||
|
|
||||||
/mob/living/simple_mob/animal/synx/ai/pet/greed/synth
|
/mob/living/simple_mob/animal/synx/ai/pet/greed/synth
|
||||||
/*
|
/*
|
||||||
▓███▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓███▓
|
* ▓███▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓███▓
|
||||||
▓▓ ▓▓▓█ ▓▓ ▓▓█ ▓▓ ▓▓█ ▓▓ ▓▓█ ▓▓ ▓▓█ ▓▓ ▓▓▓█
|
* ▓▓ ▓▓▓█ ▓▓ ▓▓█ ▓▓ ▓▓█ ▓▓ ▓▓█ ▓▓ ▓▓█ ▓▓ ▓▓▓█
|
||||||
▓ ▓▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓▓
|
* ▓ ▓▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓▓
|
||||||
▓ █▓▓▓ █▓▓ █▓▓ █▓▓ █▓▓ █▓▓▓
|
* ▓ █▓▓▓ █▓▓ █▓▓ █▓▓ █▓▓ █▓▓▓
|
||||||
▓ █▓▓▓▓█ █▓▓ ▓█ █▓▓ ▓█ █▓▓█▓█ █▓▓▓ █▓▓▓
|
* ▓ █▓▓▓▓█ █▓▓ ▓█ █▓▓ ▓█ █▓▓█▓█ █▓▓▓ █▓▓▓
|
||||||
▓ █▓▓▓ ▓█▓ █▓█▓█ █▓█▓█ ▓▓█ ▓█ █▓▓▓
|
* ▓ █▓▓▓ ▓█▓ █▓█▓█ █▓█▓█ ▓▓█ ▓█ █▓▓▓
|
||||||
▓█ █▓▓▓ ▓▓▓ ▓▓▓ ▓▓ █▓▓▓
|
* ▓█ █▓▓▓ ▓▓▓ ▓▓▓ ▓▓ █▓▓▓
|
||||||
▓▓ █▓▓ ▓ ▓ ▓ █▓▓▓
|
* ▓▓ █▓▓ ▓ ▓ ▓ █▓▓▓
|
||||||
▓ █▓▓ ▓█ █▓▓
|
* ▓ █▓▓ ▓█ █▓▓
|
||||||
▓ ▓▓▓ ▓▓ █▓▓
|
* ▓ ▓▓▓ ▓▓ █▓▓
|
||||||
█\ ▓▓ ▓▓ ▓█ ▓ █▓▓
|
* █\ ▓▓ ▓▓ ▓█ ▓ █▓▓
|
||||||
▓█\ ▓█ ▓█▓ ▓▓▓ █▓ █▓▓
|
* ▓█\ ▓█ ▓█▓ ▓▓▓ █▓ █▓▓
|
||||||
▓▓▓█ ▓ ▓▓▓▓ ▓ ▓▓ ▓ █▓▓
|
* ▓▓▓█ ▓ ▓▓▓▓ ▓ ▓▓ ▓ █▓▓
|
||||||
▓█▓ ▓▓█▓▓ ▓ ▓▓ ▓▓▓
|
* ▓█▓ ▓▓█▓▓ ▓ ▓▓ ▓▓▓
|
||||||
▓▓ █▓▓█ █▓ █▓▓
|
* ▓▓ █▓▓█ █▓ █▓▓
|
||||||
▓▓ ▓▓▓ ▓▓ █▓▓
|
* ▓▓ ▓▓▓ ▓▓ █▓▓
|
||||||
▓ ▓▓▓ ▓ █▓▓
|
* ▓ ▓▓▓ ▓ █▓▓
|
||||||
▓▓ █▓▓█ █▓ █▓▓▓
|
* ▓▓ █▓▓█ █▓ █▓▓▓
|
||||||
▓ █▓▓▓ ▓▓█ █▓█ ▓▓ █▓▓▓
|
* ▓ █▓▓▓ ▓▓█ █▓█ ▓▓ █▓▓▓
|
||||||
▓ █▓▓▓▓▓ ▓▓█ ▓▓ ▓▓█▓ █▓▓▓
|
* ▓ █▓▓▓▓▓ ▓▓█ ▓▓ ▓▓█▓ █▓▓▓
|
||||||
▓ █▓▓▓ ▓▓▓ ▓▓▓ █▓▓▓
|
* ▓ █▓▓▓ ▓▓▓ ▓▓▓ █▓▓▓
|
||||||
▓ █▓▓▓ ▓▓▓ ▓▓▓ █▓▓▓
|
* ▓ █▓▓▓ ▓▓▓ ▓▓▓ █▓▓▓
|
||||||
▓█▓██▓▓▓█▓█▓█▓▓▓█▓█▓█▓▓▓█▓█▓██▓▓▓
|
* ▓█▓██▓▓▓█▓█▓█▓▓▓█▓█▓█▓▓▓█▓█▓██▓▓▓
|
||||||
*/
|
*/
|
||||||
icon_state = "synx_C_living"
|
icon_state = "synx_C_living"
|
||||||
icon_living = "synx_C_living"
|
icon_living = "synx_C_living"
|
||||||
|
|||||||
@@ -2,21 +2,21 @@
|
|||||||
// This file overrides settings on upstream simple animals to turn on vore behavior
|
// This file overrides settings on upstream simple animals to turn on vore behavior
|
||||||
//
|
//
|
||||||
|
|
||||||
/*
|
/**
|
||||||
## For anything that previously inhertited from: /mob/living/simple_mob/hostile/vore ##
|
* ## For anything that previously inhertited from: /mob/living/simple_mob/hostile/vore ##
|
||||||
|
*
|
||||||
vore_active = 1
|
* vore_active = 1
|
||||||
icon = 'icons/mob/vore.dmi'
|
* icon = 'icons/mob/vore.dmi'
|
||||||
|
*
|
||||||
## For anything that previously inhertied from: /mob/living/simple_mob/hostile/vore/large ##
|
* ## For anything that previously inhertied from: /mob/living/simple_mob/hostile/vore/large ##
|
||||||
|
*
|
||||||
vore_active = 1
|
* vore_active = 1
|
||||||
icon = 'icons/mob/vore64x64.dmi'
|
* icon = 'icons/mob/vore64x64.dmi'
|
||||||
old_x = -16
|
* old_x = -16
|
||||||
old_y = -16
|
* old_y = -16
|
||||||
pixel_x = -16
|
* pixel_x = -16
|
||||||
pixel_y = -16
|
* pixel_y = -16
|
||||||
vore_pounce_chance = 50
|
* vore_pounce_chance = 50
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
44
code/modules/nano/nanoexternal.dm
Normal file
44
code/modules/nano/nanoexternal.dm
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
// This file contains all Nano procs/definitions for external classes/objects
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when a Nano UI window is closed
|
||||||
|
* This is how Nano handles closed windows
|
||||||
|
* It must be a verb so that it can be called using winset
|
||||||
|
*
|
||||||
|
* @return nothing
|
||||||
|
*/
|
||||||
|
/client/verb/nanoclose(var/uiref as text)
|
||||||
|
set hidden = 1 // hide this verb from the user's panel
|
||||||
|
set name = "nanoclose"
|
||||||
|
|
||||||
|
var/datum/nanoui/ui = locate(uiref)
|
||||||
|
|
||||||
|
if (istype(ui))
|
||||||
|
ui.close()
|
||||||
|
|
||||||
|
if(ui.ref)
|
||||||
|
var/href = "close=1"
|
||||||
|
src.Topic(href, params2list(href), ui.ref) // this will direct to the atom's Topic() proc via client.Topic()
|
||||||
|
else if (ui.on_close_logic)
|
||||||
|
// no atomref specified (or not found)
|
||||||
|
// so just reset the user mob's machine var
|
||||||
|
if(src && src.mob)
|
||||||
|
src.mob.unset_machine()
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The ui_interact proc is used to open and update Nano UIs
|
||||||
|
* If ui_interact is not used then the UI will not update correctly
|
||||||
|
* ui_interact is currently defined for /atom/movable
|
||||||
|
*
|
||||||
|
* @param user /mob The mob who is interacting with this ui
|
||||||
|
* @param ui_key string A string key to use for this ui. Allows for multiple unique uis on one obj/mob (defaut value "main")
|
||||||
|
* @param ui /datum/nanoui This parameter is passed by the nanoui process() proc when updating an open ui
|
||||||
|
* @param force_open boolean Force the UI to (re)open, even if it's already open
|
||||||
|
*
|
||||||
|
* @return nothing
|
||||||
|
*/
|
||||||
|
/datum/proc/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, master_ui = null, var/datum/topic_state/state = default_state)
|
||||||
|
return
|
||||||
|
|
||||||
|
// Used by the Nano UI Manager (/datum/nanomanager) to track UIs opened by this mob
|
||||||
|
/mob/var/list/open_uis = list()
|
||||||
@@ -7,14 +7,14 @@
|
|||||||
// Definitions
|
// Definitions
|
||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
|
|
||||||
/* Cable directions (d1 and d2)
|
/** Cable directions (d1 and d2)
|
||||||
|
*
|
||||||
|
*
|
||||||
9 1 5
|
* 9 1 5
|
||||||
\ | /
|
* \ | /
|
||||||
8 - 0 - 4,
|
* 8 - 0 - 4,
|
||||||
/ | \
|
* / | \
|
||||||
10 2 6
|
* 10 2 6
|
||||||
|
|
||||||
If d1 = 0 and d2 = 0, there's no cable
|
If d1 = 0 and d2 = 0, there's no cable
|
||||||
If d1 = 0 and d2 = dir, it's a O-X cable, getting from the center of the tile to dir (knot cable)
|
If d1 = 0 and d2 = dir, it's a O-X cable, getting from the center of the tile to dir (knot cable)
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||||
|
|
||||||
|
|
||||||
/*
|
/**
|
||||||
field_generator power level display
|
* field_generator power level display
|
||||||
The icon used for the field_generator need to have 'num_power_levels' number of icon states
|
* The icon used for the field_generator need to have 'num_power_levels' number of icon states
|
||||||
named 'Field_Gen +p[num]' where 'num' ranges from 1 to 'num_power_levels'
|
* named 'Field_Gen +p[num]' where 'num' ranges from 1 to 'num_power_levels'
|
||||||
|
*
|
||||||
The power level is displayed using overlays. The current displayed power level is stored in 'powerlevel'.
|
* The power level is displayed using overlays. The current displayed power level is stored in 'powerlevel'.
|
||||||
The overlay in use and the powerlevel variable must be kept in sync. A powerlevel equal to 0 means that
|
* The overlay in use and the powerlevel variable must be kept in sync. A powerlevel equal to 0 means that
|
||||||
no power level overlay is currently in the overlays list.
|
* no power level overlay is currently in the overlays list.
|
||||||
-Aygar
|
* -Aygar
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define field_generator_max_power 250000
|
#define field_generator_max_power 250000
|
||||||
|
|||||||
@@ -33,11 +33,11 @@ proc
|
|||||||
process()
|
process()
|
||||||
check_build()
|
check_build()
|
||||||
|
|
||||||
Setup map
|
* Setup map
|
||||||
|EC|
|
* |EC|
|
||||||
CC|FC|
|
* CC|FC|
|
||||||
|PB|
|
* |PB|
|
||||||
PE|PE|PE
|
* PE|PE|PE
|
||||||
|
|
||||||
|
|
||||||
Icon Addemdum
|
Icon Addemdum
|
||||||
|
|||||||
@@ -59,15 +59,15 @@
|
|||||||
var/hsize = round(input_size/2)
|
var/hsize = round(input_size/2)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
(x,y+isize)----(x+hsize,y+isize)----(x+size,y+isize)
|
* (x,y+isize)----(x+hsize,y+isize)----(x+size,y+isize)
|
||||||
| | |
|
* | | |
|
||||||
| | |
|
* | | |
|
||||||
| | |
|
* | | |
|
||||||
(x,y+hsize)----(x+hsize,y+hsize)----(x+isize,y)
|
* (x,y+hsize)----(x+hsize,y+hsize)----(x+isize,y)
|
||||||
| | |
|
* | | |
|
||||||
| | |
|
* | | |
|
||||||
| | |
|
* | | |
|
||||||
(x,y)----------(x+hsize,y)----------(x+isize,y)
|
* (x,y)----------(x+hsize,y)----------(x+isize,y)
|
||||||
*/
|
*/
|
||||||
// Central edge values become average of corners.
|
// Central edge values become average of corners.
|
||||||
map[TRANSLATE_COORD(x+hsize,y+isize)] = round((\
|
map[TRANSLATE_COORD(x+hsize,y+isize)] = round((\
|
||||||
|
|||||||
@@ -112,21 +112,21 @@
|
|||||||
*/
|
*/
|
||||||
//Sure, I could probably do this with math. But I'm tired.
|
//Sure, I could probably do this with math. But I'm tired.
|
||||||
/*
|
/*
|
||||||
S1 300
|
* S1 300
|
||||||
-----------------------------------
|
* -----------------------------------
|
||||||
|015/285 135/285|166/285 285/285|
|
* |015/285 135/285|166/285 285/285|
|
||||||
| | |S
|
* | | |S
|
||||||
| A3 | A4 |2
|
* | A3 | A4 |2
|
||||||
| | |
|
* | | |
|
||||||
0|015/166 135/166|166/166 285/166|3
|
* 0|015/166 135/166|166/166 285/166|3
|
||||||
0|---------------------------------|0
|
* 0|---------------------------------|0
|
||||||
0|015/135 135/135|166/135 285/135|0
|
* 0|015/135 135/135|166/135 285/135|0
|
||||||
| | |
|
* | | |
|
||||||
S| A1 | A2 |
|
* S| A1 | A2 |
|
||||||
4| | |
|
* 4| | |
|
||||||
|015/015 135/015|166/015 285/015|
|
* |015/015 135/015|166/015 285/015|
|
||||||
-----------------------------------
|
* -----------------------------------
|
||||||
000 S3
|
* 000 S3
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
//////////// AREA 1
|
//////////// AREA 1
|
||||||
|
|||||||
@@ -1,23 +1,24 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
VVVVVVVV VVVVVVVV OOOOOOOOO RRRRRRRRRRRRRRRRR EEEEEEEEEEEEEEEEEEEEEE
|
* VVVVVVVV VVVVVVVV OOOOOOOOO RRRRRRRRRRRRRRRRR EEEEEEEEEEEEEEEEEEEEEE
|
||||||
V::::::V V::::::V OO:::::::::OO R::::::::::::::::R E::::::::::::::::::::E
|
* V::::::V V::::::V OO:::::::::OO R::::::::::::::::R E::::::::::::::::::::E
|
||||||
V::::::V V::::::V OO:::::::::::::OO R::::::RRRRRR:::::R E::::::::::::::::::::E
|
* V::::::V V::::::V OO:::::::::::::OO R::::::RRRRRR:::::R E::::::::::::::::::::E
|
||||||
V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEEEEE::::E
|
* V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEEEEE::::E
|
||||||
V:::::V V:::::V O::::::O O::::::O R::::R R:::::R E:::::E EEEEEE
|
* V:::::V V:::::V O::::::O O::::::O R::::R R:::::R E:::::E EEEEEE
|
||||||
V:::::V V:::::V O:::::O O:::::O R::::R R:::::R E:::::E
|
* V:::::V V:::::V O:::::O O:::::O R::::R R:::::R E:::::E
|
||||||
V:::::V V:::::V O:::::O O:::::O R::::RRRRRR:::::R E::::::EEEEEEEEEE
|
* V:::::V V:::::V O:::::O O:::::O R::::RRRRRR:::::R E::::::EEEEEEEEEE
|
||||||
V:::::V V:::::V O:::::O O:::::O R:::::::::::::RR E:::::::::::::::E
|
* V:::::V V:::::V O:::::O O:::::O R:::::::::::::RR E:::::::::::::::E
|
||||||
V:::::V V:::::V O:::::O O:::::O R::::RRRRRR:::::R E:::::::::::::::E
|
* V:::::V V:::::V O:::::O O:::::O R::::RRRRRR:::::R E:::::::::::::::E
|
||||||
V:::::V V:::::V O:::::O O:::::O R::::R R:::::R E::::::EEEEEEEEEE
|
* V:::::V V:::::V O:::::O O:::::O R::::R R:::::R E::::::EEEEEEEEEE
|
||||||
V:::::V:::::V O:::::O O:::::O R::::R R:::::R E:::::E
|
* V:::::V:::::V O:::::O O:::::O R::::R R:::::R E:::::E
|
||||||
V:::::::::V O::::::O O::::::O R::::R R:::::R E:::::E EEEEEE
|
* V:::::::::V O::::::O O::::::O R::::R R:::::R E:::::E EEEEEE
|
||||||
V:::::::V O:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEEEE:::::E
|
* V:::::::V O:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEEEE:::::E
|
||||||
V:::::V OO:::::::::::::OO R::::::R R:::::RE::::::::::::::::::::E
|
* V:::::V OO:::::::::::::OO R::::::R R:::::RE::::::::::::::::::::E
|
||||||
V:::V OO:::::::::OO R::::::R R:::::RE::::::::::::::::::::E
|
* V:::V OO:::::::::OO R::::::R R:::::RE::::::::::::::::::::E
|
||||||
VVV OOOOOOOOO RRRRRRRR RRRRRRREEEEEEEEEEEEEEEEEEEEEE
|
* VVV OOOOOOOOO RRRRRRRR RRRRRRREEEEEEEEEEEEEEEEEEEEEE
|
||||||
|
*
|
||||||
-Aro <3 */
|
* -Aro <3
|
||||||
|
*/
|
||||||
|
|
||||||
//
|
//
|
||||||
// Overrides/additions to stock defines go here, as well as hooks. Sort them by
|
// Overrides/additions to stock defines go here, as well as hooks. Sort them by
|
||||||
|
|||||||
@@ -2126,48 +2126,50 @@
|
|||||||
if("reset")
|
if("reset")
|
||||||
var/confirm = tgui_alert(user,"This will delete any custom messages. Are you sure?","Confirmation",list("Cancel","DELETE"))
|
var/confirm = tgui_alert(user,"This will delete any custom messages. Are you sure?","Confirmation",list("Cancel","DELETE"))
|
||||||
if(confirm == "DELETE")
|
if(confirm == "DELETE")
|
||||||
host.vore_selected.digest_messages_prey = initial(host.vore_selected.digest_messages_prey)
|
var/obj/belly/default_belly = new /obj/belly(null)
|
||||||
host.vore_selected.digest_messages_owner = initial(host.vore_selected.digest_messages_owner)
|
host.vore_selected.digest_messages_prey = default_belly.digest_messages_prey.Copy()
|
||||||
host.vore_selected.absorb_messages_prey = initial(host.vore_selected.absorb_messages_prey)
|
host.vore_selected.digest_messages_owner = default_belly.digest_messages_owner.Copy()
|
||||||
host.vore_selected.absorb_messages_owner = initial(host.vore_selected.absorb_messages_owner)
|
host.vore_selected.absorb_messages_prey = default_belly.absorb_messages_prey.Copy()
|
||||||
host.vore_selected.unabsorb_messages_prey = initial(host.vore_selected.unabsorb_messages_prey)
|
host.vore_selected.absorb_messages_owner = default_belly.absorb_messages_owner.Copy()
|
||||||
host.vore_selected.unabsorb_messages_owner = initial(host.vore_selected.unabsorb_messages_owner)
|
host.vore_selected.unabsorb_messages_prey = default_belly.unabsorb_messages_prey.Copy()
|
||||||
host.vore_selected.struggle_messages_outside = initial(host.vore_selected.struggle_messages_outside)
|
host.vore_selected.unabsorb_messages_owner = default_belly.unabsorb_messages_owner.Copy()
|
||||||
host.vore_selected.struggle_messages_inside = initial(host.vore_selected.struggle_messages_inside)
|
host.vore_selected.struggle_messages_outside = default_belly.struggle_messages_outside.Copy()
|
||||||
host.vore_selected.absorbed_struggle_messages_outside = initial(host.vore_selected.absorbed_struggle_messages_outside)
|
host.vore_selected.struggle_messages_inside = default_belly.struggle_messages_inside.Copy()
|
||||||
host.vore_selected.absorbed_struggle_messages_inside = initial(host.vore_selected.absorbed_struggle_messages_inside)
|
host.vore_selected.absorbed_struggle_messages_outside = default_belly.absorbed_struggle_messages_outside.Copy()
|
||||||
host.vore_selected.escape_attempt_messages_owner = initial(host.vore_selected.escape_attempt_messages_owner)
|
host.vore_selected.absorbed_struggle_messages_inside = default_belly.absorbed_struggle_messages_inside.Copy()
|
||||||
host.vore_selected.escape_attempt_messages_prey = initial(host.vore_selected.escape_attempt_messages_prey)
|
host.vore_selected.escape_attempt_messages_owner = default_belly.escape_attempt_messages_owner.Copy()
|
||||||
host.vore_selected.escape_messages_owner = initial(host.vore_selected.escape_messages_owner)
|
host.vore_selected.escape_attempt_messages_prey = default_belly.escape_attempt_messages_prey.Copy()
|
||||||
host.vore_selected.escape_messages_prey = initial(host.vore_selected.escape_messages_prey)
|
host.vore_selected.escape_messages_owner = default_belly.escape_messages_owner.Copy()
|
||||||
host.vore_selected.escape_messages_outside = initial(host.vore_selected.escape_messages_outside)
|
host.vore_selected.escape_messages_prey = default_belly.escape_messages_prey.Copy()
|
||||||
host.vore_selected.escape_item_messages_owner = initial(host.vore_selected.escape_item_messages_owner)
|
host.vore_selected.escape_messages_outside = default_belly.escape_messages_outside.Copy()
|
||||||
host.vore_selected.escape_item_messages_prey = initial(host.vore_selected.escape_item_messages_prey)
|
host.vore_selected.escape_item_messages_owner = default_belly.escape_item_messages_owner.Copy()
|
||||||
host.vore_selected.escape_item_messages_outside = initial(host.vore_selected.escape_item_messages_outside)
|
host.vore_selected.escape_item_messages_prey = default_belly.escape_item_messages_prey.Copy()
|
||||||
host.vore_selected.escape_fail_messages_owner = initial(host.vore_selected.escape_fail_messages_owner)
|
host.vore_selected.escape_item_messages_outside = default_belly.escape_item_messages_outside.Copy()
|
||||||
host.vore_selected.escape_fail_messages_prey = initial(host.vore_selected.escape_fail_messages_prey)
|
host.vore_selected.escape_fail_messages_owner = default_belly.escape_fail_messages_owner.Copy()
|
||||||
host.vore_selected.escape_attempt_absorbed_messages_owner = initial(host.vore_selected.escape_attempt_absorbed_messages_owner)
|
host.vore_selected.escape_fail_messages_prey = default_belly.escape_fail_messages_prey.Copy()
|
||||||
host.vore_selected.escape_attempt_absorbed_messages_prey = initial(host.vore_selected.escape_attempt_absorbed_messages_prey)
|
host.vore_selected.escape_attempt_absorbed_messages_owner = default_belly.escape_attempt_absorbed_messages_owner.Copy()
|
||||||
host.vore_selected.escape_absorbed_messages_owner = initial(host.vore_selected.escape_absorbed_messages_owner)
|
host.vore_selected.escape_attempt_absorbed_messages_prey = default_belly.escape_attempt_absorbed_messages_prey.Copy()
|
||||||
host.vore_selected.escape_absorbed_messages_prey = initial(host.vore_selected.escape_absorbed_messages_prey)
|
host.vore_selected.escape_absorbed_messages_owner = default_belly.escape_absorbed_messages_owner.Copy()
|
||||||
host.vore_selected.escape_absorbed_messages_outside = initial(host.vore_selected.escape_absorbed_messages_outside)
|
host.vore_selected.escape_absorbed_messages_prey = default_belly.escape_absorbed_messages_prey.Copy()
|
||||||
host.vore_selected.escape_fail_absorbed_messages_owner = initial(host.vore_selected.escape_fail_absorbed_messages_owner)
|
host.vore_selected.escape_absorbed_messages_outside = default_belly.escape_absorbed_messages_outside.Copy()
|
||||||
host.vore_selected.escape_fail_absorbed_messages_prey = initial(host.vore_selected.escape_fail_absorbed_messages_prey)
|
host.vore_selected.escape_fail_absorbed_messages_owner = default_belly.escape_fail_absorbed_messages_owner.Copy()
|
||||||
host.vore_selected.primary_transfer_messages_owner = initial(host.vore_selected.primary_transfer_messages_owner)
|
host.vore_selected.escape_fail_absorbed_messages_prey = default_belly.escape_fail_absorbed_messages_prey.Copy()
|
||||||
host.vore_selected.primary_transfer_messages_prey = initial(host.vore_selected.primary_transfer_messages_prey)
|
host.vore_selected.primary_transfer_messages_owner = default_belly.primary_transfer_messages_owner.Copy()
|
||||||
host.vore_selected.secondary_transfer_messages_owner = initial(host.vore_selected.secondary_transfer_messages_owner)
|
host.vore_selected.primary_transfer_messages_prey = default_belly.primary_transfer_messages_prey.Copy()
|
||||||
host.vore_selected.secondary_transfer_messages_prey = initial(host.vore_selected.secondary_transfer_messages_prey)
|
host.vore_selected.secondary_transfer_messages_owner = default_belly.secondary_transfer_messages_owner.Copy()
|
||||||
host.vore_selected.primary_autotransfer_messages_owner = initial(host.vore_selected.primary_autotransfer_messages_owner)
|
host.vore_selected.secondary_transfer_messages_prey = default_belly.secondary_transfer_messages_prey.Copy()
|
||||||
host.vore_selected.primary_autotransfer_messages_prey = initial(host.vore_selected.primary_autotransfer_messages_prey)
|
host.vore_selected.primary_autotransfer_messages_owner = default_belly.primary_autotransfer_messages_owner.Copy()
|
||||||
host.vore_selected.secondary_autotransfer_messages_owner = initial(host.vore_selected.secondary_autotransfer_messages_owner)
|
host.vore_selected.primary_autotransfer_messages_prey = default_belly.primary_autotransfer_messages_prey.Copy()
|
||||||
host.vore_selected.secondary_autotransfer_messages_prey = initial(host.vore_selected.secondary_autotransfer_messages_prey)
|
host.vore_selected.secondary_autotransfer_messages_owner = default_belly.secondary_autotransfer_messages_owner.Copy()
|
||||||
host.vore_selected.digest_chance_messages_owner = initial(host.vore_selected.digest_chance_messages_owner)
|
host.vore_selected.secondary_autotransfer_messages_prey = default_belly.secondary_autotransfer_messages_prey.Copy()
|
||||||
host.vore_selected.digest_chance_messages_prey = initial(host.vore_selected.digest_chance_messages_prey)
|
host.vore_selected.digest_chance_messages_owner = default_belly.digest_chance_messages_owner.Copy()
|
||||||
host.vore_selected.absorb_chance_messages_owner = initial(host.vore_selected.absorb_chance_messages_owner)
|
host.vore_selected.digest_chance_messages_prey = default_belly.digest_chance_messages_prey.Copy()
|
||||||
host.vore_selected.absorb_chance_messages_prey = initial(host.vore_selected.absorb_chance_messages_prey)
|
host.vore_selected.absorb_chance_messages_owner = default_belly.absorb_chance_messages_owner.Copy()
|
||||||
host.vore_selected.examine_messages = initial(host.vore_selected.examine_messages)
|
host.vore_selected.absorb_chance_messages_prey = default_belly.absorb_chance_messages_prey.Copy()
|
||||||
host.vore_selected.examine_messages_absorbed = initial(host.vore_selected.examine_messages_absorbed)
|
host.vore_selected.examine_messages = default_belly.examine_messages.Copy()
|
||||||
host.vore_selected.emote_lists = initial(host.vore_selected.emote_lists)
|
host.vore_selected.examine_messages_absorbed = default_belly.examine_messages_absorbed.Copy()
|
||||||
|
host.vore_selected.emote_lists = default_belly.emote_lists.Copy()
|
||||||
|
qdel(default_belly)
|
||||||
. = TRUE
|
. = TRUE
|
||||||
if("b_verb")
|
if("b_verb")
|
||||||
var/new_verb = html_encode(tgui_input_text(user,"New verb when eating (infinitive tense, e.g. nom or swallow):","New Verb"))
|
var/new_verb = html_encode(tgui_input_text(user,"New verb when eating (infinitive tense, e.g. nom or swallow):","New Verb"))
|
||||||
|
|||||||
@@ -851,29 +851,29 @@
|
|||||||
/mob/living/simple_mob/animal/synx/ai/pet/greed/synth
|
/mob/living/simple_mob/animal/synx/ai/pet/greed/synth
|
||||||
|
|
||||||
/*
|
/*
|
||||||
▓███▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓███▓
|
* ▓███▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓███▓
|
||||||
▓▓ ▓▓▓█ ▓▓ ▓▓█ ▓▓ ▓▓█ ▓▓ ▓▓█ ▓▓ ▓▓█ ▓▓ ▓▓▓█
|
* ▓▓ ▓▓▓█ ▓▓ ▓▓█ ▓▓ ▓▓█ ▓▓ ▓▓█ ▓▓ ▓▓█ ▓▓ ▓▓▓█
|
||||||
▓ ▓▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓▓
|
* ▓ ▓▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓▓
|
||||||
▓ █▓▓▓ █▓▓ █▓▓ █▓▓ █▓▓ █▓▓▓
|
* ▓ █▓▓▓ █▓▓ █▓▓ █▓▓ █▓▓ █▓▓▓
|
||||||
▓ █▓▓▓▓█ █▓▓ ▓█ █▓▓ ▓█ █▓▓█▓█ █▓▓▓ █▓▓▓
|
* ▓ █▓▓▓▓█ █▓▓ ▓█ █▓▓ ▓█ █▓▓█▓█ █▓▓▓ █▓▓▓
|
||||||
▓ █▓▓▓ ▓█▓ █▓█▓█ █▓█▓█ ▓▓█ ▓█ █▓▓▓
|
* ▓ █▓▓▓ ▓█▓ █▓█▓█ █▓█▓█ ▓▓█ ▓█ █▓▓▓
|
||||||
▓█ █▓▓▓ ▓▓▓ ▓▓▓ ▓▓ █▓▓▓
|
* ▓█ █▓▓▓ ▓▓▓ ▓▓▓ ▓▓ █▓▓▓
|
||||||
▓▓ █▓▓ ▓ ▓ ▓ █▓▓▓
|
* ▓▓ █▓▓ ▓ ▓ ▓ █▓▓▓
|
||||||
▓ █▓▓ ▓█ █▓▓
|
* ▓ █▓▓ ▓█ █▓▓
|
||||||
▓ ▓▓▓ ▓▓ █▓▓
|
* ▓ ▓▓▓ ▓▓ █▓▓
|
||||||
█\ ▓▓ ▓▓ ▓█ ▓ █▓▓
|
* █\ ▓▓ ▓▓ ▓█ ▓ █▓▓
|
||||||
▓█\ ▓█ ▓█▓ ▓▓▓ █▓ █▓▓
|
* ▓█\ ▓█ ▓█▓ ▓▓▓ █▓ █▓▓
|
||||||
▓▓▓█ ▓ ▓▓▓▓ ▓ ▓▓ ▓ █▓▓
|
* ▓▓▓█ ▓ ▓▓▓▓ ▓ ▓▓ ▓ █▓▓
|
||||||
▓█▓ ▓▓█▓▓ ▓ ▓▓ ▓▓▓
|
* ▓█▓ ▓▓█▓▓ ▓ ▓▓ ▓▓▓
|
||||||
▓▓ █▓▓█ █▓ █▓▓
|
* ▓▓ █▓▓█ █▓ █▓▓
|
||||||
▓▓ ▓▓▓ ▓▓ █▓▓
|
* ▓▓ ▓▓▓ ▓▓ █▓▓
|
||||||
▓ ▓▓▓ ▓ █▓▓
|
* ▓ ▓▓▓ ▓ █▓▓
|
||||||
▓▓ █▓▓█ █▓ █▓▓▓
|
* ▓▓ █▓▓█ █▓ █▓▓▓
|
||||||
▓ █▓▓▓ ▓▓█ █▓█ ▓▓ █▓▓▓
|
* ▓ █▓▓▓ ▓▓█ █▓█ ▓▓ █▓▓▓
|
||||||
▓ █▓▓▓▓▓ ▓▓█ ▓▓ ▓▓█▓ █▓▓▓
|
* ▓ █▓▓▓▓▓ ▓▓█ ▓▓ ▓▓█▓ █▓▓▓
|
||||||
▓ █▓▓▓ ▓▓▓ ▓▓▓ █▓▓▓
|
* ▓ █▓▓▓ ▓▓▓ ▓▓▓ █▓▓▓
|
||||||
▓ █▓▓▓ ▓▓▓ ▓▓▓ █▓▓▓
|
* ▓ █▓▓▓ ▓▓▓ ▓▓▓ █▓▓▓
|
||||||
▓█▓██▓▓▓█▓█▓█▓▓▓█▓█▓█▓▓▓█▓█▓██▓▓▓
|
* ▓█▓██▓▓▓█▓█▓█▓▓▓█▓█▓█▓▓▓█▓█▓██▓▓▓
|
||||||
*/
|
*/
|
||||||
icon_state = "synx_C_living"
|
icon_state = "synx_C_living"
|
||||||
icon_living = "synx_C_living"
|
icon_living = "synx_C_living"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* tgui state: ticket_state
|
* tgui state: ticket_state
|
||||||
*
|
*
|
||||||
* Grants the user UI_INTERACTIVE, if a ticket is open.
|
* Grants the user UI_INTERACTIVE, if a ticket is open.
|
||||||
**/
|
*/
|
||||||
|
|
||||||
GLOBAL_DATUM_INIT(tgui_ticket_state, /datum/tgui_state/ticket_state, new)
|
GLOBAL_DATUM_INIT(tgui_ticket_state, /datum/tgui_state/ticket_state, new)
|
||||||
|
|
||||||
|
|||||||
@@ -115,6 +115,13 @@ section "code issues"
|
|||||||
# FAILED=1
|
# FAILED=1
|
||||||
# fi
|
# fi
|
||||||
|
|
||||||
|
part "space indentation"
|
||||||
|
if grep -P '(^ {2})|(^ [^ * ])|(^ +)' $code_files; then
|
||||||
|
echo
|
||||||
|
echo -e "${RED}ERROR: space indentation detected.${NC}"
|
||||||
|
FAILED=1
|
||||||
|
fi;
|
||||||
|
|
||||||
part "mixed tab/space indentation"
|
part "mixed tab/space indentation"
|
||||||
if grep -P '^\t+ [^ *]' $code_files; then
|
if grep -P '^\t+ [^ *]' $code_files; then
|
||||||
echo
|
echo
|
||||||
|
|||||||
Reference in New Issue
Block a user