Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 17 18 [19] 20 21 ... 78

Author Topic: Arms Race/Design Bureau Hub/General OOC (Got a Discord Channel now)  (Read 110962 times)

Zanzetkuken The Great

  • Bay Watcher
  • The Wizard Dragon
    • View Profile
Re: Arms Race/Design Bureau Hub/General OOC
« Reply #270 on: May 25, 2016, 09:47:05 pm »

Wanting to work on my programming capabilities and have started making some tools for the game.  Very basic right now (uses the command prompt), but it is coming along.  Only one I've made so far indicates a source and severity level of problems resulting from the roll it comes up with, then outputs it into a file underneath the weapon's name.  I'll upload the file tomorrow, as there are a couple variables I want to add to it.  Anyway, any others that people would like me to create to help speed up turns a bit/keep the same speed while increasing complexity?
Logged
Quote from: Eric Blank
It's Zanzetkuken The Great. He's a goddamn wizard-dragon. He will make it so, and it will forever be.
Quote from: 2016 Election IRC
<DozebomLolumzalis> you filthy god-damn ninja wizard dragon

Kashyyk

  • Bay Watcher
  • One letter short of a wookie
    • View Profile
Re: Arms Race/Design Bureau Hub/General OOC
« Reply #271 on: May 26, 2016, 02:04:20 am »

Possibly something that can take a list of equipment and available resources and applies expense levels to them?
Logged

Zanzetkuken The Great

  • Bay Watcher
  • The Wizard Dragon
    • View Profile
Re: Arms Race/Design Bureau Hub/General OOC
« Reply #272 on: May 26, 2016, 08:53:51 pm »

Here's the current code.  Got an error where the rollResult int value will only go up or down 1 level upon the if-else statements, no matter what the value of penalty or attempts is set to. (Had set randomNumber to 50 during testing, only got the two surrounding it).  I hold no doubts it is because I messed something up.  I don't know if I messed the casing formatting up, but I get the nagging feeling I had.  Have limited time for writing code, so can't track down the bug in time.  Plus, a bit of feedback on the current values I have set would be good.

Code: [Select]
using System;
using System.IO;

