mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-15 08:07:59 +01:00
- Adds blank icons with standardized timings for species tail wagging, used in icon generation. - Fixes tails overlapping arms/limbs + gloves, etc. when facing EAST or WEST. - Ensures tails will overlap stuff as normal only when facing NORTH so as to avoid unwanted interference with the base sprite. - Tails now appear in ID cards, overlaying things correctly. - Tails now overlay and are overlaid by things correctly in preview icons. - Modifies the positioning of tail icon generation in the ID card preview icon generation file. - Modifies the positioning of tail icon generation in the player preferences preview icon generation file. - Breaks limb generation into its own layer, breaks tail generation into a second layer that can be overlaid by limbs. - TAIL_LAYER will now overlay the NORTH direction sprite of a tail now, while TAIL_UNDERLIMBS_LAYER gets all remaining directions. **AIMS TO DO THE FOLLOWING:** - *ELIMINATE THE ISSUE IN #3183 WITH DUPLICATE TAIL ICON GENERATION* - *ELIMINATE THE ISSUE IN #3183 WITH TAILS WAGGING TOO FAST/INCORRECTLY* - *ELIMINATE THE ISSUE IN #3183 WITH BODY ICONS NOT RENDERING* Missed a spot Occurred when reformatting the code and reducing the number of pointless variables Missed a spot 2 Crash Fix Fixes Spontaneous Tail Overlapping Limbs Tiny Unathi Sprite Corrections One pixel on the Unathi right arm east direction sprite was miscoloured (used left arm west direction as a reference), and the animated Unathi tails previously did not meet the body while naked-- appearing to float. Fixes both Finalizes Changelog Cleans up Vox puke Accommodates Admin Overrides to body_accessory Species Checks & Fix Does the above Elaborating on accommodation: Species getting body accessories that wouldn't normally be getting body accessories will inherit the Vulpkanin's default animation template as those are currently the only tails we have to worry about right now Elaborating on Fix: Adds a default animation template for Vulpkanin in body_accessory as the animation timings for Vulpkanin tails there are different from those in effects/species.dmi Unathi Static Tail Fix Adjusts north-direction Unathi static tail sprite, now attaches to the body in the correct location. This PR is now on Sale! Significantly cheaper. Now, it will only generate tail icons on a per-direction basis if the user's species is flagged to have a tail that is overlapped by limbs (TAIL_OVERLAPPED). Otherwise, it just uses the traditional cheapo method of icon generation. This way, we have fixed wagging Voxtails at a lower cost. Even Cheaper If the user's species isn't flagged to have a tail that needs to be overlapped by limbs, it won't divert limbs into their own layer as it's unnecessary. Tested by spawning a member of every species, walking around to see if there was any directional issues, wagging and *swagging all tails-- all is still working as it should be.
109 lines
4.2 KiB
Plaintext
109 lines
4.2 KiB
Plaintext
//FLAGS BITMASK
|
|
#define STOPSPRESSUREDMAGE 1 //This flag is used on the flags variable for SUIT and HEAD items which stop pressure damage. Note that the flag 1 was previous used as ONBACK, so it is possible for some code to use (flags & 1) when checking if something can be put on your back. Replace this code with (inv_flags & SLOT_BACK) if you see it anywhere To successfully stop you taking all pressure damage you must have both a suit and head item with this flag.
|
|
#define NODROP 2 // This flag makes it so that an item literally cannot be removed at all, or at least that's how it should be. Only deleted.
|
|
#define NOBLUDGEON 4 // when an item has this it produces no "X has been hit by Y with Z" message with the default handler
|
|
#define AIRTIGHT 8 // mask allows internals
|
|
//#define USEDELAY 16 // 1 second extra delay on use (Can be used once every 2s)
|
|
#define NOSHIELD 32 // weapon not affected by shield
|
|
#define CONDUCT 64 // conducts electricity (metal etc.)
|
|
#define ABSTRACT 128 // for all things that are technically items but used for various different stuff, made it 128 because it could conflict with other flags other way
|
|
#define ON_BORDER 512 // item has priority to check when entering or leaving
|
|
#define NODELAY 32768 // 1 second attackby delay skipped (Can be used once every 0.2s). Most objects have a 1s attackby delay, which doesn't require a flag.
|
|
|
|
#define NOBLOODY 2048 // used to items if they don't want to get a blood overlay
|
|
|
|
#define GLASSESCOVERSEYES 1024
|
|
#define MASKCOVERSEYES 1024 // get rid of some of the other retardation in these flags
|
|
#define HEADCOVERSEYES 1024 // feel free to realloc these numbers for other purposes
|
|
#define MASKCOVERSMOUTH 2048 // on other items, these are just for mask/head
|
|
#define HEADCOVERSMOUTH 2048
|
|
|
|
#define HEADBANGPROTECT 4096
|
|
#define EARBANGPROTECT 1024
|
|
|
|
#define THICKMATERIAL 1024 //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body. (NOTE: flag shared with NOSLIP)
|
|
#define NOSLIP 1024 //prevents from slipping on wet floors, in space etc
|
|
|
|
#define OPENCONTAINER 4096 // is an open container for chemistry purposes
|
|
|
|
#define BLOCK_GAS_SMOKE_EFFECT 8192 // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY! (NOTE: flag shared with ONESIZEFITSALL)
|
|
#define ONESIZEFITSALL 8192
|
|
#define PLASMAGUARD 16384 //Does not get contaminated by plasma.
|
|
|
|
#define NOREACT 16384 //Reagents dont' react inside this container.
|
|
|
|
//Species flags.
|
|
|
|
#define NO_BLOOD 1
|
|
#define NO_BREATHE 2
|
|
#define NO_DNA_RAD 4
|
|
#define RAD_ABSORB 8
|
|
#define NO_SCAN 16
|
|
#define NO_PAIN 32
|
|
#define REQUIRE_LIGHT 64
|
|
#define IS_WHITELISTED 128
|
|
#define HAS_LIPS 256
|
|
#define IS_PLANT 512
|
|
#define CAN_BE_FAT 1024
|
|
#define IS_RESTRICTED 2048
|
|
#define NO_INTORGANS 4096
|
|
#define NO_POISON 8192
|
|
|
|
//Species clothing flags
|
|
#define HAS_UNDERWEAR 1
|
|
#define HAS_UNDERSHIRT 2
|
|
#define HAS_SOCKS 4
|
|
|
|
//Species Body Flags
|
|
#define FEET_CLAWS 1
|
|
#define FEET_PADDED 2
|
|
#define FEET_NOSLIP 4
|
|
#define HAS_HEAD_ACCESSORY 8
|
|
#define HAS_TAIL 16
|
|
#define TAIL_OVERLAPPED 32
|
|
#define HAS_SKIN_TONE 64
|
|
#define HAS_SKIN_COLOR 128
|
|
#define HAS_MARKINGS 256
|
|
#define TAIL_WAGGING 512
|
|
#define NO_EYES 1024
|
|
|
|
//Species Diet Flags
|
|
#define DIET_CARN 1
|
|
#define DIET_OMNI 2
|
|
#define DIET_HERB 4
|
|
|
|
|
|
//bitflags for door switches.
|
|
#define OPEN 1
|
|
#define IDSCAN 2
|
|
#define BOLTS 4
|
|
#define SHOCK 8
|
|
#define SAFE 16
|
|
|
|
//flags for pass_flags
|
|
#define PASSTABLE 1
|
|
#define PASSGLASS 2
|
|
#define PASSGRILLE 4
|
|
#define PASSBLOB 8
|
|
#define PASSMOB 16
|
|
|
|
//turf-only flags
|
|
#define NOJAUNT 1
|
|
|
|
//ITEM INVENTORY SLOT BITMASKS
|
|
#define SLOT_OCLOTHING 1
|
|
#define SLOT_ICLOTHING 2
|
|
#define SLOT_GLOVES 4
|
|
#define SLOT_EYES 8
|
|
#define SLOT_EARS 16
|
|
#define SLOT_MASK 32
|
|
#define SLOT_HEAD 64
|
|
#define SLOT_FEET 128
|
|
#define SLOT_ID 256
|
|
#define SLOT_BELT 512
|
|
#define SLOT_BACK 1024
|
|
#define SLOT_POCKET 2048 //this is to allow items with a w_class of 3 or 4 to fit in pockets.
|
|
#define SLOT_DENYPOCKET 4096 //this is to deny items with a w_class of 2 or 1 to fit in pockets.
|
|
#define SLOT_TWOEARS 8192
|
|
#define SLOT_PDA 16384
|
|
#define SLOT_TIE 32768 |