Time Nick Message 00:25 Volund progress ! https://github.com/volundmush/evennia/blob/contrib_zone/evennia/contrib/factions/scripts.py 00:27 Volund still needed: 00:27 Volund FactionManagerScript (global script), lockfuncs, commands/interface 00:27 Volund none of which should be difficult 00:30 Volund finishing zones will be easy 00:30 Volund I decided to do Factions and Zones in the same contrib. 01:45 chasonchaffin hello! I just started messing around with Evennia at the request of a friend who wants some help coding their game. I've been messing around with the custom gametime and I had a question: is it possible to fast forward, rewind, or pause the game time? 02:08 Volund uhhhhhh 02:08 Volund I've never actually looked at that module. I would assume so but... 02:08 Volund lessee 02:10 Volund it looks like it is technicaly possible but there is currently no interface for doing so 02:10 Volund check out evennia/utils/gametime.py 02:11 Volund though there's also a contrib/custom_gametime I see 02:11 Volund hrm 02:11 Volund they look eerily similar 02:11 Volund I wonder what the story is there 02:12 Volund well 02:12 Volund it's not like a game time system is that difficult to code wholesale either. 02:55 Volund huzzahluia 03:19 Volund mwahahaa 03:19 Volund I simply stuck the OptionHandler on the Factions 03:19 Volund and it's working amazingly 03:19 Volund now Factions can have a configurable color among other things 03:50 evdemo [Public] bobbob just connected to the Evennia demo for the first time! 03:50 evdemo [Public] bobbob disconnected from the Evennia demo. 03:53 DiscordBot <Trayes> Anyone around that can answer questions? 03:53 DiscordBot <Reilena> depends on the question! 03:54 Volund yo 03:54 Volund I'm around for a little bit more 03:54 DiscordBot <Trayes> So I am building a mech game and I have people enter mechs to pilot them. The problem is that if I try to target someone or look around, I cant find them. The reason why is that I am INSIDE the mech. Is there a way to make it so that the commands while inside the mech work as if they were outside the mech? 03:55 DiscordBot <Reilena> You'll probably want them puppeting a mech object rather than moving inside of one. 03:55 DiscordBot <Trayes> things do work while they puppet, but is that the best way to go about that? 03:55 Volund there are certainly ways to do this but 03:57 Volund you're basically going to have to reconsider how your commands are structured. perhaps different commands control the mech from in person. maybe instead of 'look' it's 'scan' or 'view' which makes the MECH look and report the results to you 03:57 Volund OR you could just have them puppet the mech but that causes a lot of weirdness 03:57 DiscordBot <Trayes> Ohh I like that for thematic reasons. 03:57 DiscordBot <Trayes> So I need to make all new commands while inside the mech 03:58 Volund if people will -always- be in mechs, then maybe you could just program it so characters ARE mechs 03:58 DiscordBot <Trayes> Nope. Players move in and out of mechs. 03:58 Volund fair 'nuff 03:58 DiscordBot <Trayes> Thank you for your help 03:58 DiscordBot <Reilena> Sounds like a really cool concept btw 03:59 DiscordBot <Trayes> I would go into it more here but I dont want to spam. 03:59 DiscordBot <Reilena> 'vehicles' are fun. 04:00 DiscordBot <Trayes> Mechs need to go through a startup sequence . This grants them skills that turn on targeting and weapons and whatnot. It looks like this "bug" will lead to a pretty cool feature 04:23 Volund huzzah 04:23 Volund I have Factions displaying properly 04:24 Volund https://i.imgur.com/FsF1ckk.png 04:24 Volund well more or less 'properly' 04:43 Volund https://i.imgur.com/1ygIRAY.png 06:14 evdemo [Public] Awdasea just connected to the Evennia demo for the first time! 06:15 evdemo [Public] Awdasea disconnected from the Evennia demo. 06:20 chasonchaffin Volund: Thanks for replying earlier, I was away from my computer so I couldn't respond. 06:24 chasonchaffin I had another question. as a working python developer I found the installation instructions a little strange (grabbing evennia via github and installing from a local copy). Is there a reason it is recommended to install that way? 08:05 Griatch chasonchaffin: The main reason is that Evennia's source itself is meant to be read and understood (with a very number of comments), so having the code easily available is useful and recommended. That said, we'll eventually make a pip package as well. 08:37 chasonchaffin ok! That's a very good reason. I guess not everyone using Evennia is going to be reading the source code on GitHub and a local copy is useful. If it helps to note, I installed it from the GitHub repo via pip directly and it works perfectly. :) 08:37 chasonchaffin thanks Griatch 08:42 Griatch :) 08:43 chasonchaffin btw loving that this exists -- some of my first coding was MUSHcode back when I was a kid 08:44 Griatch Cool :) I recently had a talk at a PyCon and talked about Evennia; I was surprised at how positive the reception was; a LOT of people have very fond memories of MU*s even though most don't know they still exist. 08:45 Griatch I even met a random other person who was indedependently working on a mud client. 08:46 Griatch chasonchaffin: You were helping a friend code a game you said? What style of game are you making? 08:46 chasonchaffin MU*s are probably the only MMO games I've been able to get into 08:46 * Griatch is not big on other MMO games either 08:49 chasonchaffin so I started helping him and it has given me the itch to make my own as well. Their game is looking very MUD like, whereas the one I'm making is much more MUSH-ish but I'm planning on using the in-game menus as a way to interact with NPCs 08:53 Griatch I see. Well, if you are a Python dev you should hopefully be able to find your way around relatively easily. Just ask (here or in the forum) if you have any questions or if stuff appears weird. 08:54 chasonchaffin yeah, I've been going through the contrib directory to make sure I don't reinvent the wheel and I'll be taking a closer look at the main codebase soon. Everything is VERY well commented so far, so good job :) 08:58 Griatch Thanks, spent a lot of effort on docs. There'll always be places that could be better, but it's an ongoing effort. 09:01 chasonchaffin I wonder if there was ever a spec for MUSHcode, it might be fun to reimplement it in Evennia 09:03 Griatch Ah, the age-long question. https://github.com/evennia/evennia/wiki/Soft-Code is Evennia's official policy on this. 09:05 chasonchaffin oh yeah there's definitely good reasons for not including it, especially by default. I've been on many MUSH/MUXes that were brought down by the softcode computations 09:05 chasonchaffin I was just thinking it might be fun :) 09:06 Griatch Fair enough! To each their own. :) 09:55 evdemo [Public] hungi just connected to the Evennia demo for the first time! 09:58 evdemo [Public] hungi disconnected from the Evennia demo. 11:50 evdemo [Public] idius disconnected from the Evennia demo. 12:40 Volund I awaken 12:40 Volund seems I missed chasonchaffin 12:40 Volund fellow MUSHcoder huh? Don't see that every day 12:40 Volund hey Griatch :D I'm still at it! 13:07 Griatch Volund: Great! 13:07 * Griatch is getting sick :( 13:07 Volund threw in some more pull requests. But yeah progress with Factions and Zones is coming along nicely - ewwww. :( 13:07 Volund don't get sick! 13:08 DiscordBot <Chason> I'm here but on Discord now! 13:08 Griatch I'll try to look at them but I feel a 'heavy head' coming on :/ 13:08 Griatch So need to spend my efforts at work stuff right now 13:08 Griatch Hi Chason 13:08 Volund so, the Faction Script (data storage and API) is about 80% complete and looking spiffy. I'm working on the commands right now so I can properly test said API. 13:08 Volund The Faction system works like this: 13:11 Volund Factions are collections of Characters. it doesn't matter if they're Mobiles or PCs. Factions have two forms of membership - basic, and main. Main members have ranks and titles. Ranks 1-4 are system provided and can only be changed in limited ways, but the leader (rank 1) is able to create new ranks and even permissions and assign them as they please. 13:11 Volund Factions can 'own' other Factions, aka: Sub-Factions 13:11 Volund all members of sub-factions no matter how deep are considered 'basic' members of parent factions up the chain. 13:12 Volund at the same time, anyone who is rank 1-2 (I may change this to some specific permission) is considered Rank 0 of a subfaction - they supersede the sub-faction leader. 13:12 Volund Permissions are things like 'who can add new members' or 'who can moderate' 13:13 Volund though the latter doesn't mean anything right now since I didn't code group channels like I did in Penn 13:13 Volund Factions also have locks. at the moment only the 'see' lock is meaningful 13:13 Volund this means that Factions can be invisible to non-members/staff, for special/private ones 13:15 Griatch Do you have to be based off the Character base typeclass or could any Object be used in principle ? 13:20 Volund well 13:20 Volund any Object could be in a faction sure 13:20 Volund I'm not sure how much point a ROOM being in a faction has 13:20 Volund no actual checks are made at the moment on the API side but I was going to make sure that the commands to put things in them can only target characters. 13:21 Volund it would make more sense for a Zone to be assigned to a Faction 13:21 Volund as their 'territory' 13:21 DiscordBot <Chason> exits would be useful to allow/disallow people in factions for transiting 13:21 Volund I don't currently have any idea what that would mean; it depends on what the game devs want it to mean 13:21 Volund Chason: sure, but you can accomplish that with locks 13:22 Volund which is why the faction contrib will also provide relevant lock-funcs 13:22 Volund also 13:22 Volund everything about Factions is configurable in settings.py 13:23 Volund default rank names, permissions, what permissions are given to basic members or main members regardless of rank, what permissions are given to each rank. also what typeclasses are used for both the factionmanager script and factions - it will change the latter on the fly without data loss, presuming you didn't change anything about the basic data storage and just added new things 13:24 Volund Factions also use the new Option system so you can do things like assign a color to a faction 13:24 Volund so it shows up in color all over the place 13:25 Volund see why I was big on that, Griatch? :D 13:25 Volund faction.options.color = 'r' 13:25 Volund boom :D 13:26 Volund I stripped the Faction system down slightly from the MUSHcode version, but on the other hand the MUSHcode version doesn't have the tree structure subfactions thing going on. 13:27 Volund which replaces the MUSHcode system's 'divisions' code which before was purely for display purposes and cosmetics, but now with Sub-Factions it's ten times more awesome 13:28 Volund this allows for some fairly complex social arrangements of player or NPC organizations 13:29 Volund so what are Factions good for? Well on their own not much. but with the lockfuncs, they're great for restricting access to areas, making faction-only channels, etc. combined with the Zones system it might be possible to have some kind of 'faction territory management'. With a reputation system built into things like Mobiles you might have Aggro-against-enemy-faction or give-discounts-at-stores to members of X faction... 13:30 Griatch Sounds promising 13:31 Volund :D and it's almost done 13:31 Volund I expect to have it done in the next day or two 13:31 Volund Zones will require far less effort since it's mostly a skeleton of a system people are meant to expand on. I'll be providing some of my MUShcode-style tools for it though - +roomlist and +port. might call it @zlist and @zport though 13:32 Volund One of my ideas for Zones though is... 13:32 Volund a builder can @zone/select <zone>, and then any rooms and exits they create using @dig and similar tools will be automatically added to the selected zone. 13:32 Volund This requires some new Signals to work. which are in some of those pull requests 13:34 Volund Infrastructure, Griatch. infrastructure. :D 13:34 Volund Chason: So MUShcode background huh? 13:41 Kardon Volund: I'm anxiously awaiting your contrib. :) 13:42 DiscordBot <Chason> Volund: Yeah, though its been probably 15-20 years since I did any MUSHcode stuff 13:45 Volund Oh, the community's gone into some pretty weird territory lemme tell ya Chason 13:45 Volund https://github.com/volundmush/mushcode I spearheaded some of it. :D 13:45 DiscordBot <Chason> haha yeah I've looked up some of it and it is almost unrecognizable 13:45 Volund my MUSHcode style is pretty ridiculously idiosyncratic though. that's the price to pay for making it powerful and easy to build new features quickly 13:46 Volund .. relatively speaking 13:46 Volund Python blows it out of the water 13:48 DiscordBot <Chason> I do think that my experience with soft code back in the day made reasoning about OOP much easier once I started learning real programming 13:48 Volund Kardon: well hopefully Griatch won't get too sick on us. :( 13:49 Volund because a lot of my things keep depending on slipping new infrastructure into Evennia. :o 13:49 Volund Though Factions don't. and technically I can turn off that feature for Zones at the moment 13:50 Volund I'm pondering what else to add as a Contrib. I know I'm going to make an FCList/Theme system. Also need some kind of 'character approval' tracker. 13:51 DiscordBot <Chason> hmm what do you mean by character approval tracker? that sounds interesting 13:52 Volund a lot of MUSH games allow you to create characters and then 'walk through chargen' after which an admin will review the character and give it their seal of approval for play. unapproved characters frequently cannot enter the game grid or use most of a game's channels; they're little better than Guests. 13:53 Volund it's usually good to track logs of who approved who and when too 13:53 DiscordBot <Chason> ahh yeah 13:55 Volund FCList/Theme system meanwhile is used for indexing characters and whatever source they're from, usually for superhero or other theme games. in those games, the same character might change hands frequently between different players, or need to be flagged as 'open for application' or 'currently played' 13:56 Volund or possibly 'dead' 13:56 Volund That's not hard to code at all. 13:58 Volund I'm trying to dump everything I possibly can that doesn't absolutely require Models in as Contribs 14:00 DiscordBot <Chason> is it generally preferable for extensions to be written to go into the contribs directory or installable as pip packages? 14:01 Volund Chason: You can certainly go with the pip packages approach if you want to. the point of the contribs directory is to have an always-available supply of stuff that one would HOPE is up to date and immediately usable, either for demonstration purposes of how to use Evennia or just as stuff that Simply Works 14:01 Volund Griatch is very big on wanting people to make contribs. but the pip approach does work if you know what you're doing. 14:02 Volund I originally went with the pip approach with my project 'athanor' as a framework that fits atop of Evennia, but I realize now that it's an overengineered pile of problems waiting to happen that nobody's going to use as-is 14:02 DiscordBot <Chason> I'm rewriting the custom_gametime library for myself right now, I'll submit it as a patch when I'm done 14:02 Volund custom gametime could probably use a massive overhaul. I know it would never work for my Exalted game for instance 14:02 Volund Exalted's calendar is... weird 14:02 Volund so like 14:03 Volund it has 5 seasons - one for each of the elements, Wood, Earth, Air, Fire, and Water. 14:03 Volund each season is split into three months, Ascending, Resplendent, and Descending. 14:03 DiscordBot <Chason> haha I'm implementing the International Fixed Calendar in my game because I am a weirdo 14:03 Volund each month has 28 days in it. 14:03 Volund EACH DAY has 25 hours in it, for 2nd edition. 24 in 3rd edition. 14:03 Volund AND THEN 14:03 Volund AT THE END OF THE YEAR... 14:04 Volund ... there's a tiny little period called Calibration, a 5 day long period where the night sky has no moon or stars, that does not belong to any specific month and is not technically 'part of the year' at all. it is the time in-between years. 14:04 Volund :| 14:05 DiscordBot <Chason> Yeah the int'l fixed calendar has a similar thing, its 13 months of 28 days each. That covers 364 days a year but then the last day of the year is "Year Day" 14:06 Volund (I actually did code a calendar for Exalted. in MUSHcode. and it works great.) 14:07 Volund I did it through division math largely. the number of seconds, divided up, can tell you which day it is, and the days always progress in the same order. 14:07 DiscordBot <Chason> I actually think that would mostly work with the custom_gametime library 14:08 Volund mostly 14:08 Volund only Calibration throws it off 14:08 Volund NOBODY EXPECTS CALIBRATION. I've yet to see a single programmed fictional calendar that is ready to deal with Calibration. 14:09 DiscordBot <Chason> How I've got Year Day worked out is that the extra day is the "14th" month so the code checks if the month is 13 (since it is 0 indexed) and declares that year day 14:09 Volund ah 14:10 Volund okay so lesseee 14:13 DiscordBot <Chason> the current custom_gametime library works by division like you said. So if you setup months to be.... 60 * 60 * 24 * 28 and then years to be (60 * 60 * 24 * 28 * 15) + (60 * 60 * 24 * 5) you should have a 5 day week at the end of the year. It'll technically still think its the same year but you can just make that part of the logic 14:14 Volund :D 14:14 Volund I didn't think about that... 14:16 DiscordBot <Chason> The change I want to make is to make it more configurable where you can set days of the week, month names in settings.py instead of having to edit the code. Also I want to be able to set the start date 14:18 Volund i agree wholeheartedly with that kind of adjustment 14:20 Volund also woooooooo. getting these commands working. 14:24 Griatch Chason: actually, what is in the custom_gametime library used to be in core Evennia. It was even configured in settings. We moved it into a contrib because this is such a game-custom thing and you are never going to account for every possible weird calendar out there. 14:25 Griatch So today core evennia has the base game time (which is just the normal calendar) and the weird fantasy/sci-fi calendars are to be handled by the contrib on demand. 14:26 DiscordBot <Chason> makes sense 14:27 Griatch (this is also why the custom game time module looks so similar to the core gametime module) 14:28 Volund aha 14:31 Volund currently working on the group commands. I need to decide on how permissions will work... 14:31 Volund like 14:31 Volund should faction leaders be allowed to create their own sub-factions or should they need an admin to do this for them? 14:32 Griatch Does it have to be hard-coded? 14:32 Griatch Is it not just a permission you can tweak? 14:32 Volund I'm pondering ways to do it. 14:33 Griatch I'd say, allow for specifying permissions to go with each level 14:33 Griatch Then define what those permissions allow you to do 14:33 Volund yeah it currently does basically that 14:33 Volund hrm. 14:34 Griatch So you are concerned by sane defaults then? 14:34 Volund only admin can create root factions, but I suppose it would make sense for faction leaders to be able to create sub-factions 14:34 Volund yeah 14:35 Volund maybe a Permission can handle who can administrate faction 14:35 Volund s 14:35 Volund like perm(Faction_Admin) 14:36 Volund I could also create a custom lockfunc that responds to 'if you have this permission in ANY faction' but I'm not sure how well that would work efficiency-wise, not sure I'd want that running every single time someone types 'help' 14:38 Volund there's really only one problem with Evennia permissions and it's that they are just arbitrary strings. there's no global register of what permissions are available, and what permissions are required to grant other permissions. :P but 14:38 Volund hrm. 14:38 Volund that wouldn't be hard to code though 14:39 Volund the ability to create Permissions in some kind of database, and give each locks for who can grant/revoke them 14:39 Volund leave the @perm command for superuser only then 14:40 Volund well the raw granting thing anyways 14:40 Volund actually that touches on a thing I am adding to evennia.utils.utils in the faction system 14:40 Volund a utility can do something like this 14:40 Volund @perm blah=!remove_this add_that !remove_other_thing 14:41 Volund which supports PARTIAL MATCHING for each thing to add or remove 14:41 Volund very handy for permissions 14:41 Griatch As long as it carefully fails on multi-matches I guess that's fine. 14:42 Volund it currently doesn't. wouldn't be hard to make it so though. my partial matcher works on the logic of 'organize all candidates by string length least to greatest, pick first match, preferring exact over partial, case-insensitive' 14:43 Volund on the other hand, it supports matching against a list of OBJECTS instead of just strings. 14:43 Volund though it CAN be a list of strings, sure 14:43 Griatch By the way - don't embed too much stuff in one PR. Things like the @perm change could be its own PR; it has nothing to do with factions per se. 14:43 Volund yeah 14:43 Volund I was just using that as an example 14:43 Volund PennMUSH lets you do things like set multiple powers/flags/permissions whatever on players at once, and simultaneously remove them 14:44 Volund @set me=KEEPALIVE !DEBUG 14:44 Volund would add the keepalive flag, and remove the debug flag 14:44 Griatch The evennia utils has a partial matcher too 14:44 Volund it does, but it works weirdly. I need to figure it out 14:45 Volund and it only returns strings or indexes. It'd be nice if it could do string partial matching against a list of say, scripts 14:45 Volund :D 14:45 Volund based on what their __str__ returns 14:45 Griatch Anyway, never just pick the first match, that's a dangerous move, particularly when you are dealing with permissions. 14:45 Griatch So suggest an improvement to the utils matcher then 14:46 Griatch No point in making a parallel one that does pretty much the same thing. 14:46 Volund first I have to figure out how it works and how to change it without breaking whatever depends on it... 14:46 Volund but point 14:47 Griatch Evennia as a whole also never just picks-first in a multimatch but always warns. I think that's a sane default. 14:47 Volund true 14:47 DiscordBot <Chason> oh one question I had about gametime, is that I'm not quite sure what theabsolute flag does 14:49 Volund I think I'm going to restrict it so that only admin can create Factions for the moment. for my simple implementation. it's just a command though - the API allows anything to happen as long as you can touch it. 14:49 Volund cmd:perm(admin) or perm(Faction_Admin) 14:50 Volund well the basic part of the API. the deeper stuff does require group permissions (which Admin all pass) 14:53 Griatch Chason: The absolute time is the 'actual' time. Relative gametime is the time since the game started and absolute is the epoch + time passed since game started. 14:53 Griatch The epoch in principle being settable by you (but defaults to the first time the server started) 14:54 Volund the great thing about having a lot of the logic in the APi is that I can do this: 14:54 Volund https://hastebin.com/amusayiniz.rb 14:54 Volund check out switch_create 14:54 Volund it's so TINY 14:54 Griatch But you could say that the day you open your game is "day 0" and set your epoch to that. 14:54 Volund err results.path_name 14:55 Volund it works because 14:55 Volund https://hastebin.com/tofadolure.py 14:55 Volund _CmdBase :D 14:56 Griatch So CmdBase will be used for all faction-related commands I take it? 14:56 DiscordBot <Chason> oh ok so now I think I understand why my custom gametime was ignoring the epoch, because I was setting absolute to False 14:56 Volund yeah 14:56 Volund this is my usual pattern for commands where each switch confers utterly different functionality 14:56 Griatch So CmdFactionBase may be a relevant name 14:58 Volund and then I use Exceptions for all of my error messages so the command aborts right then and there. once ALL checks have passed it does what it needs to do. 14:58 evdemo [Public] flip just connected to the Evennia demo for the first time! 14:58 Volund this also means that the API can abort 14:58 Volund because my API looks like this: 14:59 Volund https://github.com/volundmush/evennia/blob/contrib_zone/evennia/contrib/factions/scripts.py 14:59 evenniacode [fork] chason forked evennia https://github.com/chason/evennia 15:02 evdemo [Public] toast just connected to the Evennia demo for the first time! 15:04 Volund I should probably start getting ready to head to school but 15:05 Volund wanna keep coding~ 15:11 Volund Griatch: I ponder the value or sanity of creating a contrib version of BBS that doesn't use models. It would be slightly simplified from what I run in MUSHcode due to not using SQL, and I question how well it would handle running for years straight... but it's actually doable. 15:12 Volund It would be Myrddin's BBS, more traditional approach 15:12 Griatch Or explore how to add optional models at unit-test time. 15:13 Volund yeah :| 15:13 Volund that would be the saner option 15:13 Griatch (btw, all contribs must have unit tests, this is policy since about two years now) 15:14 Volund Iiiii have no idea how to do those... 15:14 Griatch Plenty of example in contrib/tests.py 15:14 Griatch And a whole wiki page too 15:14 Volund this is a problem, what if your system depends on having global scripts running or alterations to settings.py ? 15:15 Griatch Yep, one needs to handle that in the test. 15:15 Volund howwwwww does one handle 'adding a Global Script' to settings.py after settings.py has already been calculated... 15:15 Volund uh 15:15 Griatch One can mock things. 15:15 Volund oh 15:16 Volund you mean just inject it directly after the fact 15:16 Griatch That is, instead of you actually setting things up, you use the mock library to inject a dummy thing at the point your code wants it. 15:16 Griatch We use mocks extensively in the test suite. 15:17 Volund hrn. not sure how well this would work. I decided that a lot of things work out of settings.py... argh 15:17 Griatch You can mock settings too of course 15:17 Griatch django even has its own decorator for it. 15:17 Volund ah 15:17 Griatch It's either @override_settings of @settings_override, don't recall which 15:19 Griatch At any rate, I spent most of last month writing unit tests to increase coverage on py3; this is important stuff. 15:19 Volund yeah I agree. I just shudder at the overhead and added complexity when I wanna get something out the door like, now. :P 15:19 Griatch I should really start demanding unit tests on all contribs, but so far it's only required for contribs since they are particularly vulnerable to regressions when the server code changes. 15:19 Volund but 15:20 Volund learning to do tests is important 15:21 Griatch Volund: Making unit tests is not particularly fun, no. It's tempting to just put something together and go with it. But it does help a lot with stability. 15:23 Griatch I found that for some things it was also very useful to make unit tests just to have as quick testers/debuggers while developing. For example, when developing the new prototype extensions, I made a test suite that I just ran until I found no more errors. Much faster than to log into the game, reload and enter a command. 15:23 Volund hahaha 15:24 Griatch And then you just let those unit tests stay so that you know functionality remains unchanged later. 15:25 Griatch (this is called 'test-driven-development' although I was never so extreme as to make the test before writing the code) 15:26 Volund Griatch: so what's your view on Contribs that depend on other contribs? like for Factions and Zones, I created what's effectively an abstract class 'Tree Script.' It supports all of the hierarchy/children/parents stuff, name sanitization, creating and relocating Tree Scripts within their manager, and so on. Factions and Zones both use it as a parent (though Faction builds on it CONSIDERABLY more than Zones do). 15:27 Griatch If they are multiple files depending on each other, it may be best to group them together in one folder. Not sure there is a common theme for factions and zones though. 15:28 Griatch But generally, contribs are either a single file or a package 15:28 Volund there isn't, apart from them both using Scripts for a Faction or a Zone and them being organized in a tree structure with the same rules applied to them. (you cannot have two Factions of the same name with the same Parent. or two root factions with the same name. case-insensitive.) 15:29 Volund and both using the simple_name rules (only alphanumeric characters, spaces, periods, hyphens, and underscores allowed.) 15:29 Griatch They do depend on the same parent though, which means a third file that is not itself a contrib. 15:30 Volund why wouldn't it be a contrib? if other people want to use TreeScripts, why not? :D 15:30 Volund I dunno what else they're good for though 15:30 DiscordBot <Chason> when I am being a good person I write the simple tests first 15:30 Griatch Still sounds like they belong in one package 15:30 DiscordBot <Chason> then you know when your code is actually working 15:30 DiscordBot <Chason> oh yes you basically already said that 15:32 Volund hrngh. 15:32 evdemo [Public] flip disconnected from the Evennia demo. 15:34 evdemo [Public] toast disconnected from the Evennia demo. 15:35 Volund I'm pondering the best way to proceed. I don't mind contributing to Evennia seriously but I don't wanna slow down my own project too much either, I'm having way too much fun coding and felt that I could have something seriously usable and presentable within a month. And (meaning no offense Griatch, as I totally understand why Evennia requires more stringent standards) I'm an impatient bastard who hates having to wait on other 15:35 Volund people to get things done. 15:35 DiscordBot <Trayes> Hey everyone. I have a question about being inside an object. Lets say I am inside my mech. Someone outside the mech says HEY. Can I hare them in the mech? If not, how do I make it so that I can hear things intise the mech? 15:36 Volund I might be better off accelerating effort on Athanor and taking a more systematic approach with Evennia itself 15:36 Volund Trayes: by default no you cannot hear them. you'll have to add some kind of ability for the mech to 'listen to events that happen in the room and relay them to the cockpit' 15:36 Volund this could be done any number of ways 15:37 Volund you could modify how the say command works, sure. but it would probably be better to change how mech.msg() works so that it relays everything it sees to self.msg_contents() 15:37 DiscordBot <Trayes> Thank you for your continued advice 15:38 Volund look at how say currently works. I believe it relies on Object.msg_contents() where Object in this case is the room 15:38 Griatch Volund: Well, you have worked on various incarnations of Athanor for four(?) years, mostly starting from scratch every six months. Is it too bad to make proper unit tests and actually lock in things you can use? 15:39 Volund Griatch: It is certainly not bad to do so no. Though this time I actually have the skills to make something that WORKS. :D 15:39 Volund ... after trying everything that doesn't a hundred times. 15:39 Volund Though what was that saying? genius is ninety-nine percent perspiration and one percent inspiration? 15:40 Griatch I think the global scripts and option system works well. But it does take a few rounds of revisions and polishing, that's just the nature of things. 15:40 Volund what I've learned from coding is that you don't learn anything until you break everything a thousand times and come to understand 'why did it break' 15:40 Volund only then will you know how to build something that will work right. 15:42 rnmissionrun_ What's up with the ugly hardcoded ANSI in the @options command?? https://imgur.com/a/u6AVdmm 15:42 Volund check out @style - we're stil working on that one 15:42 Volund @style border=r 15:42 Volund THEn try out @options 15:43 Volund this can all be changed around in settings.py 15:43 Volund I personally picked the dark magenta and dark green color scheme because it has decent contrast but isn't so bright that it causes eye strain like c would do 15:44 Volund I'm not sure how to merge the two commands properly. :| 15:44 Griatch The 15:45 Griatch The @option command could now in principle be made to use the new Option classes (since Options can be stored on whatever you specify). 15:45 Volund what is that CURENTLY stored as? a lot of those options are... well 15:45 Volund they look like low-level telnet things 15:45 Volund a lot of them, automatically set 15:46 Griatch It's only low-level client settings. If you save them they are stored in an Attribute as a dict 15:46 Volund oh 15:46 Griatch It allows you to override what your client tells you it supports for cases when clients don't TTYPE correctly. 15:47 Volund which is frequently, I've noticed... 15:47 Griatch Or you could lock-in the screenreader mode 15:47 Griatch Many old clients don't TTYPE at all 15:47 Volund and there's nobody around to maintain them. 15:48 rnmissionrun_ Is there not going to be a 'clean' branch Evennia without all this added stuff? 15:48 Griatch So we try to guess based on the little info we can get. There is a hard-coded mapping in the Portal 15:48 Volund rnmissionrun_: errr, what do you mean 'clean'? 15:49 Griatch rnmissionrun_: What added stuff? The only things in core at this point is a handler for global scripts and a way to store Options in a generalized way. 15:49 Volund you mean where there are no colors or options set? I guess that'd make sense 15:49 Volund well I also changed every single command to use the style_table wrapper and gave it example default colors in settings_default which were never changed 15:50 Volund so now every evennia command that returns a table does so in color. which is a good thing! in theory. 15:50 Volund I noticed a few mistakes I need to fix though 15:50 Volund which somehow the tests didn't catch 15:51 Griatch May have to add new unit tests for them then 15:53 Griatch You could just set empty strings to these base style options to get no colors at all. 15:53 Volund or 'n' 15:53 Volund 'n' is better because at present the table styler does expect a color 15:54 Volund if it has nothing to replace into that string it'll barf 15:54 Griatch Hm, that's not so good actually 15:54 Griatch It should probably default to not having any color at all 15:55 Griatch even if the style is not set or included for example 15:57 Volund did you maybe not even connect to the game or look at how style_table works? :( here 15:58 Griatch Who? 15:58 Volund https://github.com/evennia/evennia/blob/develop/evennia/commands/command.py#L478 15:58 Volund I dunno, this is how it currently works. 16:00 Griatch Yes? It does not set a default no-color if you don't specify something in your settings? 16:01 Volund https://github.com/evennia/evennia/blob/develop/evennia/settings_default.py#L504 16:01 Volund but a 'color' option does have to contain SOMETHING. it can't be 0 characters long. so 'n' is the best default for 'no color' 16:02 Volund if it were 0 characters long, then the replace operation would end up with |<color><thing> being just |<thing> so it would treat characters from <thing> as part of the color code. 16:02 Volund that's probably not what anyone wants 16:03 Griatch Well, logic needs to handle it, sure. But if you wipe your color options from the settings (because you don't want them), the style_table will get None I think 16:04 Griatch Or maybe it's a traceback on a missing option 16:04 Volund if you entirely vemove everything from OPTIONS_ACCOUNT_DEFAULT, it'll traceback 16:04 Volund because style_table wants border_color 16:04 Volund well 16:04 Volund maybe it won't traceback for this one because None CAN be coerced into a string 16:04 Volund but it'll still not do what you want it to do 16:05 Griatch Right. The styler should catch this case. 16:05 DiscordBot <Kaleara> if there's a contrib that i think doesn't work anymore, should i bug it? 16:05 Griatch Kaleara: Yes 16:06 Volund I figured it would be good to spruce up the default commands with colors and more functionality because honestly, they're actually really good commands that are only missing a few things here and there 16:07 Volund the only other thing that they're missing is a way to restrict them without having to recode them wholesale 16:07 Volund though I can think of a way to do that 16:07 Griatch Sure, but it's also true that some people despise color 16:07 Griatch restrict them? 16:09 Volund if I want @charcreate to be admin-only I currently have to either override it with a new @charcreate that has different locks or remove it from a cmdset outright. And there are a lot of commands that one might want to keep around but change their permission levels. 16:09 rnmissionrun Grr. I need a new ISP :( 16:09 Griatch I suppose we could change the style back to the more muted default colors of Evennia (basically just bold white for headers) 16:10 Volund n and w yes 16:10 Volund border_color n, header_text_color w 16:11 Volund I'm still pondering the best way to go about stuff. 16:11 Griatch Volund: Just making a child class of a command with a different locks: line seems a trival way to handle it 16:12 Volund then you have to import it and add it and... yeah it's trivial I just always am wondering if there isn't some better way but I don't think there is. 16:12 rnmissionrun I was under the impression that all the stuff Volund was working on, was going to be in the form of contribs that we could use or not, as we saw fit. 16:12 Volund since there's no way to target the commands USING a command to alter their locks, and even if you did so it wouldn't stick 16:13 Volund rnmissionrun: yes and no. I am trying to add things to Evennia for more infrastructure which will NOT get in your way, such as Signals. I am also working on contribs. you fell afoul of a WIP in the develop branch that's still being refined. 16:14 Volund styling table probably does need some more refinment as does setting the default colors back to something boring 16:14 Volund thankfully it's easy to override per-game because it's a dictionary 16:15 Volund I just do OPTIONS_ACCOUNT_DEFAULT['border_color'] and boom I only replace the one option. :D 16:15 Volund (thats WHY it was made a dictionary) 16:20 Volund I think I'm going to do my rapid development in Athanor to figure things out, design stuff that works and then when I have something to show off we can figure out what can be turned into contribs. now that Evennia has the new features it does, I can drastically simplify what Athanor is 16:20 Volund mostly just need those doggone signals 16:20 Volund time to dash to class though 16:27 rnmissionrun I dunno why you didn't just fork it and do your own thing so that plain Evennia could still be an option for those of us that prefer it. 16:31 Griatch rnmissionrun: There will always be new things in core from time to time; this is no different from me adding prototypes; you can remove and ignore this like other things. 16:44 evenniacode [PR review] Griatch created review comment on PR #1812 (Added flexible hooks functionality to @examine!) for evennia: Incomplete docstring. Need to describe `alternate_value` too[...] (https://github.com/evennia/evennia/pull/1812#discussion_r275884632) 16:44 evenniacode [PR review] Griatch reviewed PR #1812 (Added flexible hooks functionality to @examine!): Better! But still too many new hooks (see comments). https://github.com/evennia/evennia/pull/1812#pullrequestreview-227306491 16:44 evenniacode [PR review] Griatch created review comment on PR #1812 (Added flexible hooks functionality to @examine!) for evennia: Docstring needed. (https://github.com/evennia/evennia/pull/1812#discussion_r275885054) 16:44 evenniacode [PR review] Griatch created review comment on PR #1812 (Added flexible hooks functionality to @examine!) for evennia: Docstring needed. (https://github.com/evennia/evennia/pull/1812#discussion_r275884823) 16:44 evenniacode [PR review] Griatch created review comment on PR #1812 (Added flexible hooks functionality to @examine!) for evennia: An incomplete docstring. (https://github.com/evennia/evennia/pull/1812#discussion_r275886786) 16:44 evenniacode [PR review] Griatch created review comment on PR #1812 (Added flexible hooks functionality to @examine!) for evennia: Need to specify the purpose of `*args` and `**kwargs`, not j[66 more] (https://github.com/evennia/evennia/pull/1812#discussion_r275886272) 16:44 evenniacode [PR review] Griatch created review comment on PR #1812 (Added flexible hooks functionality to @examine!) for evennia: Docstring needed. (https://github.com/evennia/evennia/pull/1812#discussion_r275884895) 16:44 evenniacode [PR review] Griatch created review comment on PR #1812 (Added flexible hooks functionality to @examine!) for evennia: There is no reason to break this out into a separate hook li[163 more] (https://github.com/evennia/evennia/pull/1812#discussion_r275889260) 16:44 evenniacode [PR review] Griatch created review comment on PR #1812 (Added flexible hooks functionality to @examine!) for evennia: Missing docstring. (https://github.com/evennia/evennia/pull/1812#discussion_r275890038) 16:44 evenniacode [PR review] Griatch created review comment on PR #1812 (Added flexible hooks functionality to @examine!) for evennia: This should also not be a new hook. Either embed it in `retu[51 more] (https://github.com/evennia/evennia/pull/1812#discussion_r275892565) 16:44 evenniacode [PR review] Griatch created review comment on PR #1812 (Added flexible hooks functionality to @examine!) for evennia: The common name for this kind of entity in used in the API w[151 more] (https://github.com/evennia/evennia/pull/1812#discussion_r275891052) 16:44 evenniacode [PR review] Griatch created review comment on PR #1812 (Added flexible hooks functionality to @examine!) for evennia: Incomplete docstring. (https://github.com/evennia/evennia/pull/1812#discussion_r275890233) 16:44 evenniacode [PR review] Griatch created review comment on PR #1812 (Added flexible hooks functionality to @examine!) for evennia: Similar for Objects; this should not be a new hook. (https://github.com/evennia/evennia/pull/1812#discussion_r275891703) 16:46 evenniacode [pull request] Griatch merged PR #1813 (Added at_object_creation_copy hook to DefaultObject.) to evennia/copy_hook https://github.com/evennia/evennia/pull/1813 16:46 evenniacode [push] Griatch pushed 3 commits to evennia/develop (https://github.com/evennia/evennia/compare/b961f282c247...6807d3c65841): 16:46 evenniacode [Andrew Bastien]: Added at_object_creation_copy hook to DefaultObject. 16:46 evenniacode [Andrew Bastien]: Refactored the copy hook and added Kwargs. 16:46 evenniacode [Griatch]: Merge pull request #1813 from volundmush/copy_hook\\Added at[44 more] 16:46 evenniacode [issue comment] Griatch commented on issue #1813 (Added at_object_creation_copy hook to DefaultObject.) in evennia: Looking good now, thanks! (https://github.com/evennia/evennia/pull/1813#issuecomment-483746765) 16:58 evenniacode [issue comment] Griatch commented on issue #1828 (Added Base Typeclass loading to Evennia API.) in evennia: It's not been done mainly because it used to be a circular i[206 more] (https://github.com/evennia/evennia/pull/1828#issuecomment-483758370) 17:13 evenniacode [PR review] Griatch reviewed PR #1827 (On-Creation + Creator Signals): I think this makes sense; it feels a little wasteful to add[531 more] https://github.com/evennia/evennia/pull/1827#pullrequestreview-227326004 17:13 evenniacode [PR review] Griatch created review comment on PR #1827 (On-Creation + Creator Signals) for evennia: This is the wrong place to put this signal - because this me[154 more] (https://github.com/evennia/evennia/pull/1827#discussion_r275900121) 17:18 Volund so put everything in Class.create() the 17:19 Volund then 17:19 Volund makes sense 17:19 Griatch Well, creation signals belong in utils.create 17:20 Volund they do need to know who made them to really have meaning though. 17:20 Griatch Yes? 17:21 Griatch Class.create calls utils.create 17:21 Volund I need a bit to look over that critique and what I did because that was yesterday. :D 17:23 Griatch Volund: I found one drawback of the option system btw 17:23 Griatch There is currently no way to wipe your customization to go back to the default. Just setting your option to the default won't do - then changing settings still won't affect you. 17:25 DiscordBot <Trayes> Having a problem. Can someone look at this. I am doing the basic MUSH tutorial and this this problem. https://pastebin.com/pxEN7DEN 17:26 rnmissionrun Needs more context, what is 'power'? 17:26 DiscordBot <Trayes> The tutorial has you make 2 stats. 17:27 DiscordBot <Trayes> self.db.power self.db.combat_score 17:28 rnmissionrun Where does the variable 'power' get defined? 17:28 Volund Griatch: it's easy enough to just delete all of the Option attributes or add a /clear <option> feature 17:29 Volund in the original setup, if you change a setting to its default, it will just wipe the setting and use the default 17:29 Volund did that not make it to the final product? I forget. gotta check 17:29 DiscordBot <Trayes> rnmissionrun: Thats the part I dont know myself. I dont know what it means to be defined. This is the tutorial. Should be a quick look to see if they did define it. 17:29 DiscordBot <Trayes> https://github.com/evennia/evennia/wiki/Tutorial-for-basic-MUSH-like-game 17:30 Griatch Volund: Maybe it did actually 17:30 Griatch But probably not; you'd need a delfunc as well to know how to delete 17:30 rnmissionrun Ah, it's just a number 17:30 rnmissionrun power = int(self.args) 17:31 rnmissionrun Maybe you left out that line? 17:31 DiscordBot <Trayes> I will keep looking. 17:33 DiscordBot <Trayes> Found it!. Thank you 17:33 rnmissionrun De rien! 17:33 DiscordBot <Trayes> I am still new to all of this. So dumb mistakes happen a lot 17:33 rnmissionrun We've all been there ;) 17:35 Volund Trayes: one thing that you could consider is a command like 'control' that simply causes the mech to mech.execute_cmd(blah) 17:35 Volund couple that with overriding mech.msg() like I suggested earlier and you have a fairly simple implementation of a vehicle that relays everything it sees to its contents 17:36 DiscordBot <Trayes> Everything you say, I just copy and past into a Notepad so I can try to understand it as I get better. 17:36 Volund heh 17:37 DiscordBot <Trayes> another thing I want to do with that system is add STATIC inside of Say messages. For thematic reasons. But that is very low priority right now. 17:38 Volund there is a language contrib that may give you some insight into modifying what people are saying on the fly 17:38 Volund I need to examine .msg() more myself 17:38 DiscordBot <Trayes> Cool. Thanks again for all the help. 17:41 evdemo [Public] aaron just connected to the Evennia demo for the first time! 17:43 Volund I'm starting to get ideas about how to best utilize obj.msg() for my code 17:43 evdemo [Public] noctis just connected to the Evennia demo for the first time! 17:44 evdemo [Public] randomrandom just connected to the Evennia demo for the first time! 17:46 Volund I ponder 17:46 evdemo [Public] randomrandom: hi 17:46 evdemo [Public] randomrandom disconnected from the Evennia demo. 17:47 evdemo [Public] aaron disconnected from the Evennia demo. 17:48 Volund I wonder if it's possible to inherit from ContentsHandler and rewire it to support concepts like weight and volume. 17:48 Volund make it so that thing.contents will not contain their equipped items too 17:49 Volund this seems like it'd be more natural than what I'm currently doing 17:49 Volund fit in better with Evennia's default commands. I'd probably override those -anyways- but 17:50 Volund I should look into that for my MUD code 17:52 Volund that would in fact probably be way more Pythonic and Evennia'ish of an approach 17:56 Volund what the hell is happening here? https://github.com/evennia/evennia/blob/master/evennia/objects/objects.py#L260 17:57 Volund isn't this basically what the @property decorator does? 17:57 Volund hm... interesting. INTERESTING 17:58 Volund I -can- do that 17:58 Volund that'd be awesome 17:58 Volund replace ContentsHandler with all the code needed to do what I want to do and have it exclude equipped items by default from display 18:02 Volund god I love Python 18:05 slackfriarzen <friarzen> wow, lots of people logging into the Evennia demo today. 18:06 slackfriarzen <friarzen> <finally catches up on scrollback> 18:06 evdemo [Public] Alexia just connected to the Evennia demo! 18:07 slackfriarzen <friarzen> hello to everybody in the Evennia demo :) 18:07 slackfriarzen <friarzen> (from IRC) 18:07 slackfriarzen <friarzen> you can use 'pub some-message-here' to chat with us. 18:07 evdemo [Public] Alexia disconnected from the Evennia demo. 18:09 Volund think I'll focus on schoolwork for now; will get coding after I make some progress here 18:16 Volund dang I am learning so much 18:17 Volund aaaaaah it makes me want to code but I have to do these stupid online quizzes 18:27 evdemo [Public] dorkguy just connected to the Evennia demo for the first time! 18:28 evdemo [Public] dorkguy disconnected from the Evennia demo. 18:41 DiscordBot <Trayes> Some of these tutorials have not been stupid checked. 18:41 DiscordBot <Trayes> I cant figure out where to put this stuff. To make the +attack command available to you in game, go back to mygame/commands/default_cmdsets.py and scroll down to the CharacterCmdSet class. At the correct place add this line: self.add(command.CmdAttack()) 18:42 Volund do you see the method called at_cmdset_creation ? 18:42 DiscordBot <Trayes> where would I see that 18:43 DiscordBot <Trayes> Yes 18:43 Volund it goes there. :) presuming that you imported it 18:43 DiscordBot <Trayes> https://pastebin.com/2uV0QyZR 18:43 DiscordBot <Trayes> That is where I had it, and its not showing up. 18:44 DiscordBot <Trayes> So maybe I am doing the import wrong. 18:44 Volund what is your import line? 18:46 DiscordBot <Trayes> from evennia import default_cmds from evennia import CmdSet from commands import command 18:47 DiscordBot <Trayes> that sin default_cmdset.py 18:47 Volund uhhh 18:47 Volund so it's from commands import command ? 18:47 Volund that SHOULD work... if command has a CmdAttack() 18:47 Griatch Make sure you add it to the right cmdset (the characer one). Otherwise - check log for tracebacks 18:48 DiscordBot <Trayes> FOUND IT... I love you guys 18:48 DiscordBot <Trayes> class CmdAtack(Command): 18:48 Volund well that would do it 18:48 DiscordBot <Trayes> Thats the bug 18:49 DiscordBot <Trayes> This is what I get for typing all the code out instead of copy and paste. 18:49 DiscordBot <Trayes> but its how i learn 18:49 Volund yeah that would definitely do it. 18:49 Volund systematic approach to debugging really does help. sounds like you're a bit new to Python? 18:50 DiscordBot <Trayes> New to programming in general. My ENG always built me tools in unity to build our games. This is my first solo project. So I am making tons of noob mistakes. 18:51 Volund ah. I see. well, Evennia's a pretty good choice for learning. some of what happens in its guts is really complex but the beauty of Evennia is you don't need to care about that; just write some commands and run 'em 18:52 DiscordBot <Trayes> I have noticed. 18:52 Volund heck that's actually the beauty of Python in general 20:47 keira_luna hi, trying out building a mud on my local machine for fun using evennia -- annd I forgot my password. Is there a way to reset it or... ? 20:50 chainsol hmm, you could do it, yeah! 20:50 chainsol gonna need to know some SQL, one moment 20:51 chainsol ooh, or just use evennia shell, one moment! 20:52 chainsol even easier - evennia changepassword <username> 20:52 keira_luna nice!! thank you!! 21:15 evdemo [Public] thorbus1 just connected to the Evennia demo for the first time! 21:16 evdemo [Public] thorbus1 disconnected from the Evennia demo. 21:30 slackfriarzen <friarzen> Hmm.... 21:31 slackfriarzen <friarzen> So for this one room challenge, I think I'm going to have to rework how everything in a room works to match a tag 21:31 evenniacode [push] Griatch pushed 1 commit to evennia/develop: [Griatch]: Set default color style closer to Evennia default 21:32 evdemo [Public] noldorf just connected to the Evennia demo for the first time! 21:33 slackfriarzen <friarzen> Hi noldorf 21:33 evdemo [Public] noldorf disconnected from the Evennia demo. 21:34 slackfriarzen <friarzen> Bye noldorf 21:36 slackfriarzen <friarzen> It would be interesting to see why so many of these people that are connecting today disconnect so quickly 21:38 Griatch My guess is that these are people who don't know how a mud works at all - they see a link to 'play online' and is lost when they only see text. 21:42 slackfriarzen <friarzen> Are they mostly all connecting using the web client then? 21:44 Griatch I suspect so, if they come via a telnet client they are supposedly skilled enough to at least check out what is available. 21:44 Griatch The alternative is of course that they really, really don't like what they see. But not sure how much of an impression you can make in just a few seconds. 21:45 slackfriarzen <friarzen> I guess that's an interesting question. Is the client type logged anywhere 21:46 Griatch No 21:48 slackfriarzen <friarzen> I guess that's room for another infrastructure advancement then 21:49 rnmissionrun I've said before that there is nothing on that test site to grab anyone's attention. 21:50 Griatch They do log in though, they should at least be able to read the first introduction and be told that there is a tutorial to play? 21:55 rnmissionrun I'm curious to know where they discovered the link to the site in the first place 21:58 slackfriarzen <friarzen> Yeah agreed 21:58 rnmissionrun MU*s are so niche today that they are difficult to stumble upon by accident 21:58 rnmissionrun That means they looked for something and found a reference to the site 21:59 slackfriarzen <friarzen> I did notice /r/mud posted a listing of code bases on the sidebar recently 21:59 rnmissionrun I have noticed more ads for Evennia based games appearing on the mudconnector 21:59 Volund I do wonder how many of the people connecting even understand what they've connected TO 22:00 Volund a lot of them are also probably looking for a GAME because a lot of players aren't in the know enough to understand what an open source programming project is when they see it 22:00 rnmissionrun If I had to guess, I'd say that most of these folks are Arx players looking for more information on the server and discovering something they did not expect 22:00 Volund and when they see there's nothing there to do... 22:05 Griatch There are things to do, but if you can't read the intro I guess you are not really trying either. 22:06 Griatch That said, the demo's target audience is not really players of course 22:06 castlelore my gosh that root puzzle is hard 22:06 Griatch Is it? 22:07 Volund so I realized a bit ago, Griatch: I can replace the ContentsHandler with an updated version that handles volume, weight, item capacity, stacking, all that stuff I coded into a buch of other things. :o 22:07 Griatch I can't tell if people joke about things like that 22:07 castlelore not that it's a bad thing! 22:08 castlelore a good game should be super challenging 22:08 Volund not necessarily. 22:08 Griatch That's interesting. The main issue with it is really to understand the difference between horizontal and vertical roots and that you need to move them all to the sides ... 22:08 Griatch I'd say it would be trivial if presented graphically, but in text one has to picture the roots more 22:09 rnmissionrun Would be nice to have a brief survey people could fill out, with questions like "how did you first hear about Evennia" 22:11 Volund I'm tryin gto remember, honestly 22:12 Volund I think I was looking for MUSHcode repositories besides mine 22:12 Griatch Volund: Replacing the ContentsHandler on your custom typeclass is an interesting solution. 22:13 Volund well I am pondering various ways to go about it. I can either do that, or create an 'inventory' property that does something similar but excludes certain things 22:20 Volund but 'contents' is what Evennia default stuff works with so 22:26 slackfriarzen <friarzen> I found the vines puzzle to be very very easy compared to getting the darn stick to light. I think my first time through, the first 3 tries all randomly rolled the same "it didn't work" result, so I was pretty convinced I had to do something else first, before I got eaten by a Grue. 22:27 chainsol The vines puzzle really confused me, heheh. 22:28 slackfriarzen <friarzen> Then one of my random flailing attempts to create wood sticks confused the parser and it mentioned "did you mean 'light'?" and so I tried one last time and it worked. 22:28 Volund we need to code scribblenauts in evennia 22:28 * Volund random 23:06 Volund I'm starting to get the feeling that maybe I should go the way of arx and etc and just create a 'mygame' with all of my stuff as a base 23:06 Volund git makes this doable 23:06 Volund much more doable than I first thought it would be 23:10 Volund the mygame is laid out way better 23:11 Volund and the more that I code the more I realize Athanor is an overengineered, unusauble mess that serves no real purpose. it was a COOL IDEA to make it a big plugin platform but 23:11 Volund and I learned a LOT from that effort 23:17 Volund saying that now is probably going to make more than a few people facepalm 23:18 DiscordBot <Trayes> I will facepalm in solidarity 23:19 DiscordBot <Trayes> however, my understanding of the situation is minimal 23:27 evdemo [Public] donkey123 just connected to the Evennia demo for the first time! 23:31 evdemo [Public] donkey123 disconnected from the Evennia demo.