Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Completed Let's Play: Rage of Mages 2 (The End)

Cenobyte

Prophet
Joined
Feb 13, 2010
Messages
1,117
Location
Japan
Grumpy male mage - air sphere
 

Darth Roxor

Rattus Iratus
Staff Member
Joined
May 29, 2008
Messages
1,879,036
Location
Djibouti
Clockwork Knight said:
Invisibility would make for a horribly boring LP. I want to see faggots burning

IIRC, you can't use invisibility against all enemies.

Plus, it gets dropped the moment you do anything other than walking, not to mention that there are quite a few 'timed' quests or others that have waves of monsters going to completely destroy location_x and you have to stop them, so 24/7 invisibility is not an option.
 

Phelot

Arcane
Joined
Mar 28, 2009
Messages
17,908
This game is pretty hard from what I remember, unless I missed some kind of exploit.
 

Darth Roxor

Rattus Iratus
Staff Member
Joined
May 29, 2008
Messages
1,879,036
Location
Djibouti
Black_Willow said:
Bumping a potentialy great thread.
So Darth, where are those screens? It's tomorrow already!

I've barely just returned home from uni, and I'm tired and hungry, you impatient asshole!

...

They should be up in an hour or two.
 

Darth Roxor

Rattus Iratus
Staff Member
Joined
May 29, 2008
Messages
1,879,036
Location
Djibouti
Right, the male, mage and fire magic categories got the most votes, so here you go...

rom0020.jpg


Meet Kingcomrad the grand wizard (friggin names can be only 10 letters wrong, wtf is shit nonsense?!)

rom0021.jpg


He shall specialise in fire magic and rain down fireballs from the very heavanz upon stuff's heads!

rom0026.jpg


We start in this humble city. When we try to leave it, we're stopped by the guards.

rom0027.jpg


And visit the inn he did.

rom0028.jpg


rom0029.jpg


There are a couple of folks here with which you can start conversations. Some might initiate flavour dialogue, others can give you new quests, and some can be hired to assist you in your missions.

rom0030.jpg


rom0031.jpg


rom0032.jpg


rom0033.jpg


rom0034.jpg


rom0035.jpg


mage.jpg
But dusk has fallen and no one yet has dared to face Lord Skrakan and find what he has planned.

kc.jpg
Don't you know what the great mage is planning?

mage.jpg
I'm just a messenger. I don't know the first thing about what he'll convey to the envoy, whoever that is. I can only give you directions to his tower of Rakhl-Uimoir.

kc.jpg
Perhaps people are just unwilling to commit without sufficient knowledge of the nature of the mission and the risks involved... or of the reward offered by Skrakan for completing his mission.

mage.jpg
I know not about the reward, but it must be generous. Skrakan must have amassed a small fortune by now. I'm sure he'd be willing to pay handsomely if the mission is dangerous enough.

kc.jpg
Indeed. Hmm, a very, very tempting proposal. It would be a great privilege to converse with Lord Skrakan. He could teach me much. I'm ready to depart immediately, show me the way.

mage.jpg
I must warn you that the way to Skrakan's tower is not safe. Many dangerous and repulsive creatures dwell along the route to the tower. You may die just trying to get there!

kc.jpg
Yes, this sounds dangerous, I admit, but my decision remains unchanged. I will hear what the mage has to say.

mage.jpg
But why? You don't look like the adventuring type. And you don't exactly look like you need the money to me...

kc.jpg
You see, dear girl, I'm just using common sense. There is no way I'm going to develop my professional skills by staying here in Plagat. There is not much call for a battle mage when there are no battles! However, should I serve Lord Skrakan well, my status will most certainly be elevated, and that is well worth the risk.

Awright, we just got our ticket out of this city. But before we leave, we should also check the shoppe.

rom0047.jpg


rom0048.jpg


We barely have any funds at this time, so the only thing we buy...

rom0049.jpg


... is this silly beanie hat.

rom0050.jpg


EVIL FORCES WILL TREMBLE BEFORE OUR HEADWEAR.

rom0051.jpg


Right, we finally leave this scum of hive and villainy.

rom0052.jpg


rom0053.jpg


rom0055.jpg


