- distance is INFINITE, 0, or a positive integer based on get_dist() between
the examiner and examinee's turfs when they are on the same Z. When the
examiner is dead or a ghost, distance is always 0.
- also updates /examine( implementations to use it!
- adds w_class_to_name proc for reusing "It is a X item." examine behavior.
LateInitializeName allows storage items to set their name flexibly
after normal initialization is completed, allowing it to be based on
holder, contents, location, etc.
Also hoisted storage/internal/Destroy to its rightful place.
* drakes can collect/drop items and use buttons
* add a basic implementation of mob dexterity levels
* trained drake emotes are less visually intrusive
also fixes being able to take anchored items as a drake
also fixes some double messages on drake storage
also fixes animals being able to attack/scratch doors without a cooldown
also adds optional scratch_sound on simple_mob for when scratching a door
* fire alarm & conveyor switch drake interactions
also fix runes for actions
also fix not showing progress for dropping an item
* trained drake button/inventory review tweaks
* animal harness suggestions early return tweak
NB. In some cases we go from a more complex image() to a single icon_state string and I assume this works for every case but do not care to check because of the sheer scale of extra fiddly effort. Buyer beware, not my code.
* Adds the gift vendor, AlliCo Hallmark Goods, ran the name by Elgeon beforehand. Is a delightfully gaudy vending machine placed in the locker rooms. The coffee machine was removed and the sweatmax moved to take it's place so the gift vendor is next to the laptop and cigarette vendors. Prices were based off of the SweatMax vendor.
Before: https://i.gyazo.com/0d6758fc8a469fea6e340b5937b95f82.png
After: https://i.gyazo.com/ab21b6ff7ed012786d475b71f1ec180e.png
Vendor will normally dispense:
- Heart box chocolates
- Bouquets
- Cheaper fake bouquets
- Each of the 4 cards previously added.
- All the therapy dolls.
Will dispense the following with a coin:
- All small plushies
- Newly added trinket box.
Will dispense the following when hacked:
- Gilthari Luxury Champagne
- Plans to add a handbuzzer in the future but not right now.
Items & Reagents added:
- Champagne. Is not a mixable reagent, listed as a child of wine.
- Gilthari Luxury Champagne. Contains said reagent.
- Trinket box. Think an engagement ring box, except it can also hold coins and medals. May be toggled open/closed, when opened it's description will say what's inside. Can only hold one item. Thanks to Mechoid for helping me code this mess. https://i.gyazo.com/7a16faada015ef0795a4db2ec6429e68.png
- Also goes in and fixes a small bug with the heart box saying it contains donuts when it does, in fact, not contain donuts.
Side note, mapping things in is scary!!!
* In the process of fixing the map merger nonsense w/ mechoid's help.
* We're almost there lads.
* If this doesn't work I'll cry.
* Changes name to AlliCo Baubles and Confectioneries, fixes conflict (hopefully), and adds friendship bracelets to vendor.
* REVERTING ITEMS.DMI. Attempting to fix conflict.
* Recommitting items.dmi
* One last attempt to fix the conflict before I make some bigger changes to get this through.
* Removed conflicting file and committed out calls on the sprite. Will readd in separate PR.
* now with 20% less silly
* Polaris initial plane upstream merge
* POLARIS: Fix RIG visors with new plane system, and material scanner VIS_FULLBRIGHT
* POLARIS: Fix GetFlatIcon so that cameras and id pictures don't show the HUD overlays.
* POLARIS: Adds a 'alter values' proc for plane master ease of tweaking
Setting stuff like colorblindness variety and things.
* Remove NIF reference, fix lighting layer define
* Handle effects above lighting plane
* Moved all layer defines to planes+layers.dm
* Fixed overlays that are supposed to be above lighting to use the PLANE_LIGHTING_ABOVE
* Merge: 3000% human/update_icons() speed improvement
* Merge: Avoid ghosts pointing at things
-Apparently storage proc for this thing was changed to return 1 regardless if the item had the quick empty verb or not, which in turn triggered the very first nope of the box specific code.
-Boxes can be quick emptied but lack the actual verb apparently?
* If you mouse-drag certain items onto a hand which is already holding something, the item goes into limbo.
* The reason this happens is that the standard code handling drags is directly calling usr.u_equip, despite the comment on that proc clearly saying never to do that. So it just throws it to limbo and the next line attempting to put it in hand does nothing becuase the hand is occupied. Better way is to call unEquip, so the item will drop on the ground if it fails.
* Fixes https://github.com/VOREStation/VOREStation/issues/394
Ports PsiOmegaDelta's port of integrated circuits, which has several improvements in code quality.
Ports a few small things like the weakref datum and some macros.
A lot of new defines are now in inventory_sizes.dm, which contains;
All the size identifiers (the thing that tells the game if something is bulky, or w/e).
Storage costs for all the sizes, which are exponents of two, as previously.
A few constants for inventory size.
Also changes all storage item's capacity definitions by basing it off of how many 'normal slots' exist for it. This allows one to change the definition for all of the defines in the file, and everything will follow along without needing to change 500 files. In testing, I made all ITEMSIZE_COST_* defines doubled, and nothing had broke.
The benefit of doing all of this is that it makes adding new weight classes in the future much simpler, and makes knowing how much space a container has easier, as seeing ITEMSIZE_COST_NORMAL * 7 means it can hold seven normal items.
Freezer crates, freezer boxes, cryobags, and medical grippers now properly preserve organs, as well as organs attached to organs.
Cleans up storage.dm slightly by removing loc setting with forceMove(), for the above to work.