giant freakin documentation and reorganization pass, it also uses cmake because all the building was getting too complicated for shell scripts
This commit is contained in:
@@ -5,6 +5,15 @@ import flask
|
||||
|
||||
from . import core
|
||||
|
||||
## \brief Rolls a random integer between `min` and `max`, and applies all described `modifiers`.
|
||||
# \param min The lowest possible number. Default is 0.
|
||||
# \param max The highest possible number. Default is 100.
|
||||
# \param modifiers
|
||||
# \return The result of the dice roll, after modifiers.
|
||||
#
|
||||
# Dice roll is actually a slight misnomer; the game primarily uses percentages for chance
|
||||
# calculations. However, the recognized term for these chance calculations, "dice rolls",
|
||||
# is D&D old, so is used here for mental ease.
|
||||
def dice_roll(min=0, max=100, modifiers=[]):
|
||||
result = random.randint(min, max)
|
||||
for _, mod in modifiers:
|
||||
@@ -12,12 +21,29 @@ def dice_roll(min=0, max=100, modifiers=[]):
|
||||
|
||||
return result
|
||||
|
||||
def calculate_speed(agl):
|
||||
return 3+(agl * 1.5)
|
||||
|
||||
## \brief Attempts to steal a given resource from a target.
|
||||
# \param resource The resource to steal.
|
||||
# \param target The class of target to steal from.
|
||||
# \api{POST} /act/steal/`<resource>`/`<target>`
|
||||
# \apidata Gamestate.
|
||||
@core.app.route("/act/steal/<resource>/<target>", methods=["POST"])
|
||||
def steal_resource(resource, target):
|
||||
core.log.debug(flask.request.get_data())
|
||||
gamestate = flask.request.get_json()["gamestate"]
|
||||
agl = gamestate["agility"]
|
||||
roll = dice_roll()
|
||||
speed = calculate_speed(agl)
|
||||
result = (roll + speed) + (agl/4)
|
||||
return flask.Response(json.dumps({
|
||||
"success": (dice_roll() >= 50)
|
||||
"success": (result >= 50)
|
||||
}), status=200, content_type="application/json")
|
||||
|
||||
## \brief Attempts to recruit a seagull.
|
||||
# \api{POST} /act/recruit
|
||||
# \apidata Gamestate.
|
||||
@core.app.route("/act/recruit", methods=["POST"])
|
||||
def recruit():
|
||||
return flask.Response(json.dumps({
|
||||
|
Reference in New Issue
Block a user