namespace rollResultCalculator
{
class MainClass
{
public static void Main (string[] args)
{
int uses;
Console.WriteLine ("How many times have you run this program before?");
uses = Convert.ToInt32(Console.ReadLine());

string filename = "output" + uses + ".txt";
int decision = 1;

FileStream outFile = new FileStream(filename, FileMode.Create, FileAccess.Write);
StreamWriter writeToFile = new StreamWriter (outFile);

Console.WriteLine ("This is the output file name for this run: " + filename);

while (decision == 1) {

Random rnd = new Random ();
int randomNumber = rnd.Next (1, 100);
string weapon;
int attempts = 0;
int attemptsResult = 0;
int rollResult = 0;
int check = 0;
int penalty = 0;
string printResult;
string writerOutput;
int attemptsMultiply = 5;

Console.WriteLine ("Input weapon name:");
weapon = Convert.ToString (Console.ReadLine ());
writeToFile.WriteLine (weapon);

Console.WriteLine ("Input number of prior attempts of this weapon type:");
attempts = Convert.ToInt32 (Console.ReadLine ());

if (attempts == 0) {

Console.WriteLine ("Has a design similar to this type been made before (ex. Design is a tank and an armored car has been made)? 1 = Yes, 0 = No");
check = Convert.ToInt32 (Console.ReadLine ());

if (check == 0) {
Console.WriteLine ("Has a design of this type been made by a nearby faction before (ex. If design is a tank, has the foe made a tank)? 1 = Yes, 0 = No");
check = Convert.ToInt32 (Console.ReadLine ());

if (check == 0) {
Console.WriteLine ("Has a design similar to this type been made by a nearby faction before (ex. Design is a tank and an armored car has been made)? 1 = Yes, 0 = No");
check = Convert.ToInt32 (Console.ReadLine ());

if (check == 0) {
Console.WriteLine ("Has a design of this type been made upon the planet before? 1 = Yes, 0 = No");
check = Convert.ToInt32 (Console.ReadLine ());

if (check == 0) {
Console.WriteLine ("Has a design similar to this type been made upon the planet before? 1 = Yes, 0 = No");
check = Convert.ToInt32 (Console.ReadLine ());

if (check == 0) {
penalty = 30;

} else {
penalty = 25;
}

} else {
penalty = 20;
}

} else {
penalty = 15;
}

} else {
penalty = 10;
}

} else {
penalty = 5;
}
rollResult = randomNumber - penalty;

} else {
attemptsResult = attempts * attemptsMultiply;
rollResult = randomNumber + attemptsResult;
}

if (rollResult > 5) {

if (rollResult > 15) {

if (rollResult > 30) {

if (rollResult > 45) {

if (rollResult > 60) {

if (rollResult > 80) {

if (rollResult > 100) {

printResult = Convert.ToString ("The design has no problems.");
Console.WriteLine (printResult);
writerOutput = printResult;
writeToFile.WriteLine (writerOutput);

} else {
printResult = Convert.ToString ("The design has minor problems with its existing components.");
Console.WriteLine (printResult);
writerOutput = printResult;
writeToFile.WriteLine (writerOutput);
}

} else {
printResult = Convert.ToString ("The design has minor problems with its new components.");
Console.WriteLine (printResult);
writerOutput = printResult;
writeToFile.WriteLine (writerOutput);
}
} else {
printResult = Convert.ToString ("The design has minor problems with all its components.");
Console.WriteLine (printResult);
writerOutput = printResult;
writeToFile.WriteLine (writerOutput);
}
} else {
printResult = Convert.ToString ("The design has major problems with its new components, and minor problems with its other components.");
Console.WriteLine (printResult);
writerOutput = printResult;
writeToFile.WriteLine (writerOutput);
}
} else {
printResult = Convert.ToString ("The design has minor problems with its new components, and major problems with its other components.");
Console.WriteLine (printResult);
writerOutput = printResult;
writeToFile.WriteLine (writerOutput);
}
} else {
printResult = Convert.ToString ("The design has major problems with all its components.");
Console.WriteLine (printResult);
writerOutput = printResult;
writeToFile.WriteLine (writerOutput);
}
} else {
printResult = Convert.ToString ("The design will not work at all.");
Console.WriteLine (printResult);
writerOutput = printResult;
writeToFile.WriteLine (writerOutput);
}

writeToFile.WriteLine ();

Console.WriteLine ("Do you want to run this again? 1 = yes, 0 = no");

decision = Convert.ToInt32(Console.ReadLine ());
}

writeToFile.Close();
outFile.Close();

}
}
}

Possibly something that can take a list of equipment and available resources and applies expense levels to them?

I shall attempt to get something up for it by tomorrow.
Logged
Quote from: Eric Blank
It's Zanzetkuken The Great. He's a goddamn wizard-dragon. He will make it so, and it will forever be.
Quote from: 2016 Election IRC
<DozebomLolumzalis> you filthy god-damn ninja wizard dragon

Zanzetkuken The Great

  • Bay Watcher
  • The Wizard Dragon
    • View Profile
Re: Arms Race/Design Bureau Hub/General OOC
« Reply #273 on: May 27, 2016, 09:57:57 pm »

Possibly something that can take a list of equipment and available resources and applies expense levels to them?

This should work.  Code is below.  It is not writing out a file, but I'm chalking that up to having encrypted the disk on my linux computer for now.  Going to be finding out what went wrong with the prior one now.  Tell me if there are any issues.

Code: [Select]
using System;
using System.IO;