Here we are. Our hero is a fat wizard in a disco robe. The panel at the bottom of the screen is our spellbook. So far, we have only two spells (healing and magic shield), which is odd, because I could swear you also get a basic offensive spell (fire arrow in this case). Fortunately, we start with a magic staff that shoops fire arrows, so we're not defenseless.

There's a sign to the north of our location.

rom0057.jpg


Splendid.

rom0060.jpg


Going down the road, Kingcomrad meets his first dreadful enemy... THE BONE SNAKE!

rom0062.jpg


Suckers are pretty useless once you turn on magic shield (magic shield increases your 'absorption', so you take less damage) and they all soon drop dead.

rom0063.jpg


This bridge leads to Skrakan's tower, but why shouldn't we check the whole countryside for potential phat loot?

rom0064.jpg


Going south, we meet an old ogre.

rom0065.jpg


rom0066.jpg


If we leave his field of view and come back, he turns aggressive...

rom0067.jpg


rom0068.jpg


rom0069.jpg


Kingcomrad tries his best to put down the beast with clever use of hit'n'run tactics, but unfortunately, ogres have high fire resistance, we can't really outmanuever it, and regenerating hp (POPAMOLE SHIT) doesn't help either, 'cause while it's slow, the damage we deal is substantial and it gets healed rather fast...

After a while of pointless running around and shooting, Kingcomrad is hit and dies in a single blow of the ogre's club.

*reload*

rom0071.jpg


Interesting. Reloading changed KC's robe's colour from blue to green. Ignoring the ogre and going west from its position, we meet another kind of enemy: THE TURTLE.

rom0073.jpg


They are pretty much as useless as bone snakes, although they are a little tougher.

rom0074.jpg


Heading north, we are ambushed by another basic monster: THE SQUIRREL.

Aren't they adorable? Kingcomrad crushes them under his boot heel.

rom0075.jpg


Since Rage of Mages is a True RPG (TM), there's a day/night cycle, and it slowly starts getting dark.

rom0076.jpg


When another mob of bone snakes attack, it's pretty much pitch-black.

rom0077.jpg


Heading further east, we see a couple of bats... Fortunately, they are non-aggressive, because otherwise, we'd be very much fucked. Among them, there's also a troll.

rom0078.jpg


rom0079.jpg


rom0080.jpg


rom0081.jpg


Pff! Big deal. We couldn't burn down the ogre, but a troll will no doubt prove to be no challenge!

rom0082.jpg


rom0083.jpg


Shut it, you whiner.

rom0084.jpg


Here's our challenger. Now, it's very important to include a couple of strategic factors in this fight:

1. The troll is slow as fuck.
2. It has a very low fire resistance.
3. It's night so its (already short) vision is even shorter
4. There terrain around it is filled with rocks, which slows it down even further. Indeed, different terrain affect everything's speed in some ways: roads make you walk faster, rocks slower, going downhill is faster than up the hill etc.

So, what we need to do is... hit'n'run. But this time it will work a lot better than with the ogre, because before the troll even leaves the rocky area, it's gonna get hit in the face by a couple dozen fire arrows.

rom0084.jpg


rom0085.jpg


After that, we just quickly run away from its sight, so it gets confused and loses interest.

rom0086.jpg


Repeat

rom0087.jpg


Until

rom0088.jpg


Desired effect

rom0089.jpg


Is achieved.

rom0090.jpg


B)

rom0091.jpg


phat loot.

rom0092.jpg


rom0093.jpg


rom0094.jpg


And since we are no match for the ogre, we can only go to Skrakan.

rom0095.jpg


rom0097.jpg


kc.jpg
It's a pleasure to meet you, Great Mage Skrakan. I'm willing to hear all you have to say.

skrakan.jpg
We don't have much time so I'll get straight to the point. As a native of Uimoir, you must be familiar with the story of the Demon of the Outer World whom I carelessly summoned a hundred years ago.

kc.jpg
Of course! I heard stories when I was a child.

skrakan.jpg
I'm impressed with your education, but please, try not to interrupt me again. As you might have noticed on the way to my tower, the Demon's creatures are still ravaging Uimoir to this day. Recently, I have found that magic similar to the one used by the demon is being used on the Allod of Yases.

