Initial Commit

This commit is contained in:
Jesse James Isler 2022-09-22 12:42:37 +02:00
parent 6809e60e0c
commit 40fe6577cd
39 changed files with 24453 additions and 0 deletions

95
LICENSE.md Normal file
View File

@ -0,0 +1,95 @@
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License
By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
Section 1 Definitions.
Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
BY-NC-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License.
Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution, NonCommercial, and ShareAlike.
Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
Licensor means the individual(s) or entity(ies) granting rights under this Public License.
NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange.
Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
Section 2 Scope.
License grant.
Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and
produce, reproduce, and Share Adapted Material for NonCommercial purposes only.
Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
Term. The term of this Public License is specified in Section 6(a).
Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
Downstream recipients.
Offer from the Licensor Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
Additional offer from the Licensor Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapters License You apply.
No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
Other rights.
Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
Patent and trademark rights are not licensed under this Public License.
To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes.
Section 3 License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the following conditions.
Attribution.
If You Share the Licensed Material (including in modified form), You must:
retain the following if it is supplied by the Licensor with the Licensed Material:
identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
a copyright notice;
a notice that refers to this Public License;
a notice that refers to the disclaimer of warranties;
a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
ShareAlike.
In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply.
The Adapters License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-NC-SA Compatible License.
You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material.
You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply.
Section 4 Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only;
if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and
You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
Section 5 Disclaimer of Warranties and Limitation of Liability.
Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
Section 6 Term and Termination.
This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
Section 7 Other Terms and Conditions.
The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
Section 8 Interpretation.
For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.

9067
css/materialize.css vendored Normal file

File diff suppressed because it is too large Load Diff

13
css/materialize.min.css vendored Normal file

File diff suppressed because one or more lines are too long

77
css/styles.css Normal file
View File

@ -0,0 +1,77 @@
html {
/* background: url("https://cutewallpaper.org/21/gmod-backgrounds/Garrys-Mod-Ttt-Addons-Kesho-Wazo.jpg") no-repeat center center fixed; */
background: url("https://img4.goodfon.com/wallpaper/nbig/2/39/tokho-toukhou-devushka-fon-mech.jpg") no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
--scrollbarBG: #CFD8DC00;
--thumbBG: #90A4AE00;
}
body::-webkit-scrollbar {
width: 0px;
}
body {
scrollbar-width: thin;
scrollbar-color: var(--thumbBG) var(--scrollbarBG);
}
body::-webkit-scrollbar-track {
background: var(--scrollbarBG);
}
body::-webkit-scrollbar-thumb {
background-color: var(--thumbBG) ;
border-radius: 6px;
border: 3px solid var(--scrollbarBG);
}
.card {
border-top-right-radius: 42px;
opacity: 0.9;
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAAUVBMVEWFhYWDg4N3d3dtbW17e3t1dXWBgYGHh4d5eXlzc3OLi4ubm5uVlZWPj4+NjY19fX2JiYl/f39ra2uRkZGZmZlpaWmXl5dvb29xcXGTk5NnZ2c8TV1mAAAAG3RSTlNAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAvEOwtAAAFVklEQVR4XpWWB67c2BUFb3g557T/hRo9/WUMZHlgr4Bg8Z4qQgQJlHI4A8SzFVrapvmTF9O7dmYRFZ60YiBhJRCgh1FYhiLAmdvX0CzTOpNE77ME0Zty/nWWzchDtiqrmQDeuv3powQ5ta2eN0FY0InkqDD73lT9c9lEzwUNqgFHs9VQce3TVClFCQrSTfOiYkVJQBmpbq2L6iZavPnAPcoU0dSw0SUTqz/GtrGuXfbyyBniKykOWQWGqwwMA7QiYAxi+IlPdqo+hYHnUt5ZPfnsHJyNiDtnpJyayNBkF6cWoYGAMY92U2hXHF/C1M8uP/ZtYdiuj26UdAdQQSXQErwSOMzt/XWRWAz5GuSBIkwG1H3FabJ2OsUOUhGC6tK4EMtJO0ttC6IBD3kM0ve0tJwMdSfjZo+EEISaeTr9P3wYrGjXqyC1krcKdhMpxEnt5JetoulscpyzhXN5FRpuPHvbeQaKxFAEB6EN+cYN6xD7RYGpXpNndMmZgM5Dcs3YSNFDHUo2LGfZuukSWyUYirJAdYbF3MfqEKmjM+I2EfhA94iG3L7uKrR+GdWD73ydlIB+6hgref1QTlmgmbM3/LeX5GI1Ux1RWpgxpLuZ2+I+IjzZ8wqE4nilvQdkUdfhzI5QDWy+kw5Wgg2pGpeEVeCCA7b85BO3F9DzxB3cdqvBzWcmzbyMiqhzuYqtHRVG2y4x+KOlnyqla8AoWWpuBoYRxzXrfKuILl6SfiWCbjxoZJUaCBj1CjH7GIaDbc9kqBY3W/Rgjda1iqQcOJu2WW+76pZC9QG7M00dffe9hNnseupFL53r8F7YHSwJWUKP2q+k7RdsxyOB11n0xtOvnW4irMMFNV4H0uqwS5ExsmP9AxbDTc9JwgneAT5vTiUSm1E7BSflSt3bfa1tv8Di3R8n3Af7MNWzs49hmauE2wP+ttrq+AsWpFG2awvsuOqbipWHgtuvuaAE+A1Z/7gC9hesnr+7wqCwG8c5yAg3AL1fm8T9AZtp/bbJGwl1pNrE7RuOX7PeMRUERVaPpEs+yqeoSmuOlokqw49pgomjLeh7icHNlG19yjs6XXOMedYm5xH2YxpV2tc0Ro2jJfxC50ApuxGob7lMsxfTbeUv07TyYxpeLucEH1gNd4IKH2LAg5TdVhlCafZvpskfncCfx8pOhJzd76bJWeYFnFciwcYfubRc12Ip/ppIhA1/mSZ/RxjFDrJC5xifFjJpY2Xl5zXdguFqYyTR1zSp1Y9p+tktDYYSNflcxI0iyO4TPBdlRcpeqjK/piF5bklq77VSEaA+z8qmJTFzIWiitbnzR794USKBUaT0NTEsVjZqLaFVqJoPN9ODG70IPbfBHKK+/q/AWR0tJzYHRULOa4MP+W/HfGadZUbfw177G7j/OGbIs8TahLyynl4X4RinF793Oz+BU0saXtUHrVBFT/DnA3ctNPoGbs4hRIjTok8i+algT1lTHi4SxFvONKNrgQFAq2/gFnWMXgwffgYMJpiKYkmW3tTg3ZQ9Jq+f8XN+A5eeUKHWvJWJ2sgJ1Sop+wwhqFVijqWaJhwtD8MNlSBeWNNWTa5Z5kPZw5+LbVT99wqTdx29lMUH4OIG/D86ruKEauBjvH5xy6um/Sfj7ei6UUVk4AIl3MyD4MSSTOFgSwsH/QJWaQ5as7ZcmgBZkzjjU1UrQ74ci1gWBCSGHtuV1H2mhSnO3Wp/3fEV5a+4wz//6qy8JxjZsmxxy5+4w9CDNJY09T072iKG0EnOS0arEYgXqYnXcYHwjTtUNAcMelOd4xpkoqiTYICWFq0JSiPfPDQdnt+4/wuqcXY47QILbgAAAABJRU5ErkJggg==") repeat center center;
}
.blurry {
border-top-right-radius: 42px;
backdrop-filter: blur(7px) !important;
}
.sidenav-overlay {
backdrop-filter: blur(10px) !important;
}
pre {
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
overflow-x: auto;
white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;
}
pre code {
color: #fff;
background-color: #aaa;
border: 1px solid #999;
display: block;
padding: 5px;
overflow-x: auto;
white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;
}
.background img {
width: 100%;
}
.center_all_things {
position: absolute;
top: 50%;
left: 50%;
margin-right: -50%;
transform: translate(-50%, -50%);
}

266
index.php Normal file
View File

@ -0,0 +1,266 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>TTT2 Role Overview</title>
<meta name="description" content="All TTT2 Roles halfheartedly documented">
<meta name="author" content="James">
<meta property="og:title" content="TTT2 Role Overview">
<meta property="og:type" content="website">
<meta property="og:url" content="https://ttt.james-things.com">
<meta property="og:description" content="All TTT2 Roles documented halfheartedly">
<meta property="og:image" content="https://e7.pngegg.com/pngimages/710/403/png-clipart-the-embodiment-of-scarlet-devil-team-shanghai-alice-video-game-banjo-tooie-mario-luigi-partners-in-time-marisa-logo-computer-wallpaper.png">
<link rel="icon" href="/favicon.ico">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<!--MATERIALIZE-->
<!--Import jQuery-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link type="text/css" rel="stylesheet" href="css/materialize.min.css" media="screen,projection"/>
<!--My Custom Stylesheet-->
<link rel="stylesheet" href="css/styles.css">
</head>
<body>
<ul id="slide-out" class="sidenav">
<li>
<div class="user-view">
<div class="background">
<img src="https://external-preview.redd.it/7j49A5chcbjitz5C6QHYbZ80EW4QMKPO7dEZwJDu2PM.jpg?auto=webp&s=3d2518085b02a5e80dcb34c31479499d2e9a14d1">
</div>
<div class="blurry">
<a href="https://steamcommunity.com/workshop/filedetails/?id=1737053146"><span class="center white-text name">TTT2 Role Overview</span></a>
<a href="https://steamcommunity.com/id/truebaka/"><span class="center white-text email">Made by James</span></a>
</div>
</div>
</li>
<li><a href="https://discord.gg/Npcbb4W">Official TTT2 Discord</a></li>
<li><a href="login.php">Create your own! <b>[BETA]</b></a></li>
<li><div class="divider"></div></li>
<li><a class="subheader">Roles</a></li>
<?php
$defaultlanguage = "en";
# Get language from URL
if(isset($_GET["lang"])) {
$language = $_GET["lang"];
} else {
$language = $defaultlanguage;
}
#Check if Language folder exists
if(file_exists("roles/".$language."/")) {
$files = glob("roles/".$language."/*.php");
} else {
$language = $defaultlanguage;
$files = glob("roles/".$language."/*.php");
}
#Get all files from the language folder
sort($files);
foreach ($files as $filename) {
include $filename;
$shortname = substr($filename, 9);
$shortname = substr($shortname, 0, -4);
echo '
<div class="col s12">
<div class="card-panel '.$color.' '.$tcolor.'-text">
<li>
<a class="sidenav-close waves-effect '.$tcolor.'-text" href="#'.$shortname.'">
<span class="card-title">'.$name.'</span>
</a>
</li>
</div>
</div>
';
};
?>
</ul>
<div class="fixed-action-btn">
<a id="menu" href="#" data-target="slide-out" class="sidenav-trigger btn-floating btn-large waves-effect waves-dark brown"><i class="material-icons">menu</i></a>
</div>
<!-- Tap Target Structure -->
<div class="tap-target indigo white-text" data-target="menu">
<div class="tap-target-content">
<h5 class="center">Menu</h5>
<p>You can find an overview to all the Roles over here!</p>
<p>Also is it just me or might this be a bit overkill? You know, this huge bubble which informs you about a Menu you probably have found yourself</p>
</div>
</div>
<div class="container">
<?php
$defaultlanguage = "en";
# Get language from URL
if(isset($_GET["lang"])) {
$language = $_GET["lang"];
} else {
$language = $defaultlanguage;
}
#Check if Language folder exists
if(file_exists("roles/".$language."/")) {
$files = glob("roles/".$language."/*.php");
} else {
$language = $defaultlanguage;
$files = glob("roles/".$language."/*.php");
}
#Get all files from the language folder
sort($files);
$count = 1;
foreach ($files as $filename) {
include $filename;
$shortname = substr($filename, 9);
$shortname = substr($shortname, 0, -4);
/*
if ($count%2 == 1)
{
echo "<div class='row'>";
}
*/
echo '
<div class="col s12">
<div class="blurry">
<div class="card '.$color.' '.$tcolor.'-text">
<div class="card-content">
<span class="card-title" id="'.$shortname.'">'.$name.'</span>
<p>'.$description.'</p>
</div>
<ul class="collapsible black-text white">
<li class="active">
<div class="collapsible-header"><i class="material-icons">help_outline</i>How to Play</div>
<div class="collapsible-body"><pre>'.$howtoplay.'</pre></div>
</li>
<li>
<div class="collapsible-header"><i class="material-icons">check</i>Plays best with</div>
<div class="collapsible-body"><span>'.$playsbestwith.'</span></div>
</li>
<li>
<div class="collapsible-header"><i class="material-icons">code</i>Convars</div>
<div class="collapsible-body"><pre>'.$convars.'</pre></div>
</li>
<li>
<div class="collapsible-header"><i class="material-icons">whatshot</i>Credits</div>
<div class="collapsible-body"><span>Main Creator: <a href="'.$authorurl.'">'.$author.'</a><br><pre>'.$ctext.'</pre></span></div>
</li>
<li>
<div class="collapsible-header"><i class="material-icons">link</i>Links</div>
<div class="center collapsible-body">
<span>
<a href="'.$steam.' ">Steam Workshop</a>
<br>
<a href="'.$source.'">Github Source</a></div>
</span>
</li>
</ul>
</div>
</div>
</div>
';
/*
if ($count%2 == 0)
{
echo "</div>";
}
$count++;
*/
}
// if ($count%2 != 1) echo "</div>";
?>
</div>
<footer class="page-footer indigo">
<div class="container">
<div class="row">
<div class="col l6 s12">
<h5 class="white-text">Thanks for using this list</h5>
<p class="grey-text text-lighten-4">You might not think of it, but the fact that you are reading this is allready confirmation enough, that this project was worth the weight</p> <!-- Also bonus points for reading the source ;) -->
</div>
</div>
</div>
<div class="footer-copyright indigo darken-1">
<div class="container">
© <?php echo date("Y"); ?> Jesse James Isler
</div>
</div>
</footer>
<!-- Start Tab init -->
<script>
function setCookie(name,value,days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days*24*60*60*1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=/";
}
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function closeToasts() {
setCookie('loading','true', 1);
M.Toast.dismissAll()
$('.tap-target').tapTarget('open');
}
function openCookies() {
location.href = "https://ttt.james-things.com/cookies.php";
}
$(document).ready(function(){
$('.collapsible').collapsible();
$('.sidenav').sidenav();
$('.tap-target').tapTarget();
// Only show the Menu informer once
var x = getCookie('loading');
if (x) {} else {
// Cookie warn
M.toast({html: "By using my page you accept our cookies! <button class='btn-flat waves-effect waves-light toast-action' onclick='closeToasts()'>I don't care</button> <button onclick='openCookies()' class='btn-flat waves-effect waves-light toast-action''>What cookies?</button>", displayLength: "9999999999999999999999999999999"})
}
});
</script>
<!--JavaScript at end of body for optimized loading-->
<script type="text/javascript" src="js/materialize.min.js"></script>
</body>
</html>