namespace expenseCalculator
{
class MainClass
{
public static void Main (string[] args)
{
int uses;
Console.WriteLine ("How many times have you run this program before?");
uses = Convert.ToInt32(Console.ReadLine());

string filename = "expense_calculator_output_" + uses + ".txt";
int decision = 1;

FileStream outFile = new FileStream(filename, FileMode.Create, FileAccess.Write);
StreamWriter writeToFile = new StreamWriter (outFile);

Console.WriteLine ("This is the output file name for this run: " + filename);

string weapon;
int orecost;
int oreavailable;
int oilcost;
int oilavailable;
int oreexpense;
int oilexpense;
int complexityexpense;
int oreexpenselevels = 0;
int oilexpenselevels = 0;
int totalexpenselevels = 0;

while (decision == 1) {

Console.WriteLine ("Name of the Design:");
weapon = Console.ReadLine ();
writeToFile.WriteLine (weapon);

Console.WriteLine ("How much of the first resource does this cost?");
orecost = Convert.ToInt32(Console.ReadLine());

Console.WriteLine ("How much of the first resource is available?");
oreavailable = Convert.ToInt32 (Console.ReadLine ());

Console.WriteLine ("How much of the second resource does this cost?");
oilcost = Convert.ToInt32(Console.ReadLine());

Console.WriteLine ("How much of the second resource is available?");
oilavailable = Convert.ToInt32 (Console.ReadLine ());

Console.WriteLine ("How many pieces of technology that have the complex tag are there?");
complexityexpense = Convert.ToInt32 (Console.ReadLine ());

oreexpense = orecost - oreavailable;

oilexpense = oilcost - oilavailable;

Console.WriteLine ("The amount of ore needed is:" + oreexpense);

Console.WriteLine ("The amount of oil needed is:" + oilexpense);

if (oreexpense > 0) {
if (oreexpense > 2) {
if (oreexpense > 5) {
if (oreexpense > 9) {
if (oreexpense > 14) {
oreexpenselevels = 5;
} else {
oreexpenselevels = 4;
}
} else {
oreexpenselevels = 3;
}
} else {
oreexpenselevels = 2;
}
} else {
oreexpenselevels = 1;
}
}

if (oilexpense > 0) {
if (oilexpense > 2) {
if (oilexpense > 5) {
if (oilexpense > 9) {
if (oilexpense > 14) {
oilexpenselevels = 5;
} else {
oilexpenselevels = 4;
}
} else {
oilexpenselevels = 3;
}
} else {
oilexpenselevels = 2;
}
} else {
oilexpenselevels = 1;
}
}

totalexpenselevels = oreexpenselevels + oilexpenselevels + complexityexpense;

Console.WriteLine ("The expense level for the device is " + totalexpenselevels);

writeToFile.WriteLine (totalexpenselevels);

writeToFile.WriteLine ();

Console.WriteLine ("Do you want to run this again? 1 = yes, 0 = no");

decision = Convert.ToInt32(Console.ReadLine ());
}

writeToFile.Close();
outFile.Close();


}
}
}

Edit: Added a display for the number on the prior one.  Turns out, it is working properly, I was just being an idiot in tracing where the results were.  Here's a download link for the .exe file.
« Last Edit: May 27, 2016, 10:04:47 pm by Zanzetkuken The Great »
Logged
Quote from: Eric Blank
It's Zanzetkuken The Great. He's a goddamn wizard-dragon. He will make it so, and it will forever be.
Quote from: 2016 Election IRC
<DozebomLolumzalis> you filthy god-damn ninja wizard dragon

10ebbor10

  • Bay Watcher
  • DON'T PANIC
    • View Profile
Re: Arms Race/Design Bureau Hub/General OOC
« Reply #274 on: May 28, 2016, 07:44:52 am »

Anyway, this seems like a nice place to discuss this. An idea for yet another Arms Race variant.

The basic structure would be identical to Sensei's games and others, so I'm not going to discuss that.

The difference would be that this takes place in the Cold War. 1950's and onwards.

For that, there are a few mechanics.

The MAD meter and influence

A defining charestristic of the Cold war is the possibility for mutual annihilation. Both sides can design nuclear weaponry and related systems, leading to greatly increasing tensions. For that matter,  a MAD meter is kept, which ticks closer to armaggedon every time such a provocative weapon is designed. (Or you know, since we don't want to blow up the world on turn 3, it might result in a mutual disarmament treaty, meaning either side looses it's fancy toys.)

Now, while most of this weaponry is unlikely to be used, it has it's other benefits. Having the advantage is the arms race allows the country to more easily influence global events among other benefits.

Flashpoints

Both major superpowers never entered in conflict. So, rather than one, major conflict, there was a series of crisises, proxy wars, and so on. Both sides gain influence, which they can use at times to trigger conflicts of their choice. Things like the Cuban missile crisis and the Korean war, for example.
Logged

Zanzetkuken The Great

  • Bay Watcher
  • The Wizard Dragon
    • View Profile
Re: Arms Race/Design Bureau Hub/General OOC
« Reply #275 on: May 28, 2016, 09:23:16 am »

Will the MAD meter be counting to midnight, out of curiously?
Logged
Quote from: Eric Blank
It's Zanzetkuken The Great. He's a goddamn wizard-dragon. He will make it so, and it will forever be.
Quote from: 2016 Election IRC
<DozebomLolumzalis> you filthy god-damn ninja wizard dragon