kc.jpg
This can't be! Another creature from the outside? Yokke is the Great Mage of Yases, right? Why didn't he do something about it?

skrakan.jpg
It seems that the schools are giving obsolete knowledge nowadays. Yokke died, and his apprentice, Urd, has become the keeper of Yases. It happened almost immediately after the demon was defeated. Urd is young and inexperienced for a great mage. Personally, I'm not afraid of the creatures of the Outside. What I do fear is that he or someone else has decided to play with dangerous magic.

kc.jpg
So what shall I do?

skrakan.jpg
Find out what is going on there, and stop it if you can. Your reward will be generous, I promise.

kc.jpg
A Great Mage's word is worth much. And the quest is equally impressive. I will do what I can to protect the Allod against any evil I can find.


rom0109.jpg


Yay! After this comes a cinematic that crashed my game if it ran for longer than 3 seconds, but it was basically 'you're teleported and land in a tropical place'.

rom0110.jpg


rom0111.jpg


rom0112.jpg


rom0113.jpg


rom0114.jpg


rom0115.jpg


Some more road signs.

rom0116.jpg


rom0117.jpg


While admiring the countryside, Kingcomrad is attacked by a horde... of WOLVES!

rom0118.jpg


They are probably the strongest of the 'basic enemies' we've met so far, but fire arrows burn through them effectively enough.

rom0119.jpg


Going north-west, KC finds a burned down village.

rom0120.jpg


It also appears to be haunted... BY GHOSTS!

rom0121.jpg


Ghosts that also happen to be supersucky.

rom0122.jpg


Further north, Kingcomrad encounters a bandit.

rom0123.jpg


kc.jpg
Well, you can try if you want. However, I doubt that you would be successful.

bandit.jpg
Uh... Damn! It didn't work again. You're right! I'm no good at robbing! But there's nothing else I can do. The king's army destroyed our village. 'For threatening the king', they said. All we did was petition the king, telling him that we couldn't like this any longer. I joined a gang to make ends meet, but I just don't know how to rob people. The gang chief beats me up and threatens to cut my throat, but I can't get any better.

kc.jpg
Well, frankly, I was going to teach you a lesson, but you're already miserable enough. I'd watch out in this line of work you're in. You may anger the wrong person one of these days.

bandit.jpg
Wait! Before saying goodbye, I must tell you something important!

kc.jpg
Well, hurry up. You look like you're going to wet your pants or something.

bandit.jpg
Not exactly sir, but you can help me out of this mess I'm in and gain some gold to boot. I know where the chief of our gang keeps his fortune. You can kill him and take his gold, then I'll be free! However, there is just one small problem...

kc.jpg
And what would that be, pray tell?

bandit.jpg
The gold is guarded by the chief's guerillas. You'll have to hack your way through them to get to the treasure. Be careful, though, they're strong!

kc.jpg
Thanks for the story, pal, I'll remember it. I'll be sure to pay a visit there sometime...

rom0136.jpg


Going north, Kingcomrad found a small bandit camp and was forced to strategically retreat.

rom0141.jpg


After he lost the heat, he returned and proceeded to take out the basic axemen.

rom0142.jpg


One down.

rom0143.jpg


Damn right. Second one down. The archers are almost no threat at all when magic shield is up, but the bandit ataman hits like a bitch with his two-handed axe, so we need to retreat.

rom0144.jpg


After a while, we return. The leader needs to die.

rom0145.jpg


RRRRRRUN KINGCOMRAD, RUN.

rom0146.jpg


Going across the bridge behind the whining bandit, we find a guard post.

rom0147.jpg


They're more than happy to slaughter the bandits chasing us :smug:

rom0148.jpg


Well, I'm definitely not running away from a bunch of bloodthirsty brigands, officer.

rom0149.jpg


rom0150.jpg


rom0151.jpg


rom0152.jpg


The guards make short work of the brigands.

But instead of going straight to Kaarg, we shall investigate the other path at which we started.

rom0154.jpg


A couple of wolves and some silly village.

rom0155.jpg


peasant.jpg
The 'good days' left with the three stars. If you're going to Kaarg, then get on your way. You're standing on the path you need to follow.