12374
js/materialize.js vendored Normal file

File diff suppressed because it is too large Load Diff

6
js/materialize.min.js vendored Normal file

File diff suppressed because one or more lines are too long

85
login.php Normal file
View File

@ -0,0 +1,85 @@
<?php
$user = @$_POST['user'];
$pass = @$_POST['pass'];
if($user == "admin"
&& $pass == "soup")
{
$runningFileName = "login.php";
include("create.php");
}
else
{
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>TTT2 Role Adder</title>
<meta name="description" content="Add a new TTT2 Role">
<meta name="author" content="James">
<meta property="og:title" content="TTT2 Role Adder">
<meta property="og:type" content="website">
<meta property="og:url" content="https://ttt.james-things.com">
<meta property="og:description" content="All TTT2 Roles documented halfheartedly">
<meta property="og:image" content="https://e7.pngegg.com/pngimages/710/403/png-clipart-the-embodiment-of-scarlet-devil-team-shanghai-alice-video-game-banjo-tooie-mario-luigi-partners-in-time-marisa-logo-computer-wallpaper.png">
<link rel="icon" href="/favicon.ico">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<!--MATERIALIZE-->
<!--Import jQuery-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link type="text/css" rel="stylesheet" href="css/materialize.min.css" media="screen,projection" />
<!--My Custom Stylesheet-->
<link rel="stylesheet" href="css/styles.css">
</head>
<body>
<div class="container center_all_things">
<div class="row">
<div class="col s12 blurry">
<div class="card-panel card white">
<?php
if(isset($_POST))
{
?>
<div class="row">
<form method="POST" action="login.php">
<div class="input-field col s6">
<input type="text" name="user"></input><br/>
<label for="user">Name</label>
</div>
<div class="input-field col s6">
<input type="password" name="pass"></input><br/>
<label for="pass">Password</label>
</div>
<button class="btn waves-effect waves-light col s12" type="submit" value="Login" name="submit">Submit <i class="material-icons right">send</i>
</button>
</form>
</div>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function() {
$('select').formSelect();
$('.collapsible').collapsible();
M.updateTextFields();
});
</script>
<script type="text/javascript" src="js/materialize.min.js"></script>
</body>
</html>
<?php
}
}
?>

37
roles/en/Hitman.php Normal file
View File

@ -0,0 +1,37 @@
<?php
$color = "orange -";
$tcolor = "black-text-text";
$name = "Hitman";
$description = "The Hitman is a Traitor, always low on credits, he follows his targets to earn his bounty money.";
$howtoplay = "The hitman (known as dealer from Dhalucard) is a new traitor role that spawns with zero credits. Instead of being awarded with credits once a few players are dead, he has to fight for every credit really hard by killing his targets. If he kills his target, he will be instantly rewarded with a credit. If his target dies in another way, he will get nothing in return. In both cases however a new target is selected after the old one died.
If played in combination with TTTC, the hitman is also able to see the classes of all players in his scoreboard.";
$playsbestwith = "<ul>;
<li>Accomplice</li>
<li>Arsonist</li>
<li>Traitor</li>
</ul>";
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_hitman_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_hitman_pct [0.0..1.0] (default: 0.17)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_hitman_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_hitman_random [0..100] (default: 50)
# the amount of players needed for this role to spawn
ttt_hitman_min_players: [0..n] (default: 6)</code>
Rolespecific Convars:
<code># The credit bonus given when a hitman kills his target.
ttt_target_credit_bonus [0..n] (default: 2)
# Enables or disables if the Traitor should be revealed if he killed nontarget.
ttt_target_chatreveal [0/1] (default: 0)</code>";
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=1403020444";
$source = "https://github.com/TTT-2/ttt2-role_hit";
$author = "Tim | Mineotopia";
$authorurl = "https://steamcommunity.com/id/mineotopia";
$ctext = "Alf21: creator of this role addon
Mineotopia: designer of the role icon";
?>

38
roles/en/Imitator .php Normal file
View File

@ -0,0 +1,38 @@
<?php
$color = "pink lighten-4";
$tcolor = "black-text-text";
$name = "Imitator ";
$description = "The perfect imitation will fool everyone...";
$howtoplay = "You start as the Imitator role, a traitor with no shop or button abilities. You are given a random short list of possible innocent roles/subroles you can choose to imitate. Imitating a role means you will become that role, but remain on the traitor team. When you die, your corpse will show the role you imitated.
This role may cause alot of confusion among innocents and is very powerful. Avoid killing detectives first, as it may then be obvious that you are infact an Imitator, rather than a dumb/confused innocent.";
$playsbestwith = "<ul>;
<li>Clown</li>
<li>Cupid</li>
<li>Drunk</li>
<li>Elderly</li>
<li>Jester</li>
</ul>";
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_imitator_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_imitator_pct [0.0..1.0] (default: 0.13)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_imitator_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_imitator_random [0..100] (default: 30)
# the amount of players needed for this role to spawn
ttt_imitator_min_players: [0..n] (default: 5)</code>
Rolespecific Convars:
<code># The maximum number of roles that can be chosen to imitate
ttt2_imitator_num_choices [2..25] (default: 3)
# Hide the true name of secret innocent subroles
ttt2_imitator_hide_secret_roles [0..1] (default: 1)</code>";
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=2645359788";
$source = "https://github.com/TaintedEnergy/ttt2-role-imit";
$author = "TaintedEnergy";
$authorurl = "https://steamcommunity.com/profiles/76561198119233797";
$ctext = "None";
?>

103
roles/en/Impostor.php Normal file
View File

@ -0,0 +1,103 @@
<?php
$color = "red -";
$tcolor = "white-text-text";
$name = "Impostor";
$description = "I didn&#39;t believe a word they said, But now that detective is dead. So I don&#39;t want to make a fuss, But you&#39;re looking awfully sus.";
$howtoplay = "The impostor is a traitor subrole who emphasizes 1v1 assassination and team support. They have the following detriments:
No shop
50% reduced damage
And the following boons:
A close range instant kill ability that operates on a 45 second cooldown
3 placeable vents that can be used to create a dynamic teleportation network
The ability to create 4 different types of sabotage stations, each producing a global detrimental effect that can be stopped in a king of the hill style minigame
Theres further, in-depth info inside the Steam Description";
$playsbestwith = "<ul>;
<li>Trapper</li>
<li>Clown</li>
<li>Cupid</li>
<li>Haunted</li>
<li>Traitor</li>
</ul>";
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_impostor_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_impostor_pct [0.0..1.0] (default: 0.17)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_impostor_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_impostor_random [0..100] (default: 30)
# the amount of players needed for this role to spawn
ttt_impostor_min_players: [0..n] (default: 6)</code>
Rolespecific Convars:
<code>### GENERAL ###
# At the beginning of the round, should everyone be told how many impostors are among us?
ttt2_impostor_inform_everyone [0/1] (default: 0)
# How much damage should the impostor be able to do with traditional guns and crowbars?
ttt2_impostor_normal_dmg_multi [0.0..n.m] (default: 0.5)
# Should everyone be informed via pop-ups about how sabotages work every time a sabotage occurs?
ttt2_impostor_sabo_pop_ups [0/1] (default: 1)
### INSTANT KILL ###
# What is the range on the impostor&#39;s instant-kill ability?
ttt2_impostor_kill_dist [0..n] (default: 150)
# What is the cooldown (in seconds) on the impostor&#39;s instant-kill ability?
ttt2_impostor_kill_cooldown [0..n] (default: 45)
### VENTING ###
# How many vents does the impostor start with?
ttt2_impostor_num_starting_vents [0..n] (default: 3)
# How many vents does can the impostor hold?
ttt2_impostor_vent_capacity [0..n] (default: 6)
# What is the maximum number of vents allowed on the map (-1 for unlimited)?
ttt2_impostor_global_max_num_vents [-1..n] (default: 9)
# What is the range on the Impostor&#39;s vent placement tool?
ttt2_impostor_vent_placement_range [0..n] (default: 100)
# If set, newly created vents will attempt to use the creator&#39;s position as the exit point (as long as the vent is close enough to them).
Allows for quick and creative vent placement. Can lead to map abuse (i.e. hiding vents in ridiculous locations).
If not set, all created vents (regardless of placement distance) will attempt to set the exit point out and in front automatically.
Enforces sane vent placement. However, the user will be forced to place vents on walls near the floor in most scenarios.
ttt2_impostor_nearby_new_vents_use_ply_pos_as_exit [0/1] (default: 1)
# Should vents be invisible upon creation, only being revealed when entered or exited?
ttt2_impostor_hide_unused_vents [0/1] (default: 1)
# Can the secondary fire on the Vent tool be used to take back already placed vents?
ttt2_impostor_vent_secondary_fire_mode [0..2] (default: 1)
# 0: Impostors cannot take vents back
# 1: Impostors can only take unrevealed vents back
# 2: Impostors can take any kind of vent back
# Should all traitor roles be able to use vents that the Impostor(s) have placed?
ttt2_impostor_traitor_team_can_use_vents [0/1] (default: 1)
### SABOTAGE STATION ###
# Should the Impostor&#39;s sabotage abilities create a Sabotage Station entity (If disabled, the sabotage abilities can only end once their duration has been exceeded)?
ttt2_impostor_station_enable [0/1] (default: 1)
# Should the Impostor be able to know where the sabotage station will spawn, be able to switch the spawn location, and add new station spawns?
ttt2_impostor_station_manager_enable [0/1] (default: 1)
# Should Impostors be unable to create sabotage stations in the same place twice (until all available locations have been exhausted)?
ttt2_impostor_dissuade_station_reuse [0/1] (default: 0)
# How far away can sabotage station spawn locations be from each other?
ttt2_impostor_min_station_dist [0..n] (default: 1000)
# What is the radius of the circle that players need to enter in order to disable the current sabotage?
ttt2_impostor_station_radius [0..n] (default: 300)
# What proportion of the players (alive and dead, rounded up) need to enter the sabotage station&#39;s radius in order to end the current sabotage (ex. If 0.25, and there are 6 players, then at least 2 need to enter the station&#39;s radius)?
Note: Both dead and alive players are counted for determining this threshold.
ttt2_impostor_stop_station_ply_prop [0.0..n.m] (default: 0.25)
# How long must enough players be in the sabotage station&#39;s radius to end it?
ttt2_impostor_station_hold_time [0..n] (default: 5)
### SABOTAGE LIGHTS ###
# How long (in seconds) should the lights be sabotaged for (</code>";
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=1737053146";
$source = "https://github.com/AaronMcKenney/ttt2-role_impo";
$author = "blackmagicfine";
$authorurl = "https://steamcommunity.com/profiles/76561198025772353";
$ctext = "BlackMagicFine: creator of this role addon
Smuggles: designer of the role, vent, wrench, Beacon, speaker (on and off), cloud, and smoke stacks icons
Wasted: designer of the Blight icon, which is used for sabotage reactor here
Mineotopia: designer of the role thumbnail
Veldrim and Haxray: heavily assisted with testing
berry: Russian translation
Among Us by Innersloth: The original work that inspired this role.";
?>