10ebbor10

  • Bay Watcher
  • DON'T PANIC
    • View Profile
Re: Arms Race/Design Bureau Hub/General OOC
« Reply #276 on: May 28, 2016, 09:38:10 am »

That's an option, but probably somewhat confusing.
Logged

Aseaheru

  • Bay Watcher
  • Cursed by the Elves with a title.
    • View Profile
Re: Arms Race/Design Bureau Hub/General OOC
« Reply #277 on: May 28, 2016, 11:08:51 am »

So, one design per turn, and one turn per year?
Logged
Highly Opinionated Fool
Warning, nearly incapable of expressing tone in text

3_14159

  • Bay Watcher
    • View Profile
Re: Arms Race/Design Bureau Hub/General OOC
« Reply #278 on: May 28, 2016, 04:05:53 pm »

Here's the current code.  Got an error where the rollResult int value will only go up or down 1 level upon the if-else statements, no matter what the value of penalty or attempts is set to. (Had set randomNumber to 50 during testing, only got the two surrounding it).  I hold no doubts it is because I messed something up.  I don't know if I messed the casing formatting up, but I get the nagging feeling I had.  Have limited time for writing code, so can't track down the bug in time.  Plus, a bit of feedback on the current values I have set would be good.

[snip]

I shall attempt to get something up for it by tomorrow.
[/quote]
Assuming you also would like some feedback on the code itself. It's not an attack on you or your coding, only an attempt to improve your style.
Please also note that my last  C# programming is about five years back and I did not test the code below, so I might have made some mistakes.

1. Replace the question/answers with a bool-returning function, i.e.
   
Code: [Select]
        if (ask_bool("Has a design similar to this type been made before (ex. Design is a tank and an armored car has been made)?")) {
   
    which automatically adds the "1 = Yes, 0 = No" part and conversion.

2. Those nested ifs look very confusing, and you run the risk of choosing the wrong research penalty to change later on. Instead, I'd recommend either something like this:
   
Code: [Select]
        continue_checking = True;
        if (continue_checking && not ask_bool("Has a design similar to this type been made before (ex. Design is a tank and an armored car has been made)?")) {
            continue_checking = False;
            penalty = 5;
        }
        if (continue_checking && not ask_bool("Has a design of this type been made by a nearby faction before (ex. If design is a tank, has the foe made a tank)?")) {
            continue_checking = False;
            penalty = 10;
        }
        etc.
   
    Alternatively, write a for-loop and store the penalty and question in a dictionary. That also cuts down on repeated code. I can't ad-lib that in C#, but in python it'd look something like this:

   
Code: [Select]
        penalty_questions = {
                5: "Has a design similar to this type been made before (ex. Design is a tank and an armored car has been made)?",
                10: "Has a design of this type been made by a nearby faction before (ex. If design is a tank, has the foe made a tank)?"
            }
        for k in sorted(penalty_questions.keys()):
            if ask_bool(penalty_questions[k]):
                penalty = k
                break
   

3. It's the same for the actual results. The many levels of indentation make it difficult to follow and difficult to change. I'd recommend either a for-loop as above or just assigning the string, then doing the write-out later on, i.e.:
   
Code: [Select]
        if (roll_result > 100) {
            printResult = "The design has no problems.";
        } else if (rollResult > 80) {
            printResult = "The design has minor problems with its existing components.";
        } else etc

        }
        Console.WriteLine (Convert.ToString(printResult));
        writerOutput = printResult;
        writeToFile.WriteLine (writerOutput);
   
Speaking of which, else-if statements.

4. By the way, your random generator returns numbers from 1 to 99 (inclusive).
5. Also, you're regenerating your random number generator every time you reiterate. Don't, just do it once per run.
6. Also, ask for bools, not ints.
7. Also note that you never actually modify attempts.
8. Also note that, once you reattempt a result, you'll always ignore any previous penalty.

Also, do you know that you always have a penalty of at least 5 unless reattempting?

Lastly, I had a fun time (uglily) reimplementing it in python:
Code: [Select]
import random


def ask_bool(question):
    ask_str = question + " [y/n] "
    while True:
        answer = raw_input(ask_str)
        if answer.lower() in ["y", "yes", "1"]:
            return True
        if answer.lower() in ["n", "no", "0"]:
            return False