kc.jpg
Tell me, peasant. Do you disrespect everybody? Or just honest men and innocent travellers?

peasant.jpg
I, uh... people are odd these days. It was all clear in the old times. The peasants worked, the king ruled. The guards kept peace and the robbers ran from them. The mages cast spells and kept the monsters restrained. These days, it's all messed up. Guards burn down villages, peasants do the fighting. The mages have their own agendas now, and the king...

kc.jpg
What was that about the king? Why did you stop?

peasant.jpg
Forget it! I will say no more! Just be on your way.

It would appear we arrived in Yases during some troubled times.

rom0161.jpg


rom0162.jpg


kc.jpg
Really? What evil? Like ogres sitting on the road or undead walking with their sickles?

merch.jpg
Ogres are a misfortune. We have one living nearby, but he leaves you alone if you grease him with a bit of coin. But that doesn't work with the undead!

kc.jpg
Looks like my little joke came true. Would you give me some more details?

merch.jpg
This is no joke, sir. I tell you, they rise from their graves and assault people! We used to only fear the cemetery at night, but now you can't walk by it even in daylight. The road to the capital has become very dangerous indeed. Watch your back.

rom0168.jpg


North of the village, Kingcomrad stumbles upon the cemetery and faces... TWO ZOMBIES.

rom0171.jpg


These actually pack a punch, and constant healing is needed while shooping them with fire arrows.

But eventually, they hit the dirt.

rom0172.jpg


Foul negromancy.

rom0173.jpg


rom0174.jpg


And since we've got nothing more to do, let's head off to Kaarg!

rom0175.jpg


rom0176.jpg


rom0177.jpg


rom0178.jpg


Here we are. Another wretched scum of hive and villainy. There's a shop, an inn, and a couple of folks with which we can talk for flavour dialogue.

An old hobo in front of the inn:

rom0179.jpg


Some two hoes at a cart near the shoppe:

rom0180.jpg


rom0181.jpg


And the gate guard:

rom0182.jpg


Let's visit the inn.

rom0183.jpg


This bikini archer is a hireling. Hirelings can be hired for one mission, but then need to rest the duration of another mission before you can hire them again. Sometimes they're pretty handy to have around, and later on, you can pretty much hire yourself a small army of various colourful fellows.

rom0184.jpg


rom0185.jpg


Meet Sir Clueless Igles.

kc.jpg
A sad surprise for a tired and hungry traveller. All tables are taken! I'll have to ask someone to let me sit at his or her table. That knight, for example, he's alone... Excuse me, noble sir! Would you mind if I sit at your table? Please understand, I do not wish to impose, but there are no tables available to sit at!

igles.jpg
Don't apologize, I don't often get to see new faces in the tavern, so it would be a pleasure to sit down and talk to someone I don't know. You have guessed right that I belong to a noble family. However, I don't care much for etiquette, so just call me Igles. My uncle, an important army officer, wants me to make a career for myself. But I have no desire to serve the king.

kc.jpg
Why not? Everyone thinks that royal service means honour and respect. And would you not enjoy seeing the king everyday? Not to mention the receptions and all of the grand dances...

igles.jpg
Maybe that was the way a hundred years ago, but it's different nowadays. King doesn't even show his face to anyone. He wears his armour and helmet, as if he were expecting an assassination attempt! Even the highest of nobles are not admitted to his palace. The king rarely gives his orders himself these days. They are usually conveyed to us by his retainer mages instead. And those orders don't make sense either. Take the army drafts, for instance. They draft everybody they can get, but the army STILL can't maintain order on the Allod!

kc.jpg
Who are those retainer mages you mentioned? What do they do?

igles.jpg
Where do you come from? The moon?! Long ago only a few people knew of the existence of the Necromancer Guild. These days, the necromancers are almost everywhere, even the royal court. The only place they haven't taken over yet is the Ancient Woods. People say that it's still populated by the Druids, mages of a different alignment than the necromancers. I haven't seen them myself.

peasant.jpg
Sir Igles, please don't reproach me for interrupting your conversation! The headman of Lyrisha, your inherited village, begs you to come as soon as you can!

igles.jpg
What's their problem I wonder? Anyway, it doesn't make any difference now. I'm sick of this town, and I'm ready to leave. By the way, good man, would you accompany me? I don't know you very well, but you seem to be an honourable person.