33
roles/en/Infected.php Normal file
View File

@ -0,0 +1,33 @@
<?php
$color = "purple darken-4";
$tcolor = "white-text-text";
$name = "Infected";
$description = "A deadly virus is spreading with every shot fired by the infected. But it seems like the virus isn&#39;t killing them but lets them be undead forever ...";
$howtoplay = "The infected plays in his own team and has to kill other players to infect them. Once they are killed, they will respawn after a few seconds and fight for your team. But the newly found supporters have to defend their host, because they will die once he gets killed.
If there is a jester in this round, the infected is allowed to kill him.";
$playsbestwith = "<ul>;
<li>Jester</li>
<li>Traitor</li>
</ul>";
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_inf_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_inf_pct [0.0..1.0] (default: 0.17)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_inf_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_inf_random [0..100] (default: 10)
# the amount of players needed for this role to spawn
ttt_inf_min_players: [0..n] (default: 6)</code>
Rolespecific Convars:
<code>#defines how much HP the zombies should have after respawn
ttt2_inf_maxhealth_new_inf [0..2] (default: 30)</code>";
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=1371842074";
$source = "https://github.com/Alf21/ttt2-role_inf";
$author = "Alf21";
$authorurl = "https://steamcommunity.com/id/alf21";
$ctext = "Alf21: creator of this role addon
Mineotopia: designer of the role icon";
?>

42
roles/en/Leech.php Normal file
View File

@ -0,0 +1,42 @@
<?php
$color = "amber lighten-4";
$tcolor = "black-text-text";
$name = "Leech";
$description = "You must feed from a host to survive...";
$howtoplay = "You are always hungry for the life essence of a host player. You have a hunger bar which goes down, unless you are near another alive player (then it goes up). If your hunger bar is empty, you will die. You will win with the winning team at the end of the round, provided you are still alive and in range of a host to feed. If you are not in range of a host at the end of the round, you are given time to find a host.
Convince people you are a Leech, and say that you won&#39;t do anything to annoy your host/s. Try to survive until the end while feeding on the closest people you can find.
";
$playsbestwith = "<ul>;
<li>Infected</li>
<li>Accomplice</li>
<li>Clairvoyant</li>
<li>Traitor</li>
</ul>";
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_leech_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_leech_pct [0.0..1.0] (default: 0.17)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_leech_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_leech_random [0..100] (default: 30)
# the amount of players needed for this role to spawn
ttt_leech_min_players: [0..n] (default: 6)</code>
Rolespecific Convars:
<code># The max squared distance a leech needs to be from another player to refill hunger bar
ttt2_leech_refill_radius [0.0..1000000.0] (default: 50000.0)
# When feeding, how many seconds of hunger is regenerated in 1 second
ttt2_leech_refill_multiplier [0.0..100.0] (default: 5.0)
# The total length of time to starve from a full hunger bar
ttt2_leech_starve_time [0.0..600.0] (default: 30.0)
# How long until the hunger bar updates
ttt2_leech_tick_length [0.0..1.0] (default: 0.02)</code>";
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=2638264365";
$source = "https://github.com/TaintedEnergy/ttt2-role-leech";
$author = "TaintedEnergy";
$authorurl = "https://steamcommunity.com/profiles/76561198119233797";
$ctext = "None Mentioned";
?>

38
roles/en/Trapper.php Normal file
View File

@ -0,0 +1,38 @@
<?php
$color = "green darken-4";
$tcolor = "white-text-text";
$name = "Trapper";
$description = "Use the powers of the traitors against them!";
$howtoplay = "The Trapper is at its core an innocent with the powers to detect the traitorous traitor traps. When someone uses a trap, the Trapper gets a visual &#34;ripple&#34; effect where the trap was used. But beware! Also, other trap-users see when the Trapper uses a trap.. (Confusing. but luckily there are convars for that)";
$playsbestwith = "<ul>;
<li>Blight</li>
<li>Glutton</li>
<li>Jester</li>
<li>Traitor</li>
</ul>";
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_tra_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_tra_pct [0.0..1.0] (default: 0.17)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_tra_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_tra_random [0..100] (default: 50)
# the amount of players needed for this role to spawn
ttt_tra_min_players: [0..n] (default: 6)
# allow the trapper to use traitor buttons
ttt_trapper_traitor_button [0/1] (default: 1)</code>
Rolespecific Convars:
<code># shows ripple effect to trappers
ttt_trapper_tbutton_show_to_trapper
# shows ripple effect to others
ttt_trapper_tbutton_show_to_others</code>";
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=2004491494";
$source = "https://steamcommunity.com/sharedfiles/filedetails/?id=2004491494";
$author = "James";
$authorurl = "https://steamcommunity.com/id/truebaka";
$ctext = "James: creator and designer of this role addon (Ayy thats me :D)
Mineotopia: Assistant who definitely didn&#39;t write most of the things.";
?>

71
roles/en/accomplice.php Normal file
View File

@ -0,0 +1,71 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = "white";
# This is the color defined by https://materializecss.com/color.html
$color = "red darken-5";
#
# BASEINFO
#
#The Name of the Role
$name = "Accomplice";
#The Description of the Role, HTML conform :)
$description = "The Accomplice doesn't know his master... find him and protect!";
#
# TABS
#
#How To play
$howtoplay = "The Accomplice is a partner of the Traitor. The Accomplice is visible to the Traitor. But the Accomplice doesn't know who is the Traitor. So,you have to find him by yourself. In other words in werewolf game, the Madman.
The Accomplice can't win alone.
The Accomplice can't buy Items from the shop(Default).
The Accomplice has radar for corpses.
The Accomplice can't transfer to Traitors.
";
#With what roles does this role play best?
$playsbestwith = "
<ul>
<li>Survivalist</li>
<li>Spy</li>
<li>Hitman</li>
<ul>
";
#Convars
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_accom_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_accom_pct [0.0..1.0] (default: 0.17)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_accom_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_accom_random [0..100] (default: 50)
# the amount of players needed for this role to spawn
ttt_accom_min_players: [0..n] (default: 8)</code>";
#
# Credits
#
#The Steam URL to your addon
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=2173367759";
#The Source URL to your addon
$source = "https://github.com/westooooo/ttt2-role_accom";
#Creator of the Addon
$author = "JustSiro105";
#Creatorlink
$authorurl = "https://steamcommunity.com/profiles/76561198327487098";
# Credittext (can use the above variables)
$ctext = "Westoon[JPN]: creator of this role addon
irokuma105: idear of this role addon";
?>

84
roles/en/amnesiac.php Normal file
View File

@ -0,0 +1,84 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = "white";
# This is the color defined by https://materializecss.com/color.html
$color = "deep-purple lighten-3";
#
# BASEINFO
#
#The Name of the Role
$name = "Amnesiac";
#The Description of the Role, HTML conform :)
$description = "A lost soul that has forgotten what he used to be, but is always looking for hints to his past identity..";
#
# TABS
#
#How To play
$howtoplay = "The Amnesiac is a new role that is looking to change to another in order to win. To do so, you will need to find a hint to his lost identity. Said hint can be found by confirming a dead players body. The Amnesiac will receive the role of the first player that they confirm that round.
It has to be a confirmation (revealing who died and what team they were in) a simple inspection does not count!
The Amnesiac changing their role will be announced to all players. Some additional features using TTT2s awesome and easy to use system have also been implemented. :)";
#With what roles does this role play best?
$playsbestwith = "
<ul>
<li>Occultist</li>
<li>Necromancer</li>
<li>Pirate</li>
<ul>
";
#Convars
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_amnesiac_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_amnesiac_pct [0.0..1.0] (default: 0.17)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_amnesiac_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_amnesiac_random [0..100] (default: 50)
# the amount of players needed for this role to spawn
ttt_amnesiac_min_players: [0..n] (default: 7)</code>
Rolespecific Convars:
<code># Does the Amnesiac inform other players when he changes his role (popup event)
ttt2_amnesiac_showpopup [0/1] (default 1)
# Does the Amnesiac confirm a player when pressing [E] on a dead body when getting a role (disables confirmation message too!)
ttt2_amnesiac_confirm_player [0/1] (default 0)
# Does the Amnesiac only get roles from unconfirmed bodies
ttt2_amnesiac_limit_to_unconfirmed [0/1] (default 1)</code>";
#
# Credits
#
#The Steam URL to your addon
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=2001213453";
#The Source URL to your addon
$source = "https://steamcommunity.com/linkfilter/?url=https://github.com/LunexSan/ttt2-role_amni";
#Creator of the Addon
$author = "Lunex";
#Creatorlink
$authorurl = "https://steamcommunity.com/id/Lunexkun/";
# Credittext (can use the above variables)
$ctext = "Lunex: Creator of this role addon
Pythagorion: A huge thank you for the Icon Designs
Mineotopia: Credits to him for immense help in coding this.";
?>

75
roles/en/arsonist.php Normal file
View File

@ -0,0 +1,75 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = "black";
# This is the color defined by https://materializecss.com/color.html
$color = "orange";
#
# BASEINFO
#
#The Name of the Role
$name = "Arsonist";
#The Description of the Role, HTML conform :)
$description = "He is an arsonist who likes things related to fire.";
#
# TABS
#
#How To play
$howtoplay = "The Arsonist is a partner of the Traitor. The Arsonist have a Flare gun and his own flamethrower.
And he has a flame resistance.";
#With what roles does this role play best?
$playsbestwith = "
<ul>
<li>Occultist</li>
<li>TODO</li>
<li>TODO (/shrug)</li>
<ul>
";
#Convars
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_ars_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_ars_pct [0.0..1.0] (default: 0.17)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_ars_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_ars_random [0..100] (default: 50)
# the amount of players needed for this role to spawn
ttt_ars_min_players: [0..n] (default: 6)</code>";
#
# Credits
#
#The Steam URL to your addon
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=2652626080";
#The Source URL to your addon
$source = "https://steamcommunity.com/linkfilter/?url=https://github.com/westooooo/ttt2-role_arsonist";
#Creator of the Addon
$author = "Westoon[JPN]";
#Creatorlink
$authorurl = "https://steamcommunity.com/profiles/76561198358406467";
# Credittext (can use the above variables)
$ctext = "Lunex: Creator of this role addon
Pythagorion: A huge thank you for the Icon Designs
Mineotopia: Credits to him for immense help in coding this.";
?>

108
roles/en/banker.php Normal file
View File