def get_first_attempt_penalty():
    continue_asking = True
    questions = [
            ("Has a design similar to this type been made before (ex. Design is a tank and an armored car has been made)?", 5),
            ("Has a design of this type been made by a nearby faction before (ex. If design is a tank, has the foe made a tank)?", 10),
            ("Has a design similar to this type been made by a nearby faction before (ex. Design is a tank and an armored car has been made)?", 15),
            ("Has a design of this type been made upon the planet before?", 20),
            ("Has a design similar to this type been made upon the planet before?", 25)
        ]
    worst_penalty = 30
   
    penalty = None
    for q in questions:
        if ask_bool(q[0]):
            penalty = q[1]
            break
    if penalty is None:
        penalty = worst_penalty
    return penalty


def print_result(roll_result, outfile=None):
    results = {
        5: "The design has major problems with all its components.",
        15: "The design has minor problems with its new components, and major problems with its other components.",
        30: "The design has major problems with its new components, and minor problems with its other components.",
        45: "The design has minor problems with all its components.",
        60: "The design has minor problems with its new components.",
        80: "The design has minor problems with its existing components.",
        100: "The design has no problems.",
        }
    default_result = "The design will not work at all"
   
    for k in sorted(results.keys(), reverse=True):
        if roll_result > k:
            print(results[k])
            if file is not None:
                outfile.write(str(roll_result) + ": " + results[k] + "\n")
            return
   
    print(default_result)
    if file is not None:
        outfile.write(str(roll_result) + ": " + default_result + "\n")
   

attempts_multiply = 5
decision = True

uses = raw_input("How many times have you run this program before? ")
filename = "output" + str(uses) + ".txt"
with open(filename, "w") as outfile:
    print("This is the output file name for this run: " + filename)
    attempts = 0
   
    weapon_name = raw_input("Please type weapon name: ")
    outfile.write(weapon_name + "\n")
   
    while decision:
        random_number = random.randint(1, 100)
       
        if attempts == 0:
            penalty = get_first_attempt_penalty()
            print("Penalty is %s" %penalty)
            roll_result = random_number - penalty
        else:
            attempts_result = attempts * attempts_multiply
            roll_result = random_number + attempts_result
        print("Result is %s (rolled %s)" %(roll_result, random_number))
        print_result(roll_result, outfile)
       
        attempts += 1
        decision = ask_bool("Do you want to run this again?")
Logged

Zanzetkuken The Great

  • Bay Watcher
  • The Wizard Dragon
    • View Profile
Re: Arms Race/Design Bureau Hub/General OOC
« Reply #279 on: June 07, 2016, 04:44:23 pm »

Considering the combat between Bay 12 and Spacebattles may soon occur, I've made what I believe to be a complete listing of the most modern weapons of each category used by infantry of the former nations of Arstotzka and Moskurg.  Now to narrow it down to which would be the better design for United Forenia to equip their armies.  I'll get to work on the table for the vehicles with the next post I make Edit: No one had posted, so could be editted in.



Sidearm  I  AS-SP30  I  Five-Shooter
Mortar  I AS-1911 8cm Mortar  I AS-1911 8cm Mortar
Sniper Rifle  I AS-F14A(?) w/ AS-O30 Optics   I M2 Osprey w/ Eagle Sight MkII
Assault Rifle  I AS-AR34  I MK-47A
Autocannon  I AS-AC18  I
Heavy Machine Gun  I   I M3 Sorraia GPMG
Light Machine Gun  I AS-1924  I
Submachine Gun  I AS-MC16  I Cascade Sub-Machine Gun
Shotgun  I Sawed-off Shotgun  I Sawed-off Shotgun
Landmine  I AS-LM20  I M34 Viper Landmine
Recoilless Rifle  I   I Rhino Recoilless Rifle
Rocket Propelled Grenade  I RPG28 A  I
Shaped Charge  I   I Shaped Charge
Grenade  I AS-G27  I
Flamethrower  I   I Incinerator Flamethrower
Sword  I   I Scimitar
Radio  I IP-R25  I Model 3 Radio
Encrypted Radio  I AS-DC29  I Tiger's Whisper
Infantry Armor  I IP-IA35  I Tiger Infantry Armor
Parachute  I AS-P32  I
Horses  I    I  Horses
Motorcycle  I  AS-M17A  I 
Truck  I  AS-HV19  I  L-1 Tiger
Armored Car  I  AS-MV21-AL  I  Struunk I
Self-Propelled Gun  I  AS-MAT26-50  I  SPAT
Light Armored Tank  I    I  T1 Smasher Mk II
Medium Armored Tank  I  AS-T25  I  T2 Breaker
Heavy Armored Tank  I  AS-T33  I 
Howitzer  I    I  Bombardier
Artillery  I  AS-1912 Artillery A  I  B2 Destroyer
Anti-Tank/Anti-Air  I    I  Bumblebee AT/AA
Fighter  I  AS-HF-32  I  Model 4 Yellowjacket
Bomber  I  AS-1931-HAFB  I 
Dive Bomber  I  AS-DB-HF-23  I 
Navy  I  AS-CV22  I 
Trains  I  Armored/AS-51 S/Coal  I  Model 52 Steam Engine/Oil
Mobile Runway  I  AS-ARAC-35  I 
Rocket Boulder  I    I  Death Ball



