Alchemy Mastery (D20 Modern Feat)

Superior Alchemy [Power]

The character can turn objects into chemical compounds.
Prerequisite: Int 19+, Power (alchemy) 18 ranks, Evolved
Benefit: As a special use of the Power (alchemy) skill you can turn objects into organic chemical compounds and inorganic chemical compounds with a DC 40 Alchemy check.
These Include: epinephrine, carbon dioxide, caffeine, and nitric acid. Wikipedia Compound Category
Special: For every 5 ranks you have in Craft (chemical) or Knowledge (physical science) you may reduce the DC by 1. The benefits of the two stack, so if you have 5 ranks in Craft (chemical) and 5 ranks in Knowledge (physical science) you may reduce the DC by 2.



Back to Main Page D20 Modern Feats
Back to Main Page D20 Modern Campaign Settings Heroes Power Feats

gollark: Okay, this might fix it, pushed.
gollark: If the issue is what I think it could be, then it's accidentally dropping? data on the threshold of the rolling counter region incorrectly.
gollark: ```nimproc pollTargets(ctx: Ctx) {.async.} = for row in ctx.db.all("SELECT * FROM sites"): var (id, url, rollingTotalPings, rollingSuccessfulPings, rollingLatency, rollingDataSince) = row.unpack((int64, string, int64, int64, int64, Option[Time])) let res = await ctx.pollTarget(url) let threshold = getTime() # drop old data from rolling counters if rollingDataSince.isSome: for row in ctx.db.iterate("SELECT status, latency FROM reqs WHERE timestamp >= ? AND timestamp <= ? AND site = ?", rollingDataSince.get, threshold, id): let (statusRaw, latency) = row.unpack((int, int)) rollingTotalPings -= 1 rollingLatency -= latency if statusRaw <= 0: rollingSuccessfulPings -= 1 # add new data rollingTotalPings += 1 rollingLatency += res.latency if int(res.rtype) <= 0: rollingSuccessfulPings += 1 ctx.db.transaction: ctx.db.exec("UPDATE sites SET rc_total = ?, rc_success = ?, rc_latency = ?, rc_data_since = ? WHERE sid = ?", rollingTotalPings, rollingSuccessfulPings, rollingLatency, threshold, id) ctx.db.exec("INSERT INTO reqs (site, timestamp, status, latency) VALUES (?, ?, ?, ?)", id, getTime(), int(res.rtype), res.latency)```This is the core algorithm.
gollark: Actually, æææææ who even knows.
gollark: The boundary conditions could be wrong on this query.
This article is issued from Dandwiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.