Nearly left ToME dev forever...
Yesterday I was driving (to see a doctor, the irony) when suddently I am not quite sure how I hit the grass on the side, it was raining too, trying to get back on track I got shot to the other side of the road where an other car hit my side (the side I was in) sending me back to the other side wihtout any control left, I passed the road and ended up 4 meters bellow, upside down.
I was hanging from my seat, only suspended by my seatbelt (which probably saved my life) with blood dripping from my head. Not a very fun moment. I managed to untie my belt, fall on the floor and get out and then I waited for help. They got me to the hospital, had me examined and I seem to actually be very lucky, I didnt break anything. Just a not too bad headwound and many many bruises. I can not raise an harm without much pain, or move, but it shall get better (and look, I can still type!).
Sometimes the human mind is weird, I as I was untying my belt, and getting ready to get out I noticed water on the floor and thought something like that: "Oh shit water, I'll wet my shoes!" Yes .. silly given the events .. :)
That's what left of my car now, after it was moved out of the way and put back "on feet". Poor car, she sacrificied her life to save mine.

So basically, I am glad to still be with you in the world of the living and you'll have to bear with ToME for quite a while yet :)
PS: and if you wish to donate to help me get a new car, I'd be very glad; I kinda need a car :/
JRPG module progress, test demo released
Lately I was working on creating a JRPG-like module for T-Engine, and I managed to recreate most of my beta-4 module in beta-38.
Impemented features are:
Party-related:
-You control a party consisting of several members -You can open a party menu, which shows HP and SP of all your party member -You can view information about individual party members -Party members can gain experience and level up, increasing their stats -Party members have individual skills
Skills (named 'Attacks' internally):
-Can be physical or magical based -Can be elemental -Can heal allies -Behaviour can be customized further -Damage calculation made more JRPG-ish - now characters and enemies have Attack and Defense stats, and damage is calculated as ATK - DEF / 2. Of course, this behaviour can be changed in the corresponding file.
Battles and enemies:
-Supports random and predefined encounters -Battle process is handled in a separate dialog, with a few helper dialogs for player input -Enemies attack party members -Enemies can have elemental weaknesses or resistance -Active turn-based battle system. All combatants - players and enemies - gain energy on each tick. When a combatant's energy reaches 1000, that combatant can perform an action.
Misc.:
-Waypoints, a way for the player to instantly teleport to a certain spot Not really utilized just yet. -Savepoints, locations where you can save and recover your party -You can't save normally
What's not here yet:
-Status effects - poison, paralysis, buffs and debuffs and so on -Interface probably can be made more user-friendly -Speed (the character stat) is not used yet -No dialogs on party member levelup -No chat system implemented -No equipment -Can't choose characters to form a party -Maybe there's a better way to handle locations
I already have a test demo, where you can walk around a small room fighting random encounters.
The save point in that room also allows you to fight two different opponents. There's not much to see in actual gameplay sense, but I think this module demonstrates the features I've implemented.
The player party characters I'm using in this module are from Touhou Project (a Japanese shoot-em-up series). It doesn't really matter that much - this is a test demo, not an actual game.
Keybinds:
In the dungeon: Enter - Open party menu m - Start a battle, for testing purposes During a battle: Escape - End a battle immediatly, for testing purposes
All other input is handled with List and ListColumn objects - you're presented a list of possible options, and you choose one with arrow keys & Enter, or with the mouse.
I think this module already can be used to make an actual game - the basic RPG elements are here. Keep in mind, though, that it is still currently in development and might contain bugs. If you want to make your own module based on this one, feel free. Just remember to give me credit.
If you're interested in this module's inner working, take a look in the .team file (it's just a renamed .zip file). I've tried to write enough comments in order to make my code understandable. If something is unclear to you, ask away.
Post your suggestions and bugs you discover on this blog entry, or contact me:
astralslicer(at)gmail(dot)com
The module can be downloaded here:
55 years of ToME!
As of the writing of this post, there has been 20058 days 18 hours 1 minute of recorded ToME4 playtime by registered players!
That is very very nearly 55 years.
I am happy to have given 55 years of happiness to mankind and hope to provide many more centuries ;)
You can view stats there: http://te4.org/game-statistics
Non-roguelike modules
I'm interested whether T-Engine4 can handle modules with non-roguelike gameplay well. For instance, I wonder whether you can create more RPG-like modules, where you control a party of adventurers and walk around predefined maps, battling monsters and gathering treasures - and you control all of them directly. Here are some of my thoughts on this:
1. Making a module with more RPG-ish gameplay would probably be simple enough. The main change from standard gameplay would be that you now control several characters instead of one, and the battle system would probably need to be altered as well.
I did experiment with making a JRPG-like module, where you walk around a dungeon with random encounters. When an encounter started, the battle between the party and monsters proceeded in a separate dialog. Your characters could level up, you could use spells in combat to damage enemies, heal yourself or to temporarily power your characters up. It was back in beta4, and now I'm considering porting it to the current version.
2. A turn-based tactical RPG - think Fire Emblem, where your characters and enemies take turns moving around the battlefield and attacking, would be harder to implement. I've seen this idea proposed on this site before. In such a module, the combat situations - the area where the fight is happening and the enemy combatants - would probably have to be stored in a separate file, and loaded when required.
3. Speaking more generally, in such non-standard modules death and saving would probably have to be handled differently. Death no longer should be permanent, and saving probably can be made possible only at certain spots - in a town or at special locations in the dungeons.
As I can see, a module with RPG-like gameplay would be easiest to create. I've managed to get the basic elements working, so it looks possible.
Highers
Disclaimer: This post has been misinterpreted as an attack on DarkGod, which was never my intention. DarkGod is no racist; indeed the narrative of his game already shows a level of social awareness that elevates it above all other roguelikes in terms of depth and realism. I love this game and have enormous respect for its creator; I signed up to be a Silver Donator a couple of weeks ago and am providing ongoing financial support for its development. My concern isn't that anyone involved with the game is a racist, but that certain of the game's mechanics seem to accidentally sponsor racist thought. My suggestion is that the narrative and character descriptions be updated to accommodate these concerns (i.e., "Highers aren't actually a superior race, they just think they are."), thus removing any potential misperceptions.
It strikes me that there's a bit of racism built into this game, though it doesn't appear intentional. It's all fun and games when there are differing races of nonhumans with differing traits, even if some seem superior to others. I think D&D used to divide the elf race into "wood elves" and "high elves," for example. That's fine, because elves and dwarves are not human beings and different rules may apply.
In Tolkien the Men of Middle Earth are not to be confused with the human beings of the real world, and Tolkien himself unequivocally denounced racism in all its forms. The Dunedain, controversial though they may be, are therefore little different from high elves. Tolkien intended them as an allegory of Atlanteans rather than Aryans, though given the supposed roots of the latter the distinction may be somewhat fine.
Cornacians and Highers are explicitly defined as different types of human beings, however. Not metahuman, or demihuman, or psuedohuman. Not "Men." Human. They're people, like ourselves. So we run straight into a problem that the fantasy genre has so often flirted with, which is that we're saying that certain people are inherently better than others from birth. This is the very definition of racism.
Highers are described as refusing to breed with other kinds of humans in order to keep their race "pure," and they possess racial traits such as "Gift of the Highborn ('Pureborn' in their intro)," and "Overseer of Nations." Note the plurality. They are naturally stronger and more agile than other humans, and have greater willpower, stronger senses, and a closer connection to the magical forces of the world.
Highers are so superior to other human beings that to play them necessitates an experience penalty. Cornacians, by contrast, are supposed to be more "adaptable," and can learn different skills more readily, making them the perfect servant race to the longer-lived and more powerful Highers. That the Shockbolt interface literally turns Higher characters' hair blond really drives home the point: Highers might as well be called "Übermenschen," and Cornacians "Untermenschen."
I'm not saying that the Highers should be removed from the game, or that their presence will encourage racist beliefs in the real world. But I know I can't be the only one to have had the thought that they are an inherently racist concept, and that it's probably best to not make it seem as though racist ideas are actually valid. Perhaps a good solution would be to make the racism a part of the narrative, a social problem in the context of the game itself rather than a biological superiority ordained by the laws of the universe.
Highers already refuse to breed with other humans, let's hear what they think about them! Let's hear about what the Cornacians think about the Highers! Let's hear about the history of interaction between the two, and how it has shaped their societies. And instead of simply calling them “Highers,” as if their only distinction is their superiority, let’s call them something else. In this manner, not only would any concerns about racism be removed, but the story of Mag'Eyal would be enriched, and feel all the more realistic.
[7DRL] Equal in Death
If you don't know what a 7DRL is, let me explain. Sleep deprivation, shunning all social interaction, and a lot of dishes. And coding. Lots of coding. A 7DRL is an annual contest to create a Roguelike game (similar to ToME) in just a week. I've worked a lot on the tactical AI for bosses and uniques in ToME and wanted to take base an entire game on intelligent, 1v1 fights. The result is "Equal in Death", my 7DRL using the T-Engine and outright stealing the beautiful UI from ToME b38.
Here is the module file (drop it in "game/modules" folder): http://db.tt/Ugf023r1
Here are some pre-packaged downloads to help get you guys going.
Windows:http://db.tt/sXcDORMA
Linux: http://db.tt/aBXKMAaH
I would love any feedback (and the eventual bug reports) on the Forums, over here: http://forums.te4.org/viewtopic.php?f=40&t=33172
Cheers!
- yufra's blog
- Login or register to post comments
7drl entry 2012 Bone Builder
Well after 6 or so days I have gotten my 7drl finished (there could be hidden stuff). The premise is you are a necromancer and you can build customizable undead. So you can select what arms and other body parts you can use. The game is short and is a coffee break rougelike so it would be nice if you could test it out.
here is the link to the forum thread where the module is available and you can post feedback. I have about 17 hours left from the time of posting so I can fix bugs and add tweaks
http://forums.te4.org/viewtopic.php?f=40&t=33375&p=130227#p130227
here is the module
http://www.mediafire.com/download.php?aig6jbndib16enj
and here is the standalone
http://www.mediafire.com/download.php?vcsh1q245l5wkmf
- Goblinz's blog
- Login or register to post comments
OldRPG Tileset - updated for beta 38!
OldRPG tileset for ToME beta 38
http://www.mediafire.com/?844et0dm9xunk6f
tome-oldrpg-beta38.teaa 19.6 MB
Download at the above link.
Simply drop the .teaa file into your t-engine\game\addons\ folder.
Choose OldRPG from the graphic mode menu after you load a character.
Have fun!
New things:
-lots and lots
Please post your comments / see previews at the addon forums!
http://forums.te4.org/viewtopic.php?f=50&t=31310
Also, check out the complimentary Darkwood UI in the addon section here on the te4.org site. It was deigned with oldrpg in mind!
Tales of Maj'Eyal beta38 aka "A new beginning"
As promised here comes T-Engine4 and ToME4 beta38 ! See http://te4.org/
Don't forget to help ToME by with donations ( http://te4.org/donate ) !
A big release, get it while it's hot!
Release highlights:
- A whole new UI!
- Shortened some long zones
- New artifacts/npcs/lore
- A slew of bugfixes & improvements to many parts of the game
- Addons configuration screen
- Reworked ammo
Expanded changelist:
- New command: Show map, default binding to "tab"
- Toggle creatures list default binding set to "ctrl+tab"
- Wearing an item with charges/cooldown will reset them to 0 to prevent abuse
- Quick-switch will not reset cooldown of items
- New achievement
- New lore: Declaration of the Unification of the Allied Kingdoms
- Fixing a display bug in T_GOLEM_POWER and a seriously screwy bug in T_GOLEM_RESILIENCE (thanks SomeGirl and tekrunner).
- Fixed the unavailable preUseTalent check from actually checking equilibrium, etc. (thanks edge2054).
- Fixed the transmog chest not picking up some items (thanks tiger_eye).
- Fixed a bug where Volcano would remove the Temporal Rift portals.
- Fixed Dwarf hometown disappearing (thanks tiger_eye).
- Fixed T_SWITCH_PLACE cloning the player (thanks tiger_eye).
- Fixed magicMap stopping auto-explore from doing its business (thanks tiger_eye).
- Hopefully fixed the majority of the ice block bugs (thanks tiger_eye).
- Fixed the order of quest and death at the end-game.
- Allowing DamageType.POISON to receive a table with dam and apply_power. Now T_POISON_GAS_TRAP uses the source actor's combatAttack, the Hydra's on_arrival uses the summoner's combatMindpower, and T_POISON_STORM uses the actor's combatSpellpower.
- Fixed T_RELENTLESS_PURSUIT and T_SPIN_FATE interaction.
- Changed 'encased_in_ice' to still target, but change the range to zero (thanks tiger_eye).
- Hopefully fixing invis/stealth not properly protecting the actor from some talents (thanks tiger_eye).
- Changing T_POISON_GAS_TRAP fix to resemble other traps (using check_hit).
- Fixed Rune of the Rift's description (thanks edge2054).
- Disabled Insatiable ego until it can be balanced
- Weapon Folding damage reduced and armor penetration removed
- Weapon Folding now reduces paradox by a small amount when a weapon hits
- Temporal Warden Archery and Dual-Weapon mastery levels reduced
- Turn Back the Clock damage reduced
- Temporal Fugue and Swap confusion power reduced
- Precognition no longer kills the player if he dies during a vision
- Moment of Prescience rewritten
- Spin Fate no longer increases defense, maximum bonus reduced
- Energy Absorption power level reduced
- Diminsional Step range reduced
- Wormhole exit location is a bit less accurate
- Quantum Feed and Strength of Purpose no longer grant saving throws and
- have a stamina cost to sustain (in addition to paradox)
- Rethread's cooldown reduced
- Clarified a few Wilder tooltips
- Bulwarks, Berserkers and Marauders now have access to the conditioning tree
- Bloodbath now gives stacking life and stamina regen rather then multiplying existing values
- Warrior escorts can now teach the conditioning tree and a few talents from that tree instead of combat accuracy or weapon mastery (they still teach exotic weapon mastery)
- Deleting a premade now asks for confirmation
- Confusion resistance now reduces confusion power (up to 10% min)
- Fixed Cursed Sentry
- Clarify Wintertide Phial activation
- Nerfed defence of the half-finished bone giant
- Clarified Spellcraft talent
- Replaced Necromancer's Liches dark tendrils & creeping darkness by bone spead and bone grab
- Lichform necromancers can not use infusions
- Fixed barrow wight tile for Necromancers
- Saving throws now reduce duration based on a percentage (5% per difference)
- Saving throws with a minimum duration can now be 'shrugged off'
- Accuracy now has it's own cross tier effect, Off-Guard, that increases critical strike chance and critical power by 10%
- Off-Balance now reduces global speed by 15%
- Slime slow effect reduced to 15%
- Hit rolls now cap out at a 20 point difference rather then 10 increasing or decreasing hit chance in 2.5% increments
- Scrolling the chatlog will remove fading
- Trap Detection & Trap Disarm talents merged into a new Trap Handling talent
- New Cunning/Survival talent: Piercing Sight, granting a boost to see stealth/invis
- Power is Money provides somewhat less huge benefits
- Alchemists do not start with Combat Training tree anymore (it was locked anyway)
- Transmogrification Chest can now be activated to trasmo everything in it, or if empty, on the floor
- Adrenaline Surge no longer takes a turn to use
- Daunting Presnce no longer causes a cross-tier effect. Debuff effect slightly improved.
- Reduced the accuracy of many starting enemies
- Reduced a few corrupted horror talent levels in the deep bellow
- Meditation changed to a sustain that grants equilibrium regen, mental save, healing mod but halves all damage done
- Hate: Now ranges from 0 to 100 instead of 0 to 10 to be more consistent with other resources.
- Hate: Instead of falling to 0, hate falls to a baseline value. The baseline value is set to 50% of your current hate when you take damage, inflict damage or kill something.
- Hate: Is now affected by fatigue Cursed Form / Unnatural Body: now scales healing factor from 40% at 0 hate to 80% at 10+ hate. No longer affects damage resistance and no longer improves with cursed equipment.
- Cursed Form / Seethe: Allows you to stop hate loss but recieve other penalties
- Cursed Form / Repression: now trades up healing factor for loss of hate per kill.
- Gloom / All: Mindpower based (% chance to "hit", chance to save v Mindpower)
- Gloom / Weakness: Changed to reduce damage inflicted, attacking weakened foes adds hate.
- Gloom / Dismay: Replaces Torment; 3 turn gloom effect that guarantees 1 critical hit.
- Gloom / Sanctuary: Reduces damage that originates from outside of the gloom Slaughter / Slash: Insidious Poison effect has been changed to Cursed Wound (stackable damage reduction)
- Slaughter / Reckless Charge: Number of attacks is now limited by talent level.
- Endless Hunt / Beckon: Save v Mindpower reduces chance to move by half.
- Taking damage can dispell it (the chance to dispel is cumulative damage / maximum life).
- Strife / Dominate: Now mindpower based, Fixed range checking
- Cursed Aura: Dialog to take or reject it should only open once.
- Cursed Aura / Curse of Shrouds: should no longer cancel rest/autoexplore
- Cursed Aura / Cursed Sentry: Fixed (was completely broken)
- Dark Figure: Removed
- New Rampage/Predator/Fears afflicted trees
- Perfect Strikes now ignores the miss chance caused by attacking an unseen foe
- Crooked Club confusion duration reduced to 4
- Vision Runes now grant See Stealth in addition to See Invisible
- Sun Infusions no longer break stealth but instead apply a debuff that reduces stealth power for a few turns
- Meditation now also have a passive effect: when resting it grants an equilibrium regen
- Meditation does not take any turn to activate/deactiavte
- Reduced damage from Void Shards
- Reduced healing modifier on Vitality
- Reduced chance of removing debuffs on Unflinching Resolve
- Reduced spike damage from Time Elementals
- Time Elementals are now negative effect immune
- Buffed Harkor'Zun (not the fragments)
- Buffed Brandish and Retribution (Guardian Tree)
- Better smooth movement
- Frenzy now correctly debuffs at level 3
- Mimic now resets stats on next kill
- Preternatural Senses now rounds the range value.
- Fixed a Rampage talent on an arena NPC
- Outmanuever now gives a physical resistance reduction
- Mimic now gives stat bonuses relative to the target's stats instead of relative to player's stats minus target's stats.
- Reckless Change now scales range beyond 4.
- Rune of the Rift paradox reduction reduced to 60
- Rune of the Rift should no longer occasionally heal actors
- Time Skip once again removes actors from the map rather then time prisoning them
- Fix immunities on the Eternal Night set
- Always-center on player is set by default for new players
- Debug console: Cursor positioning (left/right arrows, home/end to move to beginning/end of line)
- Debug console: Copy to system clipboard support, bound to Ctrl+C and matches Ctrl+V paste support
- Debug console: Tab-autocompletion of table entries
- Fixed description of Tormented effect
- Fixed description of Panicked effect
- Fixed moving the player in panicked effect
- Added support for fear resistance to Fears/Panic
- Reduced damage of Slaughter/Reckless Charge
- Amushcade Shadow will no longer autopick up gold, gems, or gear
- Temporal and Eldricth horror files split
- Temporal Horrors will now spawn on levels 2 and 3 of the Rift instead of Time Elementals
- Buffed horror stats
- Reduced talent use frequency of Luminous Horrors
- Increased talent use frequency of Devourers
- Tactical Expert defense bonuses reworked
- Reduced Inner Demon max life
- Waking Nightmare is now resisted with Mental Save
- Three new uniques added to Dreadfell (Borfast, Filio, and Aletta) that can randomly appear in he zone
- Four new artifacts (Borfast's Cage, Aletta's Diadem, Hareskin Sling, and Withering Orbs)
- Increased rarity of Boots of Spellbinding and Staff of Channeling
- New Dreadfell Lore
- Orc breeding pits: reduced the total size
- Daikara: only 4 levels now
- Maze: only 2 levels now (one is huge)
- Eruan: only 4 levels now
- Old forest: only 4 levels now
- Sandowrm lair: only 4 levels now
- Ardhungol: only 3 levels now
- The four orc prides are now 3 levels
- Limir dying now instantly marks the quest failed
- Added a small speak bubble to creatures that can talk
- NPC & Player portrait will appear in chat boxes
- Fix multiple addons in .teaa form using overload
- New hook "Entity:loadList" to bind on any entities file load, altering the loaded data or loading more of your own
- New artifact: Prox's Lucky Halfling Foot
- Reduced the number of lore notes in many zones that got shrinked
- Added a popup warning when entering the mausoleum in Last Hope graveyard
- When using auto-reloading quivers/pouches resting will wait for full reload
- When the transmo chest pops up at the end of a level the inventory tabs setting is not lost
- Trollmire is nowa 65x40 zone instead of 50x50
- Equipment window now has a switch to select main/off weapons set
- Letter keys work again in inventory/equipment screen
- Learning lore stops running
- Necrotic minions are worht 0 exp
- Recall/Angolwen Teleport only works when the main player is alive
- Hydra's Grand Arrival does not also applies ritch's one
- Spiders from the egg-sac do not grant exp
- Levelup screen shows rounded stats
- Lore randomly found has a different tile than set lore
- Fix Tornado
- Fix for Frenzy
- Beckon, Panic and Paranoia should be less annoying to deal with
- Hex-mode support added to the engine; a simple 'core.fov.set_algorithm("hex")' in your module's load.lua and you are in hex mode!
- Directly computing directions is deprecated; instead use util.adjacentCoords and all the new coord functions
- Map borders should look better
- New UI!
- UI elements are now locked by default, with a small padlock on the toolbar to unlock them
- Move tooltips in inventory and stores to not obstruct the list currently being watched
- Added some missing musics to some zones, including new tracks
- Fearscape is usable in more zones
- Trees should have a bit less veritcal randomness
- font:draw() can take a new parameter to prevent displaying entities with an internal FBO and instead returns a table of entities to draw and their positions in the texture string
- New lore: "Gifts of Nature"
- New artifact set: Staff of Arcane Supremacy and Hat of Arcane Understanding
- Boots of Spellbinding and Staff of Channeling reworked
- Corona no longer deactivates when there's no energy to fire
- Added Spell Cooldown, Mind Crit, and Crit Reduction to the character sheet
- Darkest Light can no longer give back negative energy (for real this time)
- Talent paradox cost no longer factored into paradox failure(etc) rates
- Spacetime Tuning reworked now a sustain that reduces paradox over time
- Haste values reduced
- Static History values reduced
- Talent equilibrium cost no longer factored into failure rates
- Fixed Ruined Earth radius
- Fixed "weakness" damage type
- Mage apprentice quest changed, he wont collect rings/.. anymore, he just needs one arcane powered artifact
- Disruption Shield can never cost negative mana
- Classes may have an inherited method that gets called after module init
- Air warning indicator, like the hp warning indicator (corners become bluer)
- Reworked ammo. Now ammo comes in quivers or pouches that have charges. There is a new "Reload" talent and some new egos can auto-reload.
- Antimagic infused objects are usable without knowing antimagic, but they will incur heavy penalties on spellcasting (failure chances, reduced spellpower)
- Ego generator will forbid an arcane/antimagic item and an arcane/nature one will be rarer (but still possible)
- Nerf Witch-bane and Guidance for non antimagic users, buff them for antimagic users
- NPCs do not cheat with vim regen, instead they are smart
- Resting will auto-activate Reload
- Mana Clash cooldown reduced and damage altered
- Wearing an antimagic item also will incur a chance for spell sustain to be disrupted every turns
- New addons configuration screen, to select/unselect which addons will load; can be used to enable addons with version mismatches too, at your own risk
- Wearing the bindings of eternal night will prevent the use of infusions and wild-gifts
- Bindings of eternal night now reduces light and fire resists and grants blight and darkness resist
- Undead can no longer learn the harmony tree
- New game option to select either the new or old UI
- Some game options disappear when using the new UI; they are useless
- Antimagic quest gives more info ahead of time
- Aura of Silence now uses full mindpower to apply
- Rope Belt of the Thaloren is no longer arcane powered
- Dark Surprise now uses physical power to apply
- Improved the DebugConsole with suggestions by tiger_eye, edge2054 and Canderel, and implemented by yufra.
- Resizing the game does not require a (automatic) save & reload
- Developers are marked in red in the chat
- Reduced the effectiveness of Golem Power and Golem Resilience.
- Life regen display in the minimalist display now takes into account healing mod
- Weapon folding bonuses doubled for archery
- Fixed Shooting when encased in ice
- Improved Jelly description
- A copy of the party is now uploaded to the server on a save (a real savefile of it, not a dump). For later fun uses!
- Moment of Prescience now increases accuracy too
- Spin Fate now buffs all saves each time it's applied
- Swap and Temporal Wake ranges adjusted
- Dimensional Step no longer lets you break line of sight but takes no time to cast
- Wormhole now takes time to cast and the exit radius adjusted
- Celerity improved
- Strength of Purpose and Quantum Feed values adjusted
Have fun!