kc.jpg
It will be my pleasure. You can say that I'm from the moon in the sense that I'm not from around here. I'll benefit from seeing this country with my own eyes. Lead on!

And thus, Sir Clueless joins our party. Forever. He's one of the two characters other than Kingcomrad that will be joining us in all our adventures. We still have to meet the second one.

There are two other people in this tavern also:

rom0203.jpg


kc.jpg
Excuse me, good man. Are you a merchant?

merch.jpg
Yes, I am. But you should go to the shop if you want to buy something. I have a wholesale agreement with the shopkeeper. We end up making more money that way!

kc.jpg
I doubt that you're making very good profit. Most of the items in the shop are inexpensive and can not be marked up that high. Why is it a problem for you to supply quality goods?

merch.jpg
Don't salt my wounds, mage! Until recently, everytime I came to Kaarg I brought with me several great adamantine swords made by Galen from Sheep's Shallow. But some time ago, Galen stopped coming to our meeting place, so I've ended up losing my source of income. I almost went broke with these cheap goods. Everybody in Kaarg knows about it. I tried to hire someone to travel to Sheep's Shallow and find out what happened to Galen, but I can't pay in advance, and my credit is very low these days.

kc.jpg
Well, today's your lucky day! I would be willing to ascertain information about the blacksmith without prepayment. I suppose you wouldn't consider upsetting a mage just for the sake of money. Deal?

merch.jpg
You don't have to threaten me, I'm not a scoundrel. I am an honest merchant, and I promise that I will pay you in full.


rom0212.jpg


^ last guy in the inn.

peasant.jpg
I must talk to Sir Igles! But he's so involved in his conversation... I'm afraid that he will get angry and wouldn't listen to me if I interrupt him. But I should collect myself and intervene anyway...

After that we head on to the shoppe.

rom0214.jpg


We sell the junk we got from the brigands.

rom0215.jpg


and buy ourselves a book of fire arrow, because the staff has fixed damage, while the spell's damage will rise with Kingcomrad's fire magic skill.

rom0216.jpg


We also buy Clueless a decent and cheap helmet. He'll be our tank, so he'll need all the protection he can get.

And now, gentle readers. The choice. What should we do next? Here are our options...

rom0217.jpg


The missing blacksmith the merchant was talking about.

rom0218.jpg


Brigand camp about which we learned from the whining bandit on the road to Kaarg.

rom0219.jpg


And the mysterious business Igles needs to do in Lyrisha. This is the 'main' quest and will push the storyline.

DISCUSS.
 
Last edited:

Malakal

Arcane
Glory to Ukraine
Joined
Nov 14, 2009
Messages
10,666
Location
Poland
Havoc said:
He will die if he goes for the gold now.

He already died on the first mission :twisted:

But dont tell me that the brigand camp is somehow harder than adamantite mines or the main questline (ie village I presume). Seriously those are ADAMANTITE mines, some serious shit there, drows and mindflayers probably.
 

SCO

Arcane
In My Safe Space
Joined
Feb 3, 2009
Messages
16,320
Shadorwun: Hong Kong
Darth Roxor said:
...
skrakan.jpg
We don't have much time so I'll get straight to the point. As a native of Uimoir, you must be familiar with the story of the Demon of the Outer World whom I carelessly summoned a hundred years ago.

kc.jpg
Of course! I heard stories when I was a child.

skrakan.jpg
I'm impressed with your education, but please, try not to interrupt me again.
...

ICE BURN NOOB.
 

PorkaMorka

Arcane
Joined
Feb 19, 2008
Messages
5,090
I guess it's a good thing you made a mage since you got that perma fighter right away
 

Darth Roxor

Rattus Iratus
Staff Member
Joined
May 29, 2008
Messages
1,879,036
Location
Djibouti
Well then, it would appear going for the brigand $$$ is the favourite pick.

rom0227.jpg


We start on some road in the middle of nowhere, and Kingcomrad has his doubts.

rom0228.jpg


A guard post full of friendly peacekeepers.

rom0229.jpg


rom0230.jpg


rom0231.jpg


rom0232.jpg


Lovely.

