* Beauty is now an element. Fixing an issue with enter/exit area comsigs. (#57147)
Co-authored-by: Ghommie <425422238+Ghommie@ users.noreply.github.com>
* Beauty is now an element. Fixing an issue with enter/exit area comsigs.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Ghommie <425422238+Ghommie@ users.noreply.github.com>
* [READY] Adds station traits: Small modifiers that can randomly be chosen each round
* conflicts
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* Frame stacking fix and unit test addition. (#56287)
* Reverts #56205
* Allow things without density to bypass checks
* The rest of the owl
* The rest of the owl
* Doc and tweak
* More feex
* RCD machine frame unit test
* I suck
* AAAAA
* Bad at unit tests
* Revert unit tests (for including in another PR)
* Fix windoor_assembly return logic
* Comment /mob/living/proc/PushAM logic
* Windoor assembley logic tweak
* Fix frame stacking
* Unit test
* Better wording from macros?
* Frame stacking fix and unit test addition.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Disconnect and Reconnect messages for deadchat (#55395)
adds messages to deadchat when a client with a mob disconnects or reconnects
* Disconnect and Reconnect messages for deadchat
* aaa
Co-authored-by: Emmanuel S <mrdoomboyo@gmail.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
* Small do-after refactor (#55172)
This is an alternative to the PR Ryll made, it does some things similar e.g. the default limit of 1 interaction per target for a person, however, it refactors do_afters to support overrides for max interaction counts and unique sources.
For example, stripping uses the item being stripped as the source, allowing you to strip multiple items, but not the same item multiple times.
I've also fixed most other edge-cases this could cause where balance would be affected, but feel free to point out any I might've missed, this'll probably require some longer-term testmerging.
* Small do-after refactor
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Merge pull request #55268 from AutomaticFrenzy/patch/docs-from-github-wiki
Migrate some docs from the GitHub wiki into the repository
* Migrate some docs from the GitHub wiki into the repository
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
* Moves grown food to newfood (#55040)
Moves grown food to newfood
Gives trash element support for callbacks for item creation override
* Moves grown food to newfood
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* moves misc food to newfood code (#54788)
misc food is now using newfood code
* moves misc food to newfood code
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Pies are now refactored for new foods. (#54751)
Moves over pies to the newfood typepaths, as well as the few select pie slices.
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
* Pies are now refactored for new foods.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
* Implements timed_action_flags for do_after-like procs (#54409)
Originally I wanted to fix an issue where the `get_up()` `do_after()` would ignore the callback checks, because it was `uninterruptible`, so that made me refactor these procs to allow for higher granularity on checks and standardize behavior a bit more.
There's more work to be done for them, but one thing at a time.
* Removes the `uninterruptible` check in favor of the more granular `timed_action_flags`
* Cleans code on the `do_atom`, `do_after_mob`, `do_mob` and `do_after` procs to standardize them a little better.
* Implements timed_action_flags for do_after-like procs
* Update horror_form.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
* Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B
BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
* Converts all A && A.B into A?.B
Co-authored-by: ZeWaka <zewakagamer@gmail.com>
* Converts Pizza to use the new food component. (#53641)
pizzas now use processing component
* Converts Pizza to use the new food component.
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
* Fully removes devil and affiliated shitcode (#53612)
Its all over the place, messy, and overall a bad enough gamemode to be removed from rotation.
A rework would have to tear out everything as is so there is no reason to allow the shitcode to live beyond tripping up everything.
* Fully removes devil and affiliated shitcode
* weh
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
* Moves over cakes to newfood and transfers reagents when crafting (#53316)
* Moves over cakes to newfood and transfers reagents when crafting
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is
Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Couls <coul422@gmail.com>
* Food refactor part 1: Bread destruction and processable element (#53047)
* Food refactor part 1: Bread destruction and processable element
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Opacity refactor (#52881)
Moves all opacity var manipulation to a proc which sends a signal.
light_blocker element for movable opaque atoms made, which tracks its movement and updates the affected turfs for proper lighting updates.
has_opaque_atom boolean replaced by the opacity_sources lazylist to keep track of the sources, and a directional_opacity which serves a similar function but also allows for future expansion with on-border opaque objects (not yet implemented).
Some opacity-related sight procs optimized as a result of this.
Some variables moved to the object's definition.
A define or two added into the mix for clarity.
Some code cleaning, like turning booleans into their defines.
One file renamed for clarity.
Changelog
cl
balance: Mechs no longer block sight. It's a non-trivial cost for the lighting system with little to no gain.
/cl
* Opacity refactor
Co-authored-by: Rohesie <rohesie@gmail.com>
* tgchat (#52426)
Replaces goonchat with a tgui based chat panel
Fixes#52898Fixes#52663
It is as fast as goonchat was (if not faster in certain circumstances), and is very extensible. It has all the necessary code for sorting messages into categories, which means that one of the next features will be multiple tab support.
Additional features that you will get with tgchat right now:
Massively faster server-side performance compared to goonchat, especially if batching multiple messages to one client.
Message persistence across rounds and reconnects. (All messages are stored client-side in IndexedDB)
More robust scroll tracking. If you scroll up, it will not change the scroll position on new messages like goonchat did.
Multiple message combining. (Currently set to combine up to 5 messages over last 5 seconds).
If using the highlighting feature, it highlights the whole message as well as the matching word.
"Now playing" widget, with preview of the song title, a knob for adjusting the volume and a stop button.
Architecture is as following:
```
to_chat() -+
|
SSchat
(queue, batching)
|
window.send_message()
|
v
+-------------+
| tgui-panel |
|+-----------+|
|| tgchat ||
|+-----------+|
+-------------+
```
Subsystem is basically goonchat, but without all the garbage that slows the servers down (string concatenation, double urlencoding, sanitizing, etc). Now, instead of all that, it's being slowed down by json_encode in /datum/tgui_window/proc/send_message, which IMO is completely worth it, and allows sending various templates and widgets to tgchat.
/datum/tgui_window abstracts the whole window away from you, establishes a nice message-passing interface between DM and JS, with two message queues on each side, automatically loads js/css assets for you, basically does everything. You as a developer only have to worry about sending/receiving messages and write javascript.
tgui-panel is a slimmed down version of tgui, and functions as a container for various widgets, and tgchat is one of them. It of course can be expanded with more stuff.
It's also a separate entry point and a JS bundle, so it's not bloating the main tgui bundle, and is currently sitting at about 230kB.
* tgchat
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* Refactors area stuff (#52751)
-bitfielded a bunch of bools on /area, I left some untouched cus they get called a lot
-Unused vars
-Fixed a var pretending to be a fake bool
-Probably more
* Refactors area stuff
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
* Cleanup up all instances of using var/ definitions in proc parameters. (#52728)
* var/list cleanup
* The rest of the owl
* plushvar bad
* Can't follow my own advice.
* Cleanup up all instances of using var/ definitions in proc parameters.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Cleans up some unused procs and makes is_blocked_turf a turf proc. (#52482)
* Cleans up some unused procs and makes is_blocked_turf a turf proc.
* Update code/game/turfs/turf.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
* Cleans up some unused procs and makes is_blocked_turf a turf proc.
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
* Startwork
* stopwork again
* AGAIN.
* Good place to call it for now
* Startwork but I actually put some work in
* The left list doesn't work, stop for now.
* God remind me to squash these commits later.
* Well, I think I can safely say I have actual work done now
* The post-Brisk iced tea patch.
* God damnit nothing works I hate this worl
* Good place to stop, stuck in a chronic error state
* I take it back now I need to sleep jesus god
* I am grown POWERFUL in my dispair
* FINALLY READY TO PR.
* Request order swap
* Update and tgui recompile
* Adds a kiosknet, so adding a new bounty alerts all the bountyboards
* Renames file, attempts to port to modular app too because fuck my life
* Fuckin feature creep I tells ya
* Removes an unused proc
* Rebuildin
* Hopefully updates tgui and fixes an easy runtime
* Finishes updating/conflicts
* Mapmerges my shit.
* Rebuilds tguiiiiiiiiiiii
* Updates tgui
* Updated once more
* merge conflict fixaroni
* God I wish that I had a game I was dedicated enough to finish in a single setting
* Rebuild of PR: You will (Not) compile
* Cobby's changes and Anturk's Suggestions.
* Should probably prevent a runtime.
* Rebuilds TGUI.
* Lets not delete my own files please god
* Style's changes
* ALL the warriors
* What if I didn't delete ZX's app sprites again
* Start workin on a text component later
* Makes some code suggestions, doing it all in UI will kill me
* tgui update
* DNM until I get this gosh darn text working.
* The changes that I need afaik
* And a tgui rebuild to boot
* When that program datum spoke to me, I felt that.
* Makes changes to text input sanity, Pray
* By god I think I've cracked the code.
* Had no idea you could atomize UIs like that, this is revolutionary
* Spaces
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* there was an attempt
* adds ice moon map
adds config options for choosing mining maps
areas now have options that affect random generation on them
weather now has an option to not target indoor areas
adds base for icemoon ruins
turns many 1's into booleans
adds ice chasms
adds ztraits for weather stuff
* fixes up ice ruins to be ice moon compatible
adds lower z level to the ice moon mine
ice chasms now have a smoothed icon
megafauna only spawn in the underground portion of ice moon now
* openspace fixes
* adds new areas and underground specific ruins
* Adds the abandoned village ruin for Ice Moon
* adds abandoned village ruin and fixes some area and tile stuff to work with ice moon
* random mining maps are no longer picked in the config
you can no longer change the mining map before setup is complete
* adds above and below ground ruin as a test
* adds debug functionality for ice moon ruins
fixes a bug where multiz was impossible unless there were shared areas because of whitelisted areas
adds multiple whitelist areas for ruin placement in a list
all underground areas are now outdoors
underground plasma lava rivers are now only spawned in unexplored areas so ruins don't get destroyed by them
* adds unique spawners to icemoon to replace tendrils
adds 2 new mobs to icemoon the polar bear and wolf
adds a clothing flag for shoes that dont slip on ice
modifies mining site to be ready except for the boss
adds the ability for tunnel width to be a specification, ice moon can have 1 tile wide tunnels and rarely 2 wide tunnels
adds a no caves mineral for ice moon ruins
* wolves no longer run into lava or chasms
bears now enrage sooner
bear spawners can now actually be created
adds base for ice moon atmospherics
adds base for a new boss and achievements / score
really bad coder icon for ice boots added
* ice moon now has it's own planetary atmos! (thank god)
* new frost miner stuff
megafauna recovery time can now be tailored to have different cooldowns to ranged or melee attacks
by default sets both of them, with two arguments the first is ranged cooldown and the second is melee cooldown
* converts a bunch of lavaland maps to be compatible with ice moon
adds tendrils from lavaland to the bottom of ice moon with the other megafauna
* updates mob drops for ice moon mobs
updates config entry default value for ice moon
updates ice moon map to have new gulag
* updates station parallax for icemoon
removes extra lavaland ported ruins
updates to demonic frost miner
adds ladder to icemoon map near station
* updates ice moon map to have the ladder inside the mining base
plant flora dont spawn on the lower z level of ice moon now
you get sand from mining rocks now
buncha demonic frost miner changes holy cow
* adds the buried library
* improves map, fixes comment
* make this crap work with the station cause i have to lol it is pretty cool though and now i understand the mapping crap better
* updates ice ruin blacklist
* ice moon stop being too cold thanks
icebox changes, now actually has its own z level that can spawn ruins and such instead of just being openspace
tunnel width is now not stupid
* fixes a demonic frost miner bug where orbs werent exploding after death
atmosphere temp is now correct
fixes library ruin for icemoon
polar bear range is now fixed, only aggros in a short range and follows further than 3 tiles
reverts necropolis chest change
* Adds a new ruin: bathouse, barebones edition
* adds many new ruins
fixes a bug with tunnel creation that caused it to enter no tunnel allowed areas
finishes the frost miner and adds loot to him
you can now force a wabbajack option
* main z level now always has gravity for ice box
* hopefully the hot springs arent the buggiest thing in the world anymore
protects areas near the station from having openspace
* icebox takes less players
fixes the ladder positioning on every icemoon map
* snowstorms now only occur on the station level
fixes some issues with the icebox z level having openspace over the lower level mining base
* Update code/datums/map_config.dm
Co-Authored-By: spookydonut <github@spooksoftware.com>
* Update code/datums/ruins/lavaland.dm
Co-Authored-By: spookydonut <github@spooksoftware.com>
* Update code/game/objects/structures/lavaland/necropolis_tendril.dm
Co-Authored-By: spookydonut <github@spooksoftware.com>
* Update code/game/turfs/closed/minerals.dm
Co-Authored-By: spookydonut <github@spooksoftware.com>
* Update code/game/turfs/open/chasm.dm
Co-Authored-By: spookydonut <github@spooksoftware.com>
* Update code/game/turfs/open/floor/plating/asteroid.dm
Co-Authored-By: spookydonut <github@spooksoftware.com>
* Update code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm
Co-Authored-By: spookydonut <github@spooksoftware.com>
* Update code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm
Co-Authored-By: spookydonut <github@spooksoftware.com>
* Update code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm
Co-Authored-By: spookydonut <github@spooksoftware.com>
* Update code/modules/mob/living/simple_animal/hostile/mining_mobs/wolf.dm
Co-Authored-By: spookydonut <github@spooksoftware.com>
* Update code/modules/ruins/icemoonruin_code/hotsprings.dm
Co-Authored-By: spookydonut <github@spooksoftware.com>
* fixes areas on the lust ruin
polar bears now drop a goliath plate equivalent
wolfs now drop a watcher sinew equivalent
adds snow legions
adds a crusher trophy for the demonic frost miner that prevents movement
fixes a bug with asteroid mobs where the aggro icon would never show
adds ice to the snow cave tunnel generation
* starts work on the wendigo megafauna
* replaces snowball machine gun with more miner useful content
adds gentle var for knockback to prevent stunning on hit
polar bears move slower now
new icon for phase 2 demonic miner now
* fixes lust ruin areas
fixes whitespace
fixes nesting issues
adds underground specific mobs
* name / location fixes
demonic frost miner doesnt stun on knockback now
ice demons move faster
* fixes icebox having the wrong baseturf
* adds achievement defines to the wendigo
snowstorm for the lower z level again
adds a new helper for ranged target turfs
theres now a specific subtype for rivers
fixes a bug where ice and spawners spawned with rocks and other flora on top of them
adds indestructible ice rock turf
fixes a bug with ice demons teleport distance being incorrect
adds the start of wendigos attacks
* Apply suggestions from code review
Co-Authored-By: Rohesie <rohesie@gmail.com>
* Update code/modules/mapping/ruins.dm
Co-Authored-By: Rohesie <rohesie@gmail.com>
* Fixes a dumb bug with ruins from a webedit review
The syndicate shuttle can now land on mineral turfs
* the final commit, all that im going to change after this is documentation for procs lol
makes both ice moon z levels below the station underground, and makes it so they generate rivers of their baseturf
* adds nice animation to wendigo scream
* small fixes
* finishes autodoccing everything i could find
* ok im done for real now
* adds anywhere ruins
does review stuff
* review stuff
* ok it removes the stuff now
* fix removal
* fixes from the git
* adds surroundings to the asteroid and lavaland sites
adds butchering gloves to wrath ruins
the lower icebox levels are no longer station levels
fixes capitals on blood drunk and frost miner boss medals
adds engineering outpost ruin by trollbreeder
adds boxstation job changes to icebox
polar bear transformation no longer has immunity to lavaland mobs
fixes ice whelp spelling mistake
* fixes engi outpost atmospherics
fixes missing plating on solar panels
changes slowdown for icemoon turfs
* fixes ruins areas so tunnels can spawn into some of them
adds lights to icebox below area
openspace turfs mine the thing below them now
* fixes wall boundings on asteroid and lavaland domes
* ur lame armhulen
* adds public mining area to icebox
adds computer vendors to icebox
* minor fixes
* fixes map type error
* removes slowdown entirely
increases ore chances
fixes openspace on main map
fixes a ton of active turfs at roundstart
modifies demonic frost miner loot to be cooler and more useful since the boss was hardly killed during tests
tunnels are wider underground now
openspace now deletes itself if it spawns above a ruin
* improve da ruins
* tries to fix multiple atmos issues with ruins
removes bz from the planetary atmos since it could cause unstoppable chain reactions which would cause massive lag
demonic frost miner drill now automatically scans everywhere around you
fixes tunnel generation issue
makes it so randomly generated turfs inherit their no_ruins flags
Co-authored-by: Jonathan Church <jchurch093@gmail.com>
Co-authored-by: s <wesoda24@gmail.com>
Co-authored-by: spookydonut <github@spooksoftware.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
Fixes#49986Fixes#49232🆑
fix: Being at the epicenter of explosions no longer damage the contents of storage that is meant to prevent it (most commonly photos inside photo albums)
/🆑
About The Pull Request
It annoyed me that we have a perfectly good frag grenade item, and a perfectly good shrapnel component, but no crossover episode between the two. This remedies that, and does a lot, lot more.
dreamseeker_2020-03-30_05-01-13.png
dreamseeker_2020-03-30_05-01-26.png
Big points:
Adds new component: pellet_cloud, which can be used by ammo casings, guns, and landmines to spray shrapnel and display aggregate hit messages ("You're hit by 6 buckshot pellets!" vs "You're hit by the buckshot pellet in the X" x6). All gun ammo that shoot multiple pellets now use this component on firing.
Adds stingbangs, premium less-lethal grenades that shoot off lots of stinger pellets, to cargo. Frag grenades are also reworked to have smaller booms, but shoot off lots of shrapnel shards. You can jump on top of these grenades to absorb a portion of the shrapnel to save those around you! There's an achievement for dying this way, called "Look Out, Sir!"
Projectiles can now embed items/shrapnel. Adds .38 DumDum ammo to cargo that does less damage and has negative armor pen, but can embed in people. This is the only ammo that currently embeds.
Bullets can now ricochet off walls, structures, and machinery (harder surfaces are more likely to ricochet). Only standard .38 and Match Grade .38/.357/L6 ammo can ricochet, with Match Grade being much better at ricocheting. You can buy Match Grade .38 from cargo and Match Grade L6 ammo from the nuke uplink, while Match .357 is admin only.
Armor now protects you from harmful embeds, taking the better of the bullet/bomb armor on the affected limb. Armor penetration can modify this of course, and many blunt embeds like stingbangs and DumDum bullets are significantly worse if you have even 1 armor.
Other misc fixes/changes
Refactored the embed element a bunch and fixed it creating new elements for every instance rather than expected bespoke behavior. There are new /obj/item helpers for modifying and adding embedding.
Fixes#49989: Spears can no longer embed in turfs cause their sprite is annoying to me, it's generally harder for most things to embed in turfs
Fixes#49741: New carbon helpers for removing embedded objects
Fixes#46416: Handles embedded objects getting qdel'd or moved while embedded
Renamed the old shrapnel component for RPG loot to MIRV to avoid confusion
Repathed frag grenades from under minibombs to under base grenades, and added explosion vars to base grenades
Why It's Good For The Game
Fixes a bunch of janky design with embeds, adds lots of new avenues for projectile and grenade variety, ricochets and collateral damage are fun!
Changelog
🆑 Ryll/Shaps
add: Adds stingbangs to cargo (and one in the sec vendor premium), premium less-lethal grenades that shoot off a giant swarm of stingball pellets to help incapacitate swarms of people in tight quarters. You can jump on top of a live one to be a hero and absorb a bunch of shrapnel, same with frag grenades. There's even an achievement for dying to a grenade you jumped on!
add: Projectiles can now embed in people! Or at least grenade shrapnel and the new .38 DumDum ammo, now available in cargo, can. DumDum rounds excel against unarmored targets, but are pricey and do poorly against armored targets.
add: Bullets can now ricochet! Or at least, standard .38 and the new .38/L6 Match Grade ammo can. Match Grade ammo is finely tuned to ricochet easier and seek targets off bounces better, and can be purchased from cargo (for the .38) or nuke ops uplink (for the L6), but standard .38 ammo has a chance to ricochet as well.
tweak: Frag grenades now have smaller explosions but shoot off a bunch of devastating shrapnel, excellent for soft targets!
tweak: Shotguns and other multi-pellet guns now print aggregate messages, so you'll get one "You've been hit by 6 buckshot pellets!" rather than 6 "You've been hit by the buckshot pellet in the X!" messages. Bye bye lag!
balance: Armor can now protect against embedding weapons, taking the best of either the bullet or bomb armor for the limb in question away from the embed chance. Some weapons are better at piercing armor than others!
/🆑
* Unicode support Part 2 -- copytext()
This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.
I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````
with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.
This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.
* Makes the code functional
* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.
* Removes ninjaspeak since it's unused
* Unicode support Part 1
Makes all calls to ascii2text() and text2ascii() unicode aware as well as all calls in code/__HELPERS/text.dm.
Adds defines for the footext_char() procs to maintain 512 support.
I did some cleanup on the text helpers since a lot of them were really, really bad.
reject_bad_text() and reject_bad_name() have an arg to reject non-ascii chars which defaults to TRUE.
* Give travis a more recent beta
* Ultimate compat
Added the _char procs I was missing
Test the build instead of the version because Lummox is a goddamn moron
* Suggested fixes, removes the last of the dd_ helpers
* Reading the reference is very important!
* Minor code improvements and a comment
* Typo