Jump to content

SR6 Discord Dice Bot


Recommended Posts

Moin,

 

da ich auf Grund der allgemeinen Situation in letzter Zeit viel in Discord unterwegs bin, war ich neugierig und habe mir mal 2 Abende Zeit genommen,  um zu lernen wie man Discord Bots baut.

Das Resultat dieses Lernprojekts ist ein Dice Roller für Shadowrun 6.

 

SR6_Dicebot1.png

 

Der Funktionsumfang ist noch etwas spartanisch.

 

  • !roll X               Würfelt einen Pool von X Würfeln und zählt Erfolge
  • !roll X Y            Wie oben, jedoch werde Y der X Würfel als Schicksalswürfel behandelt
  • !roll X Y Z        Wie oben, jedoch wird das ganze als 4-Edge Boost (GRW S.47) behandelt und Z Würfel zusätzlich in den Pool genommen und die 6en explodieren

Wer sich mit meinem Experiment herumschlagen möchte,  kann diesen Einladungslink verwenden:

https://discord.com/api/oauth2/authorize?client_id=707691783819362376&permissions=51200&scope=bot

 

Ich selber werde den Bot vermutlich auch erstmals am Wochenende testen. Gut möglich, dass ich danach noch ein paar Verbesserungen vornehme.

 

Update: Bei Interesse diesem Link folgen

Edited by taranion
  • Like 5
Link to comment
Share on other sites

Es gab ein Update des Bots. Der kann jetzt auch Charaktere aus Genesis einladen.

 

SR6_Dicebot3_Upload.png

 

und dann direkt auf deren Fertigkeiten würfeln

 

SR6_Dicebot4_RollSkill.png

Außerdem habe ich das Kommando-Zeichen auf "<" verändert.  ( "!" geht vorerst noch )

  • Like 1
Link to comment
Share on other sites

Auf die Schnelle habe ich die Kommandos bezogen auf importierte Charaktere etwas erweitert

 

The following commands exist:

<roll X - Roll a pool of X dice

<roll X Y - Roll a pool of X dice, of which Y are wild die

<roll X Y Z - as above, but with the 4-Edge boost, which adds Z dices and let 6 explode

 

With imported Genesis character

===============================

Upload the XML file of your character in this channel to be able to use the following commands:

<sr6 attribute <Name of Atribute> - Roll for an attribute (primary attributes as doubled)

<sr6 initiative - Rolls physical initiative

<sr6 resist <Type> - Roll a resistance test

<sr6 skill <Name of Skill> - Roll with the regular dice pool in that skill

<sr6 skill <Name of Skill> <Special> - dito, but for a given specialization

 

Wenn man ein Attribut, Fertigkeit oder Spezialisierung nicht kennt, kann man es weglassen oder falsch schreiben und sollte dann die Liste der bekannten Weerte erhalten.

 

Neu ist also, dass man

  • bei Fertigkeitswürfen eine Spezialisierung mit angeben kann
  • es jetzt Attributswürfe gibt
  • man Schadenswiderstandswürfe machen kann (da sollte dann z.B. automatisch Knochenverstärkung o.ä. enthalten sein)
  • man einen Initiative-Wurf machen kann

Über das ganze Thema Initiative und Edge-Verwaltung muss ich nochmal ein paar Tage länger nachdenken. Da ich dem Bot langfristig ein Webfrontend an die Seite stellen möchte, muss ich hier ein wenig besser planen.

Edited by taranion
Link to comment
Share on other sites

Ne Verwaltung des Edge für sl und die Spieler wäre Mega

Möchte ich auch einbauen, aber ich überlege noch, ob es irgendwas besseres gibt als z.B.

>sr6 edge gain X

>sr6 edge pay X

oder

>sr6 edge -X oder -Y

>sr6 edge set X

 

Schön wäre natürlich, man könnte Edge Boosts und Aktionen angeben und der Edge Pool wird direkt angepasst. Dann müsste man plötzlich aber auch die ganzen Auswirkungenvon Vor-/Nachteilen und Modifikationen an Ausrüstung usw. mit einberechnen und das ist ziemlich anstrengend und ein Garant für Dinge, die man übersieht oder falsch berücksichtigt.

 

Wie würdest Du Dir eine Edge-Verwaltung vorstellen?

Link to comment
Share on other sites

Es gibt jetzt eine Edge-Verwaltung.

 

<sr6 edge set <value> - Setzt Edge auf den angegebenen Wert
<sr6 edge <value>      - Verändert Edge um den angegebenen Wert

 

Die Edge-Verwaltung erfordert allerdings eine "Sitzung". Die Sitzung ist quasi das Abbild einer stattfindenden Spielrunde. Noch tut das nicht viel, außer eine Unterscheidung zwischen Spielleiter und Spieler ermöglichen und eben Sitzungsspezifische Daten wie aktuelles Edge protokollieren, aber evtl. mach ich das zukünftig mal speicherbar.

 

Folgende Kommandos gibt es dafür:

<session start     - Spielleiter in einem Channel werden (geht nur, wenn es keinen anderen aktiven SL gibt)
<session stop      - Kein Spielleiter mehr sein
<session join      - sich als Spieler einer Sitzung anschließen (Spielleiter muss zustimmen)

Ich habe vorsichtshalber einen Failsafe eingebaut, dass eine Sitzung 8 Stunden nach ihrem Anfang automatisch endet. Ist noch nicht perfekt, verhindert aber eine ewige Blockade durch SLs die vergessen die Sitzung zu beenden.


 

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...