@ -0,0 +1,108 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = "black";
# This is the color defined by https://materializecss.com/color.html
$color = "light-green lighten-4";
#
# BASEINFO
#
#The Name of the Role
$name = "Banker";
#The Description of the Role, HTML conform :)
$description = "While the Detectives get all of the credit, everyone knows that Terrorist HQ would be nothing without its loyal Bankers.";
#
# TABS
#
#How To play
$howtoplay = 'The Banker is a "Detective" subrole who receives all of the credits that every other role spends in the shop. If there are multiple bankers, the credits are split among them in an equitable round robin manner.
The Banker could use a better workout regimen and diet plan. They have some trouble sprinting long distances and receive more damage than the average person.
For maximum profit, the Banker can transfer credits to a trustworthy Detective/Survivalist, who can then buy something and give the Banker back their hard-earned credits (This can only be done a certain number of times).
The best way to combat the Banker is through frugal spending and proper planning.';
#With what roles does this role play best?
$playsbestwith = "
<ul>
<li>Survivalist</li>
<li>Serialkiller</li>
<li>Jackal</li>
<li>Any other non-detective role that has access to a shop.</li>
<ul>
";
#Convars
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_banker_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_banker_pct [0.0..1.0] (default: 0.13)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_banker_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_banker_random [0..100] (default: 30)
# the amount of players needed for this role to spawn
ttt_banker_min_players: [0..n] (default: 5)
# the amount of credits this role starts with
ttt_bank_credits_starting [0..n] (default: 2)</code>
Rolespecific Convars:
<code># How many credits can the Banker receive from purchases other shoppers make (infinite if -1)?
ttt2_banker_credit_ceiling [-1..n] (default: -1)
# Should the banker's murderer receive all of their credits (provided that they are a shopping role)?
ttt2_banker_ron_swanswon_will [0/1] (default: 0)
# If the Banker dies, how should everyone be informed?
ttt2_banker_broadcast_death_mode [0..3] (default: 0)
# 0: No broadcasting will occur
# 1: Everyone will be informed that the Banker committed suicide, regardless of what actually happened
# 2: Everyone will be informed that the Banker has died
# 3: If possible, the Banker's murderer will be made known to all, otherwise broadcast that they died under mysterious circumstances
# Should the server broadcast anyone who covertly searches the Banker's dead body?
ttt2_banker_broadcast_covert_search [0/1] (default: 0)
# How many credits can the Banker give out to others per round (infinite if -1)?
ttt2_banker_max_num_handouts [-1..n] (default: 2)
# This multiplier applies directly to the damage that the banker would receive (ex. 2.0 means the banker takes twice as much damage from all sources).
ttt2_banker_recv_dmg_multi [0.0..n.m] (default: 1.25)
# This multiplier applies directly to the banker's speed (ex. 0.5 means the banker moves half as fast).
ttt2_banker_speed_multi [0.0..n.m] (default: 1.0)
# This multiplier applies directly to the banker's stamina regen (ex. 0.5 means the sprint bar fills up half the normal speed).
ttt2_banker_stamina_regen [0.0..n.m] (default: 0.35)
# This multiplier applies directly to how fast the banker's stamina bar depletes (ex. 2.0 means the sprint bar decays twice as fast).
ttt2_banker_stamina_drain [0.0..n.m] (default: 1.25)</code>";
#
# Credits
#
#The Steam URL to your addon
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=2402704831";
#The Source URL to your addon
$source = "https://steamcommunity.com/linkfilter/?url=https://github.com/AaronMcKenney/ttt2-role_bank";
#Creator of the Addon
$author = "BlackMagicFine";
#Creatorlink
$authorurl = "https://steamcommunity.com/profiles/76561198025772353/";
# Credittext (can use the above variables)
$ctext = "BlackMagicFine: creator of this role addon
Smuggles: designer of the role icon
Wasted: designer of the role thumbnail
Veldrim: heavily assisted with testing";
?>

123
roles/en/beacon.php Normal file
View File

@ -0,0 +1,123 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = "black";
# This is the color defined by https://materializecss.com/color.html
$color = "yellow lighten-5";
#
# BASEINFO
#
#The Name of the Role
$name = "Beacon";
#The Description of the Role, HTML conform :)
$description = "A simple and innocent person, they rose up to power as their friends fell one by one.";
#
# TABS
#
#How To play
$howtoplay = "The beacon is an innocent who becomes more powerful each time someone on their team is confirmed dead. How they are buffed is determined by a series of convars, but by default consists of minor improvements to a slew of stats, including: jump power, speed, damage resistance, damage, fire rate, and health regeneration.
If they accrue enough power, they literally light up and their role is revealed to everyone. This makes them as trustworthy as a detective, but will also alert antagonists to their growing power.
There is but one catch: The beacon mustn't kill someone on their team. If they do, they will become an innocent, and take (potentially lethal) damage. Furthermore, an innocent killer can never become a beacon (ex. an amnesiac who kills the beacon in an attempt to inherit their powers). Such a person becomes an innocent instead.
A final note: The default settings are on the weaker end of the balance spectrum, and exist mostly to show what it can do. Feel free to use the many convars to rebalance the beacon to best fit your server.";
#With what roles does this role play best?
$playsbestwith = "
<ul>
<li>Amnesiac</li>
<li>Unknown</li>
<li>Wrath</li>
<ul>
";
#Convars
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_beacon_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_beacon_pct [0.0..1.0] (default: 0.15)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_beacon_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_beacon_random [0..100] (default: 30)
# the amount of players needed for this role to spawn
ttt_beacon_min_players: [0..n] (default: 6)</code>
Rolespecific Convars:
<code># the number of buffs that the beacon starts with
ttt2_beacon_min_buffs [0..n] (default: 1)
# The maximum number of buffs that the beacon can achieve
ttt2_beacon_max_buffs [0..n] (default: 5)
# Upon receiving this many buffs, the beacon lights up, revealing their role (like a detective)
ttt2_beacon_deputize_num_buffs [0..n] (default: 3)
# Beacon receives a buff when these types of players are confirmed dead
ttt2_beacon_search_mode [0..3] (default: 0)
# 0: Team mates are confirmed dead (innocents, survivalists, detectives, etc.)
# 1: Non team mates are confirmed dead (traitors, infected, serial killers, jesters, etc.)
# 2: Anyone is confirmed dead
# 3: Do not buff based on player death
# Beacon receives a buff the instant that a mate/non-mate/player dies (based on search_mode above)
ttt2_beacon_buff_on_death [0/1] (default: 0)
# Beacon receives a buff every x seconds. This is disabled if x is 0.
ttt2_beacon_buff_every_x_seconds [0..n] (default: 0)
# The damage the beacon receives if they kill one of their mates
ttt2_beacon_judgement [0..n] (default: 20)
# Beacon is demoted to Innocent if they kill someone on the Innocent team
ttt2_beacon_demotion_enable [0/1] (default: 1)
###BUFFS###
# The speed boost the beacon gets per buff (as a percentage of default speed)
ttt2_beacon_speed_boost [0.0..n.m] (default: 0.2)
# The stamina boost the beacon gets per buff (as a percentage of default stamina. Affects how long the beacon can sprint for)
ttt2_beacon_stamina_boost [0.0..n.m] (default: 0.2)
# The stamina regen boost the beacon gets per buff (as a percentage of default stamina regen. Affects how quickly the sprint meter refills)
ttt2_beacon_stamina_regen_boost [0.0..n.m] (default: 0.2)
# The jump power boost the beacon gets per buff (as a percentage of default jump power. If this is greater than 0, the beacon will receive the NoFallDamage item)
ttt2_beacon_jump_boost [0.0..n.m] (default: 0.2)
# The flat damage resistance boost the beacon gets per buff (as a percentage of damage which will be ignored)
ttt2_beacon_resist_boost [0.0..n.m] (default: 0.15)
# The armor the beacon gets per buff (by default a player with armor has 30+% damage reduction. Armor is reduced by each hit absorbed)
ttt2_beacon_armor_boost [0..n] (default: 0)
# The health regen per second the beacon gets per buff (ex. 0.2 ==> 1 HP every 5 seconds)
ttt2_beacon_hp_regen_boost [0.0..n.m] (default: 0.2)
# The damage boost the beacon gets per buff (as a percentage of default damage)
ttt2_beacon_damage_boost [0.0..n.m] (default: 0.10)
# The fire rate boost that the beacon gets per buff (as a percentage of default fire rate. Only applies to melee, pistol, and heavy type weapons)
ttt2_beacon_fire_rate_boost [0.0..n.m] (default: 0.2)</code>";
#
# Credits
#
#The Steam URL to your addon
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=2199956605";
#The Source URL to your addon
$source = "https://steamcommunity.com/linkfilter/?url=https://github.com/AaronMcKenney/ttt2-role_beac";
#Creator of the Addon
$author = "BlackMagicFine";
#Creatorlink
$authorurl = "https://steamcommunity.com/profiles/76561198025772353/";
# Credittext (can use the above variables)
$ctext = "BlackMagicFine: creator of this role addon
Smuggles: designer of the role icon
Mineotopia: designer of the role thumbnail
berry: Russian translation";
?>

95
roles/en/beggar.php Normal file
View File

