Sounds good. However, I can find the archetype for a creator in the
CFJavaEditor archlists but I cannot find anything called destructor
other than the tool related to buildable buildings.
What is a destructor and how does one use it?
As you say, destructor is related to map-building. It removes
The other possiblity would be to change the code, so that the sword
itself can act as the caster object. I'm not sure what changes would
need to be made - perhaps not too many. The real complication here is
that for weapon improvement, it probably uses some of the same fields as
you'd need t
Hello.
I was pondering adding 'ingame' small games, for instance:
* disarming traps => small game to see if you succeed
* pick locks => player can try to 'manually' lock (anybody remember
Hillsfar? :p)
Maybe for that i'd add 'tools', like different lock picks, so you
could have really rare on
Interesting ideas, but there's two main issues I see with this:
1) It would complicate the client to add it
Well, so be it :)
2) Much of it would need to be done on the server to avoid cheating (perhaps
create an extension to the CF protocol that calls gtk bindings on the client
(which would b
> I like the idea of minigames, but if you make it optional
(and more
> time consuming) what
> would be the benefit of doing it manually?
It could be the fun. Also, maybe the skill could give more exp
if done manually.
> Also what advantage levelling up in the skill would give you
in the manual g
> 1) As a dragon player, I find that at some point I just have stat
> potions piling up since I have no real use for them (can't make weapons
> that are usable). One thought I have would be to allow players to
> effectively go beyond max stats, but only rarely (say 1% chance of each
> potion you
Hello.
With current CVS GTK client, there's a big display issue with
multiplart images.
Client apparently keeps old parts in memory, and won't erase'em.
Casting spells doesn't change display, but using dimension door (thus
invalidating cache) fixes the trouble.
So I'd guess it's related to caching
> I assume you're rerfering to 'fog of war' data when you say
'cache'. I might be
Actually, no.
Parts of multiparts images are just still displayed after the
monster is killed. This remaining part can't be trashed with a
spell, as could be done in a previous bug like that. The only
way to get rid
Hello.
I committed a few days ago a new spell type, 48, 'party spell', which
lets a player cast a spell on party members in the same map.
It will need to be throughly tested, I'm not sure whether everything
works or not, or if behaviour is as intended :)
To make one such spell:
* define subtype as
Hello.
I was thinking of implementing a quest system. I see 2 options:
* use forces to keep information. Something like a force with slaying
"quest ". This way detectors & markers can be used simply
as they are. I'd just add 2 special tags, "start" and "end", the first
being active when the quest
Ok, I've just committed quest-related code.
Check the doc/Developers/quests file for info on how to use it and such.
It Worked During My Tests (tm), but of course it needs more testing to
be sure it works as intended :)
Note that this code does not currently let you mark a quest completed
when a m
Oh yeah, I added common/quest, it needs to be added to the build
system, but I can't test as I'm not under Linux :)
Also help/quests should be copied at installation.
Thanks in advance
Ryo
___
crossfire mailing list
crossfire@metalforge.org
http://mail
Hello.
What's the use of the "glue" code? In glue.c, and the callback
functions, in the library.
>From what I understand, it was supposed to be for the Python plugin.
But the fun part is that is doesn't work under Win32: the library is
generated as static, so plugin and server have each their own
> It could certainly go away. I suppose a few people still use
> crossedit, but that could be fixed similar to the client - any things
> that common needs to call that exist elsewhere, the editor could just
> define as empty dummy functions.
Ok, guess i'll clear a few things :)
I'll remove the w
> Base damage for dragonbreath is 25, for colorspray, 8.
I've upped base damage to 20. It should be more powerful this way :)
Ryo
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire
Hello.
Been some time since there was a release, so i plan on doing a
snapshot release for Win32 this week-end.
Ryo
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire
> It does work on Linux, but it probably breaks windows compilation as I
> do not have access to a windows compiler. At least
> PLUGIN_SUFFIX=\".dll\" is missing from the windows build system now.
Works fine with that define - committed.
Ryo
___
crossf
Hello.
Is someone actively working on the new Python-based guilds? The base
in CVS seems ok, but missing parts obviously (unlinked buildable maps).
IIRC someone voluntereed to integrate mlab maps into CVS, but no more
info. What's about it?
Ryo
___
cr
> I was planning to do an official release soon, might want
to wait for that.
Seems fine by me, I'll wait.
> On saturday or sunday, I'll update metalforge to latest code.
Don't forget maps & archetypes ^_-
Ryo
Accédez au courrier électronique de La Poste : www.laposte.net ;
3615 LAPOSTENET
> I've just added support for this item to the Java Editor.
Thanks.
> Furthermore I have the following questions/suggestions:
other_arch is indeed not used. Everything uses the slaying field.
Offending comment removed :)
As for the food and type remark, indeed. My implementation is rather
crude
> But with the current incorrect client type, the client shows an item
> converter as a weapon (that cannot be applied). By using a different
> client type, the client would at least not sort in these items between
> (usable) weapons.
Hum, haven't checked client type. But then i never made any spe
> Yes, however a bug in the python plugin with the trigger
hook (crashes
> the server)
Could you explain how to reproduce that bug?
I'd like to tackle it :)
Ryo
Accédez au courrier électronique de La Poste : www.laposte.net ;
3615 LAPOSTENET (0,34/mn) ; tél : 08 92 68 13 50 (0,34/mn)
> I was referring to the slicingknife and b_slicingknife archetypes. They
> currently do exist in cvs and can be used to slice apples.
LOL forgot those :)
Well, I guess client_type could be changed, not sure of a suitable
value though.
Ryo
___
crossfir
Mitch Obrian a écrit :
> It may be that all the arches aren't in? I remeber
> when I was developing the bottles, if all the arches
> and their faces weren't in I'd get a crash.
No, it's more related to merging behaviour, it seems.
Ryo
___
crossfire ma
Hello.
I cleaned the Python plugin, removing the dependancy on libcross
library. Didn't yet clear logger & animator (actually never tried to
compile'em under Windows lol).
And I won't touch plugin before the next release (or maybe to fix a
few bugs).
This leads to some questions:
* plugins will s
> I was referring to the slicingknife and b_slicingknife archetypes. They
> currently do exist in cvs and can be used to slice apples.
Set at client_type 8021 (misc items)
Ryo
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforg
Hello.
I'm not totally satisfied of my quest implementation. It's not general
enough for many things we could think of, and there are some drawbacks
(like removing all markers on completion).
Therefore I suggest we don't use that for now, and think of everything
we'd want to be able to do.
What
Hello.
I was wondering how hard it would be to modify / reuse part of the Java
editor to edit actual archetypes. It would make creating / modifying
archetypes much simpler, imo.
Also, latest version (from the CF website) seems to be really memory
hungry
Ryo
_
> Yes, and if the player is part of a party, and other party
members are on teh
> same quest, this should count for them also.
Yes, party should be handled for every quest aspect.
> Can you be more specifc on this? Does this meaning having
n items in your inventory?
Imagine a quest like "c
Hello.
There's a nasty display bug with GTK client.
Big images (trolls & such) will sometimes partially stay displayed.
Funnier, you see items above them!
I tried to see what causes this, but i simply don't understand enough
the client logic for that...
It doesn't happen all the time, the ghost
> Therefore I think it is not a problem of the client itself but a
> combined effect from fog of war mode and big images at the
edge of the
> viewable area.
It happens also with images not on the edge of map, though...
Ryo
Accédez au courrier électronique de La Poste : www.laposte.net ;
3615 LA
Hello.
I plan on rewriting part of the plugin system (after the incoming
release, of course!).
Here's what I'll do:
* create a libplugin (or whatever) that contains wrappers for all
functions plugins will be able to call. Basically one .c file that
you'll link to your plugin. Remember that under
Apparently that's a bug related to layer handling: i get a
"common::expand_face : Did not find empty slot" message when a ghost
image is left. So it would seem living monsters are put on a layer, and
dead on another...
Ryo
___
crossfire mailing list
cro
> Do you then have a requirement that the item in question
be unique in name or
> something? Do you somehow tie the quest to specific quests?
Maybe make a specific quest item - key with a unique slaying
field, for instance. Or maybe just get 10 potatoes, not
quest-specific items, depending on q
> As a note, it isn't possible the code to know if an object
in the chest was
> placed there by the mapmaker or was part or randomly
generated treasure.
True.
> What you probably want to do is add something like
FLAG_QUEST_ITEM - this
> makes the processing all around much easier.
I was thin
Hello.
I was wondering about the opportunity of making branches when we get
close to releases.
It would let people go on committing to HEAD, while ensuring code can be
stabilized for release.
Opinions? Flames? Comments?
Ryo
___
crossfire mailing list
Hello.
> The other issue is that generally, I'm not seeing so many commits that
> having people hold off a week would seem like much an issue.
Well of course we can always wait one or two weeks to add features. But
sometimes it's things we'd rather have people test fast than wait weeks.
Also nee
> I could, if necessary, do a branch commit if there are in fact any
> files that are different. But then I suppose the question is why not
> just do a branch in the first place.
>
> But as described about, not until a change happens do you need a
> branch. So what should probably be done is a
What will be the next server version? 1.7.1 or 1.8.0?
If no one object, i'll put a tag for the release candidate tomorrow or
friday, so people can again break cvs with commits :)
Nicolas
___
crossfire mailing list
crossfire@metalforge.org
http://mailman
Hello.
Gros / Lauwenmark and I are currently rewriting the plugin system, both
the server-plugin API and the Python plugin. It'll feature much
improvement (using Python objects instead of plain values, so that
you'll be able to do: Map.Width instead of CFPython.MapWidth(Map)).
So please don't tou
Hello.
I'm doing massive char* => const char* substitution in server code, and
I found two weird things:
* in common/readable.c, line 1647:
op_name = strtok (formula->arch_name, ",");
Trouble: arch_name is set through add_string, and strtok *changes* the
string.
Given the context it's us
> * in common/readable.c, line 1647:
> op_name = strtok (formula->arch_name, ",");
>
> Trouble: arch_name is set through add_string, and strtok *changes* the
> string.
> Given the context it's used only when the 'arch' field of the recipe
> contains , (recipe given multiple items randomly, i
> Hi,
'lo
> Adding the buttons is extremely simple, though the teleporters and magic
> ear/mouth stuff will take some coding work, though I don't think it will
> be too bad. The main purpose of these additions would be that it would
> allow players to make fully customized and functional map mech
> I don't know much about the styles for random maps and such, but I
> wonder: would it be possible to use unique floors in a random map so it
> would work like normal unique maps? If so, I think such a random map
> approach would be a good one to make buyable buildable pocket dimension
> things.
> Since Ansi C does allow you to assign any pointer value to
and from "void *"
> this type cast is not necessary. OTOH such a cast
potentially hides future bugs
> because the compiler cannot anymore generate warnings for
mismatched pointer
Actually, there is a warning (under MS Visual Studio) sinc
Hello.
I thought about the upcoming quest system, here are things i'd like to
see. Feel free to comment, change, and so on (like a wiki :p)
Quests are subdivided in "tasks". You don't need to complete all tasks
to complete the quest. So for instance if you ask an ncp you'll get to
know the shortc
> What should I do here?
>
> a) fix the documentation (map_scroll implicitly clears out of map bounds
>information), or
You got my vote on that one too.
Thanks for fixing display issues :)
Nicolas
___
crossfire mailing list
crossfire@metalforge.or
> It'd probably be nice if that is somehow setable (eg, you
need to do tasks
> 1,5,6, but 2 and 3 are optional). Not positive how hard
that would be to set up.
My idea is that it would be implicitely optional, at the quest
designer's implementation.
I picute a quest like a tree, with many leaf
> Also there should be the ability to abandon a quest, so
players don't
> end up with 50 or so quests building up which they no longer
can or
> want to do.
Except you still want to keep the fact the player did some
tasks, as to not give bonuses again.
Ryo
Accédez au courrier électronique de La P
> I suppose a gtk client would be easier to make to a
windows port. And while
> one side of me would sort of like the speed and efficiency
of such an editor,
> one side of me says I really don't want to see another such
editor due to the
> maintenance and support headaches it would involve (supp
> Note that mapdata.c still contains lots of assert() statements. They did
> help me to ensure the passed coordinates are valid. I'll remove them
> before I commit.
I have nothing against assert, as long as compilation is (usually) in
release mode (ie assert does nothing). Quite the contrary, if t
> However, I still think it would be better to put work into
improving the java editor vs writing a new one.
Once again I agree.
There are too many unfinished projects / ideas around (sdl
client, opengl client, even gtk2 client, refactor things in
server, ...) to add yet another one. And you aga
> All fields below use a bitmask to represent value, similar
to how the attacktype
> works. These would be defined like:
>
> MOVE_WALK 0x1
> MOVE_FLY 0x2
> MOVE_SWIM 0x4
> etc
Sounds like a great proposal.
I'd tweak it slightly, having MOVE_FLY_LOW and MOVE_FLY_HIGH:
first is your re
> As per started in another thread, adding a fatigue stat
has some interesting ideas.
Fatigue seems like a good idea. I'd even extend it to items,
thus adding the need to repair stuff now and then. Which could
extend the use of smithery and such - put weapon in smithery
bench, use_skill smither
Andreas Kirschbaum a écrit :
> I just added my patches to fix bug #1102991 (Duplicate grapical display
> of the same monster):
>
>
> http://sourceforge.net/tracker/index.php?func=detail&aid=1269280&group_id=13833&atid=313833
This patch makes client unusable on my computer. Drawing routines su
> This patch makes client unusable on my computer. Drawing routines suck
> 110% of the CPU power.
Fixed & committed to CVS (flag not correctly cleared when drawing).
Ryo
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/
Hello.
The logic of create_and_rescale_image_from_data (in gtk/image.c) is strange.
In a first pass, it tests
if (iscale != 100) {
and calls in any case create_icon_image which creates the pixmap's image
and mask through rgba_to_gdkpixmap.
Then just after
if (use_config[CONFIG_MAPSCALE]
Nevermind, I was probably tired :)
Tweaked code to just copy icon image/mask to map image/mask if same
scale instead of doing twice the work.
There's still a potential memory leak, though ^_-
Ryo
___
crossfire mailing list
crossfire@metalforge.org
htt
> All tests indicate motherboard failure.
>
> A new MB has been ordered; no ETA at this time on when it will be here
> or when the server will be back on line.
Many thanks for all the work you put in the website & MB.
Ryo
___
crossfire mailing list
cr
> There's still a potential memory leak, though ^_-
Scratch that, SDL_CreateRGBSurfaceFrom requires the allocated memory to
be kept. So no memory leak.
Ryo
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listin
> It was very intentional that I left in this #define NDEBUG:
Well, time to do some magic to have make --debug and make --nodebug? :)
More seriously, assert are good to have.
If you want to put the define back, then please put it between #ifndef
WIN32 / #endif :)
(NDEBUG is defined in Windows dur
Hello.
Your ideas about building on land sound fun, let's hope we can
do something on that effect :)
Just a note: if you intend to have land building be part of
game, imo do it totally part of the server code, or do it
totally through Python (or a separate plugin, for that
matter). Remember Pytho
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
> The Crossfire Web Forum (Messageboard) is back online and at a new location.
>
> http://forum.metalforge.net
Yes!
Many thanks for all the work :)
Ryo
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2 (MingW32)
Comment: Using GnuPG with Thunderbi
> Generally speaking, I think assert statements should normally not be
> disabled at all, particularly not for release builds: if an assert
> statement actually should fail, the program contains a very serious
> logic error. Therefore it is not sensible to continue (and probably
> crash shortly aft
Some people had an idea for a "sacrifice pit" or something
close, too.
Short summary: drop items in a pit, depending on their value
and how much of the same kind has already been dropped (with a
decay factor), give a reward (xp or whatever).
Then players have an invenctive to drop items/money, and
The idea of popping up shops is great, and i'd add things like
roads, post office, and such, too! :)
That said, the issue i can see is about permission in
directories: if game modifies/adds itself the maps, then comes
the issue of physically writing the file, thus requiring write
access to maps su
> The idea of popping up shops is great, and i'd add things like
> roads, post office, and such, too! :)
To extend that idea: for "common" services (bank, shop, post
office, roads, maybe teleporters to other towns?), it would
require a fee to be paid regularly to sustain the service.
Then either a
Hello.
When we'll have the new plugin system (*ponders sending in a
search party for gros*), I'll extend the post office to send
items to other players.
I think it's not that hard actually:
* sending player drops items on a some specific altar/square
* sending player says "send "
* items get tele
> Should the shops etc. not be player-run?
I guess we could have both.
But then, you'd need to have a drawback for running your own
shop (high rental fee? need to be there for the shop to be
opened?), else players could make much money...
Ryo
Accédez au courrier électronique de La Poste : www.la
> A unique map could get messy. I think it is cleaner just to use the
> functions provided by the python plugin to store the items in a
> seperate file.
Pretty hard to save items. Would need to call the store/load functions,
messy too :)
A map with unique tile lets the game handle the messy detai
> At some level, also have to decide how far this goes.
IMO, at its heart,
> crossfire is an adventure type game, not a sim. The issue
being that we
> probably can't be as good as a sim as a game dedicated for
that purpose. I'd
> suggest getting the basics done first and worry about some
of the
Hello.
I just committed a change to the archetypes collect script collect.pl.in
that makes it easier to write and also read archetypes.
You can now use "attacktype fire poison" instead of computing "fire +
poison is 1028".
You can even mix values and text (ie "attacktype 1028 death" to add
death t
Hello.
A while ago i added a "ground positionning system", item that lets you
know your location in the world.
AFAIK you can only find it on mlab maps, it's not yet on other maps.
Unless someone objects with good arguments, i'll move the relevant code
to a Python script. Since it's not a mandator
> If I were to do it I would have implemented this behavior in
the server
> instead of in the collecting of archetypes (that way it
could be used in
> maps as well), but this is fine too.
I voluntarily choose to do that at collect time, because doing
it at item or map load time may be bad for load
Hello.
> The first one allow you to summon pet that are of lower
level that the
> current pet you can summon. It is mainly a one line patch
that use the
> same argument that create food or create weapon use.
Saw it on SF, sounds ok.
> The second one allow to use argument with the cast command
Ok, just committed improved post office :)
How to use it:
* when talking to Colette, the post office employee, you can now say
"bag", "package", "carton" followed by the name of another player
* this creates a post office bag, costing 5 / 50 / 200 platinum and
containing maximum 5 / 50 / 100 kg
*
Committed your 2 patches.
Just changed one call from (pseudo variables) (x)?f(a,b,c):f(a,b,d) to
f(a,b,x?c:d) to not duplicate 2 similar calls
Nicolas
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/cro
Why don't you create a new Sourceforge project and use it to store your
maps?
This way you'll have storage room, cvs, and will be able to use the
structure you want :)
Nicolas
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge
Hello.
I fixed a bug concerning diseases that had a negative "value", but got a
question concerning maxhp: according to the doc, negative means
"permanent outside the host". And positive "max ticks the disease
stays". So the obvious question is: what about 0? Should the disease
stay permanent? Dis
It works like that for me, on Metalforge.
What server are you playing on?
Ryo
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire
Hello.
In gx11.c, function buildLoginDialog, there is a call to:
1116gtk_box_pack_start(GTK_BOX(vbox),hbox,TRUE,TRUE,0);
followed a few lines later by:
1198gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,FALSE,0);
with vbox & hbox the same values.
The 2nd line generated a warning in the conso
> I only see the "three rows" with missile swarm. Try bullet swarm and
> meteor swarm you'll see the "single row" that was mentioned by Lalo.
> IIRC both bullet swarm and meteor swarm USED to work just like
> missile swarm does now. At this point they look more like the bolt
> spells than swarm spe
> Should these be removed, and "color_fg" changed to "magicmap", where
> appropriate?
Sounds good to me. Make sure though it isn't used in Java editor, or
CrossEdit, or some weird program :)
Ryo
___
crossfire mailing list
crossfire@metalforge.org
http:
Ok, moved code to Python script, cleaned server core.
GPS is now type "9" (clock).
It works exactly like before, no need to change anything for it to work,
you'll even keep the ones you have.
Obviously, if Python is not available, will revert to a clock (!)
Ryo
_
Hello.
Investigating why empty bottles behve weirdly, here are some oddnesses:
* the insertion of the empty bottle in the bottle sometimes fails. Empty
tries to be inserted in creator's (bootle) map which is NULL for some
reason.
* merge_ob doesn't correctly free the item's inventory. Thus when
> Other thought is use of the new key-value lists - can just do something
> like:
>
> on_use_item ...
On yeah, great idea, didn't think of that :)
I'll use key/value for item transformation, too (and i'll probably move
the code to Python, as it isn't imo required for the game)
Nicolas
Ok, fixed item dropping.
Now instead of using inventory for item to drop when applying, specify
the archetype name with "on_use_yield" field.
I fixed archetypes, and removed now unused treasure list.
Right now this field is checked when applying food, poison or potion. It
can be extended to other
> I see three things that are wrong:
> 1) Why is charm monster a summon spell and not a sorcery ?
Don't know why, probably a historic reason somewhere :)
> 2) Should charm monster reach so far as to his hiding room?
Don't remember on top of my head whether charm monster has a
range or not. See a
The rationale i see for using Python for item transformation is that
it's not a required feature to play the game. Same for bank actually -
you can play and do many things without the bank system. Same for gps,
and everything in Python scripts. It makes the game more fun, but the
core of the game d
> But all this doesn't really answer the question - when
should something be in
> python, and when should it be coded in C?
True. As I see it, Python is used when you want to make it
easy to customize things (no need to recompile) or "quick" (as
in quick to implement) things, C else.
Thus GPS is
Hello.
There's a weather bug, seen on cat2.
Floor tiles disappear under 'rain' archetypes.
Apparently it only happens when there is something apart the ground on
the tile (house, light, whatever).
I looked at the weather code, but can't right now find the issue.
Either the avoid_weather function,
Well, if anyone knows the weather code, please put some comments in it lol
I think i'm starting to understand how it works, but still...
I found something that seems strange: in weather.c, lines around 2064.
Apparently, if we find a tile and its herb, remove *both*. But why both?
If mint grows on
There are new archetypes "quest_xxx" to use, put'em in the
ear/mouth/npc's inventory.
There's a (start of) documentation in doc/Developers/quest.
Note that you also need to collect latest archetypes, not sure the lib/
directory was collected and committed since my quest changes.
Ryo
_
Oh yeah, also check test/quest map, basic test map.
Note that I didn't really test everything...
Ryo
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire
I plan on doing a snapshot release for client & server for Windows this
week-end (been 4 weeks since last).
If you want to commit breaking things, well, go ahead before that date
*evil grin*
Ryo
___
crossfire mailing list
crossfire@metalforge.org
http:/
> I think gros is going to commit the new plugin system, a.k.a. The Big
> Patch; on saturday
Then we'll have some testers for it :)
Ryo
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire
> Theres a RFE on the tracker, for a time-based connected
object. Which
> could be used for this.
It's imo the perfect thing for a Python script, i think,
assuming we add the right hook for time :)
Ryo
Accédez au courrier électronique de La Poste : www.laposte.net ;
3615 LAPOSTENET (0,34/mn)
> I'm pretty close to commiting the new movement stuff
(different blocking
> forms, etc) also.
Ha well, if that many things coming, I can either release just
before the Big Commits of New Features, or wait one more week
for remaining bugs to be ironed out :)
Ryo
Accédez au courrier électroniqu
See also : http://forum.metalforge.net/viewtopic.php?t=1274
thread on the forum on this exact subject :)
Ryo
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire
> Women's Rights Delenda Est.
Translation for people who don't speak latin or are too lazy to google:
Women's Rights must be destroyed.
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire
1 - 100 of 930 matches
Mail list logo