Assuming you also would like some feedback on the code itself. It's not an attack on you or your coding, only an attempt to improve your style.
Please also note that my last  C# programming is about five years back and I did not test the code below, so I might have made some mistakes.

I've only had an introductory class that I only partially remember to a significant degree, so anything you can provide would help.  I'll implement your suggestions when I get back home.
« Last Edit: June 07, 2016, 10:07:09 pm by Zanzetkuken The Great »
Logged
Quote from: Eric Blank
It's Zanzetkuken The Great. He's a goddamn wizard-dragon. He will make it so, and it will forever be.
Quote from: 2016 Election IRC
<DozebomLolumzalis> you filthy god-damn ninja wizard dragon

Taricus

  • Bay Watcher
    • View Profile
Re: Arms Race/Design Bureau Hub/General OOC
« Reply #280 on: June 07, 2016, 09:26:49 pm »

Zan I already did a list a few pages back. Admittedly it is a little brief but it does sum up the equipment a united florenia would use.
Logged
Quote from: evictedSaint
We sided with the holocaust for a fucking +1 roll

Zanzetkuken The Great

  • Bay Watcher
  • The Wizard Dragon
    • View Profile
Re: Arms Race/Design Bureau Hub/General OOC
« Reply #281 on: June 07, 2016, 10:02:31 pm »

Zan I already did a list a few pages back. Admittedly it is a little brief but it does sum up the equipment a united florenia would use.

True, but there are a few categories that are listed here (Radio, Infantry Armor, Coded Radios, Shotgun, etc.) that were not in yours and I wanted to provide a list of exactly what our options would be from each side are in each category rather than only listing one.  Will add in a dive bomber fighter category, though.
« Last Edit: June 07, 2016, 10:06:52 pm by Zanzetkuken The Great »
Logged
Quote from: Eric Blank
It's Zanzetkuken The Great. He's a goddamn wizard-dragon. He will make it so, and it will forever be.
Quote from: 2016 Election IRC
<DozebomLolumzalis> you filthy god-damn ninja wizard dragon

Taricus

  • Bay Watcher
    • View Profile
Re: Arms Race/Design Bureau Hub/General OOC
« Reply #282 on: June 07, 2016, 10:14:39 pm »

Well, anything that wasn't explicitly entered into the list that had no counterpart was presumed to enter service with no problem, since there was no competition for those slots. The selection for that list was mostly to clarify what florenian forces would actually be using.

Should get around to asking Sensei if I can work on a list that would essentially be the UF armoury at the start of the next game, since it'll include a few revisions on existing equipment and a few notable units that use that equipment.
Logged
Quote from: evictedSaint
We sided with the holocaust for a fucking +1 roll

Ukrainian Ranger

  • Bay Watcher
    • View Profile
Re: Arms Race/Design Bureau Hub/General OOC
« Reply #283 on: June 08, 2016, 05:33:34 am »

I hope the other side will not use the list for countering United Florenia designs instead of focusing on their own war.
Logged
War must be, while we defend our lives against a destroyer who would devour all; but I do not love the bright sword for its sharpness, nor the arrow for its swiftness, nor the warrior for his glory. I love only that which they defend.

Taricus

  • Bay Watcher
    • View Profile
Re: Arms Race/Design Bureau Hub/General OOC
« Reply #284 on: June 08, 2016, 06:05:08 am »

Given half the shit that turbados has, I doubt they'll need to.
Logged
Quote from: evictedSaint
We sided with the holocaust for a fucking +1 roll
Pages: 1 ... 17 18 [19] 20 21 ... 78