@ -0,0 +1,95 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = "white";
# This is the color defined by https://materializecss.com/color.html
$color = "pink lighten-2";
#
# BASEINFO
#
#The Name of the Role
$name = "Beggar";
#The Description of the Role, HTML conform :)
$description = "He just wants an Item, why is everyone so cruel!";
#
# TABS
#
#How To play
$howtoplay = "A beggar is a Jester like role. They cannot deal damage and appear as a normal Jester to Traitors. They can die but will be resurrected to continue begging for a meaningful life. Their goal is to get dropped a bought item from any role with a shop, once they've been given an item they will convert to the persons team!
Example of interactions:
Detective drops the beggar a weapon -> Beggar becomes innocent
Traitor or Special traitor drops them a weapon -> Beggar becomes a plain Traitor
Jackal drops them a weapon -> Beggar becomes a sidekick (if installed) or a Jackal (if sidekick isn't installed)
Doppelganger drops a weapon -> Beggar becomes the same role as the Doppelganger and is on the Doppelgangers team.
Have any suggestions for some other special interactions? Drop a comment with your ideas!";
#With what roles does this role play best?
$playsbestwith = "
<ul>
<li>Jackal</li>
<li>Amnesiac</li>
<li></li>
<ul>
";
#Convars
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_beggar_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_beggar_pct [0.0..1.0] (default: 0.15)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_beggar_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_beggar_random [0..100] (default: 30)
# the amount of players needed for this role to spawn
ttt_beggar_min_players: [0..n] (default: 5)</code>
Rolespecific Convars:
<code># Can the Beggar damage entities or props?
ttt2_beggar_entity_damage [0/1] (default: 1)
# Can the Beggar explode, burn, crush, fall, drown??
ttt2_beggar_environmental_damage [0/1] (default: 1)
# Should the Beggar respawn on death?
ttt2_beggar_respawn [0/1] (default: 1)
# How long should the Beggar take to respawn in seconds?
ttt2_beggar_respawn_delay [0..60] (default: 3)
# Who should be notified the Beggar has joined a team?
ttt2_beggar_reveal_mode [0..3] (default: 0)
# 0: Never reveal the beggar has changed team
# 1: Only alert the detective or traiters the beggar has now joined their team
# 2: Alert all of the beggars new team members
# 3: Alert everyone of the beggars new team</code>";
#
# Credits
#
#The Steam URL to your addon
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=2605752081";
#The Source URL to your addon
$source = "https://steamcommunity.com/linkfilter/?url=https://github.com/Guardian954/TTT2-CustomRolesPort";
#Creator of the Addon
$author = "Guardian954";
#Creatorlink
$authorurl = "https://steamcommunity.com/id/guardianreborn";
# Credittext (can use the above variables)
$ctext = "Custom Roles for TTT: creator of the original role.";
?>

80
roles/en/blight.php Normal file
View File

@ -0,0 +1,80 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = "white";
# This is the color defined by https://materializecss.com/color.html
$color = "red darken-2";
#
# BASEINFO
#
#The Name of the Role
$name = "Blight";
#The Description of the Role, HTML conform :)
$description = "You carry with you a harsh plague.";
#
# TABS
#
#How To play
$howtoplay = 'The Blight is a simple Traitor role. When killed, the Blight "infects" their attacker, slowly damaging them until they either reach low enough health or until they heal themselves.';
#With what roles does this role play best?
$playsbestwith = "
None defined
";
#Convars
$convars = 'Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_blight_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_blight_pct [0.0..1.0] (default 0.15)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_blight_max [0.0..n] (default: 1)
# the probility each round of this role being spawned at all
ttt_blight_random [0..100] (default: 33)
# the amount of players needed for this role to spawn
ttt_blight_min_players: [0..n] (default: 6)</code>
Rolespecific Convars:
<code># amount of damage should the blight "infection" deal per instance
ttt2_blt_dmg [0..n] (default: 5)
# seconds between damage instances
ttt2_blt_delay [0..n] (default: 3)
# should using a health station cure the blight
ttt2_blt_healstation_cure [0 or 1 or 2 or 3] (default: 1)
# minimum health the blight "infection" can take a player to
ttt2_blt_min [0 or 1] (default: 1)
# whether healing (of any amount/from any source) should cure blight
ttt2_blt_heal_cure [0 or 1] (default: 1)</code>';
#
# Credits
#
#The Steam URL to your addon
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=2339734906";
#The Source URL to your addon
$source = "https://steamcommunity.com/linkfilter/?url=https://github.com/ZacharyHinds/ttt2-role-blight";
#Creator of the Addon
$author = "Wasted";
#Creatorlink
$authorurl = "https://steamcommunity.com/id/Zzzaaaccc13";
# Credittext (can use the above variables)
$ctext = "Wasted: creator of this role addon and the icon";
?>

88
roles/en/bodyguard.php Normal file
View File

@ -0,0 +1,88 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = 'black';
# This is the color defined by https://materializecss.com/color.html
$color = 'orange';
#
# BASEINFO
#
#The Name of the Role
$name = 'Bodyguard';
#The Description of the Role, HTML conform :)
$description = 'By using his bare muscles, and the help of some bullets, he needs to protect the Person he got paid from.';
#
# TABS
#
#How To play
$howtoplay = 'The BodyGuard is a special case. Once he Spawns, he will get a random Player dedicated for him to protect and is also in the same Team as this Player. He will get a message which also reveals the Role of the Player he needs to protect. BUT, the BodyGuard will NOT see the other Players in the Team he is (so as Traitor he will not see other Traitors). Also the Player he needs to protect will get a message that a Player is his BodyGuard. Goal is to protect the Player you are dedicated to.
If the Player you need to protect dies, you will get some damage (or die depending on the Convar settings below) and you will also get a new Player to protect.
If you damage the Person you should protect, he will get less damage and you will get much damage back (Depending on the convar settings below). If you somehow manage to kill the Person you need to protect, you will also die (Depending on the convar settings below).
';
#With what roles does this role play best?
$playsbestwith = '
<ul>
<li>Jackal</li>
<li>Pirate</li>
<li>And probably all other Roles</li>
<ul>
';
#Convars
$convars = 'Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_bodyguard_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_bodyguard_pct [0.0..1.0] (default: 0.13)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_bodyguard_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_bodyguard_random [0..100] (default: 20)
# the amount of players needed for this role to spawn
ttt_bodyguard_min_players: [0..n] (default: 8)</code>
Rolespecific Convars:
<code># the damage a bodyguard will get if the person he needs to protect dies
ttt_bodygrd_damage_guarded_death [0..n] (def: 20)
# defines if the bodyguard should be killed if he manages to kill the person he needs to protect
ttt_bodygrd_kill_guard_teamkill [0/1] (def: 1)
# the multiplier of damage that gets reflected to the bodyguard if damaging the person he needs to protect
ttt_bodygrd_damage_reflect_multiplier [0..n] (def: 1.5)
# the multiplier of damage that the person will get if damaged by his bodyguard
ttt_bodygrd_damage_dealt_multiplier [0..n] (def: 0.1)</code>';
#
# Credits
#
#The Steam URL to your addon
$steam = 'https://steamcommunity.com/sharedfiles/filedetails/?id=1795539570';
#The Source URL to your addon
$source = 'https://steamcommunity.com/linkfilter/?url=https://github.com/TheNickSkater/ttt2-bodyguard';
#Creator of the Addon
$author = 'NickCloudAT';
#Creatorlink
$authorurl = 'https://steamcommunity.com/id/nickcloudat';
# Credittext (can use the above variables)
$ctext = 'Alf21: creator of TTT2
Mineotopia: designer of the WS icon and probably most TTT2 designs';
?>

80
roles/en/clairvoyant.php Normal file
View File

@ -0,0 +1,80 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = 'black';
# This is the color defined by https://materializecss.com/color.html
$color = 'yellow';
#
# BASEINFO
#
#The Name of the Role
$name = 'Clairvoyant';
#The Description of the Role, HTML conform :)
$description = 'Looking at the aura of players surrounding him everything becomes clear for him. Finally someone will be able to stop all these lies.';
#
# TABS
#
#How To play
$howtoplay = "The clairvoyant is an innocent that sees special roles. This includes all special inocent and traitor roles as well as all other special roles in the round. Special roles are all roles besides the normal innocent, traitor and detective. They don't see the special role, they only see if they have one or not.
The amount of roles that the clairvoyant can see can be set with a convar.
Additionally in combination with the sidekick and the jester, they can kill the jester as the only player without receiving a penalty or triggering the jesters winstate! After their death, the jester will immedially respawn as a sidekick of the clairvoyant.";
#With what roles does this role play best?
$playsbestwith = '
<ul>
<li>Jester</li>
<li>Sidekick</li>
<li>Hitman</li>
<ul>
';
#Convars
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_clairvoyant_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_clairvoyant_pct [0.0..1.0] (default: 0.13)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_clairvoyant_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_clairvoyant_random [0..100] (default: 100)
# the amount of players needed for this role to spawn
ttt_clairvoyant_min_players: [0..n] (default: 8)</code>
Rolespecific Convars:
<code># the percentage of visible player's roles
ttt2_cv_visible [0..n] (default: 100)</code>";
#
# Credits
#
#The Steam URL to your addon
$steam = 'https://steamcommunity.com/sharedfiles/filedetails/?id=1357255271';
#The Source URL to your addon
$source = 'https://steamcommunity.com/linkfilter/?url=https://github.com/TTT-2/ttt2-role_cv';
#Creator of the Addon
$author = 'Alf21';
#Creatorlink
$authorurl = 'https://steamcommunity.com/id/alf21';
# Credittext (can use the above variables)
$ctext = 'Alf21: creator of this role addon
Mineotopia: designer of the role icon';
?>

82
roles/en/clown.php Normal file
View File

@ -0,0 +1,82 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = 'white';
# This is the color defined by https://materializecss.com/color.html
$color = 'pink';
#
# BASEINFO
#
#The Name of the Role
$name = 'Clown';
#The Description of the Role, HTML conform :)
$description = "The party doesn't really start until almost everyone is dead";
#
# TABS
#
#How To play
$howtoplay = "A Clown is a Jester like role. They cannot deal damage. They can die during a round without consequence, however they appear as a normal Jester to traitors. Their goal is to survive until the end of the round when a team would've normally won, however if they survive they will transform into a killer clown and come to kill all the remaining survivors!";
#With what roles does this role play best?
$playsbestwith = '
<ul>
<li>Jester</li>
<ul>
';
#Convars
$convars = 'Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_clown_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_clown_pct [0.0..1.0] (default: 0.15)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_clown_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_clown_random [0..100] (default: 30)
# the amount of players needed for this role to spawn
ttt_clown_min_players: [0..n] (default: 5)</code>
Rolespecific Convars:
<code># Can the Clown damage entities or props?
ttt2_clown_entity_damage [0/1] (default: 1)
# Can the Clown explode, burn, crush, fall, drown??
ttt2_clown_environmental_damage [0/1] (default: 1)
# How much should the killer clowns damage scale by (Damage x ?) ?
ttt2_clown_damage_bonus [0..5] (default: 1)
# How many credits should the Killer Clown get on activation?
ttt2_clown_activation_credits [0..5] (default: 1)
# How much health should the Killer Clown be set to (Set to 0 to not change)?
ttt2_clown_health_on_transform [0..100] (default: 0)</code>';
#
# Credits
#
#The Steam URL to your addon
$steam = 'https://steamcommunity.com/sharedfiles/filedetails/?id=2605758514';
#The Source URL to your addon
$source = 'https://steamcommunity.com/linkfilter/?url=https://github.com/Guardian954/ttt2-role_clown_git';
#Creator of the Addon
$author = 'Guardian954';
#Creatorlink
$authorurl = 'https://steamcommunity.com/id/guardianreborn';
# Credittext (can use the above variables)
$ctext = 'Custom Roles for TTT: creator of the original role.';
?>

91
roles/en/cupid.php Normal file
View File

@ -0,0 +1,91 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = 'white';
# This is the color defined by https://materializecss.com/color.html
$color = 'pink darken-1';
#
# BASEINFO
#
#The Name of the Role
$name = 'Cupid';
#The Description of the Role, HTML conform :)
$description = "Cupid is the role of love. Spread love in this Traitor infested World!";
#
# TABS
#
#How To play
$howtoplay = "<h6>Cupid:</h6>
Cupid starts the round with his crossbow. The crossbow will be invisible to other players. 'Shooting' it only makes particles on Cupids end and lets two Players fall in love. Using Cupid's crossbow after someone already died will nullify the effect without warning to prevent abuse.Other than that Cupid is a standard Innocent.
<h6>Lovers:</h6>
After falling in Love the Lovers get notified of their fate and their team and split all their damage between eachother! If a lover miraculously survives the damage split they will die of a broken heart in 5 seconds! When the lovers are in opposite Teams i.e. Innocent and Traitor they will form their own Team and win when everyone else is dead. They can also see their loved one through walls and get notified if their significant other died, before them leaving this world as themself.";
#With what roles does this role play best?
$playsbestwith = '
<ul>
<li>Serialkiller</li>
<ul>
';
#Convars
$convars = 'Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_cup_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_cup_pct [0.0..1.0] (default: 0.15)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_cup_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_cup_random [0..100] (default: 15)
# the amount of players needed for this role to spawn
ttt_cup_min_players: [0..n] (default: 6)</code>
Rolespecific Convars:
<code># whether or not the lovers split their damage
ttt_cupid_damage_split_enabled [0/1] (default: 1)
# whether or not the old weapon is used
ttt_cupid_old_weapon [0/1] (default: 0)
# whether or not the cupid has to be one of the Lovers
ttt_cupid_forced_selflove [0/1] (default: 0)
# whether or not lovers will always be in their own team
ttt_cupid_lovers_force_own_team [0/1] (default: 0)
# whether or not cupid will join the loved ones
ttt_cupid_joins_team_lovers [0/1] (default: 0)
# how long cupid should be able to use his crossbow
ttt_cupid_timelimit_magic [0/999] (default:60)</code>';
#
# Credits
#
#The Steam URL to your addon
$steam = 'https://steamcommunity.com/sharedfiles/filedetails/?id=2605758514';
#The Source URL to your addon
$source = 'https://steamcommunity.com/linkfilter/?url=https://github.com/Guardian954/ttt2-role_clown_git';
#Creator of the Addon
$author = 'SilverLous';
#Creatorlink
$authorurl = 'https://steamcommunity.com/id/Bidoof_is_President';
# Credittext (can use the above variables)
$ctext = 'Alf21, Mineotopia, Tobse, LeBroomer: Creators of the required addon TTT2
Translation by Tekiad and Blueberryy
Artwork by Mineotopia';
?>

110
roles/en/cursed.php Normal file
View File

@ -0,0 +1,110 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = 'white';
# This is the color defined by https://materializecss.com/color.html
$color = 'deep-purple darken-1';
#
# BASEINFO
#
#The Name of the Role
$name = 'Cursed';
#The Description of the Role, HTML conform :)
$description = 'Cursed to fail. Cursed to be weak. Cursed to live forever.';
#
# TABS
#
#How To play
$howtoplay = "The Cursed has no team and cannot win. They cannot deal damage. Death is impermanent as they will always resurrect. A player who has been afflicted must work to remove their Cursed status, which can only be done by changing roles. Two methods are provided to them: They can 'tag' a different player by interacting with them, or they can shoot a different player with their RoleSwap Deagle. Both of these methods will swap roles between the two players, meaning that over time, everyones' roles will be shuffled. A former Cursed cannot be 'tagged' (and may not harm the new Cursed player) until another role swap has occurred (i.e. 'No backsies').
Think of it like a game of tag, if it makes you feel better.
Also you can press 'V' to set yourself on fire. Use this to respawn at worldspawn if you happen to die, or to set yourself on fire.
I also created two items that involve this role: <a href='https://steamcommunity.com/sharedfiles/filedetails/?id=2588987999'> Countercurse Mantra</a> and <a href='https://steamcommunity.com/sharedfiles/filedetails/?id=2588990281'>Cursed Deagle</a>.";
#With what roles does this role play best?
$playsbestwith = '
<ul>
<li>Any role</li>
<ul>
';
#Convars
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_cursed_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_cursed_pct [0.0..1.0] (default: 0.13)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_cursed_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_cursed_random [0..100] (default: 30)
# the amount of players needed for this role to spawn
ttt_cursed_min_players: [0..n] (default: 6)</code>
Rolespecific Convars:
<code># Can the Cursed swap roles with Detectives?
ttt2_cursed_affect_det [0/1] (default: 1)
# Is the Cursed immune to all forms of damage?
ttt2_cursed_damage_immunity [0/1] (default: 0)
# How many seconds must pass before the Cursed respawns (Respawning disabled if <= 0)?
ttt2_cursed_seconds_until_respawn [0..n] (default: 10)
# When the Cursed respawns, will they respawn at a randomly selected player spawn?
Note: If disabled, the Cursed will respawn where they died.
ttt2_cursed_respawn_at_mapspawn [0/1] (default: 0)
# What is the range on the Cursed's tagging ability (close range role swap via interaction)?
ttt2_cursed_tag_dist [0..n] (default: 150)
# How long must the Cursed wait before they can tag someone who tagged them (No backsies if 0)?
ttt2_cursed_backsies_timer [0..n] (default: 0)
# Can a player damage Cursed players while they have 'No backsies'?
ttt2_cursed_no_dmg_backsies [0/1] (default: 0)
# How should the Cursed's Self-Immolate ability work?
ttt2_cursed_self_immolate_mode [0..2] (default: 2)
# 0: Cursed cannot self-immolate
# 1: Cursed can only set their corpse on fire
# 2: Cursed can self-immolate when alive or dead
# This multiplier applies directly to the Cursed's speed (ex. 2.0 means they move twice as fast).
ttt2_cursed_speed_multi [0.0..n.m] (default: 1.2)
# This multiplier applies directly to the Cursed's stamina regen (ex. 2.0 means the sprint bar fills up twice the normal speed).
ttt2_cursed_stamina_regen [0.0..n.m] (default: 1.0)
# This multiplier applies directly to how fast the Cursed's stamina bar depletes (ex. 0.5 means the sprint bar decays at half the normal speed).
ttt2_cursed_stamina_drain [0.0..n.m] (default: 0.35)
# Should the Cursed spawn with a RoleSwap deagle, for long-range swapping?
ttt2_role_swap_deagle_enable [0/1] (default: 1)
# How long does it take for the RoleSwap deagle to refill its ammo (Won't refill if <= 0)?
ttt2_role_swap_deagle_refill_time [0..n] (default: 30)</code>";
#
# Credits
#
#The Steam URL to your addon
$steam = 'https://steamcommunity.com/workshop/filedetails/?id=2535321538';
#The Source URL to your addon
$source = 'https://steamcommunity.com/linkfilter/?url=https://github.com/AaronMcKenney/ttt2-role_curs';
#Creator of the Addon
$author = 'blackmagicfine';
#Creatorlink
$authorurl = 'https://steamcommunity.com/profiles/76561198025772353';
# Credittext (can use the above variables)
$ctext = 'BlackMagicFine: creator of this role addon
Smuggles: designer of the role icon
Wasted: designer of the role thumbnail';
?>

View File

@ -0,0 +1,115 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = 'white';
# This is the color defined by https://materializecss.com/color.html
$color = 'pink darken-4';
#
# BASEINFO
#
#The Name of the Role
$name = 'Cyclone & Hurricane';
#The Description of the Role, HTML conform :)
$description = 'Havoc brings destruction. But it also brings hope & a new beginning. Hurricane creates a path to new hope as Cyclone tears it all down again.';
#
# TABS
#
#How To play
$howtoplay = "These roles have been inspired by the card game 'The Werewolves of Millers Hollow' (ger.: Die Werwölfe von Düsterwald). They are based on the raven.
The Cyclone plays with the Traitor team, during the Hurricane plays as a policing role in the team of the Innocents. Both play almost the same, so you can play with only one of them without any problems, but the roleplay is most interesting when both roles are active.
The Cyclone is a normal traitor - besides their special ability, the Hurricane, however, has a special rule to be played with:
The Hurricane starts with no credits and they won't be able to get credits throughout the game. But they do see the range of the traitor shop, so if you play with random shop, Hurricane will know which items are currently available in the traitor's shop.
Lastly, both Cyclone and Hurricane have a common feature: They can mark a player as 'suspicious'. If they do so, the player will be shown to everyone and they can reach only a specific amount of HP throughout the round. (It works like the threatening letter of the raven from 'Werewolves')
To mark someone, they do not have an extra weapon in the process, like other roles. Instead, the first bullet or grenade they hit a player with marks that player. This bullet or grenade does not wound the player, but only marks him. Their name is then shown on a HUD element, so everyone will know everytime that the player is suspicious and their HP will be reduced.
But beware: Cyclone and Hurricane share the same HUD element and only the last marked player will stay marked, so both can manipulate each other.
Note: Some features explained here, might differ, if they are configured differently by means of the convars. Other setting can be changed in the role settings in the F1 menu.";
#With what roles does this role play best?
$playsbestwith = '
<ul>
<li>Impostor</li>
<li>Vigilante</li>
<li>Marker</li>
<ul>
';
#Convars
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_cyclone_enabled [0/1] (default: 1)
ttt_hurricane_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_cyclone_pct [0.0..1.0] (default: 0.15)
ttt_hurricane_pct [0.0..1.0] (default: 0.15)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_cyclone_max [0..n] (default: 1)
ttt_hurricane_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_cyclone_random [0..100] (default: 33)
ttt_hurricane_random [0..100] (default: 33)
# the amount of players needed for this role to spawn
ttt_cyclone_min_players: [0..n] (default: 7)
ttt_hurricane_min_players: [0..n] (default: 7)</code>
Rolespecific Convars:
<code># Does the Cyclone/Hurricane lose their weapon, they marked a player with?
ttt_cyclone_always_strip_weapons [0/1] (default: 1)
ttt_hurricane_always_strip_weapons [0/1] (default: 1)
# What is the maximum HP the marked player can reach while being marked?
ttt_cyclone_set_max_health [0.. 100] (default: 50)
ttt_hurricane_set_max_health [0.. 100] (default: 50)
# How many HP does the marked player get when they are marked?
ttt_cyclone_set_cur_health [0.. 100] (default: 50)
ttt_hurricane_set_cur_health [0.. 100] (default: 50)
# Should a pop up with info about the marked player be displayed when the player is marked?
ttt_cyclone_print_anounce_popup [0/1] (default: 1)
ttt_hurricane_print_anounce_popup [0/1] (default: 1)
# Mute the marked player's voice Chat as long as they are marked?
ttt_cyclone_mute_marked_ply [0/1] (default: 1)
ttt_hurricane_mute_marked_ply [0/1] (default: 1)
# Disable the marked player's team chat (if there is one) as long as they are marked?
ttt_cyclone_disable_tchat [0/1] (default: 1)
ttt_hurricane_disable_tchat [0/1] (default: 1)
# Disable the marked player's general chat as long as they are marked?
ttt_cyclone_disable_gchat [0/1] (default: 1)
ttt_hurricane_disable_gchat [0/1] (default: 1)</code>";
#
# Credits
#
#The Steam URL to your addon
$steam = 'https://steamcommunity.com/sharedfiles/filedetails/?id=2649192326';
#The Source URL to your addon
$source = 'https://steamcommunity.com/linkfilter/?url=https://github.com/Pythagorion/ttt2-role_cyc_and_hurr';
#Creator of the Addon
$author = 'aPythagorion';
#Creatorlink
$authorurl = 'https://steamcommunity.com/id/bypythagyros';
# Credittext (can use the above variables)
$ctext = 'Pythagorion: creator of this role addon
Mineotopia: designer of the role icon and co-coder';
?>

108
roles/en/defective.php Normal file
View File

@ -0,0 +1,108 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = 'white';
# This is the color defined by https://materializecss.com/color.html
$color = 'deep-purple darken-1';
#
# BASEINFO
#
#The Name of the Role
$name = 'Defective';
#The Description of the Role, HTML conform :)
$description = 'It cost us significant capital, but we finally did it. We turned a detective into a no good rotten traitor.';
#
# TABS
#
#How To play
$howtoplay = "Visually and functionally, the defective operates similarly to a regular detective. They use the detective's shop, have a DNA scanner, and look like a detective to those not on their team. However, they are a traitor: They take up a traitor's spot and a traitor test will reveal them as such.";
#With what roles does this role play best?
$playsbestwith = '
<ul>
<li>Spy</li>
<li>Mesmerist</li>
<li>Bodyguard</li>
<li>2+ Detectives</li>
<ul>
';
#Convars
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_defective_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_defective_pct [0.0..1.0] (default: 0.13)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_defective_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_defective_random [0..100] (default: 30)
# the amount of players needed for this role to spawn
ttt_defective_min_players: [0..n] (default: 10)</code>
Rolespecific Convars:
<code># Send a popup message if there's a defective and detective at the start of the round?
ttt2_defective_inform_everyone [0/1] (default: 1)
# Prevent the detective from purchasing items that aren't in the defective's shop?
# You can create your own custom shop for the defective via the 'shopeditor' command.
# You can use this as a way to prevent the detective from purchasing a portable tester, golden deagle, etc. when a defective is active.
# Do not enable if ttt2_random_team_shops is enabled (may prevent dets from purchasing most things at random).
ttt2_defective_shop_order_prevention [0/1] (default: 0)
# Prevent all defectives and detectives from harming one another (unless all other members on their teams are dead)?
ttt2_defective_detective_immunity [0/1] (default: 1)
# Can the defective see their fellow team mates (e.g. traitors, bodyguards, etc.)?
ttt2_defective_can_see_traitors [0/1] (default: 1)
# Are traitors informed about who the defective is?
ttt2_defective_can_be_seen_by_traitors [0/1] (default: 1)
# Can the defective see their fellow defectives?
ttt2_defective_can_see_defectives [0/1] (default: 1)
# When should def's true role be revealed?
ttt2_defective_corpse_reveal_mode [0..3] (default: 0)
# 0: Search never reveals def's role
# 1: Search reveals def's role when all dets and defs are dead
# 2: Search reveals def's role when all defs are dead
# 3: Search reveals def's role
# How should special detectives (ex. Sheriff, Vigilante, Sniffer) be handled when the defective is in play?
ttt2_defective_special_det_handling_mode [0..2] (default: 1)
# 0: Do not alter special dets
# 1: Force all special dets to be normal dets
# 2: Force all special dets to be normal dets, but give them back their roles if: all defs are dead, defs can be revealed, and the former special det didn't undergo a role change (ex. did not become infected)
# If there are no detectives at the beginning of the round, should any player with this role be forced into a generic Traitor role?
ttt2_defective_disable_spawn_if_no_detective [0/1] (default: 1)
# The chance that at the beginning of the round a detective will be 'demoted' into an innocent for every defective.
Note: ttt2_defective_inform_everyone won't activate if all detectives have been demoted.
Note: ttt2_defective_disable_spawn_if_no_detective takes priority over this ConVar.
ttt2_defective_demote_detective_pct [0.0..n.m] (default: 0.0)</code>";
#
# Credits
#
#The Steam URL to your addon
$steam = 'https://steamcommunity.com/sharedfiles/filedetails/?id=2251440528';
#The Source URL to your addon
$source = 'https://steamcommunity.com/linkfilter/?url=https://github.com/AaronMcKenney/ttt2-role_def';
#Creator of the Addon
$author = 'blackmagicfine';
#Creatorlink
$authorurl = 'https://steamcommunity.com/profiles/76561198025772353';
# Credittext (can use the above variables)
$ctext = 'Pythagorion: creator of this role addon
Mineotopia: designer of the role icon and co-coder';
?>

56
roles/en/detective.php Normal file
View File

@ -0,0 +1,56 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = "white";
# This is the color defined by https://materializecss.com/color.html
$color = "indigo";
#
# BASEINFO
#
#The Name of the Role
$name = "Detective";
#The Description of the Role, HTML conform :)
$description = "Use your gadgets to find the enemies!";
#
# TABS
#
#How To play
$howtoplay = "The Detectives job and the purpose of the equipment is to find out who the Traitors are. A Detective is generally a high profile target to Traitors, due to the Detective's ability to use their DNA scanners to scan bodies which yields evidence. Detectives, when searching bodies, can find extra information, like who he last saw. The Detectives can retrieve unspent equipment credits from dead Detectives and Traitors. Also, all Detectives get a credit when a Traitor is confirmed to be dead.";
#With what roles does this role play best?
$playsbestwith = "Baseroles";
#Convars
$convars = "TBD";
#
# Credits
#
#The Steam URL to your addon
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=2004491494";
#The Source URL to your addon
$source = "https://github.com/Gensokian/ttt2-role_tra";
#Creator of the Addon
$author = "BadKingUrgrain";
#Creatorlink
$authorurl = "https://steamcommunity.com/id/badkingurgrain";
# Credittext (can use the above variables)
$ctext = "This is a base TTT Role";
?>

76
roles/en/drunk.php Normal file
View File

@ -0,0 +1,76 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = 'black';
# This is the color defined by https://materializecss.com/color.html
$color = 'yellow darken-3';
#
# BASEINFO
#
#The Name of the Role
$name = 'Drunk';
#The Description of the Role, HTML conform :)
$description = 'It was a hell of a night.';
#
# TABS
#
#How To play
$howtoplay = "The Drunk is a neutral role. When someone dies, the Drunk has a chance to 'sober up', changing roles to the killed player's.";
#With what roles does this role play best?
$playsbestwith = '
<ul>
<li>Any Role</li>
<ul>
';
#Convars
$convars = 'Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_drunk_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_drunk_pct [0.0..1.0] (default 0.15)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_drunk_max [0.0..n] (default: 1)
# the probility each round of this role being spawned at all
ttt_drunk_random [0..100] (default: 33)
# the amount of players needed for this role to spawn
ttt_drunk_min_players: [0..n] (default: 6)</code>
Rolespecific Convars:
<code># maximum delay before the drunk sobers after a valid player dies
ttt2_drk_delay_max [0..n] (default: 30)
# maximum delay before the drunk sobers after a valid player dies
ttt2_drk_delay_min [0..n] (default: 15)</code>';
#
# Credits
#
#The Steam URL to your addon
$steam = 'https://steamcommunity.com/sharedfiles/filedetails/?id=2465037140';
#The Source URL to your addon
$source = 'https://steamcommunity.com/linkfilter/?url=https://github.com/ZacharyHinds/ttt2-role-drk';
#Creator of the Addon
$author = 'Wasted';
#Creatorlink
$authorurl = 'https://steamcommunity.com/id/Zzzaaaccc13';
# Credittext (can use the above variables)
$ctext = 'Wasted: creator of this role addon and icon';
?>

84
roles/en/duelist.php Normal file
View File

@ -0,0 +1,84 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = 'black';
# This is the color defined by https://materializecss.com/color.html
$color = 'cyan lighten-4';
#
# BASEINFO
#
#The Name of the Role
$name = 'Duelist';
#The Description of the Role, HTML conform :)
$description = 'Duel to the death...';
#
# TABS
#
#How To play
$howtoplay = "The Duelist is a neutral killing role that must win a duel to receive a role and team he can win on. When assigned, another player also becomes a Duelist, and their previous role will be the prize. Duellists are always notified about the names of other Duellists they need to kill. If a single Duelist survives, they victoriously won the duel and will become the prize role. Duellists will prevent the game from ending if theyre still alive and regenerate their health up to 100hp if they are below this amount when they win the duel.
With default settings, being secritive about your role might be best, as other players might just kill you to end the dueling.
Other settings/convars can be enabled to give immunity to the Duellists so no one else can interfere with the duel. Duellists can also be made public, so that others will know who the Duellists are. The prize role that a victorious Duelist can become can also be changed to a random role or specifically the 'Undecided' role (if role doesn't exist, reverts back to default state).";
#With what roles does this role play best?
$playsbestwith = '
<ul>
<li>Any role</li>
<ul>
';
#Convars
$convars = 'Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_duelist_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_duelist_pct [0.0..1.0] (default: 0.17)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_duelist_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_duelist_random [0..100] (default: 30)
# the amount of players needed for this role to spawn
ttt_duelist_min_players: [0..n] (default: 6)</code>
Rolespecific Convars:
<code># Is Duelist public to all players
ttt2_duelist_is_public [0..1] (default: 0)
# Do Duellists prevent a win from occuring if still alive
ttt2_duelist_prevent_win [0..1] (default: 1)
# Duellists can only hurt and be hurt by other duellists
ttt2_duelist_immunity [0..1] (default: 0)
# Prize Role: (0)=Previous Duelist Role (1)=Random Role (2)=Undecided Role
ttt2_duelist_prize_type [0..1] (default: 0)
# How much health Duellists can get up to when victorious
ttt2_duelist_victory_regenerate [0..200] (default: 100)</code>';
#
# Credits
#
#The Steam URL to your addon
$steam = 'https://steamcommunity.com/sharedfiles/filedetails/?id=2659150057';
#The Source URL to your addon
$source = 'https://steamcommunity.com/linkfilter/?url=https://github.com/TaintedEnergy/ttt2-role-duel';
#Creator of the Addon
$author = 'TaintedEnergy';
#Creatorlink
$authorurl = 'https://steamcommunity.com/profiles/76561198119233797';
# Credittext (can use the above variables)
$ctext = '';
?>

77
roles/en/elderly.php Normal file
View File

@ -0,0 +1,77 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = 'white';
# This is the color defined by https://materializecss.com/color.html
$color = 'brown darken-2';
#
# BASEINFO
#
#The Name of the Role
$name = 'Elderly';
#The Description of the Role, HTML conform :)
$description = "You wouldn't hurt a poor old man, would you?";
#
# TABS
#
#How To play
$howtoplay = "The Elderly is a neutral role with no initial team. The Elderly's goal is to survive until the end of the round, where they will then join the winning team if they are still alive. The Elderly also has a maximum hp of 20, which can be changed with convar settings.
Try to convince everyone you are an Elderly before traitors and other evil roles try to kill you.";
#With what roles does this role play best?
$playsbestwith = '
<ul>
<li>Serial Killer</li>
<li>Jackal</li>
<ul>
';
#Convars
$convars = 'Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_elderly_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_elderly_pct [0.0..1.0] (default: 0.17)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_elderly_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_elderly_random [0..100] (default: 30)
# the amount of players needed for this role to spawn
ttt_elderly_min_players: [0..n] (default: 6)</code>
Rolespecific Convars:
<code># What is the maximum and starting hp for an Elderly?
ttt2_eld_health [0..100] (default: 20)</code>';
#
# Credits
#
#The Steam URL to your addon
$steam = '';
#The Source URL to your addon
$source = '';
#Creator of the Addon
$author = '';
#Creatorlink
$authorurl = '';
# Credittext (can use the above variables)
$ctext = '';
?>

80
roles/en/executioner.php Normal file
View File

@ -0,0 +1,80 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = 'white';
# This is the color defined by https://materializecss.com/color.html
$color = 'red lighten-1';
#
# BASEINFO
#
#The Name of the Role
$name = 'Executioner';
#The Description of the Role, HTML conform :)
$description = "There are people who deserve to die, as you'll be the one to do it.";
#
# TABS
#
#How To play
$howtoplay = "The Executioner is on the traitor team. They have a target, similar to the Hitman role. They deal extra damage to their target while dealing less damage to non-targets. If they kill a non-target, they won't get a new target for an amount of time that can be configured.";
#With what roles does this role play best?
$playsbestwith = '
<ul>
<li>Any Role</li>
<ul>
';
#Convars
$convars = 'Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_executioner_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_executioner_pct [0.0..1.0] (default 0.15)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_executioner_max [0.0..n] (default: 1)
# the probility each round of this role being spawned at all
ttt_executioner_random [0..100] (default: 33)
# the amount of players needed for this role to spawn
ttt_executioner_min_players: [0..n] (default: 6)</code>
Rolespecific Convars:
<code># the length of time before the executioner waits for a new target after killing a non-target
ttt2_executioner_punishment_time [0..n] (default 60)
# the multiplier applied to damage the executioner deals to their target
ttt2_executioner_target_multiplier [1..n] (default 2)
# the multiplier applied to damage the executioner deals to non targets
ttt2_executioner_non_target_multiplier [0.0..1.0] (default 0.5)</code>';
#
# Credits
#
#The Steam URL to your addon
$steam = 'https://steamcommunity.com/sharedfiles/filedetails/?id=2133752484';
#The Source URL to your addon
$source = 'https://steamcommunity.com/linkfilter/?url=https://github.com/ZacharyHinds/ttt2-role-executioner';
#Creator of the Addon
$author = 'Wasted';
#Creatorlink
$authorurl = 'https://steamcommunity.com/id/Zzzaaaccc13';
# Credittext (can use the above variables)
$ctext = 'Wasted: creator of this role addon
Tim | Mineotopia: creator of the role icon
Alf21: creator of the hitman role upon which I based my target code';
?>

124
roles/en/glutton.php Normal file
View File

@ -0,0 +1,124 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = 'black';
# This is the color defined by https://materializecss.com/color.html
$color = 'amber darken-3';
#
# BASEINFO
#
#The Name of the Role
$name = 'Glutton';
#The Description of the Role, HTML conform :)
$description = "You are so very hungry, you must consume the flesh of your enemies! If you don't, there's no telling the monster that will be unleashed!";
#
# TABS
#
#How To play
$howtoplay = "The Glutton is a Traitor role whose hunger acts as their weapon. They have an ever decreasing hunger bar which slowly grants them buffs to their special weapon: Devour. Devour's primary attack is a bite which deals increasing damage based on hunger and its secondary attack allows the Glutton to eat player corpses (at increasing speeds the hungrier they are). Additionally, while holding Devour, the Glutton's movement speed and sprint regeneration increase based on how low their hunger is.
When the Glutton deals damage or eats a corpse with Devour, they regain health and they refill a portion of their hunger bar, always staving off starving! If the Glutton's hunger drops to zero, they will soon turn into the Ravenous!
The Ravenous is no longer on the Traitors' team and must kill everyone else to win! They also lose all their weapons save for their Devour and cannot pick up new weapons. Additionally, they emit a trail of blood-red smoke..";
#With what roles does this role play best?
$playsbestwith = '
<ul>
<li>Any Role</li>
<ul>
';
#Convars
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_glutton_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_glutton_pct [0.0..1.0] (default 0.15)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_glutton_max [0.0..n] (default: 1)
# the probility each round of this role being spawned at all
ttt_glutton_random [0..100] (default: 33)
# the amount of players needed for this role to spawn
ttt_glutton_min_players: [0..n] (default: 6)</code>
Glutton Convars:
<code># the rate at which Devour's eat ability spawns blood
ttt2_eat_bleed_amount [0.00..n.nn] (default: 0.05)
# whether or not to emit the blood smoke trail
ttt2_glut_do_blood_smoke [0 or 1] (default: 1)
# whether or not the glutton turns into Ravenous when they start starving
ttt2_glut_turn_rav [0 or 1] (default: 1)
# how many seconds it takes for the glutton to completely starve (empty their hunger)
ttt2_glut_hunger [0..n] (default: 120)
# the maximum health the glutton/ravenous can reach
ttt2_glut_rav_max_health [0..n] (default: 250)
# what fraction of the damage dealt should devour heal
ttt2_glut_devour_dmg_heal [0.0..n.n] (default 0.2)
# what fraction of hunger should devour fill
ttt2_glut_devour_dmg_hunger [0.0..n.n] (default: 0.1)
# minimum damage devour deals (damage at max hunger)
ttt2_glut_devour_dmg_base [0..n] (default: 20)
# maximum damage devour deals (damage at starving/Ravenous)
ttt2_glut_devour_dmg_max [0..n] (default: 100)
# health gained from a kill with devour
ttt2_glut_devour_kill_bonus [0..n] (default: 10)
# fraction of hunger filled by devour kill
ttt2_glut_devour_kill_feed [0.0..n.n] (default: 0.20)
# minimum time it takes to eat body (time at starving/Ravenous)
ttt2_glut_eat_time_base [0.0..n.n] (default: 0.50)
# maximum time it takes to eat body (time at full hunger)
ttt2_glut_eat_time_max [0.0..n.n] (default: 5.00)
# health gain from eating body
ttt2_glut_eat_health [0..n] (default: 50)
# fractional hunger gain from eating body
ttt2_glut_eat_hunger [0.0..n.n] (default: 0.33)
# minimum movement speed multiplier when holding Devour (speed at Full Hunger)
ttt2_glut_speed_base [0.0..n.n] (default: 1.0)
# maximum movement speed multiplier when holding Devour (speed at starving/Ravenous)
ttt2_glut_speed_max [0.0..n.n] (default: 2.0)
# minimum sprint regen multiplier when holding Devour (regen at Full Hunger)
ttt2_glut_stamina_base [0.0..n.n] (default: 1.0)
# maximum sprint regen multiplier when holding Devour (regen at starving/Ravenous)
ttt2_glut_stamina_max [0.0..n.n] (default: 2.0)
# Delay after hitting zero hunger before begin starving/transforming into Ravenous
ttt2_glut_rav_grace_time [0..n] (default: 5)</code>
Ravenous Convars (also found in F1 Menu):
<code># how much damage the Ravenous takes per 5 seconds
ttt2_rav_hurt [0..n] (def. 5)
# how often the ravenous' radar scans
ttt2_rav_radar_time [0..n] (def. 15)
# who gets alerted when Glutton becomes Ravenous (0 - only transforming player, 1 - everyone, 2 - traitors)
ttt2_rav_alert [0,1,2] (def. 1)</code>";
#
# Credits
#
#The Steam URL to your addon
$steam = 'https://steamcommunity.com/sharedfiles/filedetails/?id=2465037140';
#The Source URL to your addon
$source = 'https://steamcommunity.com/linkfilter/?url=https://github.com/ZacharyHinds/ttt2-role-drk';
#Creator of the Addon
$author = 'Wasted';
#Creatorlink
$authorurl = 'https://steamcommunity.com/id/Zzzaaaccc13';
# Credittext (can use the above variables)
$ctext = 'Wasted: creator of this role addon
YAROK: creator of icons';
?>

87
roles/en/haunted.php Normal file
View File

@ -0,0 +1,87 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = 'black';
# This is the color defined by https://materializecss.com/color.html
$color = 'deep-orange lighten-4';
#
# BASEINFO
#
#The Name of the Role
$name = 'Haunted';
#The Description of the Role, HTML conform :)
$description = "The first rule of being a Traitor is to not get caught. The second rule is to kill your witnesses as soon as possible, because no one gets the first rule right. The third rule is to have a good back-up plan, because everyone makes mistakes and leaves bloody messes. The fourth and most important rule is to carefully read over every single word on your contract with the Devil, because no traitor worth their salt comes up with a good back-up plan.";
#
# TABS
#
#How To play
$howtoplay = 'The Haunted is a traitor role. If they are killed, they will haunt their killer. Their killer will leave a trail of smoke, and if they are killed The Haunted shall come back to life. As this ability is quite powerful, the Haunted does not have access to a shop by default.';
#With what roles does this role play best?
$playsbestwith = '
<ul>
<li>Other traitor roles</li>
<ul>
';
#Convars
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_haunted_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_haunted_pct [0.0..1.0] (default: 0.15)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_haunted_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_haunted_random [0..100] (default: 30)
# the amount of players needed for this role to spawn
ttt_haunted_min_players: [0..n] (default: 6)</code>
Rolespecific Convars:
<code># Who should see announcements about hauntings?
ttt2_haunted_declare_mode [0..2] (default: 2)
# 0: Don't declare the Haunted's status.
# 1: Declare the Haunted's status to every player.
# 2: Declare the Haunted's status to only traitors
# How much health should the Haunted revive with?
ttt2_haunted_revive_health [0..n] (default: 50)
# Should players leave a trail of smoke if they are currently being haunted?
ttt2_haunted_smoke_mode [0/1] (default: 1)
# Should the Haunted respawn at worldspawn or their body?
ttt2_haunted_worldspawn [0/1] (default: 0)</code>";
#
# Credits
#
#The Steam URL to your addon
$steam = 'https://steamcommunity.com/sharedfiles/filedetails/?id=2654304108';
#The Source URL to your addon
$source = 'https://steamcommunity.com/linkfilter/?url=https://github.com/AaronMcKenney/ttt2-role_haunt';
#Creator of the Addon
$author = 'BlackMagicFine';
#Creatorlink
$authorurl = 'https://steamcommunity.com/profiles/76561198025772353/';
# Credittext (can use the above variables)
$ctext = 'BlackMagicFine: creator of this role addon
Mineotopia: designer of the role thumbnail
KindPNG Haunted House Symbol[www.kindpng.com]: role icon created by modifying this image
Wasted: designer of the Spectre, which this role reuses a lot of code from
Haxray: came up with the idea for the Haunted';
?>

92
roles/en/hidden.php Normal file
View File

@ -0,0 +1,92 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = 'white';
# This is the color defined by https://materializecss.com/color.html
$color = 'grey darken-4';
#
# BASEINFO
#
#The Name of the Role
$name = 'Hidden';
#The Description of the Role, HTML conform :)
$description = 'A terrifying threat stalks the shadows';
#
# TABS
#
#How To play
$howtoplay = "The Hidden is a neutral killer role. The Hidden must activate their powers to start killing, they do this by pressing reload (default 'R').
After activating their powers, they become invisible, lose the ability to use guns, gain the Climber item, gain bonus HP, and gain a speed boost. Their vision changes and they gain wall hacks when standing still. Finally, it is announced to everyone that they are the Hidden.
Their knife works like the Traitor weapon, dealing melee damage and is capable of being thrown. If the Hidden doesn't pick up their knife, it returns to them after a short delay.
Their stun grenade causes those in its Area of Effect to have an intense motion blur effect for a short duration. It will restock after a delay.
After the Hidden takes enough damage, they become partially visible, return to complete invisibility after a delay.
If the Hidden is killed, their death is announced to everyone.";
#With what roles does this role play best?
$playsbestwith = '
<ul>
<li></li>
<li></li>
<li></li>
<ul>
';
#Convars
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_hidden_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_hidden_pct [0.0..1.0] (default 0.15)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_hidden_max [0.0..n] (default: 1)
# the probility each round of this role being spawned at all
ttt_hidden_random [0..100] (default: 33)
# the amount of players needed for this role to spawn
ttt_hidden_min_players: [0..n] (default: 6)</code>
Rolespecific Convars:
<code># the delay before the hidden's knife returns after being thrown
ttt2_hdn_knife_delay (default: 15)
# the delay before the hidden's grenade restocks
ttt2_hdn_nade_delay (default: 30)
# the duration of the hidden's stun grenade's effect
ttt2_hdn_stun_duration (default: 5)</code>";
#
# Credits
#
#The Steam URL to your addon
$steam = '';
#The Source URL to your addon
$source = '';
#Creator of the Addon
$author = 'Wasted';
#Creatorlink
$authorurl = 'https://steamcommunity.com/id/Zzzaaaccc13';
# Credittext (can use the above variables)
$ctext = "Wasted: creator of this role addon
The Hidden Source[www.hidden-source.com]: Inspiration for role
fortune: creator of the port of The Hidden gamemode for Garry's Mod whose vision effect I used for this role.";
?>

55
roles/en/innocent.php Normal file
View File

@ -0,0 +1,55 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = "black";
# This is the color defined by https://materializecss.com/color.html
$color = "green darken-5";
#
# BASEINFO
#
#The Name of the Role
$name = "Innocent";
#The Description of the Role, HTML conform :)
$description = "(Chuckles) I'm in Danger :)";
#
# TABS
#
#How To play
$howtoplay = "As an innocent player, you are the most vulnerable. Innocent players risk being killed by Traitors and being wrongly accused of being a Traitor. They also cannot buy equipment. The player can pick up weapons and use them against would-be killers, but normally, players will be killed, due to the surprise nature of the attack.";
#With what roles does this role play best?
$playsbestwith = "Traitors :)";
#Convars
$convars = "TBD";
#
# Credits
#
#The Steam URL to your addon
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=2004491494";
#The Source URL to your addon
$source = "https://github.com/Gensokian/ttt2-role_tra";
#Creator of the Addon
$author = "BadKingUrgrain";
#Creatorlink
$authorurl = "https://steamcommunity.com/id/badkingurgrain";
# Credittext (can use the above variables)
$ctext = "This is a base TTT Role";
?>

82
roles/en/jester.php Normal file
View File

@ -0,0 +1,82 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = 'white';
# This is the color defined by https://materializecss.com/color.html
$color = 'pink';
#
# BASEINFO
#
#The Name of the Role
$name = "Jester";
#The Description of the Role, HTML conform :)
$description = "A bad joke might be the last thing you hear from him. He always tries to fool you. And in the moment your bullet hits his head and his dead body sinks motionless to the ground the truth is right in front of you: he did it again.";
#
# TABS
#
#How To play
$howtoplay = "The jester plays in his own team and it's his goal to get killed by someone. To help him triggering other players, he doesn't deal any damage. But he has to be careful. Shooting at people without dealing damage might reveal his role to them. Killing him results for a win of their team, so be careful.";
#With what roles does this role play best?
$playsbestwith = "
<ul>
<li>Swapper</li>
<li>Serialkiller</li>
<li>Infected</li>
<ul>
";
#Convars
$convars = "Normal Role Convars (also found in ULX):
<code># enable or disable this role
ttt_jester_enabled [0/1] (default: 1)
# the percentage of players that are spawned as this role
ttt_jester_pct [0.0..1.0] (default: 1.0)
# the limit of players that spawn as this role each round, this overwrites the percentage
ttt_jester_max [0..n] (default: 1)
# the probability each round of this role being spawned at all
ttt_jester_random [0..100] (default: 50)
# the amount of players needed for this role to spawn
ttt_jester_min_players: [0..n] (default: 8)</code>
Rolespecific Convars:
<code># should it be publicily anounced if there is a jester in a round
ttt2_jes_announce [0/1] (default: 1)
# should the jester be able to push other players with his convar
ttt2_jes_improvised [0/1] (default: 1)
# should the jester be able to carry entities with his magneto stick
ttt2_jes_carry [0/1] (default: 1)</code>";
#
# Credits
#
#The Steam URL to your addon
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=1363049665";
#The Source URL to your addon
$source = "https://steamcommunity.com/linkfilter/?url=https://github.com/TTT-2/ttt2-role_jes";
#Creator of the Addon
$author = "Alf21";
#Creatorlink
$authorurl = "https://steamcommunity.com/id/alf21";
# Credittext (can use the above variables)
$ctext = "Alf21: creator of this role addon
Mineotopia: designer of the role icon
KingsNJenssons: creator of the clientside particles and sound effects";
?>

56
roles/en/traitor.php Normal file
View File

@ -0,0 +1,56 @@
<?php
#
# COLORS
#
# Text Color
$tcolor = "white";
# This is the color defined by https://materializecss.com/color.html
$color = "red darken-2";
#
# BASEINFO
#
#The Name of the Role
$name = "Traitor";
#The Description of the Role, HTML conform :)
$description = "Have a plan to kill anyone you meet";
#
# TABS
#
#How To play
$howtoplay = "The Traitors job is to kill all of the Innocent players. Traitors have the toughest job because of how the Innocent normally group together. This disadvantage, however, can be their greatest strength, as when two or more Traitors team up, they can take down the entire group. Of course, other players will grow suspicious when players start disappearing. Be prepared to get scanned, killed, or have to do some killing. Traitors, like Detectives, can buy equipment, mostly weapons. Like Detectives, Traitors can retrieve unspent equipment credits from dead Detectives and Traitors, and will be rewarded with a credit when a Detective is confirmed to be dead.";
#With what roles does this role play best?
$playsbestwith = "Other Traitors";
#Convars
$convars = "TBD";
#
# Credits
#
#The Steam URL to your addon
$steam = "https://steamcommunity.com/sharedfiles/filedetails/?id=2004491494";
#The Source URL to your addon
$source = "https://github.com/Gensokian/ttt2-role_tra";
#Creator of the Addon
$author = "BadKingUrgrain";
#Creatorlink
$authorurl = "https://steamcommunity.com/id/badkingurgrain";
# Credittext (can use the above variables)
$ctext = "This is a base TTT Role";
?>