rom0233.jpg


Going down the road we meet some turtles. They are no match for Kingcomrad and Igles, although Igles does have a hard time hitting them, since turtles have a very high defence value.

rom0234.jpg


Sum crossroads. We shall go south.

rom0235.jpg


Ambush! A pack of wolves and some local ghosts are after our hides! Fortunately, they are all pretty useless and Igles hacks them to pieces with his two-hander.

rom0236.jpg


A pretty, yet useless, landmark.

rom0237.jpg


Going west from the crossroads, we stumble upon this backwater village.

rom0238.jpg


rom0240.jpg


rom0241.jpg


rom0242.jpg


Interesting. We should investigate the forests.

rom0243.jpg


North of the village we meet a new type of foe: GIANT BEES. While their defence and hp is laughable, they can hit pretty hard, and are especially dangerous in large swarms and on higher levels.

rom0244.jpg


Since we covered the western part of the map, it's time to go to the eastern one. Some turtles are the first thing we meet.

But then...

rom0245.jpg


BRIGANDS!

rom0246.jpg


A lot of them too.

rom0247.jpg


Igles nearly dies while chopping the outlaws, but Kingcomrad is able to keep him alive with healing magic. Actually, a wizard is a whole damn lot easier to play than the warrior in the very first chapters if only because of the healing spell. You can just send Igles headfirst into battle while staying in the backline and healing him. You only need to watch out to not get ambushed from behind, and since most monsters are 'grouped' and placed in rather nasty places, you can get ambushed rather often.

rom0248.jpg


The axemen have hit the dirt.

rom0249.jpg


Now for the bowmen.

rom0250.jpg


And last is the shaman, who gets instagibbed by a single slash of Igles's.

rom0251.jpg


Afterwards we collect their junk.

rom0252.jpg


And among the tepees we find...

rom0254.jpg


TREASURE!

But the 'victory!' sign doesn't flash nor do we get an 'objective complete' sound. Why? Because we actually killed the bandits on our own, which triggered a mission breaking bug, durrrrr.

Well then, reload!

TIME WARP

rom0255.jpg


Brigands! RUN, IGLES, RUN.

rom0256.jpg


Hello officers. A little hand here?

rom0257.jpg


rom0258.jpg


rom0259.jpg


The treehugging bandits are no match for the armourclad guardsmen.

rom0261.jpg


And we get to enjoy the spoils.

rom0262.jpg


Time to head home and sell all the junk. I guess all these rumours the peasants were spreading about bribed guards were...

rom0263.jpg


... just local gossip...

rom0264.jpg


rom0265.jpg


Shit shit, bad placement. The crossbowmen pack quite a punch, and one swordsman keeps pounding at Kingcomrad. He can't quite outheal that, and Igles is not fast enough to take down the swordmen...

rom0266.jpg


Oops. Kingcomrad has fallen.

Timewarp.

This time we'll need some better tactical placement.

rom0267.jpg


Going from this side and triggering the conversation makes only one xbowman shoot Kingcomrad and Igles is around to protect properly from the rushing swordsman.

rom0268.jpg


rom0269.jpg


Soon, they all hit the dirt.

rom0270.jpg


And we take their phat loot and head home.

rom0271.jpg


rom0272.jpg


We sell the treasure for a whopping 10 000 gold. We also sell all the junk the bandits and rogue soldiers dropped and buy Igles a new scale mail that goes underneath his cuirass.

rom0273.jpg


And since we have a damn lot of cash, we can also buy Kingcomrad some new pimpin' threads.

rom0274.jpg


rom0275.jpg


rom0276.jpg


rom0277.jpg


MORPHIN' TIME

rom0278.jpg


Splendid. Soon we'll be able to make Kingcomrad as pimpin' as Gandalf.

wizard9.jpg


rom0280.jpg


Next stop: Adamantium Mines. After this mission, we'll get Igles a pretty damn good new sword.
 
Last edited:

Achilles

Arcane
Joined
Sep 5, 2009
Messages
3,425
Very nice, keep it up! Also, can you give water to the hobos to increase your karma?
 

lightbane

Arcane
Joined
Dec 27, 2008
Messages
10,556
This game looks cool. Nice find.
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom