User Tag List

Page 2 of 4 FirstFirst 1 2 3 4 LastLast
Results 11 to 20 of 37

Thread: ZC [2.future] Feature Requests

  1. #11
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,759
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.52%
    Quote Originally Posted by EJSnowden View Post
    I think a better way to explain my intentions:
    Say you set a Trigger(1):
    Trigger(1) has any number of assigned Flags and Secret Combos. These can be general (e.g. all Script 98 flags present) or specific (e.g. assign Custom Secret Combo 1 to X/Y coordinate). If all Flags are activated, Trigger(1) activates and initiates all assigned Secret Combos. Trigger(2) can be set with its own unique set of Flags and Secret Combos, and 3, 4, etc.

    This is basically how the AoK editor worked, and although I understand it might not even be technically feasible, I think if it were possible, it would enormously reduce reliance on scripting, or even allow more power for scripters, especially if the system were expanded in the future. Examples of more advanced functionality might be: Triggers that can initiate scripts, or be initiated by scripts.
    I'm honestly unsure of how much work this would require, but it feels like something that will be possilble much later down the pipe. The ffc objects have a number of fundamental flaws, and adding this much t them will only compound the problems of correcting those; butwe'll eventually get around to ffc-related things, and see what we can do.

    The main concern here, is that there would be a limited number of triggers, under a system that doesn't use scripts, and I feel as if people will want more out of it than that. It may be possible to make a default ffc script, that all ffcs run unless otherwise assigned, and add some GUI options to the editor to set its values.

    A set of global values that can be referenced and manipulated. Triggers that are designated inactive/active by default, and can be activated by another or run in a loop. Flags based on time intervals. Commands that manipulate FFC or NPC behavior- telling them to move to a specific place, cycle to the next combo, cycle to a different FFC, bringing up a text string, or spawning an enemy.
    Please clarify 'global values'. The remainder of this is already possible with scripts; so I presume that you mean that you want timing options without scripts? Note that other editors that allow this, typically use default scripts, or some similar mechanism, and then set values via a GUI; or by direct code.

    The npc things that you want shouldn't be terribly difficult, but it'll require a new npc class.

    Pie-in-the-sky stuff, I know.

    Something maybe more possible: the ability to assign scripts to a screen, in the same way FFC and items already do? Or is this too similar to using an invisible FFC to be useful?
    We have something similar to this on our agenda. At least, I know that I have it on mine, and I seem to recall that @Gleeok wanted to do something similar. Essentially, a new, globally accessible object that can run scripts like an ffc, but that isn;t tied to a screen, and that doesn't have editor ffc attributes. Essentially, a way to do what ffcs can do, without the burden of how the ffc class works. @Dimentio deemed the object a 'mini global', IIRC.

    It would act as a global script of sorts, but it runs on demand. Generally, how ffcs are used with scripts, or run with ffcscript,zh, but internal, and with the ability to have independent timing from the global active script, as ffcs do now; but with the addition of using Waitdraw() to control their timing.

    Note that this is merely a concept, and not anything real at present, so we have no idea how it'll work; if it becomes 'a thing'.

  2. #12
    Gel
    Join Date
    Mar 2016
    Location
    U.S.A.
    Posts
    3
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    299
    Level
    6
    vBActivity - Bars
    Lv. Percent
    34.23%
    Please clarify 'global values'.
    I'm certain this is doable by scripting already- counters and flags that are stored upon completing objectives, to tell the game what to do next. I.E., the triforce pieces, but much expanded.

    The remainder of this is already possible with scripts; so I presume that you mean that you want timing options without scripts? Note that other editors that allow this, typically use default scripts, or some similar mechanism, and then set values via a GUI; or by direct code.
    Then I suppose what I'm wishing for is more functionality accessible by GUI. Especially of things related to cutscenes. New items, enemies, combo functions are fairly straight-forward, create one script, set your FFC, flags and such per screen, and you're good to go. In contrast, each individual cutscene requires its own script, a tedious process, and made even worse if it's supposed to be interactive.

  3. #13
    Octorok Lelouche Vi Britannia's Avatar
    Join Date
    Oct 2015
    Location
    Britannia - Area 11
    Posts
    173
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    1,106
    Level
    11
    vBActivity - Bars
    Lv. Percent
    43.68%
    So here's a thing. Not sure if anyone mentioned this one.

    The ability to directly copy an item class to a blank item class allowing you to create a variant line of the same type of item. For example. We have the wand in the game and its class wand. How about a wand that shoots something other than magic waves. How about one that shoots a fireball that can pierce? Doing so without affecting the same item requires quite a bit of time coding in ZScript but as its a relatively simple function that can be applied based on a "base item type" that already exists why not just have the ability to clone the family and provide a few more options in the editor. This would save a lot of headaches for people who want multiple types of an existing weapon (like wands or arrows).

    Speaking of arrows; how about more item counters. The current method of creating a proper item counter was mentioned by someone as being hard/impossible to work with. More counters would allow a few useful things like multiple ammo types for your bow, or even a supply of low recovery level potions, or other special items scripted by modders that have trackable limited uses.

    And along with those counters, I've run into this situation twice now; Keys that are unkeyed (ie normal keys) will currently work in dungeons where level specific keys are used even if the item is disabled. What I've been trying to do is make it so normal keys work only on chests in the overworld while level keys are required to get though dungeons.... so... why not have options set for key items on where they can be used. Options could include "doors only", "doors and armos/chest combos", "lock blocks", "doors and chests", "doors and lock blocks", "all locks". If you felt so inclined, perhaps an option to have more than one type of door lock available which would require more complex key-finding. Also, how about an option where finding the "master key" ie. boss key would allow you to use the key to open all dungeon locks?

    Also, on the subject, an option to eliminate knock-back on certain damage combos. Currently if you hit a damage combo you get thrown backwards as if hit by an enemy. I wanted to make a poisoned swamp in an area on my last project but scrapped the idea as moving around became much too annoying since Link would touch the water then instantly throw himself back like he just realized the water was made of spiders or something.
    Lost my wings and grew 8 tentacles... I've seen enough Hentai to know where this is going....

  4. #14
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,759
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.52%
    Quote Originally Posted by Lelouche Vi Britannia View Post
    So here's a thing. Not sure if anyone mentioned this one.

    The ability to directly copy an item class to a blank item class allowing you to create a variant line of the same type of item. For example. We have the wand in the game and its class wand. How about a wand that shoots something other than magic waves. How about one that shoots a fireball that can pierce? Doing so without affecting the same item requires quite a bit of time coding in ZScript but as its a relatively simple function that can be applied based on a "base item type" that already exists why not just have the ability to clone the family and provide a few more options in the editor. This would save a lot of headaches for people who want multiple types of an existing weapon (like wands or arrows).
    Hah!I recently put together a very basic model (on paper) for defining Script Itemclass types. This would use the z* itemclasses, and allow a user to define them directly, then apply them to an item and have that item do whatever they set up for that itemclass.

    We also need to fix the Magic Book, as setting its power doesn't affect the flame damage.

    Speaking of arrows; how about more item counters. The current method of creating a proper item counter was mentioned by someone as being hard/impossible to work with. More counters would allow a few useful things like multiple ammo types for your bow, or even a supply of low recovery level potions, or other special items scripted by modders that have trackable limited uses.
    (emphasis, mine)

    Do you happen to have a reference for that comment? I'm not sure what you mean by a 'proper counter'; nor do I know if this is intended to imply that it is difficult to accomplish this in ZScript, or difficult to modify the source to expand the number of available counters; else something entirely different.

    If you are scripting things, and need many counters, you can just store the values in an array, or variable. I suppose we can add more, but I don't know how much of a pain that would be. I don't think it would be too difficult, but I've no idea yet; and depending on how the values are stored, it could either be easy-peasy, or a true nightmare.

    I want to change the way counters work, in general, to use signed longs, instead of (supposedly unsigned) ints. I say 'supposedly' there, because they roll over at a signed int value, but Tamamo claimed they were unsigned. Negative counters do have practical applications, and should be a thing in the future.

    And along with those counters, I've run into this situation twice now; Keys that are unkeyed (ie normal keys) will currently work in dungeons where level specific keys are used even if the item is disabled. What I've been trying to do is make it so normal keys work only on chests in the overworld while level keys are required to get though dungeons.... so... why not have options set for key items on where they can be used. Options could include "doors only", "doors and armos/chest combos", "lock blocks", "doors and chests", "doors and lock blocks", "all locks". If you felt so inclined, perhaps an option to have more than one type of door lock available which would require more complex key-finding. Also, how about an option where finding the "master key" ie. boss key would allow you to use the key to open all dungeon locks?
    I do like the idea of custom key types, and matching combos; or additional key types. You can fix the level keys issue with a tiny global function:

    Spoiler: show
    Code:
    int BackupKeys[214747];
    
    const int KEYS_BACKUP_CTR = 0;
    const int KEYS_ACHIVED = 1;
    
    
    void LevelKeysOnly_ByDMap(){
        int levelKeyDMaps[]={1,2,3,4,5,6,7,8,9}; //Populate with the DMap numbers.
        bool disable_keys;
        for ( int q = 0; q <= SizeofArray(levelKeyDMaps); q++ ){
            if ( Game->GetCurDMap == levelKeyDMaps[q] ) disable_keys = true;
            
        }
        if ( disable_keys && !BackupKeys[KEYS_ARCHIVED] && Game->Counter[CR_KEYS] ) {
            BackupKeys[KEYS_BACKUP_CTR] = Game->Counter[CR_KEYS];
            BackupKeys[KEYS_ACHIVED] = 1;
            Game->Counter[CR_KEYS] = 0;
        }
        if ( !disable_keys && BackupKeys[KEYS_ARCHIVED] && BackupKeys[KEYS_BACKUP_CTR] ){
            Game->Counter[CR_KEYS] = BackupKeys[KEYS_BACKUP_CTR];
            BackupKeys[KEYS_BACKUP_CTR] = 0;
            BackupKeys[KEYS_ACHIVED] =  0;
        }
    }
    
    void LevelKeysOnly(int min_lvl, int max_lvl){
        if ( Game->GetCurlevel() >= min_lvl && Game->GetCurlevel() <= max_lvl && !BackupKeys[KEYS_ARCHIVED] && Game->Counter[CR_KEYS] ) {
            BackupKeys[KEYS_BACKUP_CTR] = Game->Counter[CR_KEYS];
            BackupKeys[KEYS_ACHIVED] = 1;
            Game->Counter[CR_KEYS] = 0;
        }
        if ( ( Game->GetCurlevel() <= min_lvl || Game->GetCurlevel() >= max_lvl ) && BackupKeys[KEYS_ARCHIVED] && BackupKeys[KEYS_BACKUP_CTR] ){
            Game->Counter[CR_KEYS] = BackupKeys[KEYS_BACKUP_CTR];
            BackupKeys[KEYS_BACKUP_CTR] = 0;
            BackupKeys[KEYS_ACHIVED] =  0;
        }
    }




    Also, on the subject, an option to eliminate knock-back on certain damage combos. Currently if you hit a damage combo you get thrown backwards as if hit by an enemy. I wanted to make a poisoned swamp in an area on my last project but scrapped the idea as moving around became much too annoying since Link would touch the water then instantly throw himself back like he just realized the water was made of spiders or something.
    We'd need to add a flag for that. I already planned to turn most of Link's conditions into vars, including knockback.

    This is also very easy to do, by script...something like this as a global function:

    Spoiler: show
    Code:
    void NoKnockbackCombos(){
        int combo_d[]={32000, 32001, 32002}; //Populate with IDs of combos that prevent knockback.
        int c[5];
        c[0] = Link->X+Link->HitXOffset+Link->DrawXOffset;
        c[1] = Link->Y+Link->HitYOffset+Link->DrawYOffset;
        c[2] = c[0]+(Link->HitWidth);
        c[3] = c[1]+(Link->HitHeight);
        for ( int q = 0; q <= 6; q+ ) {
            for ( int w = 0; w < 176; w++ ) {
                for ( int e = 0; e <= SizeOfArray(combo_d); e++ ) {
                    if ( GetLayerComboD(q,w) == combo_d[e] && ComboAt(w) 
                    &&
                    RectCollision( ComboX(w), ComboY(w), (ComboX(w)+16), (ComboY(w)+16), c[0], c[1], c[2], c[3]) 
                    &&
                    ( Link->Action == LA_GOTHURTLAND || Link->Action == LA_GOTHURTWATER ) ){
                    
                        Link->HitDir = -1;
                    }
                }
            }
        }
    }

  5. #15
    Gibdo Shoelace's Avatar
    Join Date
    Feb 2005
    Age
    38
    Posts
    777
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    2,629
    Level
    16
    vBActivity - Bars
    Lv. Percent
    74.55%
    My Request is to up the Tile Page Limit. In my new Tileset I am making it is all 8-bit color. Well, I have been making tiles and then erasing some, making tiles and erasing some, and I am finally to the post where I am almost at max capacity for my Tileset for my games I am making. It would be amazing if we can get the Tile Page Limit to be doubled from 256 to 512.

  6. #16
    Here lies mero. Died by his own dumbassitude.
    Join Date
    May 2011
    Posts
    929
    Mentioned
    102 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    5,527
    Level
    23
    vBActivity - Bars
    Lv. Percent
    13.96%
    I'm pretty sure Saffith already fixed magic book damage in the 3.0 source, but I've been wrong before. So yeah.

  7. #17
    Octorok Lelouche Vi Britannia's Avatar
    Join Date
    Oct 2015
    Location
    Britannia - Area 11
    Posts
    173
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    1,106
    Level
    11
    vBActivity - Bars
    Lv. Percent
    43.68%
    Quote Originally Posted by ZoriaRPG View Post
    Do you happen to have a reference for that comment? I'm not sure what you mean by a 'proper counter'; nor do I know if this is intended to imply that it is difficult to accomplish this in ZScript, or difficult to modify the source to expand the number of available counters; else something entirely different.

    If you are scripting things, and need many counters, you can just store the values in an array, or variable. I suppose we can add more, but I don't know how much of a pain that would be. I don't think it would be too difficult, but I've no idea yet; and depending on how the values are stored, it could either be easy-peasy, or a true nightmare.

    I want to change the way counters work, in general, to use signed longs, instead of (supposedly unsigned) ints. I say 'supposedly' there, because they roll over at a signed int value, but Tamamo claimed they were unsigned. Negative counters do have practical applications, and should be a thing in the future.
    http://armageddongames.net/showthrea...he-Item-Editor

    I may have misinterpreted what was here but I don't think so. It made it sound like customized counters were simply not possible. If you know how to script this out, I would love to know how. I researched it but I guess the math functions required are over my head right now. I'm still getting used to tweeking scripts already made to do what I want them to do (which has become pretty easy now). But other than some really basic stuff, I'm not a guru yet.
    Lost my wings and grew 8 tentacles... I've seen enough Hentai to know where this is going....

  8. #18
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,759
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.52%
    Quote Originally Posted by Lelouche Vi Britannia View Post
    http://armageddongames.net/showthrea...he-Item-Editor

    I may have misinterpreted what was here but I don't think so. It made it sound like customized counters were simply not possible. If you know how to script this out, I would love to know how. I researched it but I guess the math functions required are over my head right now. I'm still getting used to tweeking scripts already made to do what I want them to do (which has become pretty easy now). But other than some really basic stuff, I'm not a guru yet.

    Here is an example:

    Spoiler: show
    Code:
    ///////////////////////////////
    /// Custom Counters Example ///
    ///////////////////////////////
    
    //Counters array.
    int Counters[214747];
    
    //Counter Array Indices
    const int CTR_ARROW_4 = 1001;
    const int CTR_MAX_ARROW_4 = 1002;
        
    //Item vconstants
    const int IT_ARROW_4 = 200;
    
    //Drawing Arrow 4 COunters Settings:
    const int DRAW_ARROW_4_X = -30;
    const int DRAW_ARROW_4_Y = 100;
    const int DRAW_ARROW_4_FONT = 16;
    const int DRAW_ARROW_4_WIDTH = 8;
    const itn DRAW_ARROW_4_HEIGHT = 8;
    const int DRAW_ARROW_4_COLOUR = 1;
    
    //Initial Set-Up Values
    const int INIT_ARROW_4_MAX = 20;
    
    //Script for 'Arrow 4' quiver.
    item script Arrow_4_Quiver{
        void run(int increase, int set_exact){
            if ( increase && !set_exact ) IncreaseCounterMax(CTR_MAX_ARROW_4, increase);
            if ( !increase && set_exact ) SetCounterMax(CTR_MAX_ARROW_4, set_exact);
        }
    }
    
    //Script for Arrow 4 ammo.
    item script PickupCustomArrowAmmo4{
        void run(int amount, int sound){
            Game->PlaySound(sound);
            if ( Counters[CTR_ARROW_4] - amount < Counters[CTR_MAX_ARROW_4] ) Counters[CTR_ARROW_4]+=amount;
            if ( Counters[CTR_ARROW_4] - amount > Counters[CTR_MAX_ARROW_4] ) Counters[CTR_ARROW_4] = Counters[CTR_MAX_ARROW_4];
        }
    }
            
    //Example bow item that uses 'IT_ARROW_4' and a custom counter.
    //Assign to an item, with the item class 'Custom itemclass', or one of the 'zz###' item classes
    //as the 'Action; script.
    
    //Arguments:
    //Arguments:
    // D0: The sound to play for firing an arrow.. 
    // D1: The number of ammo to use.
    // D2: The sound effect to play for an error, including too many arrows on screen, or out of arrows in the counter.
    // D3: The maximum number of arrows that the player may have on-screen at any one time. 
    // --> You want to set this argument, as not setting it, will allow the player to fire up to 255 arrows, providing 
    // --> that they have sufficient ammunition. Normal values are between '1' and '4'. 
    // D4: Set to a value of '1' to allow Link to fire arrows while jumping. 
    // D5: The ID of the arrow type to generate.
    // D6: The sprite of the arrow when fired.
    // D7: The distance from Link to place it. 
    
    item script Arrow_CustomCounter{
    	void run(int sound, int errorSFX, int maxOnscreen, int allowLinkZ, int arrowID, int sprite, int dist){
    		int numArrows;
    		if ( Floor(Link->Z) !=0 && !allowLinkZ ) Quit();
    
    			if ( Counters[CTR_ARROW_4] && !maxOnscreen ){
    				( if cost > 1 ) {
                        if ( cost > Counters[CTR_ARROW_4] ) {
                            Game->PlaySound(SFX_ERROR);
                            Quit();
                        }
                        else Counters[CTR_ARROW_4]-=cost;
                    }
                    if ( !cost ) Counters[CTR_ARROW_4]--;
    				if ( sound ) Game->PlaySound(sound);
    				lweapon arrow = NextToLink(LW_ARROW, dist);
    				itemdata normalArrow = Game->LoadItemData(arrowID);
    				arrow->UseSprite(sprite);
    				this->Power = normalArrow->Power;
    			}
    			else if ( Counters[CTR_ARROW_4] && maxOnscreen ){
    				for ( int q = 1; q <= Screen->NumLWeapons(); q++ ) {
    					lweapon l = Screen->LoadLWeapon(q);
    					if ( l->ID == LW_ARROW ) numArrows++;
    				}
    				if ( numArrows < maxOnscreen ) {
                        if ( cost > 1 ) {
                            if ( cost > Counters[CTR_ARROW_4] ) {
                                Game->PlaySound(SFX_ERROR);
                                Quit();
                            else Counters[CTR_ARROW_4]--;
                        }
    					if ( !cost ) Counters[CTR_ARROW_4]--;
    					if ( sound ) Game->PlaySound(sound);
    					lweapon arrow = NextToLink(LW_ARROW, dist);
    					itemdata normalArrow = Game->LoadItemData(arrowOD);
    					arrow->UseSprite(sprite);
    					this->Power = normalArrow->Power;
    				}
    				else Game->PlaySound(errorSFX);
    			}
    			if ( !Counters[CTR_ARROW_4] ) Game->PlaySound(errorSFX);
    		
    	}
    }
    
    //Example Global Scripts
    
    //Active
    global script DrawCounters{
        void run(){
            while(true){
                DrawArrow_4_Counter(true);
                WaitDraw();
                Waitframe();
            }
        }
    }
        
    global script Init{
        void run(){
            Counters[COUNTER_MAX_ARROW_4] = INIT_ARROW_4_MAX;
        }
    }
    
    //Global functions
    
    //Draws custom counter from array[index] using settings passed to the remainder of the params.
    void DrawCounter(int arr, int index, int x, int y, int font, int width, int height, int colour){
        Screen->Drawinteger(7,x,y,colour,0,sizeX,arr[index],0,128);
    }
    
    //Draws the counter for 'Arrow 4'. Set 'only_equipped 'true' if you wish ti display only if equipped.
    void DrawArrow_4_Counter(bool only_equipped){
        if ( only_equipped && ( GetEquipmentA() == IT_ARROW_4 || GetEquipmentB() == IT_ARROW_4 ) )
                    DrawCounter(Counters, CTR_ARROW_4, DRAW_ARROW_4_X, DRAW_ARROW_4_Y, DRAW_ARROW_4_FONT, DRAW_ARROW_4_WIDTH, DRAW_ARROW_4_HEIGHT, DRAW_ARROW_4_COLOUR)'
        if ( !only_equipped ) DrawCounter(Counters, CTR_ARROW_4, DRAW_ARROW_4_X, DRAW_ARROW_4_Y, DRAW_ARROW_4_FONT, DRAW_ARROW_4_WIDTH, DRAW_ARROW_4_HEIGHT, DRAW_ARROW_4_COLOUR)'
    }
    
    //Increases a custom counter max to a specified amount.
    void SetCounterMax(int counter, int amount){
        Counters[counter] = amount;
    }
    
    //Increases a ccustom ounter max by a specified amount.
    void IncreaseCounterMax(int counter, int amount){
        Counters[counter] += amount;
    }


    I made this purely out of me head, in about ten minutes at most. As can see, it's not terribly difficult to do this, and it allows you to display the counter on the screen, wherever you bloody well please. I hope this it sans-error...

    If you want to know how to store, and modify an internal Game->Counter[ctr] by shifting weapons,I can give you an example of that, too. Doing this involves little more than storing one state, (CTR_ARCHIVED_*), and if the weapon is selected, store the previous ammo into a backup array index, read a backup array index for the ammo to load, and transpose their values if the condition test evaluates for the specified state.

  9. #19
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,759
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.52%
    [ unintentional double post ]

  10. #20
    Octorok Lelouche Vi Britannia's Avatar
    Join Date
    Oct 2015
    Location
    Britannia - Area 11
    Posts
    173
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    1,106
    Level
    11
    vBActivity - Bars
    Lv. Percent
    43.68%
    So then is there a way to have a visual counter show up that changes depending on which item is currently set to B?

    Nevermind, figured it out and found the script fix for showing counters for both buttons.
    Last edited by Lelouche Vi Britannia; 03-15-2016 at 06:24 PM. Reason: Found answer
    Lost my wings and grew 8 tentacles... I've seen enough Hentai to know where this is going....

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About us
Armageddon Games is a game development group founded in 1997. We are extremely passionate about our work and our inspirations are mostly drawn from games of the 8-bit and 16-bit era.
Social